diff --git a/scripts/md2html/main.css b/scripts/md2html/main.css new file mode 100644 index 0000000000..5c42caf7f3 --- /dev/null +++ b/scripts/md2html/main.css @@ -0,0 +1,237 @@ +#respec-ui { + visibility: hidden; +} + +#title { + color: #578000; +} + +#subtitle { + color: #578000; +} + +.dt-published { + color: #578000; +} + +.dt-published::before { + content: "Published "; +} + +h1, h2, h3, h4, h5, h6 { + color: #578000; + font-weight: normal; + font-style: normal; +} + +a[href] { + color: #45512c; +} + +body:not(.toc-inline) #toc h2 { + color: #45512c; +} + +table { + display: block; + width: 100%; + overflow: auto; +} + +table th { + font-weight: 600; +} + +table th, table td { + padding: 6px 13px; + border: 1px solid #dfe2e5; +} + +table tr { + background-color: #fff; + border-top: 1px solid #c6cbd1; +} + +table tr:nth-child(2n) { + background-color: #f6f8fa; +} + +pre { + background-color: #f6f8fa !important; +} + +code { + color: #c83500 +} + +th code { + color: inherit +} + +a.bibref { + text-decoration: underline; +} + +body.darkmode { + --toclink-underline: #6a9000; + --toclink-visited-underline: #fff; +} + +body.darkmode a, +body.darkmode .tocxref, +body.darkmode .u-url { + color: #6a9000; +} + +body.darkmode code { + color: #e66c33; +} + +body.darkmode:not(.toc-inline) #toc h2, +body.darkmode h1, +body.darkmode h2, +body.darkmode h3, +body.darkmode h4, +body.darkmode h5, +body.darkmode h6, +body.darkmode #title, +body.darkmode #subtitle, +body.darkmode .toc-inline, +body.darkmode .dt-published { + color: #7bb01c; +} + +body.darkmode pre, +body.darkmode table tr:nth-child(2n), +body.darkmode table tr { + background-color: #1e1e1e !important; + color: #dcdcdc; +} + +body.darkmode img { + background: transparent; +} + +body.darkmode .logo img { + display: none; +} + +body.darkmode .logo::before { + content: ""; + display: inline-block; + height: 48px; + width: 175px; + background: url("https://raw.githubusercontent.com/OAI/OpenAPI-Style-Guide/refs/heads/main/graphics/bitmap/OpenAPI_Logo_Pantone.png") no-repeat center / contain; + vertical-align: middle; +} + +/** This contains the content of the https://www.w3.org/StyleSheets/TR/2021/dark.css file */ +body.darkmode { + --text: #ddd; + --bg: black; + + /* Absolute URLs due to https://bugs.webkit.org/show_bug.cgi?id=230243 */ + --unofficial-watermark: url(https://www.w3.org/StyleSheets/TR/2021/logos/UD-watermark-dark-unofficial); + --draft-watermark: url(https://www.w3.org/StyleSheets/TR/2021/logos/UD-watermark-dark-draft); + + --logo-bg: #1a5e9a; + --logo-active-bg: #c00; + --logo-text: white; + + --tocnav-normal-text: #999; + --tocnav-normal-bg: var(--bg); + --tocnav-hover-text: var(--tocnav-normal-text); + --tocnav-hover-bg: #080808; + --tocnav-active-text: #f44; + --tocnav-active-bg: var(--tocnav-normal-bg); + + --tocsidebar-text: var(--text); + --tocsidebar-bg: #080808; + --tocsidebar-shadow: rgba(255,255,255,.1); + --tocsidebar-heading-text: hsla(203,20%,40%,.7); + + --toclink-text: var(--text); + --toclink-underline: #6af; + --toclink-visited-text: var(--toclink-text); + --toclink-visited-underline: #054572; + + --heading-text: #8af; + + --hr-text: var(--text); + + --algo-border: #456; + + --del-text: #f44; + --del-bg: transparent; + --ins-text: #4a4; + --ins-bg: transparent; + + --a-normal-text: #6af; + --a-normal-underline: #555; + --a-visited-text: var(--a-normal-text); + --a-visited-underline: var(--a-normal-underline); + --a-hover-bg: rgba(25%, 25%, 25%, .2); + --a-active-text: #f44; + --a-active-underline: var(--a-active-text); + + --borderedblock-bg: rgba(255, 255, 255, .05); + + --blockquote-border: silver; + --blockquote-bg: var(--borderedblock-bg); + --blockquote-text: currentcolor; + + --issue-border: #e05252; + --issue-bg: var(--borderedblock-bg); + --issue-text: var(--text); + --issueheading-text: hsl(0deg, 70%, 70%); + + --example-border: hsl(50deg, 90%, 60%); + --example-bg: var(--borderedblock-bg); + --example-text: var(--text); + --exampleheading-text: hsl(50deg, 70%, 70%); + + --note-border: hsl(120deg, 100%, 35%); + --note-bg: var(--borderedblock-bg); + --note-text: var(--text); + --noteheading-text: hsl(120, 70%, 70%); + --notesummary-underline: silver; + + --advisement-border: orange; + --advisement-bg: #222218; + --advisement-text: var(--text); + --advisementheading-text: #f84; + + --amendment-border: #330099; + --amendment-bg: var(--borderedblock-bg); + --amendment-text: var(--text); + --amendmentheading-text: #a086ff; + + --amendment-border: #330099; + --amendment-bg: #080010; + --amendment-text: var(--text); + --amendmentheading-text: #cc00ff; + + --warning-border: red; + --warning-bg: hsla(40,100%,20%,0.95); + --warning-text: var(--text); + + --def-border: #8ccbf2; + --def-bg: #080818; + --def-text: var(--text); + --defrow-border: #136; + + --datacell-border: silver; + + --indexinfo-text: #aaa; + + --indextable-hover-text: var(--text); + --indextable-hover-bg: #181818; + + --outdatedspec-bg: rgba(255, 255, 255, .5); + --outdatedspec-text: black; + --outdated-bg: maroon; + --outdated-text: white; + --outdated-shadow: red; + + --editedrec-bg: darkorange; +} \ No newline at end of file diff --git a/scripts/md2html/md2html.js b/scripts/md2html/md2html.js index fd3ec78f69..f2ae056919 100644 --- a/scripts/md2html/md2html.js +++ b/scripts/md2html/md2html.js @@ -129,6 +129,7 @@ function preface(title,options) { preface += ''; // ReSpec + preface += ''; preface += ''; preface += ``; try { @@ -137,20 +138,7 @@ function preface(title,options) { catch (ex) {} preface += ''; preface += ''; preface += `

${title.split('|')[0]}

`; diff --git a/tests/md2html/fixtures/basic-new.html b/tests/md2html/fixtures/basic-new.html index c1b911743b..e12d79bb65 100644 --- a/tests/md2html/fixtures/basic-new.html +++ b/tests/md2html/fixtures/basic-new.html @@ -1,4 +1,4 @@ -OpenAPI Specification v30.0.1 | Introduction, Definitions, & More

OpenAPI Specification v30.0.1

What is the OpenAPI Specification?

The OpenAPI Specification (OAS) defines a standard, programming language-agnostic interface description for HTTP APIs, which allows both humans and computers to discover and understand the capabilities of a service without requiring access to source code, additional documentation, or inspection of network traffic. When properly defined via OpenAPI, a consumer can understand and interact with the remote service with a minimal amount of implementation logic. Similar to what interface descriptions have done for lower-level programming, the OpenAPI Specification removes guesswork in calling a service.

Status of This Document

The source-of-truth for this specification is the HTML file referenced above as This version.
+OpenAPI Specification v30.0.1 | Introduction, Definitions, & More

OpenAPI Specification v30.0.1

What is the OpenAPI Specification?

The OpenAPI Specification (OAS) defines a standard, programming language-agnostic interface description for HTTP APIs, which allows both humans and computers to discover and understand the capabilities of a service without requiring access to source code, additional documentation, or inspection of network traffic. When properly defined via OpenAPI, a consumer can understand and interact with the remote service with a minimal amount of implementation logic. Similar to what interface descriptions have done for lower-level programming, the OpenAPI Specification removes guesswork in calling a service.

Status of This Document

The source-of-truth for this specification is the HTML file referenced above as This version.

Heading 1

Text for first chapter

Version 30.0.1

diff --git a/tests/md2html/fixtures/basic-old.html b/tests/md2html/fixtures/basic-old.html index a80b4489fb..e28f0ac360 100644 --- a/tests/md2html/fixtures/basic-old.html +++ b/tests/md2html/fixtures/basic-old.html @@ -1,4 +1,4 @@ -OpenAPI Specification v30.0.1 | Introduction, Definitions, & More

OpenAPI Specification v30.0.1

What is the OpenAPI Specification?

The OpenAPI Specification (OAS) defines a standard, programming language-agnostic interface description for HTTP APIs, which allows both humans and computers to discover and understand the capabilities of a service without requiring access to source code, additional documentation, or inspection of network traffic. When properly defined via OpenAPI, a consumer can understand and interact with the remote service with a minimal amount of implementation logic. Similar to what interface descriptions have done for lower-level programming, the OpenAPI Specification removes guesswork in calling a service.

Status of This Document

The source-of-truth for this specification is the HTML file referenced above as This version.
+OpenAPI Specification v30.0.1 | Introduction, Definitions, & More

OpenAPI Specification v30.0.1

What is the OpenAPI Specification?

The OpenAPI Specification (OAS) defines a standard, programming language-agnostic interface description for HTTP APIs, which allows both humans and computers to discover and understand the capabilities of a service without requiring access to source code, additional documentation, or inspection of network traffic. When properly defined via OpenAPI, a consumer can understand and interact with the remote service with a minimal amount of implementation logic. Similar to what interface descriptions have done for lower-level programming, the OpenAPI Specification removes guesswork in calling a service.

Status of This Document

The source-of-truth for this specification is the HTML file referenced above as This version.

Heading 1

Text for first chapter

Version 30.0.1