Make TOC munge include blank line before TOC

This commit is contained in:
Tim Hockin 2015-07-17 09:20:19 -07:00
parent 816f18a388
commit 6e4ec38f51
31 changed files with 38 additions and 9 deletions

View File

@ -54,6 +54,7 @@ func updateTOC(filePath string, markdown []byte) ([]byte, error) {
// builds the ToC. // builds the ToC.
func buildTOC(markdown []byte) ([]byte, error) { func buildTOC(markdown []byte) ([]byte, error) {
var buffer bytes.Buffer var buffer bytes.Buffer
buffer.WriteString("\n")
scanner := bufio.NewScanner(bytes.NewReader(markdown)) scanner := bufio.NewScanner(bytes.NewReader(markdown))
inBlockQuotes := false inBlockQuotes := false
for scanner.Scan() { for scanner.Scan() {

View File

@ -27,19 +27,19 @@ func Test_buildTOC(t *testing.T) {
in string in string
out string out string
}{ }{
{"", ""}, {"", "\n"},
{"Lorem ipsum\ndolor sit amet\n", ""}, {"Lorem ipsum\ndolor sit amet\n", "\n"},
{ {
"# Title\nLorem ipsum \n## Section Heading\ndolor sit amet\n", "# Title\nLorem ipsum \n## Section Heading\ndolor sit amet\n",
"- [Title](#title)\n - [Section Heading](#section-heading)\n", "\n- [Title](#title)\n - [Section Heading](#section-heading)\n",
}, },
{ {
"# Title\nLorem ipsum \n## Section Heading\ndolor sit amet\n```bash\n#!/bin/sh\n```", "# Title\nLorem ipsum \n## Section Heading\ndolor sit amet\n```bash\n#!/bin/sh\n```",
"- [Title](#title)\n - [Section Heading](#section-heading)\n", "\n- [Title](#title)\n - [Section Heading](#section-heading)\n",
}, },
{ {
"# Title\nLorem ipsum \n## Section Heading\n### Ok, why doesn't this work? ...add 4 *more* `symbols`!\ndolor sit amet\n", "# Title\nLorem ipsum \n## Section Heading\n### Ok, why doesn't this work? ...add 4 *more* `symbols`!\ndolor sit amet\n",
"- [Title](#title)\n - [Section Heading](#section-heading)\n - [Ok, why doesn't this work? ...add 4 *more* `symbols`!](#ok-why-doesnt-this-work-add-4-more-symbols)\n", "\n- [Title](#title)\n - [Section Heading](#section-heading)\n - [Ok, why doesn't this work? ...add 4 *more* `symbols`!](#ok-why-doesnt-this-work-add-4-more-symbols)\n",
}, },
} }
for _, c := range cases { for _, c := range cases {
@ -63,7 +63,7 @@ func Test_updateTOC(t *testing.T) {
}, },
{ {
"# Title\nLorem ipsum \n**table of contents**\n<!-- BEGIN MUNGE: GENERATED_TOC -->\nold cruft\n<!-- END MUNGE: GENERATED_TOC -->\n## Section Heading\ndolor sit amet\n", "# Title\nLorem ipsum \n**table of contents**\n<!-- BEGIN MUNGE: GENERATED_TOC -->\nold cruft\n<!-- END MUNGE: GENERATED_TOC -->\n## Section Heading\ndolor sit amet\n",
"# Title\nLorem ipsum \n**table of contents**\n<!-- BEGIN MUNGE: GENERATED_TOC -->\n- [Title](#title)\n - [Section Heading](#section-heading)\n\n<!-- END MUNGE: GENERATED_TOC -->\n## Section Heading\ndolor sit amet\n", "# Title\nLorem ipsum \n**table of contents**\n<!-- BEGIN MUNGE: GENERATED_TOC -->\n\n- [Title](#title)\n - [Section Heading](#section-heading)\n\n<!-- END MUNGE: GENERATED_TOC -->\n## Section Heading\ndolor sit amet\n",
}, },
} }
for _, c := range cases { for _, c := range cases {

View File

@ -34,6 +34,7 @@ Documentation for other releases can be found at
**Table of Contents** **Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [Admission Controllers](#admission-controllers) - [Admission Controllers](#admission-controllers)
- [What are they?](#what-are-they) - [What are they?](#what-are-they)
- [Why do I need them?](#why-do-i-need-them) - [Why do I need them?](#why-do-i-need-them)

View File

@ -103,9 +103,9 @@ Example addons are:
* [DNS](../../cluster/addons/dns/) provides cluster local DNS. * [DNS](../../cluster/addons/dns/) provides cluster local DNS.
* [kube-ui](../../cluster/addons/kube-ui/) provides a graphical UI for the * [kube-ui](../../cluster/addons/kube-ui/) provides a graphical UI for the
cluster. cluster.
* [fluentd-elasticsearch](../../cluster/addons/fluentd-elasticsearch) provides * [fluentd-elasticsearch](../../cluster/addons/fluentd-elasticsearch/) provides
log storage. Also see the [gcp version](../../cluster/addons/fluentd-gcp). log storage. Also see the [gcp version](../../cluster/addons/fluentd-gcp/).
* [cluster-monitoring](../../cluster/addons/cluster-monitoring) provides * [cluster-monitoring](../../cluster/addons/cluster-monitoring/) provides
monitoring for the cluster. monitoring for the cluster.
## Node components ## Node components

View File

@ -34,6 +34,7 @@ Documentation for other releases can be found at
**Table of Contents** **Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [High Availability Kubernetes Clusters](#high-availability-kubernetes-clusters) - [High Availability Kubernetes Clusters](#high-availability-kubernetes-clusters)
- [Introduction](#introduction) - [Introduction](#introduction)
- [Overview](#overview) - [Overview](#overview)

View File

@ -34,6 +34,7 @@ Documentation for other releases can be found at
**Table of Contents** **Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [Networking in Kubernetes](#networking-in-kubernetes) - [Networking in Kubernetes](#networking-in-kubernetes)
- [Summary](#summary) - [Summary](#summary)
- [Docker model](#docker-model) - [Docker model](#docker-model)

View File

@ -34,6 +34,7 @@ Documentation for other releases can be found at
**Table of Contents** **Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [Node](#node) - [Node](#node)
- [What is a node?](#what-is-a-node) - [What is a node?](#what-is-a-node)
- [Node Status](#node-status) - [Node Status](#node-status)

View File

@ -41,6 +41,7 @@ using resources with kubectl can be found in (working_with_resources.md).*
**Table of Contents** **Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [Types (Kinds)](#types-kinds) - [Types (Kinds)](#types-kinds)
- [Resources](#resources) - [Resources](#resources)
- [Objects](#objects) - [Objects](#objects)

View File

@ -48,6 +48,7 @@ steps that existing cluster setup scripts are making.
**Table of Contents** **Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [Designing and Preparing](#designing-and-preparing) - [Designing and Preparing](#designing-and-preparing)
- [Learning](#learning) - [Learning](#learning)
- [Cloud Provider](#cloud-provider) - [Cloud Provider](#cloud-provider)

View File

@ -34,6 +34,7 @@ Documentation for other releases can be found at
**Table of Contents** **Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [Kubernetes User Guide: Managing Applications](#kubernetes-user-guide-managing-applications) - [Kubernetes User Guide: Managing Applications](#kubernetes-user-guide-managing-applications)
- [Quick walkthrough](#quick-walkthrough) - [Quick walkthrough](#quick-walkthrough)
- [Thorough walkthrough](#thorough-walkthrough) - [Thorough walkthrough](#thorough-walkthrough)

View File

@ -34,6 +34,7 @@ Documentation for other releases can be found at
**Table of Contents** **Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [User Guide to Accessing the Cluster](#user-guide-to-accessing-the-cluster) - [User Guide to Accessing the Cluster](#user-guide-to-accessing-the-cluster)
- [Accessing the cluster API](#accessing-the-cluster-api) - [Accessing the cluster API](#accessing-the-cluster-api)
- [Accessing for the first time with kubectl](#accessing-for-the-first-time-with-kubectl) - [Accessing for the first time with kubectl](#accessing-for-the-first-time-with-kubectl)

View File

@ -38,6 +38,7 @@ This is *not* a guide for people who want to debug their cluster. For that you
**Table of Contents** **Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [Application Troubleshooting](#application-troubleshooting) - [Application Troubleshooting](#application-troubleshooting)
- [FAQ](#faq) - [FAQ](#faq)
- [Diagnosing the problem](#diagnosing-the-problem) - [Diagnosing the problem](#diagnosing-the-problem)

View File

@ -34,6 +34,7 @@ Documentation for other releases can be found at
** Table of Contents** ** Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [Compute Resources](#compute-resources) - [Compute Resources](#compute-resources)
- [Container and Pod Resource Limits](#container-and-pod-resource-limits) - [Container and Pod Resource Limits](#container-and-pod-resource-limits)
- [How Pods with Resource Limits are Scheduled](#how-pods-with-resource-limits-are-scheduled) - [How Pods with Resource Limits are Scheduled](#how-pods-with-resource-limits-are-scheduled)

View File

@ -34,6 +34,7 @@ Documentation for other releases can be found at
**Table of Contents** **Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [Kubernetes User Guide: Managing Applications: Configuring and launching containers](#kubernetes-user-guide-managing-applications-configuring-and-launching-containers) - [Kubernetes User Guide: Managing Applications: Configuring and launching containers](#kubernetes-user-guide-managing-applications-configuring-and-launching-containers)
- [Configuration in Kubernetes](#configuration-in-kubernetes) - [Configuration in Kubernetes](#configuration-in-kubernetes)
- [Launching a container using a configuration file](#launching-a-container-using-a-configuration-file) - [Launching a container using a configuration file](#launching-a-container-using-a-configuration-file)

View File

@ -34,6 +34,7 @@ Documentation for other releases can be found at
**Table of Contents** **Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [Kubernetes User Guide: Managing Applications: Connecting applications](#kubernetes-user-guide-managing-applications-connecting-applications) - [Kubernetes User Guide: Managing Applications: Connecting applications](#kubernetes-user-guide-managing-applications-connecting-applications)
- [The Kubernetes model for connecting containers](#the-kubernetes-model-for-connecting-containers) - [The Kubernetes model for connecting containers](#the-kubernetes-model-for-connecting-containers)
- [Exposing pods to the cluster](#exposing-pods-to-the-cluster) - [Exposing pods to the cluster](#exposing-pods-to-the-cluster)

View File

@ -35,6 +35,7 @@ Documentation for other releases can be found at
**Table of Contents** **Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [Kubernetes Container Environment](#kubernetes-container-environment) - [Kubernetes Container Environment](#kubernetes-container-environment)
- [Overview](#overview) - [Overview](#overview)
- [Cluster Information](#cluster-information) - [Cluster Information](#cluster-information)

View File

@ -39,6 +39,7 @@ This document will hopefully help you to figure out what's going wrong.
**Table of Contents** **Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [My Service is not working - how to debug](#my-service-is-not-working---how-to-debug) - [My Service is not working - how to debug](#my-service-is-not-working---how-to-debug)
- [Conventions](#conventions) - [Conventions](#conventions)
- [Running commands in a Pod](#running-commands-in-a-pod) - [Running commands in a Pod](#running-commands-in-a-pod)

View File

@ -34,6 +34,7 @@ Documentation for other releases can be found at
**Table of Contents** **Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [Kubernetes User Guide: Managing Applications: Deploying continuously running applications](#kubernetes-user-guide-managing-applications-deploying-continuously-running-applications) - [Kubernetes User Guide: Managing Applications: Deploying continuously running applications](#kubernetes-user-guide-managing-applications-deploying-continuously-running-applications)
- [Launching a set of replicas using a configuration file](#launching-a-set-of-replicas-using-a-configuration-file) - [Launching a set of replicas using a configuration file](#launching-a-set-of-replicas-using-a-configuration-file)
- [Viewing replication controller status](#viewing-replication-controller-status) - [Viewing replication controller status](#viewing-replication-controller-status)

View File

@ -36,6 +36,7 @@ In this doc, we introduce the kubernetes command line to for interacting with th
**Table of Contents** **Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [kubectl for docker users](#kubectl-for-docker-users) - [kubectl for docker users](#kubectl-for-docker-users)
- [docker run](#docker-run) - [docker run](#docker-run)
- [docker ps](#docker-ps) - [docker ps](#docker-ps)

View File

@ -40,6 +40,7 @@ The `image` property of a container supports the same syntax as the `docker` com
**Table of Contents** **Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [Images](#images) - [Images](#images)
- [Updating Images](#updating-images) - [Updating Images](#updating-images)
- [Using a Private Registry](#using-a-private-registry) - [Using a Private Registry](#using-a-private-registry)

View File

@ -38,6 +38,7 @@ your pods. But there are a number of ways to get even more information about you
**Table of Contents** **Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [Kubernetes User Guide: Managing Applications: Application Introspection and Debugging](#kubernetes-user-guide-managing-applications-application-introspection-and-debugging) - [Kubernetes User Guide: Managing Applications: Application Introspection and Debugging](#kubernetes-user-guide-managing-applications-application-introspection-and-debugging)
- [Using ```kubectl describe pod``` to fetch details about pods](#using-kubectl-describe-pod-to-fetch-details-about-pods) - [Using ```kubectl describe pod``` to fetch details about pods](#using-kubectl-describe-pod-to-fetch-details-about-pods)
- [Example: debugging Pending Pods](#example-debugging-pending-pods) - [Example: debugging Pending Pods](#example-debugging-pending-pods)

View File

@ -36,6 +36,7 @@ Youve deployed your application and exposed it via a service. Now what? Kuber
**Table of Contents** **Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [Kubernetes User Guide: Managing Applications: Managing deployments](#kubernetes-user-guide-managing-applications-managing-deployments) - [Kubernetes User Guide: Managing Applications: Managing deployments](#kubernetes-user-guide-managing-applications-managing-deployments)
- [Organizing resource configurations](#organizing-resource-configurations) - [Organizing resource configurations](#organizing-resource-configurations)
- [Bulk operations in kubectl](#bulk-operations-in-kubectl) - [Bulk operations in kubectl](#bulk-operations-in-kubectl)

View File

@ -36,6 +36,7 @@ This document describes the current state of `PersistentVolumes` in Kubernetes.
**Table of Contents** **Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [Persistent Volumes and Claims](#persistent-volumes-and-claims) - [Persistent Volumes and Claims](#persistent-volumes-and-claims)
- [Introduction](#introduction) - [Introduction](#introduction)
- [Lifecycle of a volume and claim](#lifecycle-of-a-volume-and-claim) - [Lifecycle of a volume and claim](#lifecycle-of-a-volume-and-claim)

View File

@ -34,6 +34,7 @@ Documentation for other releases can be found at
**Table of Contents** **Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [Kubernetes User Guide: Managing Applications: Working with pods and containers in production](#kubernetes-user-guide-managing-applications-working-with-pods-and-containers-in-production) - [Kubernetes User Guide: Managing Applications: Working with pods and containers in production](#kubernetes-user-guide-managing-applications-working-with-pods-and-containers-in-production)
- [Persistent storage](#persistent-storage) - [Persistent storage](#persistent-storage)
- [Distributing credentials](#distributing-credentials) - [Distributing credentials](#distributing-credentials)

View File

@ -34,6 +34,7 @@ Documentation for other releases can be found at
**Table of Contents** **Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [Kubernetes User Guide: Managing Applications: Quick start](#kubernetes-user-guide-managing-applications-quick-start) - [Kubernetes User Guide: Managing Applications: Quick start](#kubernetes-user-guide-managing-applications-quick-start)
- [Launching a simple application](#launching-a-simple-application) - [Launching a simple application](#launching-a-simple-application)
- [Exposing your application to the Internet](#exposing-your-application-to-the-internet) - [Exposing your application to the Internet](#exposing-your-application-to-the-internet)

View File

@ -34,6 +34,7 @@ Documentation for other releases can be found at
**Table of Contents** **Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [Replication Controller](#replication-controller) - [Replication Controller](#replication-controller)
- [What is a _replication controller_?](#what-is-a-replication-controller) - [What is a _replication controller_?](#what-is-a-replication-controller)
- [How does a replication controller work?](#how-does-a-replication-controller-work) - [How does a replication controller work?](#how-does-a-replication-controller-work)

View File

@ -39,6 +39,7 @@ a docker image. See [Secrets design document](../design/secrets.md) for more inf
**Table of Contents** **Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [Secrets](#secrets) - [Secrets](#secrets)
- [Overview of Secrets](#overview-of-secrets) - [Overview of Secrets](#overview-of-secrets)
- [Service Accounts Automatically Create and Use Secrets with API Credentials](#service-accounts-automatically-create-and-use-secrets-with-api-credentials) - [Service Accounts Automatically Create and Use Secrets with API Credentials](#service-accounts-automatically-create-and-use-secrets-with-api-credentials)

View File

@ -34,6 +34,7 @@ Documentation for other releases can be found at
**Table of Contents** **Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [Services in Kubernetes](#services-in-kubernetes) - [Services in Kubernetes](#services-in-kubernetes)
- [Overview](#overview) - [Overview](#overview)
- [Defining a service](#defining-a-service) - [Defining a service](#defining-a-service)

View File

@ -43,6 +43,7 @@ Familiarity with [pods](pods.md) is suggested.
**Table of Contents** **Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [Volumes](#volumes) - [Volumes](#volumes)
- [Background](#background) - [Background](#background)
- [Types of Volumes](#types-of-volumes) - [Types of Volumes](#types-of-volumes)

View File

@ -38,6 +38,7 @@ In order for the kubectl usage examples to work, make sure you have an examples
**Table of Contents** **Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [Kubernetes 101 - Kubectl CLI and Pods](#kubernetes-101---kubectl-cli-and-pods) - [Kubernetes 101 - Kubectl CLI and Pods](#kubernetes-101---kubectl-cli-and-pods)
- [Kubectl CLI](#kubectl-cli) - [Kubectl CLI](#kubectl-cli)
- [Pods](#pods) - [Pods](#pods)

View File

@ -40,6 +40,7 @@ In order for the kubectl usage examples to work, make sure you have an examples
**Table of Contents** **Table of Contents**
<!-- BEGIN MUNGE: GENERATED_TOC --> <!-- BEGIN MUNGE: GENERATED_TOC -->
- [Kubernetes 201 - Labels, Replication Controllers, Services and Health Checking](#kubernetes-201---labels-replication-controllers-services-and-health-checking) - [Kubernetes 201 - Labels, Replication Controllers, Services and Health Checking](#kubernetes-201---labels-replication-controllers-services-and-health-checking)
- [Labels](#labels) - [Labels](#labels)
- [Replication Controllers](#replication-controllers) - [Replication Controllers](#replication-controllers)