diff --git a/.cspell.yaml b/.cspell.yaml
index 0ae88839846..de5165c0d18 100644
--- a/.cspell.yaml
+++ b/.cspell.yaml
@@ -99,6 +99,7 @@ words:
- cumulatives
- deser
- inclusivity
+ - notitle
- oteps
- representivity
- relatedly
diff --git a/.github/workflows/checks.yaml b/.github/workflows/checks.yaml
index babcf4bc877..5847d66bc10 100644
--- a/.github/workflows/checks.yaml
+++ b/.github/workflows/checks.yaml
@@ -62,10 +62,7 @@ jobs:
run: npm install
- name: run markdown-toc
- run: make markdown-toc
-
- - name: validate markdown-toc
- run: git diff --exit-code ':*.md' || (echo 'Generated markdown Table of Contents is out of date, please run "make markdown-toc" and commit the changes in this PR.' && exit 1)
+ run: make markdown-toc-check
compliance-matrix-check:
runs-on: ubuntu-latest
diff --git a/Makefile b/Makefile
index 504bd6a9629..a1353579a2a 100644
--- a/Makefile
+++ b/Makefile
@@ -71,25 +71,15 @@ markdown-link-check:
-v \
home/repo
-# This target runs markdown-toc on all files that contain
-# a comment .
-#
-# The recommended way to prepate a .md file for markdown-toc is
-# to add these comments:
-#
-#
-#
.PHONY: markdown-toc
markdown-toc:
- @if ! npm ls markdown-toc; then npm install; fi
- @for f in $(ALL_DOCS); do \
- if grep -q '' $$f; then \
- echo markdown-toc: processing $$f; \
- npx --no -- markdown-toc --no-first-h1 --no-stripHeadingTags -i $$f || exit 1; \
- else \
- echo markdown-toc: no TOC markers, skipping $$f; \
- fi; \
- done
+ @if ! npm ls doctoc; then npm ci; fi
+ npx --no -- doctoc . --update-only --mintocitems 1 --toc-pragma-style compact --notitle --entryprefix='-,*,+' || exit 1;
+
+.PHONY: markdown-toc-check
+markdown-toc-check:
+ @if ! npm ls doctoc; then npm ci; fi
+ npx --no -- doctoc . --update-only --mintocitems 1 --toc-pragma-style compact --notitle --entryprefix='-,*,+' --dryrun || exit 1;
.PHONY: markdownlint
markdownlint:
diff --git a/development/metrics/config-service.md b/development/metrics/config-service.md
index 6559e87d623..0b3bbfe497b 100644
--- a/development/metrics/config-service.md
+++ b/development/metrics/config-service.md
@@ -1,5 +1,7 @@
# Metric Configuration Service
+
+
- [Metric Configuration Service](#metric-configuration-service)
* [Overview](#overview)
* [Service Protocol](#service-protocol)
@@ -18,7 +20,7 @@
* [Fingerprint Hashing](#fingerprint-hashing)
- [Remote Backend](#remote-backend)
-Table of contents generated with markdown-toc
+
## Overview
diff --git a/oteps/4485-extending-attributes-to-support-complex-values.md b/oteps/4485-extending-attributes-to-support-complex-values.md
index 7ca2d0bd7fd..bd07e849793 100644
--- a/oteps/4485-extending-attributes-to-support-complex-values.md
+++ b/oteps/4485-extending-attributes-to-support-complex-values.md
@@ -1,6 +1,6 @@
# Extending attributes to support complex values
-
+
- [Glossary](#glossary)
- [Why?](#why)
@@ -25,7 +25,7 @@
- [Backend research](#backend-research)
- [Appendix](#appendix)
-
+
## Glossary
diff --git a/oteps/4815-semantic-conventions-schema-v2.md b/oteps/4815-semantic-conventions-schema-v2.md
index c2fc49cf0f0..f258dfcf866 100644
--- a/oteps/4815-semantic-conventions-schema-v2.md
+++ b/oteps/4815-semantic-conventions-schema-v2.md
@@ -1,6 +1,6 @@
# Semantic Convention Schema v2
-
+
- [Semantic Convention Schema v2](#semantic-convention-schema-v2)
- [Motivation](#motivation)
@@ -28,7 +28,7 @@
- [Prototypes](#prototypes)
- [Future possibilities](#future-possibilities)
-
+
In this OTEP, we propose a new telemetry schema format that supports multiple convention registries
and provides full access to metadata.
diff --git a/oteps/entities/0256-entities-data-model.md b/oteps/entities/0256-entities-data-model.md
index 874736e3203..f9cac8de32a 100644
--- a/oteps/entities/0256-entities-data-model.md
+++ b/oteps/entities/0256-entities-data-model.md
@@ -4,7 +4,7 @@ This is a proposal of a data model to represent entities. The purpose of the dat
is to have a common understanding of what an entity is, what data needs to be recorded,
transferred, stored and interpreted by an entity observability system.
-
+
- [Motivation](#motivation)
- [Design Principles](#design-principles)
@@ -37,7 +37,7 @@ transferred, stored and interpreted by an entity observability system.
- [Future Work](#future-work)
- [References](#references)
-
+
## Motivation
diff --git a/oteps/entities/0264-resource-and-entities.md b/oteps/entities/0264-resource-and-entities.md
index 4d8f7e623f3..21d66a191b2 100644
--- a/oteps/entities/0264-resource-and-entities.md
+++ b/oteps/entities/0264-resource-and-entities.md
@@ -6,7 +6,7 @@ current resource specification.
It is an expansion on the [previous entity proposal](0256-entities-data-model.md).
-
+
- [Motivation](#motivation)
- [Design](#design)
@@ -55,7 +55,7 @@ It is an expansion on the [previous entity proposal](0256-entities-data-model.md
* [Implications](#implications)
* [What could this mean for choosing entities that belong on resource?](#what-could-this-mean-for-choosing-entities-that-belong-on-resource)
-
+
## Motivation
diff --git a/oteps/profiles/0239-profiles-data-model.md b/oteps/profiles/0239-profiles-data-model.md
index acce8ddc7e3..4aac8393c82 100644
--- a/oteps/profiles/0239-profiles-data-model.md
+++ b/oteps/profiles/0239-profiles-data-model.md
@@ -2,7 +2,8 @@
Introduces Data Model for Profiles signal to OpenTelemetry.
-
+
+
* [Motivation](#motivation)
* [Design Notes](#design-notes)
* [Design Goals](#design-goals)
@@ -56,7 +57,8 @@ Introduces Data Model for Profiles signal to OpenTelemetry.
* [Repetition of Attribute Keys](#repetition-of-attribute-keys)
* [Locations Optimization](#locations-optimization)
* [Future Possibilities](#future-possibilities)
-
+
+
## Motivation
diff --git a/oteps/trace/0170-sampling-probability.md b/oteps/trace/0170-sampling-probability.md
index 8b8c3369c05..5dccec06fec 100644
--- a/oteps/trace/0170-sampling-probability.md
+++ b/oteps/trace/0170-sampling-probability.md
@@ -1,6 +1,6 @@
# Probability sampling of telemetry events
-
+
- [Motivation](#motivation)
- [Examples](#examples)
@@ -35,7 +35,7 @@
- [Recommended reading](#recommended-reading)
- [Acknowledgements](#acknowledgements)
-
+
Objective: Specify a foundation for sampling techniques in OpenTelemetry.
diff --git a/package.json b/package.json
index 5e8f872ddfa..e6fdf752bd6 100644
--- a/package.json
+++ b/package.json
@@ -2,8 +2,8 @@
"devDependencies": {
"@cspell/dict-people-names": "1.1.16",
"cspell": "10.0.1",
+ "doctoc": "2.5.0",
"markdown-link-check": "3.14.2",
- "markdown-toc": "1.2.0",
"markdownlint-cli": "0.49.0",
"textlint": "15.7.1",
"textlint-filter-rule-allowlist": "4.0.0",
diff --git a/specification/baggage/api.md b/specification/baggage/api.md
index 56851acfc0e..62ed2c65f96 100644
--- a/specification/baggage/api.md
+++ b/specification/baggage/api.md
@@ -10,7 +10,7 @@ weight: 1
Table of Contents
-
+
- [Overview](#overview)
- [Operations](#operations)
@@ -23,7 +23,7 @@ weight: 1
- [Propagation](#propagation)
- [Conflict Resolution](#conflict-resolution)
-
+
diff --git a/specification/common/README.md b/specification/common/README.md
index e712fbd63b8..1b5d2fb1f30 100644
--- a/specification/common/README.md
+++ b/specification/common/README.md
@@ -13,7 +13,7 @@ path_base_for_github_subdir:
Table of Contents
-
+
- [AnyValue](#anyvalue)
* [map](#mapstring-anyvalue)
@@ -34,7 +34,7 @@ path_base_for_github_subdir:
* [Configurable Parameters](#configurable-parameters)
* [Exempt Entities](#exempt-entities)
-
+
diff --git a/specification/common/attribute-type-mapping.md b/specification/common/attribute-type-mapping.md
index e936eb1695c..4d713cde42d 100644
--- a/specification/common/attribute-type-mapping.md
+++ b/specification/common/attribute-type-mapping.md
@@ -9,7 +9,7 @@ linkTitle: Mapping to AnyValue
Table of Contents
-
+
- [Converting to AnyValue](#converting-to-anyvalue)
* [Primitive Values](#primitive-values)
@@ -26,7 +26,7 @@ linkTitle: Mapping to AnyValue
* [Other Values](#other-values)
* [Empty Values](#empty-values)
-
+
diff --git a/specification/compatibility/logging_trace_context.md b/specification/compatibility/logging_trace_context.md
index 17721136c98..2b475b702df 100644
--- a/specification/compatibility/logging_trace_context.md
+++ b/specification/compatibility/logging_trace_context.md
@@ -5,7 +5,7 @@
Table of Contents
-
+
- [Overview](#overview)
* [Syslog RFC5424](#syslog-rfc5424)
@@ -13,7 +13,7 @@
* [JSON Formats](#json-formats)
* [Other Structured Formats](#other-structured-formats)
-
+
diff --git a/specification/compatibility/prometheus_and_openmetrics.md b/specification/compatibility/prometheus_and_openmetrics.md
index da763aaff2b..b5458cd5eeb 100644
--- a/specification/compatibility/prometheus_and_openmetrics.md
+++ b/specification/compatibility/prometheus_and_openmetrics.md
@@ -12,7 +12,7 @@ aliases:
Table of Contents
-
+
- [Differences between Prometheus formats](#differences-between-prometheus-formats)
- [Prometheus Metric points to OTLP](#prometheus-metric-points-to-otlp)
@@ -44,7 +44,7 @@ aliases:
* [Exemplar Conversion](#exemplar-conversion)
* [Resource Attributes](#resource-attributes-1)
-
+
diff --git a/specification/configuration/api.md b/specification/configuration/api.md
index 34d48f9983e..a4066446d81 100644
--- a/specification/configuration/api.md
+++ b/specification/configuration/api.md
@@ -7,7 +7,7 @@ weight: 1
**Status**: [Mixed](../document-status.md)
-
+
- [Overview](#overview)
* [ConfigProvider](#configprovider)
@@ -15,7 +15,7 @@ weight: 1
- [Get instrumentation config](#get-instrumentation-config)
* [ConfigProperties](#configproperties)
-
+
## Overview
diff --git a/specification/configuration/common.md b/specification/configuration/common.md
index 4e94b1c8030..b6c24edd7fa 100644
--- a/specification/configuration/common.md
+++ b/specification/configuration/common.md
@@ -13,7 +13,7 @@ aliases:
Table of Contents
-
+
- [Type-specific guidance](#type-specific-guidance)
* [Numeric](#numeric)
@@ -23,7 +23,7 @@ aliases:
* [String](#string)
+ [Enum](#enum)
-
+
diff --git a/specification/configuration/data-model.md b/specification/configuration/data-model.md
index 3ce8aa1aac6..e8f5e185317 100644
--- a/specification/configuration/data-model.md
+++ b/specification/configuration/data-model.md
@@ -7,7 +7,7 @@ weight: 2
**Status**: [Stable](../document-status.md)
-
+
- [Overview](#overview)
* [Versioning policy and stability guarantees](#versioning-policy-and-stability-guarantees)
@@ -15,7 +15,7 @@ weight: 2
+ [YAML file format](#yaml-file-format)
+ [Environment variable substitution](#environment-variable-substitution)
-
+
## Overview
diff --git a/specification/configuration/sdk-environment-variables.md b/specification/configuration/sdk-environment-variables.md
index c3da58e16e1..a6ad490221b 100644
--- a/specification/configuration/sdk-environment-variables.md
+++ b/specification/configuration/sdk-environment-variables.md
@@ -13,7 +13,7 @@ aliases:
Table of Contents
-
+
- [Implementation guidelines](#implementation-guidelines)
- [Parsing empty value](#parsing-empty-value)
@@ -39,7 +39,7 @@ aliases:
- [Declarative configuration](#declarative-configuration)
- [Language Specific Environment Variables](#language-specific-environment-variables)
-
+
diff --git a/specification/configuration/sdk.md b/specification/configuration/sdk.md
index c92d5ad3125..774d5c63479 100644
--- a/specification/configuration/sdk.md
+++ b/specification/configuration/sdk.md
@@ -7,7 +7,7 @@ weight: 3
**Status**: [Stable](../document-status.md) except where otherwise specified
-
+
- [Overview](#overview)
* [In-Memory configuration model](#in-memory-configuration-model)
@@ -26,7 +26,7 @@ weight: 3
+ [Via OTEL_CONFIG_FILE](#via-otel_config_file)
* [References](#references)
-
+
## Overview
diff --git a/specification/configuration/supplementary-guidelines.md b/specification/configuration/supplementary-guidelines.md
index 6eee879d9f6..ddf57e0e889 100644
--- a/specification/configuration/supplementary-guidelines.md
+++ b/specification/configuration/supplementary-guidelines.md
@@ -7,13 +7,13 @@ requirements to the existing specifications.
Table of Contents
-
+
- [Configuration interface prioritization and `create`](#configuration-interface-prioritization-and-create)
- [Programmatic customization and `create`](#programmatic-customization-and-create)
- [Strict YAML parsing](#strict-yaml-parsing)
-
+
diff --git a/specification/context/README.md b/specification/context/README.md
index 307b06b13df..5c3a5269f68 100644
--- a/specification/context/README.md
+++ b/specification/context/README.md
@@ -12,7 +12,7 @@ path_base_for_github_subdir:
Table of Contents
-
+
- [Overview](#overview)
- [Create a key](#create-a-key)
@@ -23,7 +23,7 @@ path_base_for_github_subdir:
* [Attach Context](#attach-context)
* [Detach Context](#detach-context)
-
+
diff --git a/specification/context/api-propagators.md b/specification/context/api-propagators.md
index 21c3773fc66..374ea68f792 100644
--- a/specification/context/api-propagators.md
+++ b/specification/context/api-propagators.md
@@ -5,7 +5,7 @@
Table of Contents
-
+
- [Overview](#overview)
- [Propagator Types](#propagator-types)
@@ -39,7 +39,7 @@
+ [Fields](#fields-1)
+ [Configuration](#configuration)
-
+
diff --git a/specification/context/env-carriers.md b/specification/context/env-carriers.md
index 920fd63811d..dd03bc2bab8 100644
--- a/specification/context/env-carriers.md
+++ b/specification/context/env-carriers.md
@@ -5,7 +5,7 @@
Table of Contents
-
+
- [Overview](#overview)
- [Propagator Mechanisms](#propagator-mechanisms)
@@ -16,7 +16,7 @@
+ [Security](#security)
- [Implementation Guidelines](#implementation-guidelines)
-
+
diff --git a/specification/entities/README.md b/specification/entities/README.md
index aa76308f505..fce3cc02787 100644
--- a/specification/entities/README.md
+++ b/specification/entities/README.md
@@ -9,12 +9,12 @@ path_base_for_github_subdir:
Table of Contents
-
+
- [Overview](#overview)
- [Specifications](#specifications)
-
+
diff --git a/specification/entities/data-model.md b/specification/entities/data-model.md
index 9bbb4e95be0..944fd198e87 100644
--- a/specification/entities/data-model.md
+++ b/specification/entities/data-model.md
@@ -10,7 +10,7 @@ weight: 2
Table of Contents
-
+
- [Minimally Sufficient Identity](#minimally-sufficient-identity)
- [Repeatable Identity](#repeatable-identity)
@@ -21,7 +21,7 @@ weight: 2
- [Merging of Entities](#merging-of-entities)
- [Examples of Entities](#examples-of-entities)
-
+
diff --git a/specification/entities/entity-events.md b/specification/entities/entity-events.md
index ab8b055d94b..95d811726a2 100644
--- a/specification/entities/entity-events.md
+++ b/specification/entities/entity-events.md
@@ -10,7 +10,7 @@ weight: 3
Table of Contents
-
+
- [Overview](#overview)
- [When to Use Entity Events](#when-to-use-entity-events)
@@ -26,7 +26,7 @@ weight: 3
* [Kubernetes Pod Entity State](#kubernetes-pod-entity-state)
* [Entity Delete](#entity-delete)
-
+
diff --git a/specification/entities/entity-propagation.md b/specification/entities/entity-propagation.md
index a46dda2a44f..69806b2b4a0 100644
--- a/specification/entities/entity-propagation.md
+++ b/specification/entities/entity-propagation.md
@@ -9,7 +9,7 @@ linkTitle: Entity Propagation
Table of Contents
-
+
- [Overview](#overview)
- [Specifying entity information via an environment variable](#specifying-entity-information-via-an-environment-variable)
@@ -22,7 +22,7 @@ linkTitle: Entity Propagation
* [Error Handling](#error-handling)
- [EnvEntityDetector](#enventitydetector)
-
+
diff --git a/specification/glossary.md b/specification/glossary.md
index 64405a7a486..d2c5c9a96ab 100644
--- a/specification/glossary.md
+++ b/specification/glossary.md
@@ -7,7 +7,7 @@ Some other fundamental terms are documented in the [overview document](overview.
Table of Contents
-
+
- [User Roles](#user-roles)
* [Application Owner](#application-owner)
@@ -43,7 +43,7 @@ Some other fundamental terms are documented in the [overview document](overview.
* [Profile](#profile)
* [Profiling](#profiling)
-
+
diff --git a/specification/logs/README.md b/specification/logs/README.md
index 59cc21833bc..347cd50e4b8 100644
--- a/specification/logs/README.md
+++ b/specification/logs/README.md
@@ -14,7 +14,7 @@ path_base_for_github_subdir:
Table of Contents
-
+
- [Introduction](#introduction)
- [Limitations of non-OpenTelemetry Solutions](#limitations-of-non-opentelemetry-solutions)
@@ -33,7 +33,7 @@ path_base_for_github_subdir:
- [Specifications](#specifications)
- [References](#references)
-
+
diff --git a/specification/logs/api.md b/specification/logs/api.md
index f4e2e9237dd..1b57e9a5519 100644
--- a/specification/logs/api.md
+++ b/specification/logs/api.md
@@ -11,9 +11,7 @@ aliases: [bridge-api]
Table of Contents
-
-
-
+
- [LoggerProvider](#loggerprovider)
* [LoggerProvider operations](#loggerprovider-operations)
@@ -26,7 +24,7 @@ aliases: [bridge-api]
- [Ergonomic API](#ergonomic-api)
- [References](#references)
-
+
diff --git a/specification/logs/data-model-appendix.md b/specification/logs/data-model-appendix.md
index ada07be406c..ebfe3626799 100644
--- a/specification/logs/data-model-appendix.md
+++ b/specification/logs/data-model-appendix.md
@@ -5,7 +5,7 @@ Note: this document is NOT a spec, it is provided to support the Logs
for demonstrative purposes and are not exhaustive or canonical; please refer to
the respective exporter documentation if exact details are required.
-
+
- [Appendix A. Example Mappings](#appendix-a-example-mappings)
* [RFC5424 Syslog](#rfc5424-syslog)
@@ -21,7 +21,7 @@ the respective exporter documentation if exact details are required.
- [Appendix B: `SeverityNumber` example mappings](#appendix-b-severitynumber-example-mappings)
- [References](#references)
-
+
## Appendix A. Example Mappings
diff --git a/specification/logs/data-model.md b/specification/logs/data-model.md
index 3bc6d581c4f..43d22dff6cf 100644
--- a/specification/logs/data-model.md
+++ b/specification/logs/data-model.md
@@ -10,7 +10,7 @@ weight: 2
Table of Contents
-
+
- [Design Notes](#design-notes)
* [Requirements](#requirements)
@@ -41,7 +41,7 @@ weight: 2
- [Example Mappings](#example-mappings)
- [References](#references)
-
+
diff --git a/specification/logs/noop.md b/specification/logs/noop.md
index 2253cbb830c..921a4d0de0b 100644
--- a/specification/logs/noop.md
+++ b/specification/logs/noop.md
@@ -9,7 +9,7 @@ linkTitle: No-Op
Table of Contents
-
+
- [LoggerProvider](#loggerprovider)
* [Logger Creation](#logger-creation)
@@ -17,7 +17,7 @@ linkTitle: No-Op
* [Emit LogRecord](#emit-logrecord)
* [Enabled](#enabled)
-
+
diff --git a/specification/logs/sdk.md b/specification/logs/sdk.md
index fb8bb108173..114c64857cb 100644
--- a/specification/logs/sdk.md
+++ b/specification/logs/sdk.md
@@ -10,7 +10,7 @@ weight: 3
Table of Contents
-
+
- [LoggerProvider](#loggerprovider)
* [LoggerProvider Creation](#loggerprovider-creation)
@@ -45,7 +45,7 @@ weight: 3
- [Concurrency requirements](#concurrency-requirements)
- [Self-observability](#self-observability)
-
+
diff --git a/specification/logs/supplementary-guidelines.md b/specification/logs/supplementary-guidelines.md
index ed46c91a517..2758fcc00d9 100644
--- a/specification/logs/supplementary-guidelines.md
+++ b/specification/logs/supplementary-guidelines.md
@@ -7,9 +7,7 @@ extra requirements to the existing specifications.
Table of Contents
-
-
-
+
- [Usage](#usage)
* [How to Create a Log4J Log Appender](#how-to-create-a-log4j-log-appender)
@@ -24,7 +22,7 @@ extra requirements to the existing specifications.
+ [Routing](#routing)
+ [Setup](#setup)
-
+
diff --git a/specification/metrics/README.md b/specification/metrics/README.md
index be3cf295077..29bad39bfcd 100644
--- a/specification/metrics/README.md
+++ b/specification/metrics/README.md
@@ -10,7 +10,7 @@ path_base_for_github_subdir:
Table of Contents
-
+
- [Overview](#overview)
* [Design Goals](#design-goals)
@@ -21,7 +21,7 @@ path_base_for_github_subdir:
- [Specifications](#specifications)
- [References](#references)
-
+
diff --git a/specification/metrics/api.md b/specification/metrics/api.md
index ba733a04c56..0c8bf049e0a 100644
--- a/specification/metrics/api.md
+++ b/specification/metrics/api.md
@@ -10,7 +10,7 @@ weight: 1
Table of Contents
-
+
- [Overview](#overview)
- [MeterProvider](#meterprovider)
@@ -63,7 +63,7 @@ weight: 1
- [Concurrency requirements](#concurrency-requirements)
- [References](#references)
-
+
diff --git a/specification/metrics/data-model.md b/specification/metrics/data-model.md
index e36e1a3497e..d7503075a3c 100644
--- a/specification/metrics/data-model.md
+++ b/specification/metrics/data-model.md
@@ -11,7 +11,7 @@ weight: 2
Table of Contents
-
+
- [Overview](#overview)
- [Events => Data Stream => Timeseries](#events--data-stream--timeseries)
@@ -60,7 +60,7 @@ weight: 2
- [References](#references)
- [Footnotes](#footnotes)
-
+
diff --git a/specification/metrics/noop.md b/specification/metrics/noop.md
index 3a7e81a4caf..5f1fe70157a 100644
--- a/specification/metrics/noop.md
+++ b/specification/metrics/noop.md
@@ -9,7 +9,7 @@ linkTitle: No-Op
Table of Contents
-
+
- [MeterProvider](#meterprovider)
* [Meter Creation](#meter-creation)
@@ -35,7 +35,7 @@ linkTitle: No-Op
* [Asynchronous Gauge Observations](#asynchronous-gauge-observations)
- [References](#references)
-
+
diff --git a/specification/metrics/sdk.md b/specification/metrics/sdk.md
index 0f7a844446d..f2c48a28923 100644
--- a/specification/metrics/sdk.md
+++ b/specification/metrics/sdk.md
@@ -10,7 +10,7 @@ weight: 3
Table of Contents
-
+
- [MeterProvider](#meterprovider)
* [MeterProvider Creation](#meterprovider-creation)
@@ -93,7 +93,7 @@ weight: 3
- [Self-observability](#self-observability)
- [References](#references)
-
+
diff --git a/specification/metrics/sdk_exporters/prometheus.md b/specification/metrics/sdk_exporters/prometheus.md
index 430324150d1..21cba5b38fb 100644
--- a/specification/metrics/sdk_exporters/prometheus.md
+++ b/specification/metrics/sdk_exporters/prometheus.md
@@ -9,7 +9,7 @@ linkTitle: Prometheus
Table of Contents
-
+
- [Prometheus Exporter Model](#prometheus-exporter-model)
* [Pull Metric Exporter](#pull-metric-exporter)
@@ -30,7 +30,7 @@ linkTitle: Prometheus
- [Content Negotiation](#content-negotiation)
* [Interaction with Translation Strategy](#interaction-with-translation-strategy)
-
+
diff --git a/specification/metrics/supplementary-guidelines.md b/specification/metrics/supplementary-guidelines.md
index 48fa01eaaeb..357258b3c33 100644
--- a/specification/metrics/supplementary-guidelines.md
+++ b/specification/metrics/supplementary-guidelines.md
@@ -7,7 +7,7 @@ requirements to the existing specifications.
Table of Contents
-
+
- [Guidelines for instrumentation library authors](#guidelines-for-instrumentation-library-authors)
* [Instrument selection](#instrument-selection)
@@ -28,7 +28,7 @@ requirements to the existing specifications.
- [Asynchronous example: attribute removal in a view](#asynchronous-example-attribute-removal-in-a-view)
* [Memory management](#memory-management)
-
+
diff --git a/specification/overview.md b/specification/overview.md
index 90dfc00bef8..7ff079f447a 100644
--- a/specification/overview.md
+++ b/specification/overview.md
@@ -7,7 +7,7 @@ weight: 1
Table of Contents
-
+
- [OpenTelemetry Client Architecture](#opentelemetry-client-architecture)
* [API](#api)
@@ -35,7 +35,7 @@ weight: 1
- [Collector](#collector)
- [Instrumentation Libraries](#instrumentation-libraries)
-
+
diff --git a/specification/profiles/README.md b/specification/profiles/README.md
index 2ecfd7d3d3f..a03189b03fe 100644
--- a/specification/profiles/README.md
+++ b/specification/profiles/README.md
@@ -11,7 +11,7 @@ path_base_for_github_subdir:
Table of Contents
-
+
- [Overview](#overview)
- [Design goals](#design-goals)
@@ -20,7 +20,7 @@ path_base_for_github_subdir:
- [Specifications](#specifications)
- [References](#references)
-
+
diff --git a/specification/profiles/mappings.md b/specification/profiles/mappings.md
index 893300e1bcd..e932a2bce6d 100644
--- a/specification/profiles/mappings.md
+++ b/specification/profiles/mappings.md
@@ -4,12 +4,12 @@
This document defines the required attributes of [`Mapping`](../../oteps/profiles/0239-profiles-data-model.md#message-mapping) messages.
-
+
- [Attributes](#attributes)
* [Algorithm for `process.executable.build_id.htlhash`](#algorithm-for-processexecutablebuild_idhtlhash)
-
+
## Attributes
diff --git a/specification/profiles/pprof.md b/specification/profiles/pprof.md
index 89f65379957..7fb6b73668c 100644
--- a/specification/profiles/pprof.md
+++ b/specification/profiles/pprof.md
@@ -2,11 +2,11 @@
**Status**: [Alpha](../document-status.md)
-
+
- [Compatibility](#compatibility)
-
+
## Compatibility
diff --git a/specification/resource/README.md b/specification/resource/README.md
index 94009584626..e205e2a8f66 100644
--- a/specification/resource/README.md
+++ b/specification/resource/README.md
@@ -9,7 +9,7 @@ path_base_for_github_subdir:
Table of Contents
-
+
- [Overview](#overview)
* [Identity](#identity)
@@ -17,7 +17,7 @@ path_base_for_github_subdir:
* [Telescoping](#telescoping)
- [Specifications](#specifications)
-
+
diff --git a/specification/resource/data-model.md b/specification/resource/data-model.md
index f77bafcef5c..b2b667f47d7 100644
--- a/specification/resource/data-model.md
+++ b/specification/resource/data-model.md
@@ -10,13 +10,13 @@ weight: 2
Table of Contents
-
+
- [Identity](#identity)
- [Merging Resources](#merging-resources)
* [Merging Entities into a Resource](#merging-entities-into-a-resource)
-
+
diff --git a/specification/schemas/README.md b/specification/schemas/README.md
index 62bb9e8b34d..27cb2ddef8d 100644
--- a/specification/schemas/README.md
+++ b/specification/schemas/README.md
@@ -13,7 +13,7 @@ path_base_for_github_subdir:
Table of Contents
-
+
- [Motivation](#motivation)
- [How Schemas Work](#how-schemas-work)
@@ -27,7 +27,7 @@ path_base_for_github_subdir:
- [API Support](#api-support)
- [OpenTelemetry Schema](#opentelemetry-schema)
-
+
diff --git a/specification/telemetry-stability.md b/specification/telemetry-stability.md
index 1bf3739b05d..15165d55a7f 100644
--- a/specification/telemetry-stability.md
+++ b/specification/telemetry-stability.md
@@ -5,14 +5,14 @@
Table of Contents
-
+
- [Unstable Instrumentations](#unstable-instrumentations)
- [Stable Instrumentations](#stable-instrumentations)
* [Fixed Schema Telemetry Producers](#fixed-schema-telemetry-producers)
* [Schema-File Driven Telemetry Producers](#schema-file-driven-telemetry-producers)
-
+
diff --git a/specification/trace/api.md b/specification/trace/api.md
index dba798a1849..0e5d04d9516 100644
--- a/specification/trace/api.md
+++ b/specification/trace/api.md
@@ -10,7 +10,7 @@ weight: 1
Table of Contents
-
+
- [Data types](#data-types)
* [Time](#time)
@@ -50,7 +50,7 @@ weight: 1
- [Included Propagators](#included-propagators)
- [Behavior of the API in the absence of an installed SDK](#behavior-of-the-api-in-the-absence-of-an-installed-sdk)
-
+
diff --git a/specification/trace/exceptions.md b/specification/trace/exceptions.md
index d0377d3958b..b4e47dd3822 100644
--- a/specification/trace/exceptions.md
+++ b/specification/trace/exceptions.md
@@ -4,12 +4,12 @@
This document defines how to record exceptions and their attributes.
-
+
- [Recording an Exception](#recording-an-exception)
- [Attributes](#attributes)
-
+
## Recording an Exception
diff --git a/specification/trace/sdk.md b/specification/trace/sdk.md
index 079e9e43404..59d4585aeab 100644
--- a/specification/trace/sdk.md
+++ b/specification/trace/sdk.md
@@ -10,7 +10,7 @@ weight: 3
Table of Contents
-
+
- [Tracer Provider](#tracer-provider)
* [Tracer Creation](#tracer-creation)
@@ -85,7 +85,7 @@ weight: 3
- [Concurrency requirements](#concurrency-requirements)
- [Self-observability](#self-observability)
-
+
diff --git a/specification/trace/tracestate-handling.md b/specification/trace/tracestate-handling.md
index 2b4a3d85e65..1fab0032deb 100644
--- a/specification/trace/tracestate-handling.md
+++ b/specification/trace/tracestate-handling.md
@@ -9,7 +9,7 @@ linkTitle: TraceState
Table of Contents
-
+
- [Key](#key)
- [Value](#value)
@@ -18,7 +18,7 @@ linkTitle: TraceState
* [Sampling threshold value `th`](#sampling-threshold-value-th)
* [Explicit randomness value `rv`](#explicit-randomness-value-rv)
-
+
diff --git a/specification/trace/tracestate-probability-sampling.md b/specification/trace/tracestate-probability-sampling.md
index 0bea3268801..68ef03bdddd 100644
--- a/specification/trace/tracestate-probability-sampling.md
+++ b/specification/trace/tracestate-probability-sampling.md
@@ -10,7 +10,7 @@ aliases: [tracestate-probability-sampling-experimental]
Table of Contents
-
+
- [Overview](#overview)
- [Definitions](#definitions)
@@ -39,7 +39,7 @@ aliases: [tracestate-probability-sampling-experimental]
* [Converting threshold to a sampling probability](#converting-threshold-to-a-sampling-probability)
* [Converting threshold to an adjusted count (sampling rate)](#converting-threshold-to-an-adjusted-count-sampling-rate)
-
+
diff --git a/specification/vendors.md b/specification/vendors.md
index 05b27904e84..d24575806a6 100644
--- a/specification/vendors.md
+++ b/specification/vendors.md
@@ -3,14 +3,14 @@
Table of Contents
-
+
- [Abstract](#abstract)
- [Supports OpenTelemetry](#supports-opentelemetry)
- [Implements OpenTelemetry](#implements-opentelemetry)
- [Qualifications](#qualifications)
-
+
diff --git a/specification/versioning-and-stability.md b/specification/versioning-and-stability.md
index 2e5e3ea1d08..3da53d22adc 100644
--- a/specification/versioning-and-stability.md
+++ b/specification/versioning-and-stability.md
@@ -5,7 +5,7 @@
Table of Contents
-
+
- [Design goals](#design-goals)
- [Signal lifecycle](#signal-lifecycle)
@@ -31,7 +31,7 @@
* [Contrib Support](#contrib-support)
- [OpenTelemetry GA](#opentelemetry-ga)
-
+