diff --git a/README.md b/README.md index c6f3d8c..ab5dfdb 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # render-gfm -Render (GitHub Flavoured with syntax highlighting) Markdown, and generate CSS for each of GitHub’s themes. +Render GitHub Flavoured Markdown, with CSS for each of GitHub's themes. - [GitHub Repository](https://github.com/shaunbharat/render-gfm) - [npm Package](https://www.npmjs.com/package/render-gfm) @@ -12,77 +12,98 @@ Render (GitHub Flavoured with syntax highlighting) Markdown, and generate CSS fo [This version is rendered Markdown, using render-gfm.](https://shaunbharat.github.io/render-gfm/render-gfm) -## Install +## CLI + +### Install (Globally) ```bash +# Install render-gfm with the --global option (-g) to use the CLI. npm install -g render-gfm ``` -The --global option (-g) is required to globally use the CLI. +### Usage (Commands) ->✅ This package was written using other packages which were written as ES Modules, causing this to be in ESM as well. See [this gist](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c) by [@sindresorhus](https://github.com/sindresorhus) for more info. +> Use the help option (`--help` or `-h`) to see the usage information for each command. -## Usage +```bash +render-gfm --help -Render-gfm can be used programmatically with Javascript, or it can be used at the command line. +# Render Markdown files +render-gfm markdown --help -### API +# Generate CSS +render-gfm themes --help +``` -Import (ESM) +> Examples of the `markdown` command -```javascript -import render from 'render-gfm'; +```bash +# Example - Render "README.md" and "test.md" Markdown files to the output folder "docs" in the current directory +render-gfm markdown -o ./docs README.md test.md -// Using functions other than `render()`: -import { returnRenderedMarkdown(), generateCSS(), writeMarkdown(), writeCSS() } from 'render-gfm'; +# or another example (both relative and absolute paths are allowed) +render-gfm markdown -o ../dist C:/Users/Owner/Desktop/Project/README.md ``` -Usage - -```javascript -/* Examples */ +> Examples of the `themes` command -const html = await returnRenderedMarkdown({ file: '../src/README.md', mode: 'gfm' }); -// => > Returns the rendered Markdown in HTML - -const themes = await generateCSS(); -// => >> Returns the CSS for each theme, inside an object +```bash +# Example - Generate and write the CSS files to the output folder "css" in the current directory +render-gfm themes -o ./css +``` -await writeMarkdown({ file: 'C:/Users/Owner/Desktop/Project/README.md', mode: 'gfm', output_dir: 'C:/Users/Owner/Desktop/Project/dist' }); -// => > Renders a Markdown file and writes it to an HTML file, then returns directory path to it +### Usage (Functions) -await writeCSS({ output_dir: 'C:/Users/Owner/Desktop/Project/assets/css' }); -// => > Generates and writes the CSS for each of GitHub's themes, then returns the path to the CSS files +> The CLI commands are just wrappers around some functions. These functions have been written specifically for the CLI, but are exported and can be used in your code directly. -await render({ file: 'C:/Users/Owner/Desktop/Project/README.md', mode: 'gfm', output_dir: 'C:/Users/Owner/Desktop/Project/dist' }); -// => > Generates CSS and renders Markdown, then writes everything to an output directory +```javascript +/** + * Render Markdown files (looks in the current working directory by default, if relative paths are specified) to the specified output directory. + * @param {string[]} files An array of the Markdown file paths to render. Can be absolute or relative paths. + * @param {string} outputDir The directory to write the rendered HTML to. If unspecified, the default is the folder "dist" in the current working directory. + */ +export async function markdown(files: string[], outputDir: string = './dist'); + +/** + * Generate CSS files for each of GitHub's themes to the specified output directory. + * @param {string} outputDir The directory to write the CSS files to. If unspecified, the default is the folder "dist/css" in the current working directory. + */ +export async function themes(outputDir: string = './dist/css'); ``` -### CLI +## API -Assuming render-gfm was installed globally with `npm install -g render-gfm`, you should now be able to use it from anywhere with your command line. +### Install ```bash -# Render Markdown and generate CSS -gfm --help - -# Only render a Markdown file -gfm markdown --help - -# Only generate the CSS -gfm themes --help - -# Example - Render a Markdown file and generate CSS, to the output folder "dist" in the current directory -gfm README.md -o dist -# or another example (both relative and absolute paths are allowed) -gfm C:/Users/Owner/Desktop/Project/README.md -o ../dist +# Install render-gfm to your JavaScript project. +npm install render-gfm ``` -### Website - -> To-do +### Usage -I'll also put this renderer up as a website, to quickly and easily render your Markdown. +```javascript +import render, { generateCSS } from 'render-gfm'; + +/** + * Generates and returns CSS for each requested theme in the `themes` array, as an object + * @param {string} outputDir The directory to write the CSS files to. If unspecified, the CSS will still be returned in an object, but not written to the filesystem. + * @param {Theme[]} themes An array of the themes to generate CSS for. Defaults to all themes. + * @returns {Promise>} An object containing the CSS for each theme. + */ +export async function generateCSS(outputDir: string, themes: Theme[] = [Theme.Auto, Theme.Light, Theme.Dark, Theme.DarkDimmed, Theme.DarkHighContrast, Theme.LightColorblind, Theme.DarkColorblind]): Promise>; + +/** + * Renders Markdown to HTML. If `outputFile` is specified, the HTML will be written to the filesystem. + * The resulting HTML rendered will be wrapped in a default template, unless `includeDefaultTemplate` is set to false. + * This is useful for when you want to use your own HTML template. + * @param {string} markdown The Markdown to render. + * @param {string} outputFile The file to write the rendered HTML to. If unspecified, the HTML will still be returned, but not written to the filesystem. + * @param {boolean} includeDefaultTemplate Whether or not to include the default HTML template. Default: true. If false, the rendered Markdown will not be wrapped in a template. + * @returns {Promise} The rendered HTML. + */ +export default async function render(markdown: string, outputFile: string, includeDefaultTemplate: boolean = true): Promise; +``` ## License diff --git a/docs/README.html b/docs/README.html new file mode 100644 index 0000000..6d0a1dd --- /dev/null +++ b/docs/README.html @@ -0,0 +1,214 @@ + + + + + + GitHub Markdown + + + + + + +
+

render-gfm

+

+ Render GitHub Flavoured Markdown, with CSS for each of GitHub's + themes. +

+ +

See Example

+

+ This version is rendered Markdown, through GitHub Pages + alone. +

+

+ This version is rendered Markdown, using render-gfm. +

+

CLI

+

Install (Globally)

+
+
# Install render-gfm with the --global option (-g) to use the CLI.
+npm install -g render-gfm
+
+

Usage (Commands)

+
+

+ Use the help option (--help + or -h) to see the usage + information for each command. +

+
+
+
render-gfm --help
+
+# Render Markdown files
+render-gfm markdown --help
+
+# Generate CSS
+render-gfm themes --help
+
+
+

+ Examples of the + markdown command +

+
+
+
# Example - Render "README.md" and "test.md" Markdown files to the output folder "docs" in the current directory
+render-gfm markdown  -o ./docs README.md test.md
+
+# or another example (both relative and absolute paths are allowed)
+render-gfm markdown -o ../dist C:/Users/Owner/Desktop/Project/README.md
+
+
+

+ Examples of the + themes command +

+
+
+
# Example - Generate and write the CSS files to the output folder "css" in the current directory
+render-gfm themes -o ./css
+
+

Usage (Functions)

+
+

+ The CLI commands are just wrappers around some functions. + These functions have been written specifically for the CLI, + but are exported and can be used in your code directly. +

+
+
+
/**
+ * Render Markdown files (looks in the current working directory by default, if relative paths are specified) to the specified output directory.
+ * @param {string[]} files An array of the Markdown file paths to render. Can be absolute or relative paths.
+ * @param {string} outputDir The directory to write the rendered HTML to. If unspecified, the default is the folder "dist" in the current working directory.
+ */
+export async function markdown(files: string[], outputDir: string = './dist');
+
+/**
+ * Generate CSS files for each of GitHub's themes to the specified output directory.
+ * @param {string} outputDir The directory to write the CSS files to. If unspecified, the default is the folder "dist/css" in the current working directory.
+ */
+export async function themes(outputDir: string = './dist/css');
+
+

API

+

Install

+
+
# Install render-gfm to your JavaScript project.
+npm install render-gfm
+
+

Usage

+
+
import render, { generateCSS } from 'render-gfm';
+
+/**
+ * Generates and returns CSS for each requested theme in the `themes` array, as an object
+ * @param {string} outputDir The directory to write the CSS files to. If unspecified, the CSS will still be returned in an object, but not written to the filesystem.
+ * @param {Theme[]} themes An array of the themes to generate CSS for. Defaults to all themes.
+ * @returns {Promise<Record<string, string>>} An object containing the CSS for each theme.
+ */
+export async function generateCSS(outputDir: string, themes: Theme[] = [Theme.Auto, Theme.Light, Theme.Dark, Theme.DarkDimmed, Theme.DarkHighContrast, Theme.LightColorblind, Theme.DarkColorblind]): Promise<Record<string, string>>;
+
+/**
+ * Renders Markdown to HTML. If `outputFile` is specified, the HTML will be written to the filesystem.
+ * The resulting HTML rendered will be wrapped in a default template, unless `includeDefaultTemplate` is set to false.
+ * This is useful for when you want to use your own HTML template.
+ * @param {string} markdown The Markdown to render.
+ * @param {string} outputFile The file to write the rendered HTML to. If unspecified, the HTML will still be returned, but not written to the filesystem.
+ * @param {boolean} includeDefaultTemplate Whether or not to include the default HTML template. Default: true. If false, the rendered Markdown will not be wrapped in a template.
+ * @returns {Promise<string>} The rendered HTML.
+ */
+export default async function render(markdown: string, outputFile: string, includeDefaultTemplate: boolean = true): Promise<string>;
+
+

License

+

+ Copyright © 2022 Shaun Bharat. +

+

+ This project is licensed with the MIT + license. +

+
+ + + + diff --git a/docs/auto.css b/docs/css/auto.css similarity index 84% rename from docs/auto.css rename to docs/css/auto.css index a5bcef1..8e612cf 100644 --- a/docs/auto.css +++ b/docs/css/auto.css @@ -1,5 +1,7 @@ @media (prefers-color-scheme: dark) { - .markdown-body { + .markdown-body, + [data-theme="dark"] { + /*dark*/ color-scheme: dark; --color-prettylights-syntax-comment: #8b949e; --color-prettylights-syntax-constant: #79c0ff; @@ -31,27 +33,36 @@ --color-prettylights-syntax-brackethighlighter-angle: #8b949e; --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58; --color-prettylights-syntax-constant-other-reference-link: #a5d6ff; - --color-fg-default: #c9d1d9; - --color-fg-muted: #8b949e; + --color-fg-default: #e6edf3; + --color-fg-muted: #848d97; --color-fg-subtle: #6e7681; --color-canvas-default: #0d1117; --color-canvas-subtle: #161b22; --color-border-default: #30363d; --color-border-muted: #21262d; --color-neutral-muted: rgba(110,118,129,0.4); - --color-accent-fg: #58a6ff; + --color-accent-fg: #2f81f7; --color-accent-emphasis: #1f6feb; + --color-success-fg: #3fb950; + --color-success-emphasis: #238636; + --color-attention-fg: #d29922; + --color-attention-emphasis: #9e6a03; --color-attention-subtle: rgba(187,128,9,0.15); --color-danger-fg: #f85149; + --color-danger-emphasis: #da3633; + --color-done-fg: #a371f7; + --color-done-emphasis: #8957e5; } } @media (prefers-color-scheme: light) { - .markdown-body { + .markdown-body, + [data-theme="light"] { + /*light*/ color-scheme: light; - --color-prettylights-syntax-comment: #6e7781; + --color-prettylights-syntax-comment: #57606a; --color-prettylights-syntax-constant: #0550ae; - --color-prettylights-syntax-entity: #8250df; + --color-prettylights-syntax-entity: #6639ba; --color-prettylights-syntax-storage-modifier-import: #24292f; --color-prettylights-syntax-entity-tag: #116329; --color-prettylights-syntax-keyword: #cf222e; @@ -68,7 +79,7 @@ --color-prettylights-syntax-markup-italic: #24292f; --color-prettylights-syntax-markup-bold: #24292f; --color-prettylights-syntax-markup-deleted-text: #82071e; - --color-prettylights-syntax-markup-deleted-bg: #FFEBE9; + --color-prettylights-syntax-markup-deleted-bg: #ffebe9; --color-prettylights-syntax-markup-inserted-text: #116329; --color-prettylights-syntax-markup-inserted-bg: #dafbe1; --color-prettylights-syntax-markup-changed-text: #953800; @@ -79,8 +90,8 @@ --color-prettylights-syntax-brackethighlighter-angle: #57606a; --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f; --color-prettylights-syntax-constant-other-reference-link: #0a3069; - --color-fg-default: #24292f; - --color-fg-muted: #57606a; + --color-fg-default: #1F2328; + --color-fg-muted: #656d76; --color-fg-subtle: #6e7781; --color-canvas-default: #ffffff; --color-canvas-subtle: #f6f8fa; @@ -89,8 +100,15 @@ --color-neutral-muted: rgba(175,184,193,0.2); --color-accent-fg: #0969da; --color-accent-emphasis: #0969da; + --color-success-fg: #1a7f37; + --color-success-emphasis: #1f883d; + --color-attention-fg: #9a6700; + --color-attention-emphasis: #9a6700; --color-attention-subtle: #fff8c5; - --color-danger-fg: #cf222e; + --color-danger-fg: #d1242f; + --color-danger-emphasis: #cf222e; + --color-done-fg: #8250df; + --color-done-emphasis: #8250df; } } @@ -100,7 +118,7 @@ margin: 0; color: var(--color-fg-default); background-color: var(--color-canvas-default); - font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; + font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; font-size: 16px; line-height: 1.5; word-wrap: break-word; @@ -149,12 +167,13 @@ .markdown-body abbr[title] { border-bottom: none; + -webkit-text-decoration: underline dotted; text-decoration: underline dotted; } .markdown-body b, .markdown-body strong { - font-weight: 600; + font-weight: var(--base-text-weight-semibold, 600); } .markdown-body dfn { @@ -163,7 +182,7 @@ .markdown-body h1 { margin: .67em 0; - font-weight: 600; + font-weight: var(--base-text-weight-semibold, 600); padding-bottom: .3em; font-size: 2em; border-bottom: 1px solid var(--color-border-muted); @@ -171,7 +190,7 @@ .markdown-body mark { background-color: var(--color-attention-subtle); - color: var(--color-text-primary); + color: var(--color-fg-default); } .markdown-body small { @@ -238,6 +257,7 @@ .markdown-body [type=reset], .markdown-body [type=submit] { -webkit-appearance: button; + appearance: button; } .markdown-body [type=checkbox], @@ -254,6 +274,7 @@ .markdown-body [type=search]::-webkit-search-cancel-button, .markdown-body [type=search]::-webkit-search-decoration { -webkit-appearance: none; + appearance: none; } .markdown-body ::-webkit-input-placeholder { @@ -263,6 +284,7 @@ .markdown-body ::-webkit-file-upload-button { -webkit-appearance: button; + appearance: button; font: inherit; } @@ -270,6 +292,11 @@ text-decoration: underline; } +.markdown-body ::placeholder { + color: var(--color-fg-subtle); + opacity: 1; +} + .markdown-body hr::before { display: table; content: ""; @@ -303,14 +330,6 @@ display: none !important; } -.markdown-body a, -.markdown-body [role=button], -.markdown-body input[type=radio], -.markdown-body input[type=checkbox] { - transition: 80ms cubic-bezier(0.33, 1, 0.68, 1); - transition-property: color,background-color,box-shadow,border-color; -} - .markdown-body a:focus, .markdown-body [role=button]:focus, .markdown-body input[type=radio]:focus, @@ -367,34 +386,34 @@ .markdown-body h6 { margin-top: 24px; margin-bottom: 16px; - font-weight: 600; + font-weight: var(--base-text-weight-semibold, 600); line-height: 1.25; } .markdown-body h2 { - font-weight: 600; + font-weight: var(--base-text-weight-semibold, 600); padding-bottom: .3em; font-size: 1.5em; border-bottom: 1px solid var(--color-border-muted); } .markdown-body h3 { - font-weight: 600; + font-weight: var(--base-text-weight-semibold, 600); font-size: 1.25em; } .markdown-body h4 { - font-weight: 600; + font-weight: var(--base-text-weight-semibold, 600); font-size: 1em; } .markdown-body h5 { - font-weight: 600; + font-weight: var(--base-text-weight-semibold, 600); font-size: .875em; } .markdown-body h6 { - font-weight: 600; + font-weight: var(--base-text-weight-semibold, 600); font-size: .85em; color: var(--color-fg-muted); } @@ -456,11 +475,6 @@ fill: currentColor; } -.markdown-body ::placeholder { - color: var(--color-fg-subtle); - opacity: 1; -} - .markdown-body input::-webkit-outer-spin-button, .markdown-body input::-webkit-inner-spin-button { margin: 0; @@ -468,6 +482,10 @@ appearance: none; } +.markdown-body .mr-2 { + margin-right: var(--base-size-8, 8px) !important; +} + .markdown-body::before { display: table; content: ""; @@ -602,18 +620,26 @@ list-style-type: none; } -.markdown-body ol[type="1"] { - list-style-type: decimal; +.markdown-body ol[type="a s"] { + list-style-type: lower-alpha; } -.markdown-body ol[type=a] { - list-style-type: lower-alpha; +.markdown-body ol[type="A s"] { + list-style-type: upper-alpha; } -.markdown-body ol[type=i] { +.markdown-body ol[type="i s"] { list-style-type: lower-roman; } +.markdown-body ol[type="I s"] { + list-style-type: upper-roman; +} + +.markdown-body ol[type="1"] { + list-style-type: decimal; +} + .markdown-body div>ol:not([type]) { list-style-type: decimal; } @@ -643,7 +669,7 @@ margin-top: 16px; font-size: 1em; font-style: italic; - font-weight: 600; + font-weight: var(--base-text-weight-semibold, 600); } .markdown-body dl dd { @@ -652,7 +678,7 @@ } .markdown-body table th { - font-weight: 600; + font-weight: var(--base-text-weight-semibold, 600); } .markdown-body table th, @@ -661,6 +687,10 @@ border: 1px solid var(--color-border-default); } +.markdown-body table td>:last-child { + margin-bottom: 0; +} + .markdown-body table tr { background-color: var(--color-canvas-default); border-top: 1px solid var(--color-border-muted); @@ -781,6 +811,7 @@ padding: .2em .4em; margin: 0; font-size: 85%; + white-space: break-spaces; background-color: var(--color-neutral-muted); border-radius: 6px; } @@ -826,6 +857,7 @@ overflow: auto; font-size: 85%; line-height: 1.45; + color: var(--color-fg-default); background-color: var(--color-canvas-subtle); border-radius: 6px; } @@ -865,7 +897,7 @@ } .markdown-body .csv-data th { - font-weight: 600; + font-weight: var(--base-text-weight-semibold, 600); background: var(--color-canvas-subtle); border-top: 0; } @@ -888,6 +920,12 @@ padding-left: 16px; } +.markdown-body .footnotes ol ul { + display: inline-block; + padding-left: 16px; + margin-top: 16px; +} + .markdown-body .footnotes li { position: relative; } @@ -1032,21 +1070,13 @@ color: var(--color-prettylights-syntax-constant-other-reference-link); } -.markdown-body [data-catalyst] { - display: block; -} - -.markdown-body [data-catalyst-inline] { - display: inline; -} - .markdown-body g-emoji { display: inline-block; min-width: 1ch; font-family: "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; font-size: 1em; font-style: normal !important; - font-weight: 400; + font-weight: var(--base-text-weight-normal, 400); line-height: 1; vertical-align: -0.075em; } @@ -1056,17 +1086,12 @@ height: 1em; } -.markdown-body [data-a11y-animated-images=system] [data-animated-image], -.markdown-body [data-a11y-animated-images=disabled] [data-animated-image] { - display: none; -} - .markdown-body .task-list-item { list-style-type: none; } .markdown-body .task-list-item label { - font-weight: 400; + font-weight: var(--base-text-weight-normal, 400); } .markdown-body .task-list-item.enabled label { @@ -1082,7 +1107,7 @@ } .markdown-body .task-list-item-checkbox { - margin: 0 .2em .25em -1.6em; + margin: 0 .2em .25em -1.4em; vertical-align: middle; } @@ -1090,10 +1115,81 @@ margin: 0 -1.6em .25em .2em; } +.markdown-body .contains-task-list { + position: relative; +} + +.markdown-body .contains-task-list:hover .task-list-item-convert-container, +.markdown-body .contains-task-list:focus-within .task-list-item-convert-container { + display: block; + width: auto; + height: 24px; + overflow: visible; + clip: auto; +} + .markdown-body ::-webkit-calendar-picker-indicator { filter: invert(50%); } -.markdown-body details>summary::-webkit-details-marker { - display: none; +.markdown-body .markdown-alert { + padding: var(--base-size-8) var(--base-size-16); + margin-bottom: 16px; + color: inherit; + border-left: .25em solid var(--color-border-default); +} + +.markdown-body .markdown-alert>:first-child { + margin-top: 0; +} + +.markdown-body .markdown-alert>:last-child { + margin-bottom: 0; +} + +.markdown-body .markdown-alert .markdown-alert-title { + display: flex; + font-weight: var(--base-text-weight-medium, 500); + align-items: center; + line-height: 1; +} + +.markdown-body .markdown-alert.markdown-alert-note { + border-left-color: var(--color-accent-emphasis); +} + +.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title { + color: var(--color-accent-fg); +} + +.markdown-body .markdown-alert.markdown-alert-important { + border-left-color: var(--color-done-emphasis); +} + +.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title { + color: var(--color-done-fg); +} + +.markdown-body .markdown-alert.markdown-alert-warning { + border-left-color: var(--color-attention-emphasis); +} + +.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title { + color: var(--color-attention-fg); +} + +.markdown-body .markdown-alert.markdown-alert-tip { + border-left-color: var(--color-success-emphasis); +} + +.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title { + color: var(--color-success-fg); +} + +.markdown-body .markdown-alert.markdown-alert-caution { + border-left-color: var(--color-danger-emphasis); +} + +.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title { + color: var(--color-danger-fg); } \ No newline at end of file diff --git a/docs/dark.css b/docs/css/dark.css similarity index 87% rename from docs/dark.css rename to docs/css/dark.css index 67e5fef..6e39441 100644 --- a/docs/dark.css +++ b/docs/css/dark.css @@ -1,11 +1,13 @@ +/*dark*/ + .markdown-body { color-scheme: dark; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; margin: 0; - color: #c9d1d9; + color: #e6edf3; background-color: #0d1117; - font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; + font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; font-size: 16px; line-height: 1.5; word-wrap: break-word; @@ -48,12 +50,13 @@ .markdown-body a { background-color: transparent; - color: #58a6ff; + color: #2f81f7; text-decoration: none; } .markdown-body abbr[title] { border-bottom: none; + -webkit-text-decoration: underline dotted; text-decoration: underline dotted; } @@ -76,7 +79,7 @@ .markdown-body mark { background-color: rgba(187,128,9,0.15); - color: #c9d1d9; + color: #e6edf3; } .markdown-body small { @@ -143,6 +146,7 @@ .markdown-body [type=reset], .markdown-body [type=submit] { -webkit-appearance: button; + appearance: button; } .markdown-body [type=checkbox], @@ -159,6 +163,7 @@ .markdown-body [type=search]::-webkit-search-cancel-button, .markdown-body [type=search]::-webkit-search-decoration { -webkit-appearance: none; + appearance: none; } .markdown-body ::-webkit-input-placeholder { @@ -168,6 +173,7 @@ .markdown-body ::-webkit-file-upload-button { -webkit-appearance: button; + appearance: button; font: inherit; } @@ -175,6 +181,11 @@ text-decoration: underline; } +.markdown-body ::placeholder { + color: #6e7681; + opacity: 1; +} + .markdown-body hr::before { display: table; content: ""; @@ -208,19 +219,11 @@ display: none !important; } -.markdown-body a, -.markdown-body [role=button], -.markdown-body input[type=radio], -.markdown-body input[type=checkbox] { - transition: 80ms cubic-bezier(0.33, 1, 0.68, 1); - transition-property: color,background-color,box-shadow,border-color; -} - .markdown-body a:focus, .markdown-body [role=button]:focus, .markdown-body input[type=radio]:focus, .markdown-body input[type=checkbox]:focus { - outline: 2px solid #58a6ff; + outline: 2px solid #2f81f7; outline-offset: -2px; box-shadow: none; } @@ -236,7 +239,7 @@ .markdown-body [role=button]:focus-visible, .markdown-body input[type=radio]:focus-visible, .markdown-body input[type=checkbox]:focus-visible { - outline: 2px solid #58a6ff; + outline: 2px solid #2f81f7; outline-offset: -2px; box-shadow: none; } @@ -255,7 +258,7 @@ padding: 3px 5px; font: 11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; line-height: 10px; - color: #c9d1d9; + color: #e6edf3; vertical-align: middle; background-color: #161b22; border: solid 1px rgba(110,118,129,0.4); @@ -301,7 +304,7 @@ .markdown-body h6 { font-weight: 600; font-size: .85em; - color: #8b949e; + color: #848d97; } .markdown-body p { @@ -312,7 +315,7 @@ .markdown-body blockquote { margin: 0; padding: 0 1em; - color: #8b949e; + color: #848d97; border-left: .25em solid #30363d; } @@ -361,11 +364,6 @@ fill: currentColor; } -.markdown-body ::placeholder { - color: #6e7681; - opacity: 1; -} - .markdown-body input::-webkit-outer-spin-button, .markdown-body input::-webkit-inner-spin-button { margin: 0; @@ -373,6 +371,10 @@ appearance: none; } +.markdown-body .mr-2 { + margin-right: 8px !important; +} + .markdown-body::before { display: table; content: ""; @@ -438,7 +440,7 @@ .markdown-body h4 .octicon-link, .markdown-body h5 .octicon-link, .markdown-body h6 .octicon-link { - color: #c9d1d9; + color: #e6edf3; vertical-align: middle; visibility: hidden; } @@ -507,18 +509,26 @@ list-style-type: none; } -.markdown-body ol[type="1"] { - list-style-type: decimal; +.markdown-body ol[type="a s"] { + list-style-type: lower-alpha; } -.markdown-body ol[type=a] { - list-style-type: lower-alpha; +.markdown-body ol[type="A s"] { + list-style-type: upper-alpha; } -.markdown-body ol[type=i] { +.markdown-body ol[type="i s"] { list-style-type: lower-roman; } +.markdown-body ol[type="I s"] { + list-style-type: upper-roman; +} + +.markdown-body ol[type="1"] { + list-style-type: decimal; +} + .markdown-body div>ol:not([type]) { list-style-type: decimal; } @@ -566,6 +576,10 @@ border: 1px solid #30363d; } +.markdown-body table td>:last-child { + margin-bottom: 0; +} + .markdown-body table tr { background-color: #0d1117; border-top: 1px solid #21262d; @@ -617,7 +631,7 @@ display: block; padding: 5px 0 0; clear: both; - color: #c9d1d9; + color: #e6edf3; } .markdown-body span.align-center { @@ -686,6 +700,7 @@ padding: .2em .4em; margin: 0; font-size: 85%; + white-space: break-spaces; background-color: rgba(110,118,129,0.4); border-radius: 6px; } @@ -731,6 +746,7 @@ overflow: auto; font-size: 85%; line-height: 1.45; + color: #e6edf3; background-color: #161b22; border-radius: 6px; } @@ -785,7 +801,7 @@ .markdown-body .footnotes { font-size: 12px; - color: #8b949e; + color: #848d97; border-top: 1px solid #30363d; } @@ -793,6 +809,12 @@ padding-left: 16px; } +.markdown-body .footnotes ol ul { + display: inline-block; + padding-left: 16px; + margin-top: 16px; +} + .markdown-body .footnotes li { position: relative; } @@ -810,7 +832,7 @@ } .markdown-body .footnotes li:target { - color: #c9d1d9; + color: #e6edf3; } .markdown-body .footnotes .data-footnote-backref g-emoji { @@ -937,14 +959,6 @@ color: #a5d6ff; } -.markdown-body [data-catalyst] { - display: block; -} - -.markdown-body [data-catalyst-inline] { - display: inline; -} - .markdown-body g-emoji { display: inline-block; min-width: 1ch; @@ -961,11 +975,6 @@ height: 1em; } -.markdown-body [data-a11y-animated-images=system] [data-animated-image], -.markdown-body [data-a11y-animated-images=disabled] [data-animated-image] { - display: none; -} - .markdown-body .task-list-item { list-style-type: none; } @@ -987,7 +996,7 @@ } .markdown-body .task-list-item-checkbox { - margin: 0 .2em .25em -1.6em; + margin: 0 .2em .25em -1.4em; vertical-align: middle; } @@ -995,10 +1004,81 @@ margin: 0 -1.6em .25em .2em; } +.markdown-body .contains-task-list { + position: relative; +} + +.markdown-body .contains-task-list:hover .task-list-item-convert-container, +.markdown-body .contains-task-list:focus-within .task-list-item-convert-container { + display: block; + width: auto; + height: 24px; + overflow: visible; + clip: auto; +} + .markdown-body ::-webkit-calendar-picker-indicator { filter: invert(50%); } -.markdown-body details>summary::-webkit-details-marker { - display: none; +.markdown-body .markdown-alert { + padding: 8px 16px; + margin-bottom: 16px; + color: inherit; + border-left: .25em solid #30363d; +} + +.markdown-body .markdown-alert>:first-child { + margin-top: 0; +} + +.markdown-body .markdown-alert>:last-child { + margin-bottom: 0; +} + +.markdown-body .markdown-alert .markdown-alert-title { + display: flex; + font-weight: 500; + align-items: center; + line-height: 1; +} + +.markdown-body .markdown-alert.markdown-alert-note { + border-left-color: #1f6feb; +} + +.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title { + color: #2f81f7; +} + +.markdown-body .markdown-alert.markdown-alert-important { + border-left-color: #8957e5; +} + +.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title { + color: #a371f7; +} + +.markdown-body .markdown-alert.markdown-alert-warning { + border-left-color: #9e6a03; +} + +.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title { + color: #d29922; +} + +.markdown-body .markdown-alert.markdown-alert-tip { + border-left-color: #238636; +} + +.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title { + color: #3fb950; +} + +.markdown-body .markdown-alert.markdown-alert-caution { + border-left-color: #da3633; +} + +.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title { + color: #f85149; } \ No newline at end of file diff --git a/docs/dark_high_contrast.css b/docs/css/dark_colorblind.css similarity index 65% rename from docs/dark_high_contrast.css rename to docs/css/dark_colorblind.css index 8fe3fb1..f76cf5d 100644 --- a/docs/dark_high_contrast.css +++ b/docs/css/dark_colorblind.css @@ -1,106 +1,13 @@ -@media (prefers-color-scheme: dark) { - .markdown-body { - color-scheme: dark; - --color-prettylights-syntax-comment: #8b949e; - --color-prettylights-syntax-constant: #79c0ff; - --color-prettylights-syntax-entity: #d2a8ff; - --color-prettylights-syntax-storage-modifier-import: #c9d1d9; - --color-prettylights-syntax-entity-tag: #7ee787; - --color-prettylights-syntax-keyword: #ff7b72; - --color-prettylights-syntax-string: #a5d6ff; - --color-prettylights-syntax-variable: #ffa657; - --color-prettylights-syntax-brackethighlighter-unmatched: #f85149; - --color-prettylights-syntax-invalid-illegal-text: #f0f6fc; - --color-prettylights-syntax-invalid-illegal-bg: #8e1519; - --color-prettylights-syntax-carriage-return-text: #f0f6fc; - --color-prettylights-syntax-carriage-return-bg: #b62324; - --color-prettylights-syntax-string-regexp: #7ee787; - --color-prettylights-syntax-markup-list: #f2cc60; - --color-prettylights-syntax-markup-heading: #1f6feb; - --color-prettylights-syntax-markup-italic: #c9d1d9; - --color-prettylights-syntax-markup-bold: #c9d1d9; - --color-prettylights-syntax-markup-deleted-text: #ffdcd7; - --color-prettylights-syntax-markup-deleted-bg: #67060c; - --color-prettylights-syntax-markup-inserted-text: #aff5b4; - --color-prettylights-syntax-markup-inserted-bg: #033a16; - --color-prettylights-syntax-markup-changed-text: #ffdfb6; - --color-prettylights-syntax-markup-changed-bg: #5a1e02; - --color-prettylights-syntax-markup-ignored-text: #c9d1d9; - --color-prettylights-syntax-markup-ignored-bg: #1158c7; - --color-prettylights-syntax-meta-diff-range: #d2a8ff; - --color-prettylights-syntax-brackethighlighter-angle: #8b949e; - --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58; - --color-prettylights-syntax-constant-other-reference-link: #a5d6ff; - --color-fg-default: #c9d1d9; - --color-fg-muted: #8b949e; - --color-fg-subtle: #6e7681; - --color-canvas-default: #0d1117; - --color-canvas-subtle: #161b22; - --color-border-default: #30363d; - --color-border-muted: #21262d; - --color-neutral-muted: rgba(110,118,129,0.4); - --color-accent-fg: #58a6ff; - --color-accent-emphasis: #1f6feb; - --color-attention-subtle: rgba(187,128,9,0.15); - --color-danger-fg: #f85149; - } -} - -@media (prefers-color-scheme: light) { - .markdown-body { - color-scheme: dark; - --color-prettylights-syntax-comment: #bdc4cc; - --color-prettylights-syntax-constant: #91cbff; - --color-prettylights-syntax-entity: #dbb7ff; - --color-prettylights-syntax-storage-modifier-import: #f0f3f6; - --color-prettylights-syntax-entity-tag: #72f088; - --color-prettylights-syntax-keyword: #ff9492; - --color-prettylights-syntax-string: #addcff; - --color-prettylights-syntax-variable: #ffb757; - --color-prettylights-syntax-brackethighlighter-unmatched: #ff6a69; - --color-prettylights-syntax-invalid-illegal-text: #ffffff; - --color-prettylights-syntax-invalid-illegal-bg: #e82a2f; - --color-prettylights-syntax-carriage-return-text: #ffffff; - --color-prettylights-syntax-carriage-return-bg: #ff4445; - --color-prettylights-syntax-string-regexp: #72f088; - --color-prettylights-syntax-markup-list: #fbd669; - --color-prettylights-syntax-markup-heading: #409eff; - --color-prettylights-syntax-markup-italic: #f0f3f6; - --color-prettylights-syntax-markup-bold: #f0f3f6; - --color-prettylights-syntax-markup-deleted-text: #ffdedb; - --color-prettylights-syntax-markup-deleted-bg: #cc1421; - --color-prettylights-syntax-markup-inserted-text: #acf7b6; - --color-prettylights-syntax-markup-inserted-bg: #007728; - --color-prettylights-syntax-markup-changed-text: #ffe1b4; - --color-prettylights-syntax-markup-changed-bg: #a74c00; - --color-prettylights-syntax-markup-ignored-text: #f0f3f6; - --color-prettylights-syntax-markup-ignored-bg: #318bf8; - --color-prettylights-syntax-meta-diff-range: #dbb7ff; - --color-prettylights-syntax-brackethighlighter-angle: #bdc4cc; - --color-prettylights-syntax-sublimelinter-gutter-mark: #7a828e; - --color-prettylights-syntax-constant-other-reference-link: #addcff; - --color-fg-default: #f0f3f6; - --color-fg-muted: #f0f3f6; - --color-fg-subtle: #9ea7b3; - --color-canvas-default: #0a0c10; - --color-canvas-subtle: #272b33; - --color-border-default: #7a828e; - --color-border-muted: #7a828e; - --color-neutral-muted: rgba(158,167,179,0.4); - --color-accent-fg: #71b7ff; - --color-accent-emphasis: #409eff; - --color-attention-subtle: rgba(224,155,19,0.15); - --color-danger-fg: #ff6a69; - } -} +/*dark_colorblind*/ .markdown-body { + color-scheme: dark; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; margin: 0; - color: var(--color-fg-default); - background-color: var(--color-canvas-default); - font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; + color: #c9d1d9; + background-color: #0d1117; + font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; font-size: 16px; line-height: 1.5; word-wrap: break-word; @@ -143,12 +50,13 @@ .markdown-body a { background-color: transparent; - color: var(--color-accent-fg); + color: #58a6ff; text-decoration: none; } .markdown-body abbr[title] { border-bottom: none; + -webkit-text-decoration: underline dotted; text-decoration: underline dotted; } @@ -166,12 +74,12 @@ font-weight: 600; padding-bottom: .3em; font-size: 2em; - border-bottom: 1px solid var(--color-border-muted); + border-bottom: 1px solid #21262d; } .markdown-body mark { - background-color: var(--color-attention-subtle); - color: var(--color-text-primary); + background-color: rgba(187,128,9,0.15); + color: #c9d1d9; } .markdown-body small { @@ -198,7 +106,7 @@ border-style: none; max-width: 100%; box-sizing: content-box; - background-color: var(--color-canvas-default); + background-color: #0d1117; } .markdown-body code, @@ -217,11 +125,11 @@ box-sizing: content-box; overflow: hidden; background: transparent; - border-bottom: 1px solid var(--color-border-muted); + border-bottom: 1px solid #21262d; height: .25em; padding: 0; margin: 24px 0; - background-color: var(--color-border-default); + background-color: #30363d; border: 0; } @@ -238,6 +146,7 @@ .markdown-body [type=reset], .markdown-body [type=submit] { -webkit-appearance: button; + appearance: button; } .markdown-body [type=checkbox], @@ -254,6 +163,7 @@ .markdown-body [type=search]::-webkit-search-cancel-button, .markdown-body [type=search]::-webkit-search-decoration { -webkit-appearance: none; + appearance: none; } .markdown-body ::-webkit-input-placeholder { @@ -263,6 +173,7 @@ .markdown-body ::-webkit-file-upload-button { -webkit-appearance: button; + appearance: button; font: inherit; } @@ -270,6 +181,11 @@ text-decoration: underline; } +.markdown-body ::placeholder { + color: #6e7681; + opacity: 1; +} + .markdown-body hr::before { display: table; content: ""; @@ -303,19 +219,11 @@ display: none !important; } -.markdown-body a, -.markdown-body [role=button], -.markdown-body input[type=radio], -.markdown-body input[type=checkbox] { - transition: 80ms cubic-bezier(0.33, 1, 0.68, 1); - transition-property: color,background-color,box-shadow,border-color; -} - .markdown-body a:focus, .markdown-body [role=button]:focus, .markdown-body input[type=radio]:focus, .markdown-body input[type=checkbox]:focus { - outline: 2px solid var(--color-accent-fg); + outline: 2px solid #58a6ff; outline-offset: -2px; box-shadow: none; } @@ -331,7 +239,7 @@ .markdown-body [role=button]:focus-visible, .markdown-body input[type=radio]:focus-visible, .markdown-body input[type=checkbox]:focus-visible { - outline: 2px solid var(--color-accent-fg); + outline: 2px solid #58a6ff; outline-offset: -2px; box-shadow: none; } @@ -350,13 +258,13 @@ padding: 3px 5px; font: 11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; line-height: 10px; - color: var(--color-fg-default); + color: #c9d1d9; vertical-align: middle; - background-color: var(--color-canvas-subtle); - border: solid 1px var(--color-neutral-muted); - border-bottom-color: var(--color-neutral-muted); + background-color: #161b22; + border: solid 1px rgba(110,118,129,0.4); + border-bottom-color: rgba(110,118,129,0.4); border-radius: 6px; - box-shadow: inset 0 -1px 0 var(--color-neutral-muted); + box-shadow: inset 0 -1px 0 rgba(110,118,129,0.4); } .markdown-body h1, @@ -375,7 +283,7 @@ font-weight: 600; padding-bottom: .3em; font-size: 1.5em; - border-bottom: 1px solid var(--color-border-muted); + border-bottom: 1px solid #21262d; } .markdown-body h3 { @@ -396,7 +304,7 @@ .markdown-body h6 { font-weight: 600; font-size: .85em; - color: var(--color-fg-muted); + color: #8b949e; } .markdown-body p { @@ -407,8 +315,8 @@ .markdown-body blockquote { margin: 0; padding: 0 1em; - color: var(--color-fg-muted); - border-left: .25em solid var(--color-border-default); + color: #8b949e; + border-left: .25em solid #30363d; } .markdown-body ul, @@ -456,11 +364,6 @@ fill: currentColor; } -.markdown-body ::placeholder { - color: var(--color-fg-subtle); - opacity: 1; -} - .markdown-body input::-webkit-outer-spin-button, .markdown-body input::-webkit-inner-spin-button { margin: 0; @@ -468,6 +371,10 @@ appearance: none; } +.markdown-body .mr-2 { + margin-right: 8px !important; +} + .markdown-body::before { display: table; content: ""; @@ -493,7 +400,7 @@ } .markdown-body .absent { - color: var(--color-danger-fg); + color: #d47616; } .markdown-body .anchor { @@ -533,7 +440,7 @@ .markdown-body h4 .octicon-link, .markdown-body h5 .octicon-link, .markdown-body h6 .octicon-link { - color: var(--color-fg-default); + color: #c9d1d9; vertical-align: middle; visibility: hidden; } @@ -602,18 +509,26 @@ list-style-type: none; } -.markdown-body ol[type="1"] { - list-style-type: decimal; +.markdown-body ol[type="a s"] { + list-style-type: lower-alpha; } -.markdown-body ol[type=a] { - list-style-type: lower-alpha; +.markdown-body ol[type="A s"] { + list-style-type: upper-alpha; } -.markdown-body ol[type=i] { +.markdown-body ol[type="i s"] { list-style-type: lower-roman; } +.markdown-body ol[type="I s"] { + list-style-type: upper-roman; +} + +.markdown-body ol[type="1"] { + list-style-type: decimal; +} + .markdown-body div>ol:not([type]) { list-style-type: decimal; } @@ -658,16 +573,20 @@ .markdown-body table th, .markdown-body table td { padding: 6px 13px; - border: 1px solid var(--color-border-default); + border: 1px solid #30363d; +} + +.markdown-body table td>:last-child { + margin-bottom: 0; } .markdown-body table tr { - background-color: var(--color-canvas-default); - border-top: 1px solid var(--color-border-muted); + background-color: #0d1117; + border-top: 1px solid #21262d; } .markdown-body table tr:nth-child(2n) { - background-color: var(--color-canvas-subtle); + background-color: #161b22; } .markdown-body table img { @@ -700,7 +619,7 @@ padding: 7px; margin: 13px 0 0; overflow: hidden; - border: 1px solid var(--color-border-default); + border: 1px solid #30363d; } .markdown-body span.frame span img { @@ -712,7 +631,7 @@ display: block; padding: 5px 0 0; clear: both; - color: var(--color-fg-default); + color: #c9d1d9; } .markdown-body span.align-center { @@ -781,7 +700,8 @@ padding: .2em .4em; margin: 0; font-size: 85%; - background-color: var(--color-neutral-muted); + white-space: break-spaces; + background-color: rgba(110,118,129,0.4); border-radius: 6px; } @@ -826,7 +746,8 @@ overflow: auto; font-size: 85%; line-height: 1.45; - background-color: var(--color-canvas-subtle); + color: #c9d1d9; + background-color: #161b22; border-radius: 6px; } @@ -856,7 +777,7 @@ .markdown-body .csv-data .blob-num { padding: 10px 8px 9px; text-align: right; - background: var(--color-canvas-default); + background: #0d1117; border: 0; } @@ -866,7 +787,7 @@ .markdown-body .csv-data th { font-weight: 600; - background: var(--color-canvas-subtle); + background: #161b22; border-top: 0; } @@ -880,14 +801,20 @@ .markdown-body .footnotes { font-size: 12px; - color: var(--color-fg-muted); - border-top: 1px solid var(--color-border-default); + color: #8b949e; + border-top: 1px solid #30363d; } .markdown-body .footnotes ol { padding-left: 16px; } +.markdown-body .footnotes ol ul { + display: inline-block; + padding-left: 16px; + margin-top: 16px; +} + .markdown-body .footnotes li { position: relative; } @@ -900,12 +827,12 @@ left: -24px; pointer-events: none; content: ""; - border: 2px solid var(--color-accent-emphasis); + border: 2px solid #1f6feb; border-radius: 6px; } .markdown-body .footnotes li:target { - color: var(--color-fg-default); + color: #c9d1d9; } .markdown-body .footnotes .data-footnote-backref g-emoji { @@ -913,30 +840,30 @@ } .markdown-body .pl-c { - color: var(--color-prettylights-syntax-comment); + color: #8b949e; } .markdown-body .pl-c1, .markdown-body .pl-s .pl-v { - color: var(--color-prettylights-syntax-constant); + color: #79c0ff; } .markdown-body .pl-e, .markdown-body .pl-en { - color: var(--color-prettylights-syntax-entity); + color: #d2a8ff; } .markdown-body .pl-smi, .markdown-body .pl-s .pl-s1 { - color: var(--color-prettylights-syntax-storage-modifier-import); + color: #c9d1d9; } .markdown-body .pl-ent { - color: var(--color-prettylights-syntax-entity-tag); + color: #a5d6ff; } .markdown-body .pl-k { - color: var(--color-prettylights-syntax-keyword); + color: #ec8e2c; } .markdown-body .pl-s, @@ -946,98 +873,90 @@ .markdown-body .pl-sr .pl-cce, .markdown-body .pl-sr .pl-sre, .markdown-body .pl-sr .pl-sra { - color: var(--color-prettylights-syntax-string); + color: #a5d6ff; } .markdown-body .pl-v, .markdown-body .pl-smw { - color: var(--color-prettylights-syntax-variable); + color: #fdac54; } .markdown-body .pl-bu { - color: var(--color-prettylights-syntax-brackethighlighter-unmatched); + color: #d47616; } .markdown-body .pl-ii { - color: var(--color-prettylights-syntax-invalid-illegal-text); - background-color: var(--color-prettylights-syntax-invalid-illegal-bg); + color: #f0f6fc; + background-color: #6c3906; } .markdown-body .pl-c2 { - color: var(--color-prettylights-syntax-carriage-return-text); - background-color: var(--color-prettylights-syntax-carriage-return-bg); + color: #f0f6fc; + background-color: #914d04; } .markdown-body .pl-sr .pl-cce { font-weight: bold; - color: var(--color-prettylights-syntax-string-regexp); + color: #a5d6ff; } .markdown-body .pl-ml { - color: var(--color-prettylights-syntax-markup-list); + color: #f2cc60; } .markdown-body .pl-mh, .markdown-body .pl-mh .pl-en, .markdown-body .pl-ms { font-weight: bold; - color: var(--color-prettylights-syntax-markup-heading); + color: #1f6feb; } .markdown-body .pl-mi { font-style: italic; - color: var(--color-prettylights-syntax-markup-italic); + color: #c9d1d9; } .markdown-body .pl-mb { font-weight: bold; - color: var(--color-prettylights-syntax-markup-bold); + color: #c9d1d9; } .markdown-body .pl-md { - color: var(--color-prettylights-syntax-markup-deleted-text); - background-color: var(--color-prettylights-syntax-markup-deleted-bg); + color: #ffe2bb; + background-color: #4e2906; } .markdown-body .pl-mi1 { - color: var(--color-prettylights-syntax-markup-inserted-text); - background-color: var(--color-prettylights-syntax-markup-inserted-bg); + color: #cae8ff; + background-color: #0c2d6b; } .markdown-body .pl-mc { - color: var(--color-prettylights-syntax-markup-changed-text); - background-color: var(--color-prettylights-syntax-markup-changed-bg); + color: #ffe2bb; + background-color: #4e2906; } .markdown-body .pl-mi2 { - color: var(--color-prettylights-syntax-markup-ignored-text); - background-color: var(--color-prettylights-syntax-markup-ignored-bg); + color: #c9d1d9; + background-color: #1158c7; } .markdown-body .pl-mdr { font-weight: bold; - color: var(--color-prettylights-syntax-meta-diff-range); + color: #d2a8ff; } .markdown-body .pl-ba { - color: var(--color-prettylights-syntax-brackethighlighter-angle); + color: #8b949e; } .markdown-body .pl-sg { - color: var(--color-prettylights-syntax-sublimelinter-gutter-mark); + color: #484f58; } .markdown-body .pl-corl { text-decoration: underline; - color: var(--color-prettylights-syntax-constant-other-reference-link); -} - -.markdown-body [data-catalyst] { - display: block; -} - -.markdown-body [data-catalyst-inline] { - display: inline; + color: #a5d6ff; } .markdown-body g-emoji { @@ -1056,11 +975,6 @@ height: 1em; } -.markdown-body [data-a11y-animated-images=system] [data-animated-image], -.markdown-body [data-a11y-animated-images=disabled] [data-animated-image] { - display: none; -} - .markdown-body .task-list-item { list-style-type: none; } @@ -1082,7 +996,7 @@ } .markdown-body .task-list-item-checkbox { - margin: 0 .2em .25em -1.6em; + margin: 0 .2em .25em -1.4em; vertical-align: middle; } @@ -1090,10 +1004,81 @@ margin: 0 -1.6em .25em .2em; } +.markdown-body .contains-task-list { + position: relative; +} + +.markdown-body .contains-task-list:hover .task-list-item-convert-container, +.markdown-body .contains-task-list:focus-within .task-list-item-convert-container { + display: block; + width: auto; + height: 24px; + overflow: visible; + clip: auto; +} + .markdown-body ::-webkit-calendar-picker-indicator { filter: invert(50%); } -.markdown-body details>summary::-webkit-details-marker { - display: none; +.markdown-body .markdown-alert { + padding: 8px 16px; + margin-bottom: 16px; + color: inherit; + border-left: .25em solid #30363d; +} + +.markdown-body .markdown-alert>:first-child { + margin-top: 0; +} + +.markdown-body .markdown-alert>:last-child { + margin-bottom: 0; +} + +.markdown-body .markdown-alert .markdown-alert-title { + display: flex; + font-weight: 500; + align-items: center; + line-height: 1; +} + +.markdown-body .markdown-alert.markdown-alert-note { + border-left-color: #1f6feb; +} + +.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title { + color: #58a6ff; +} + +.markdown-body .markdown-alert.markdown-alert-important { + border-left-color: #8957e5; +} + +.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title { + color: #a371f7; +} + +.markdown-body .markdown-alert.markdown-alert-warning { + border-left-color: #9e6a03; +} + +.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title { + color: #d29922; +} + +.markdown-body .markdown-alert.markdown-alert-tip { + border-left-color: #1f6feb; +} + +.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title { + color: #58a6ff; +} + +.markdown-body .markdown-alert.markdown-alert-caution { + border-left-color: #b76100; +} + +.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title { + color: #d47616; } \ No newline at end of file diff --git a/docs/dark_dimmed.css b/docs/css/dark_dimmed.css similarity index 65% rename from docs/dark_dimmed.css rename to docs/css/dark_dimmed.css index a15b60d..ac02872 100644 --- a/docs/dark_dimmed.css +++ b/docs/css/dark_dimmed.css @@ -1,106 +1,13 @@ -@media (prefers-color-scheme: dark) { - .markdown-body { - color-scheme: dark; - --color-prettylights-syntax-comment: #8b949e; - --color-prettylights-syntax-constant: #79c0ff; - --color-prettylights-syntax-entity: #d2a8ff; - --color-prettylights-syntax-storage-modifier-import: #c9d1d9; - --color-prettylights-syntax-entity-tag: #7ee787; - --color-prettylights-syntax-keyword: #ff7b72; - --color-prettylights-syntax-string: #a5d6ff; - --color-prettylights-syntax-variable: #ffa657; - --color-prettylights-syntax-brackethighlighter-unmatched: #f85149; - --color-prettylights-syntax-invalid-illegal-text: #f0f6fc; - --color-prettylights-syntax-invalid-illegal-bg: #8e1519; - --color-prettylights-syntax-carriage-return-text: #f0f6fc; - --color-prettylights-syntax-carriage-return-bg: #b62324; - --color-prettylights-syntax-string-regexp: #7ee787; - --color-prettylights-syntax-markup-list: #f2cc60; - --color-prettylights-syntax-markup-heading: #1f6feb; - --color-prettylights-syntax-markup-italic: #c9d1d9; - --color-prettylights-syntax-markup-bold: #c9d1d9; - --color-prettylights-syntax-markup-deleted-text: #ffdcd7; - --color-prettylights-syntax-markup-deleted-bg: #67060c; - --color-prettylights-syntax-markup-inserted-text: #aff5b4; - --color-prettylights-syntax-markup-inserted-bg: #033a16; - --color-prettylights-syntax-markup-changed-text: #ffdfb6; - --color-prettylights-syntax-markup-changed-bg: #5a1e02; - --color-prettylights-syntax-markup-ignored-text: #c9d1d9; - --color-prettylights-syntax-markup-ignored-bg: #1158c7; - --color-prettylights-syntax-meta-diff-range: #d2a8ff; - --color-prettylights-syntax-brackethighlighter-angle: #8b949e; - --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58; - --color-prettylights-syntax-constant-other-reference-link: #a5d6ff; - --color-fg-default: #c9d1d9; - --color-fg-muted: #8b949e; - --color-fg-subtle: #6e7681; - --color-canvas-default: #0d1117; - --color-canvas-subtle: #161b22; - --color-border-default: #30363d; - --color-border-muted: #21262d; - --color-neutral-muted: rgba(110,118,129,0.4); - --color-accent-fg: #58a6ff; - --color-accent-emphasis: #1f6feb; - --color-attention-subtle: rgba(187,128,9,0.15); - --color-danger-fg: #f85149; - } -} - -@media (prefers-color-scheme: light) { - .markdown-body { - color-scheme: dark; - --color-prettylights-syntax-comment: #768390; - --color-prettylights-syntax-constant: #6cb6ff; - --color-prettylights-syntax-entity: #dcbdfb; - --color-prettylights-syntax-storage-modifier-import: #adbac7; - --color-prettylights-syntax-entity-tag: #8ddb8c; - --color-prettylights-syntax-keyword: #f47067; - --color-prettylights-syntax-string: #96d0ff; - --color-prettylights-syntax-variable: #f69d50; - --color-prettylights-syntax-brackethighlighter-unmatched: #e5534b; - --color-prettylights-syntax-invalid-illegal-text: #cdd9e5; - --color-prettylights-syntax-invalid-illegal-bg: #922323; - --color-prettylights-syntax-carriage-return-text: #cdd9e5; - --color-prettylights-syntax-carriage-return-bg: #ad2e2c; - --color-prettylights-syntax-string-regexp: #8ddb8c; - --color-prettylights-syntax-markup-list: #eac55f; - --color-prettylights-syntax-markup-heading: #316dca; - --color-prettylights-syntax-markup-italic: #adbac7; - --color-prettylights-syntax-markup-bold: #adbac7; - --color-prettylights-syntax-markup-deleted-text: #ffd8d3; - --color-prettylights-syntax-markup-deleted-bg: #78191b; - --color-prettylights-syntax-markup-inserted-text: #b4f1b4; - --color-prettylights-syntax-markup-inserted-bg: #1b4721; - --color-prettylights-syntax-markup-changed-text: #ffddb0; - --color-prettylights-syntax-markup-changed-bg: #682d0f; - --color-prettylights-syntax-markup-ignored-text: #adbac7; - --color-prettylights-syntax-markup-ignored-bg: #255ab2; - --color-prettylights-syntax-meta-diff-range: #dcbdfb; - --color-prettylights-syntax-brackethighlighter-angle: #768390; - --color-prettylights-syntax-sublimelinter-gutter-mark: #545d68; - --color-prettylights-syntax-constant-other-reference-link: #96d0ff; - --color-fg-default: #adbac7; - --color-fg-muted: #768390; - --color-fg-subtle: #636e7b; - --color-canvas-default: #22272e; - --color-canvas-subtle: #2d333b; - --color-border-default: #444c56; - --color-border-muted: #373e47; - --color-neutral-muted: rgba(99,110,123,0.4); - --color-accent-fg: #539bf5; - --color-accent-emphasis: #316dca; - --color-attention-subtle: rgba(174,124,20,0.15); - --color-danger-fg: #e5534b; - } -} +/*dark_dimmed*/ .markdown-body { + color-scheme: dark; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; margin: 0; - color: var(--color-fg-default); - background-color: var(--color-canvas-default); - font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; + color: #adbac7; + background-color: #22272e; + font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; font-size: 16px; line-height: 1.5; word-wrap: break-word; @@ -143,12 +50,13 @@ .markdown-body a { background-color: transparent; - color: var(--color-accent-fg); + color: #539bf5; text-decoration: none; } .markdown-body abbr[title] { border-bottom: none; + -webkit-text-decoration: underline dotted; text-decoration: underline dotted; } @@ -166,12 +74,12 @@ font-weight: 600; padding-bottom: .3em; font-size: 2em; - border-bottom: 1px solid var(--color-border-muted); + border-bottom: 1px solid #373e47; } .markdown-body mark { - background-color: var(--color-attention-subtle); - color: var(--color-text-primary); + background-color: rgba(174,124,20,0.15); + color: #adbac7; } .markdown-body small { @@ -198,7 +106,7 @@ border-style: none; max-width: 100%; box-sizing: content-box; - background-color: var(--color-canvas-default); + background-color: #22272e; } .markdown-body code, @@ -217,11 +125,11 @@ box-sizing: content-box; overflow: hidden; background: transparent; - border-bottom: 1px solid var(--color-border-muted); + border-bottom: 1px solid #373e47; height: .25em; padding: 0; margin: 24px 0; - background-color: var(--color-border-default); + background-color: #444c56; border: 0; } @@ -238,6 +146,7 @@ .markdown-body [type=reset], .markdown-body [type=submit] { -webkit-appearance: button; + appearance: button; } .markdown-body [type=checkbox], @@ -254,6 +163,7 @@ .markdown-body [type=search]::-webkit-search-cancel-button, .markdown-body [type=search]::-webkit-search-decoration { -webkit-appearance: none; + appearance: none; } .markdown-body ::-webkit-input-placeholder { @@ -263,6 +173,7 @@ .markdown-body ::-webkit-file-upload-button { -webkit-appearance: button; + appearance: button; font: inherit; } @@ -270,6 +181,11 @@ text-decoration: underline; } +.markdown-body ::placeholder { + color: #636e7b; + opacity: 1; +} + .markdown-body hr::before { display: table; content: ""; @@ -303,19 +219,11 @@ display: none !important; } -.markdown-body a, -.markdown-body [role=button], -.markdown-body input[type=radio], -.markdown-body input[type=checkbox] { - transition: 80ms cubic-bezier(0.33, 1, 0.68, 1); - transition-property: color,background-color,box-shadow,border-color; -} - .markdown-body a:focus, .markdown-body [role=button]:focus, .markdown-body input[type=radio]:focus, .markdown-body input[type=checkbox]:focus { - outline: 2px solid var(--color-accent-fg); + outline: 2px solid #539bf5; outline-offset: -2px; box-shadow: none; } @@ -331,7 +239,7 @@ .markdown-body [role=button]:focus-visible, .markdown-body input[type=radio]:focus-visible, .markdown-body input[type=checkbox]:focus-visible { - outline: 2px solid var(--color-accent-fg); + outline: 2px solid #539bf5; outline-offset: -2px; box-shadow: none; } @@ -350,13 +258,13 @@ padding: 3px 5px; font: 11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; line-height: 10px; - color: var(--color-fg-default); + color: #adbac7; vertical-align: middle; - background-color: var(--color-canvas-subtle); - border: solid 1px var(--color-neutral-muted); - border-bottom-color: var(--color-neutral-muted); + background-color: #2d333b; + border: solid 1px rgba(99,110,123,0.4); + border-bottom-color: rgba(99,110,123,0.4); border-radius: 6px; - box-shadow: inset 0 -1px 0 var(--color-neutral-muted); + box-shadow: inset 0 -1px 0 rgba(99,110,123,0.4); } .markdown-body h1, @@ -375,7 +283,7 @@ font-weight: 600; padding-bottom: .3em; font-size: 1.5em; - border-bottom: 1px solid var(--color-border-muted); + border-bottom: 1px solid #373e47; } .markdown-body h3 { @@ -396,7 +304,7 @@ .markdown-body h6 { font-weight: 600; font-size: .85em; - color: var(--color-fg-muted); + color: #768390; } .markdown-body p { @@ -407,8 +315,8 @@ .markdown-body blockquote { margin: 0; padding: 0 1em; - color: var(--color-fg-muted); - border-left: .25em solid var(--color-border-default); + color: #768390; + border-left: .25em solid #444c56; } .markdown-body ul, @@ -456,11 +364,6 @@ fill: currentColor; } -.markdown-body ::placeholder { - color: var(--color-fg-subtle); - opacity: 1; -} - .markdown-body input::-webkit-outer-spin-button, .markdown-body input::-webkit-inner-spin-button { margin: 0; @@ -468,6 +371,10 @@ appearance: none; } +.markdown-body .mr-2 { + margin-right: 8px !important; +} + .markdown-body::before { display: table; content: ""; @@ -493,7 +400,7 @@ } .markdown-body .absent { - color: var(--color-danger-fg); + color: #e5534b; } .markdown-body .anchor { @@ -533,7 +440,7 @@ .markdown-body h4 .octicon-link, .markdown-body h5 .octicon-link, .markdown-body h6 .octicon-link { - color: var(--color-fg-default); + color: #adbac7; vertical-align: middle; visibility: hidden; } @@ -602,18 +509,26 @@ list-style-type: none; } -.markdown-body ol[type="1"] { - list-style-type: decimal; +.markdown-body ol[type="a s"] { + list-style-type: lower-alpha; } -.markdown-body ol[type=a] { - list-style-type: lower-alpha; +.markdown-body ol[type="A s"] { + list-style-type: upper-alpha; } -.markdown-body ol[type=i] { +.markdown-body ol[type="i s"] { list-style-type: lower-roman; } +.markdown-body ol[type="I s"] { + list-style-type: upper-roman; +} + +.markdown-body ol[type="1"] { + list-style-type: decimal; +} + .markdown-body div>ol:not([type]) { list-style-type: decimal; } @@ -658,16 +573,20 @@ .markdown-body table th, .markdown-body table td { padding: 6px 13px; - border: 1px solid var(--color-border-default); + border: 1px solid #444c56; +} + +.markdown-body table td>:last-child { + margin-bottom: 0; } .markdown-body table tr { - background-color: var(--color-canvas-default); - border-top: 1px solid var(--color-border-muted); + background-color: #22272e; + border-top: 1px solid #373e47; } .markdown-body table tr:nth-child(2n) { - background-color: var(--color-canvas-subtle); + background-color: #2d333b; } .markdown-body table img { @@ -700,7 +619,7 @@ padding: 7px; margin: 13px 0 0; overflow: hidden; - border: 1px solid var(--color-border-default); + border: 1px solid #444c56; } .markdown-body span.frame span img { @@ -712,7 +631,7 @@ display: block; padding: 5px 0 0; clear: both; - color: var(--color-fg-default); + color: #adbac7; } .markdown-body span.align-center { @@ -781,7 +700,8 @@ padding: .2em .4em; margin: 0; font-size: 85%; - background-color: var(--color-neutral-muted); + white-space: break-spaces; + background-color: rgba(99,110,123,0.4); border-radius: 6px; } @@ -826,7 +746,8 @@ overflow: auto; font-size: 85%; line-height: 1.45; - background-color: var(--color-canvas-subtle); + color: #adbac7; + background-color: #2d333b; border-radius: 6px; } @@ -856,7 +777,7 @@ .markdown-body .csv-data .blob-num { padding: 10px 8px 9px; text-align: right; - background: var(--color-canvas-default); + background: #22272e; border: 0; } @@ -866,7 +787,7 @@ .markdown-body .csv-data th { font-weight: 600; - background: var(--color-canvas-subtle); + background: #2d333b; border-top: 0; } @@ -880,14 +801,20 @@ .markdown-body .footnotes { font-size: 12px; - color: var(--color-fg-muted); - border-top: 1px solid var(--color-border-default); + color: #768390; + border-top: 1px solid #444c56; } .markdown-body .footnotes ol { padding-left: 16px; } +.markdown-body .footnotes ol ul { + display: inline-block; + padding-left: 16px; + margin-top: 16px; +} + .markdown-body .footnotes li { position: relative; } @@ -900,12 +827,12 @@ left: -24px; pointer-events: none; content: ""; - border: 2px solid var(--color-accent-emphasis); + border: 2px solid #316dca; border-radius: 6px; } .markdown-body .footnotes li:target { - color: var(--color-fg-default); + color: #adbac7; } .markdown-body .footnotes .data-footnote-backref g-emoji { @@ -913,30 +840,30 @@ } .markdown-body .pl-c { - color: var(--color-prettylights-syntax-comment); + color: #768390; } .markdown-body .pl-c1, .markdown-body .pl-s .pl-v { - color: var(--color-prettylights-syntax-constant); + color: #6cb6ff; } .markdown-body .pl-e, .markdown-body .pl-en { - color: var(--color-prettylights-syntax-entity); + color: #dcbdfb; } .markdown-body .pl-smi, .markdown-body .pl-s .pl-s1 { - color: var(--color-prettylights-syntax-storage-modifier-import); + color: #adbac7; } .markdown-body .pl-ent { - color: var(--color-prettylights-syntax-entity-tag); + color: #8ddb8c; } .markdown-body .pl-k { - color: var(--color-prettylights-syntax-keyword); + color: #f47067; } .markdown-body .pl-s, @@ -946,98 +873,90 @@ .markdown-body .pl-sr .pl-cce, .markdown-body .pl-sr .pl-sre, .markdown-body .pl-sr .pl-sra { - color: var(--color-prettylights-syntax-string); + color: #96d0ff; } .markdown-body .pl-v, .markdown-body .pl-smw { - color: var(--color-prettylights-syntax-variable); + color: #f69d50; } .markdown-body .pl-bu { - color: var(--color-prettylights-syntax-brackethighlighter-unmatched); + color: #e5534b; } .markdown-body .pl-ii { - color: var(--color-prettylights-syntax-invalid-illegal-text); - background-color: var(--color-prettylights-syntax-invalid-illegal-bg); + color: #cdd9e5; + background-color: #922323; } .markdown-body .pl-c2 { - color: var(--color-prettylights-syntax-carriage-return-text); - background-color: var(--color-prettylights-syntax-carriage-return-bg); + color: #cdd9e5; + background-color: #ad2e2c; } .markdown-body .pl-sr .pl-cce { font-weight: bold; - color: var(--color-prettylights-syntax-string-regexp); + color: #8ddb8c; } .markdown-body .pl-ml { - color: var(--color-prettylights-syntax-markup-list); + color: #eac55f; } .markdown-body .pl-mh, .markdown-body .pl-mh .pl-en, .markdown-body .pl-ms { font-weight: bold; - color: var(--color-prettylights-syntax-markup-heading); + color: #316dca; } .markdown-body .pl-mi { font-style: italic; - color: var(--color-prettylights-syntax-markup-italic); + color: #adbac7; } .markdown-body .pl-mb { font-weight: bold; - color: var(--color-prettylights-syntax-markup-bold); + color: #adbac7; } .markdown-body .pl-md { - color: var(--color-prettylights-syntax-markup-deleted-text); - background-color: var(--color-prettylights-syntax-markup-deleted-bg); + color: #ffd8d3; + background-color: #78191b; } .markdown-body .pl-mi1 { - color: var(--color-prettylights-syntax-markup-inserted-text); - background-color: var(--color-prettylights-syntax-markup-inserted-bg); + color: #b4f1b4; + background-color: #1b4721; } .markdown-body .pl-mc { - color: var(--color-prettylights-syntax-markup-changed-text); - background-color: var(--color-prettylights-syntax-markup-changed-bg); + color: #ffddb0; + background-color: #682d0f; } .markdown-body .pl-mi2 { - color: var(--color-prettylights-syntax-markup-ignored-text); - background-color: var(--color-prettylights-syntax-markup-ignored-bg); + color: #adbac7; + background-color: #255ab2; } .markdown-body .pl-mdr { font-weight: bold; - color: var(--color-prettylights-syntax-meta-diff-range); + color: #dcbdfb; } .markdown-body .pl-ba { - color: var(--color-prettylights-syntax-brackethighlighter-angle); + color: #768390; } .markdown-body .pl-sg { - color: var(--color-prettylights-syntax-sublimelinter-gutter-mark); + color: #545d68; } .markdown-body .pl-corl { text-decoration: underline; - color: var(--color-prettylights-syntax-constant-other-reference-link); -} - -.markdown-body [data-catalyst] { - display: block; -} - -.markdown-body [data-catalyst-inline] { - display: inline; + color: #96d0ff; } .markdown-body g-emoji { @@ -1056,11 +975,6 @@ height: 1em; } -.markdown-body [data-a11y-animated-images=system] [data-animated-image], -.markdown-body [data-a11y-animated-images=disabled] [data-animated-image] { - display: none; -} - .markdown-body .task-list-item { list-style-type: none; } @@ -1082,7 +996,7 @@ } .markdown-body .task-list-item-checkbox { - margin: 0 .2em .25em -1.6em; + margin: 0 .2em .25em -1.4em; vertical-align: middle; } @@ -1090,10 +1004,81 @@ margin: 0 -1.6em .25em .2em; } +.markdown-body .contains-task-list { + position: relative; +} + +.markdown-body .contains-task-list:hover .task-list-item-convert-container, +.markdown-body .contains-task-list:focus-within .task-list-item-convert-container { + display: block; + width: auto; + height: 24px; + overflow: visible; + clip: auto; +} + .markdown-body ::-webkit-calendar-picker-indicator { filter: invert(50%); } -.markdown-body details>summary::-webkit-details-marker { - display: none; +.markdown-body .markdown-alert { + padding: 8px 16px; + margin-bottom: 16px; + color: inherit; + border-left: .25em solid #444c56; +} + +.markdown-body .markdown-alert>:first-child { + margin-top: 0; +} + +.markdown-body .markdown-alert>:last-child { + margin-bottom: 0; +} + +.markdown-body .markdown-alert .markdown-alert-title { + display: flex; + font-weight: 500; + align-items: center; + line-height: 1; +} + +.markdown-body .markdown-alert.markdown-alert-note { + border-left-color: #316dca; +} + +.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title { + color: #539bf5; +} + +.markdown-body .markdown-alert.markdown-alert-important { + border-left-color: #8256d0; +} + +.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title { + color: #986ee2; +} + +.markdown-body .markdown-alert.markdown-alert-warning { + border-left-color: #966600; +} + +.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title { + color: #c69026; +} + +.markdown-body .markdown-alert.markdown-alert-tip { + border-left-color: #347d39; +} + +.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title { + color: #57ab5a; +} + +.markdown-body .markdown-alert.markdown-alert-caution { + border-left-color: #c93c37; +} + +.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title { + color: #e5534b; } \ No newline at end of file diff --git a/docs/dark_colorblind.css b/docs/css/dark_high_contrast.css similarity index 65% rename from docs/dark_colorblind.css rename to docs/css/dark_high_contrast.css index 3aec20f..84a3394 100644 --- a/docs/dark_colorblind.css +++ b/docs/css/dark_high_contrast.css @@ -1,106 +1,13 @@ -@media (prefers-color-scheme: dark) { - .markdown-body { - color-scheme: dark; - --color-prettylights-syntax-comment: #8b949e; - --color-prettylights-syntax-constant: #79c0ff; - --color-prettylights-syntax-entity: #d2a8ff; - --color-prettylights-syntax-storage-modifier-import: #c9d1d9; - --color-prettylights-syntax-entity-tag: #7ee787; - --color-prettylights-syntax-keyword: #ff7b72; - --color-prettylights-syntax-string: #a5d6ff; - --color-prettylights-syntax-variable: #ffa657; - --color-prettylights-syntax-brackethighlighter-unmatched: #f85149; - --color-prettylights-syntax-invalid-illegal-text: #f0f6fc; - --color-prettylights-syntax-invalid-illegal-bg: #8e1519; - --color-prettylights-syntax-carriage-return-text: #f0f6fc; - --color-prettylights-syntax-carriage-return-bg: #b62324; - --color-prettylights-syntax-string-regexp: #7ee787; - --color-prettylights-syntax-markup-list: #f2cc60; - --color-prettylights-syntax-markup-heading: #1f6feb; - --color-prettylights-syntax-markup-italic: #c9d1d9; - --color-prettylights-syntax-markup-bold: #c9d1d9; - --color-prettylights-syntax-markup-deleted-text: #ffdcd7; - --color-prettylights-syntax-markup-deleted-bg: #67060c; - --color-prettylights-syntax-markup-inserted-text: #aff5b4; - --color-prettylights-syntax-markup-inserted-bg: #033a16; - --color-prettylights-syntax-markup-changed-text: #ffdfb6; - --color-prettylights-syntax-markup-changed-bg: #5a1e02; - --color-prettylights-syntax-markup-ignored-text: #c9d1d9; - --color-prettylights-syntax-markup-ignored-bg: #1158c7; - --color-prettylights-syntax-meta-diff-range: #d2a8ff; - --color-prettylights-syntax-brackethighlighter-angle: #8b949e; - --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58; - --color-prettylights-syntax-constant-other-reference-link: #a5d6ff; - --color-fg-default: #c9d1d9; - --color-fg-muted: #8b949e; - --color-fg-subtle: #6e7681; - --color-canvas-default: #0d1117; - --color-canvas-subtle: #161b22; - --color-border-default: #30363d; - --color-border-muted: #21262d; - --color-neutral-muted: rgba(110,118,129,0.4); - --color-accent-fg: #58a6ff; - --color-accent-emphasis: #1f6feb; - --color-attention-subtle: rgba(187,128,9,0.15); - --color-danger-fg: #f85149; - } -} - -@media (prefers-color-scheme: light) { - .markdown-body { - color-scheme: dark; - --color-prettylights-syntax-comment: #8b949e; - --color-prettylights-syntax-constant: #79c0ff; - --color-prettylights-syntax-entity: #d2a8ff; - --color-prettylights-syntax-storage-modifier-import: #c9d1d9; - --color-prettylights-syntax-entity-tag: #a5d6ff; - --color-prettylights-syntax-keyword: #ec8e2c; - --color-prettylights-syntax-string: #a5d6ff; - --color-prettylights-syntax-variable: #fdac54; - --color-prettylights-syntax-brackethighlighter-unmatched: #d47616; - --color-prettylights-syntax-invalid-illegal-text: #f0f6fc; - --color-prettylights-syntax-invalid-illegal-bg: #6c3906; - --color-prettylights-syntax-carriage-return-text: #f0f6fc; - --color-prettylights-syntax-carriage-return-bg: #914d04; - --color-prettylights-syntax-string-regexp: #a5d6ff; - --color-prettylights-syntax-markup-list: #f2cc60; - --color-prettylights-syntax-markup-heading: #1f6feb; - --color-prettylights-syntax-markup-italic: #c9d1d9; - --color-prettylights-syntax-markup-bold: #c9d1d9; - --color-prettylights-syntax-markup-deleted-text: #ffe2bb; - --color-prettylights-syntax-markup-deleted-bg: #4e2906; - --color-prettylights-syntax-markup-inserted-text: #cae8ff; - --color-prettylights-syntax-markup-inserted-bg: #0c2d6b; - --color-prettylights-syntax-markup-changed-text: #ffe2bb; - --color-prettylights-syntax-markup-changed-bg: #4e2906; - --color-prettylights-syntax-markup-ignored-text: #c9d1d9; - --color-prettylights-syntax-markup-ignored-bg: #1158c7; - --color-prettylights-syntax-meta-diff-range: #d2a8ff; - --color-prettylights-syntax-brackethighlighter-angle: #8b949e; - --color-prettylights-syntax-sublimelinter-gutter-mark: #484f58; - --color-prettylights-syntax-constant-other-reference-link: #a5d6ff; - --color-fg-default: #c9d1d9; - --color-fg-muted: #8b949e; - --color-fg-subtle: #6e7681; - --color-canvas-default: #0d1117; - --color-canvas-subtle: #161b22; - --color-border-default: #30363d; - --color-border-muted: #21262d; - --color-neutral-muted: rgba(110,118,129,0.4); - --color-accent-fg: #58a6ff; - --color-accent-emphasis: #1f6feb; - --color-attention-subtle: rgba(187,128,9,0.15); - --color-danger-fg: #d47616; - } -} +/*dark_high_contrast*/ .markdown-body { + color-scheme: dark; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; margin: 0; - color: var(--color-fg-default); - background-color: var(--color-canvas-default); - font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; + color: #f0f3f6; + background-color: #0a0c10; + font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; font-size: 16px; line-height: 1.5; word-wrap: break-word; @@ -143,12 +50,13 @@ .markdown-body a { background-color: transparent; - color: var(--color-accent-fg); + color: #71b7ff; text-decoration: none; } .markdown-body abbr[title] { border-bottom: none; + -webkit-text-decoration: underline dotted; text-decoration: underline dotted; } @@ -166,12 +74,12 @@ font-weight: 600; padding-bottom: .3em; font-size: 2em; - border-bottom: 1px solid var(--color-border-muted); + border-bottom: 1px solid #7a828e; } .markdown-body mark { - background-color: var(--color-attention-subtle); - color: var(--color-text-primary); + background-color: rgba(224,155,19,0.15); + color: #f0f3f6; } .markdown-body small { @@ -198,7 +106,7 @@ border-style: none; max-width: 100%; box-sizing: content-box; - background-color: var(--color-canvas-default); + background-color: #0a0c10; } .markdown-body code, @@ -217,11 +125,11 @@ box-sizing: content-box; overflow: hidden; background: transparent; - border-bottom: 1px solid var(--color-border-muted); + border-bottom: 1px solid #7a828e; height: .25em; padding: 0; margin: 24px 0; - background-color: var(--color-border-default); + background-color: #7a828e; border: 0; } @@ -238,6 +146,7 @@ .markdown-body [type=reset], .markdown-body [type=submit] { -webkit-appearance: button; + appearance: button; } .markdown-body [type=checkbox], @@ -254,6 +163,7 @@ .markdown-body [type=search]::-webkit-search-cancel-button, .markdown-body [type=search]::-webkit-search-decoration { -webkit-appearance: none; + appearance: none; } .markdown-body ::-webkit-input-placeholder { @@ -263,6 +173,7 @@ .markdown-body ::-webkit-file-upload-button { -webkit-appearance: button; + appearance: button; font: inherit; } @@ -270,6 +181,11 @@ text-decoration: underline; } +.markdown-body ::placeholder { + color: #9ea7b3; + opacity: 1; +} + .markdown-body hr::before { display: table; content: ""; @@ -303,19 +219,11 @@ display: none !important; } -.markdown-body a, -.markdown-body [role=button], -.markdown-body input[type=radio], -.markdown-body input[type=checkbox] { - transition: 80ms cubic-bezier(0.33, 1, 0.68, 1); - transition-property: color,background-color,box-shadow,border-color; -} - .markdown-body a:focus, .markdown-body [role=button]:focus, .markdown-body input[type=radio]:focus, .markdown-body input[type=checkbox]:focus { - outline: 2px solid var(--color-accent-fg); + outline: 2px solid #71b7ff; outline-offset: -2px; box-shadow: none; } @@ -331,7 +239,7 @@ .markdown-body [role=button]:focus-visible, .markdown-body input[type=radio]:focus-visible, .markdown-body input[type=checkbox]:focus-visible { - outline: 2px solid var(--color-accent-fg); + outline: 2px solid #71b7ff; outline-offset: -2px; box-shadow: none; } @@ -350,13 +258,13 @@ padding: 3px 5px; font: 11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; line-height: 10px; - color: var(--color-fg-default); + color: #f0f3f6; vertical-align: middle; - background-color: var(--color-canvas-subtle); - border: solid 1px var(--color-neutral-muted); - border-bottom-color: var(--color-neutral-muted); + background-color: #272b33; + border: solid 1px rgba(158,167,179,0.4); + border-bottom-color: rgba(158,167,179,0.4); border-radius: 6px; - box-shadow: inset 0 -1px 0 var(--color-neutral-muted); + box-shadow: inset 0 -1px 0 rgba(158,167,179,0.4); } .markdown-body h1, @@ -375,7 +283,7 @@ font-weight: 600; padding-bottom: .3em; font-size: 1.5em; - border-bottom: 1px solid var(--color-border-muted); + border-bottom: 1px solid #7a828e; } .markdown-body h3 { @@ -396,7 +304,7 @@ .markdown-body h6 { font-weight: 600; font-size: .85em; - color: var(--color-fg-muted); + color: #f0f3f6; } .markdown-body p { @@ -407,8 +315,8 @@ .markdown-body blockquote { margin: 0; padding: 0 1em; - color: var(--color-fg-muted); - border-left: .25em solid var(--color-border-default); + color: #f0f3f6; + border-left: .25em solid #7a828e; } .markdown-body ul, @@ -456,11 +364,6 @@ fill: currentColor; } -.markdown-body ::placeholder { - color: var(--color-fg-subtle); - opacity: 1; -} - .markdown-body input::-webkit-outer-spin-button, .markdown-body input::-webkit-inner-spin-button { margin: 0; @@ -468,6 +371,10 @@ appearance: none; } +.markdown-body .mr-2 { + margin-right: 8px !important; +} + .markdown-body::before { display: table; content: ""; @@ -493,7 +400,7 @@ } .markdown-body .absent { - color: var(--color-danger-fg); + color: #ff6a69; } .markdown-body .anchor { @@ -533,7 +440,7 @@ .markdown-body h4 .octicon-link, .markdown-body h5 .octicon-link, .markdown-body h6 .octicon-link { - color: var(--color-fg-default); + color: #f0f3f6; vertical-align: middle; visibility: hidden; } @@ -602,18 +509,26 @@ list-style-type: none; } -.markdown-body ol[type="1"] { - list-style-type: decimal; +.markdown-body ol[type="a s"] { + list-style-type: lower-alpha; } -.markdown-body ol[type=a] { - list-style-type: lower-alpha; +.markdown-body ol[type="A s"] { + list-style-type: upper-alpha; } -.markdown-body ol[type=i] { +.markdown-body ol[type="i s"] { list-style-type: lower-roman; } +.markdown-body ol[type="I s"] { + list-style-type: upper-roman; +} + +.markdown-body ol[type="1"] { + list-style-type: decimal; +} + .markdown-body div>ol:not([type]) { list-style-type: decimal; } @@ -658,16 +573,20 @@ .markdown-body table th, .markdown-body table td { padding: 6px 13px; - border: 1px solid var(--color-border-default); + border: 1px solid #7a828e; +} + +.markdown-body table td>:last-child { + margin-bottom: 0; } .markdown-body table tr { - background-color: var(--color-canvas-default); - border-top: 1px solid var(--color-border-muted); + background-color: #0a0c10; + border-top: 1px solid #7a828e; } .markdown-body table tr:nth-child(2n) { - background-color: var(--color-canvas-subtle); + background-color: #272b33; } .markdown-body table img { @@ -700,7 +619,7 @@ padding: 7px; margin: 13px 0 0; overflow: hidden; - border: 1px solid var(--color-border-default); + border: 1px solid #7a828e; } .markdown-body span.frame span img { @@ -712,7 +631,7 @@ display: block; padding: 5px 0 0; clear: both; - color: var(--color-fg-default); + color: #f0f3f6; } .markdown-body span.align-center { @@ -781,7 +700,8 @@ padding: .2em .4em; margin: 0; font-size: 85%; - background-color: var(--color-neutral-muted); + white-space: break-spaces; + background-color: rgba(158,167,179,0.4); border-radius: 6px; } @@ -826,7 +746,8 @@ overflow: auto; font-size: 85%; line-height: 1.45; - background-color: var(--color-canvas-subtle); + color: #f0f3f6; + background-color: #272b33; border-radius: 6px; } @@ -856,7 +777,7 @@ .markdown-body .csv-data .blob-num { padding: 10px 8px 9px; text-align: right; - background: var(--color-canvas-default); + background: #0a0c10; border: 0; } @@ -866,7 +787,7 @@ .markdown-body .csv-data th { font-weight: 600; - background: var(--color-canvas-subtle); + background: #272b33; border-top: 0; } @@ -880,14 +801,20 @@ .markdown-body .footnotes { font-size: 12px; - color: var(--color-fg-muted); - border-top: 1px solid var(--color-border-default); + color: #f0f3f6; + border-top: 1px solid #7a828e; } .markdown-body .footnotes ol { padding-left: 16px; } +.markdown-body .footnotes ol ul { + display: inline-block; + padding-left: 16px; + margin-top: 16px; +} + .markdown-body .footnotes li { position: relative; } @@ -900,12 +827,12 @@ left: -24px; pointer-events: none; content: ""; - border: 2px solid var(--color-accent-emphasis); + border: 2px solid #409eff; border-radius: 6px; } .markdown-body .footnotes li:target { - color: var(--color-fg-default); + color: #f0f3f6; } .markdown-body .footnotes .data-footnote-backref g-emoji { @@ -913,30 +840,30 @@ } .markdown-body .pl-c { - color: var(--color-prettylights-syntax-comment); + color: #bdc4cc; } .markdown-body .pl-c1, .markdown-body .pl-s .pl-v { - color: var(--color-prettylights-syntax-constant); + color: #91cbff; } .markdown-body .pl-e, .markdown-body .pl-en { - color: var(--color-prettylights-syntax-entity); + color: #dbb7ff; } .markdown-body .pl-smi, .markdown-body .pl-s .pl-s1 { - color: var(--color-prettylights-syntax-storage-modifier-import); + color: #f0f3f6; } .markdown-body .pl-ent { - color: var(--color-prettylights-syntax-entity-tag); + color: #72f088; } .markdown-body .pl-k { - color: var(--color-prettylights-syntax-keyword); + color: #ff9492; } .markdown-body .pl-s, @@ -946,98 +873,90 @@ .markdown-body .pl-sr .pl-cce, .markdown-body .pl-sr .pl-sre, .markdown-body .pl-sr .pl-sra { - color: var(--color-prettylights-syntax-string); + color: #addcff; } .markdown-body .pl-v, .markdown-body .pl-smw { - color: var(--color-prettylights-syntax-variable); + color: #ffb757; } .markdown-body .pl-bu { - color: var(--color-prettylights-syntax-brackethighlighter-unmatched); + color: #ff6a69; } .markdown-body .pl-ii { - color: var(--color-prettylights-syntax-invalid-illegal-text); - background-color: var(--color-prettylights-syntax-invalid-illegal-bg); + color: #ffffff; + background-color: #e82a2f; } .markdown-body .pl-c2 { - color: var(--color-prettylights-syntax-carriage-return-text); - background-color: var(--color-prettylights-syntax-carriage-return-bg); + color: #ffffff; + background-color: #ff4445; } .markdown-body .pl-sr .pl-cce { font-weight: bold; - color: var(--color-prettylights-syntax-string-regexp); + color: #72f088; } .markdown-body .pl-ml { - color: var(--color-prettylights-syntax-markup-list); + color: #fbd669; } .markdown-body .pl-mh, .markdown-body .pl-mh .pl-en, .markdown-body .pl-ms { font-weight: bold; - color: var(--color-prettylights-syntax-markup-heading); + color: #409eff; } .markdown-body .pl-mi { font-style: italic; - color: var(--color-prettylights-syntax-markup-italic); + color: #f0f3f6; } .markdown-body .pl-mb { font-weight: bold; - color: var(--color-prettylights-syntax-markup-bold); + color: #f0f3f6; } .markdown-body .pl-md { - color: var(--color-prettylights-syntax-markup-deleted-text); - background-color: var(--color-prettylights-syntax-markup-deleted-bg); + color: #ffdedb; + background-color: #cc1421; } .markdown-body .pl-mi1 { - color: var(--color-prettylights-syntax-markup-inserted-text); - background-color: var(--color-prettylights-syntax-markup-inserted-bg); + color: #acf7b6; + background-color: #007728; } .markdown-body .pl-mc { - color: var(--color-prettylights-syntax-markup-changed-text); - background-color: var(--color-prettylights-syntax-markup-changed-bg); + color: #ffe1b4; + background-color: #a74c00; } .markdown-body .pl-mi2 { - color: var(--color-prettylights-syntax-markup-ignored-text); - background-color: var(--color-prettylights-syntax-markup-ignored-bg); + color: #f0f3f6; + background-color: #318bf8; } .markdown-body .pl-mdr { font-weight: bold; - color: var(--color-prettylights-syntax-meta-diff-range); + color: #dbb7ff; } .markdown-body .pl-ba { - color: var(--color-prettylights-syntax-brackethighlighter-angle); + color: #bdc4cc; } .markdown-body .pl-sg { - color: var(--color-prettylights-syntax-sublimelinter-gutter-mark); + color: #7a828e; } .markdown-body .pl-corl { text-decoration: underline; - color: var(--color-prettylights-syntax-constant-other-reference-link); -} - -.markdown-body [data-catalyst] { - display: block; -} - -.markdown-body [data-catalyst-inline] { - display: inline; + color: #addcff; } .markdown-body g-emoji { @@ -1056,11 +975,6 @@ height: 1em; } -.markdown-body [data-a11y-animated-images=system] [data-animated-image], -.markdown-body [data-a11y-animated-images=disabled] [data-animated-image] { - display: none; -} - .markdown-body .task-list-item { list-style-type: none; } @@ -1082,7 +996,7 @@ } .markdown-body .task-list-item-checkbox { - margin: 0 .2em .25em -1.6em; + margin: 0 .2em .25em -1.4em; vertical-align: middle; } @@ -1090,10 +1004,81 @@ margin: 0 -1.6em .25em .2em; } +.markdown-body .contains-task-list { + position: relative; +} + +.markdown-body .contains-task-list:hover .task-list-item-convert-container, +.markdown-body .contains-task-list:focus-within .task-list-item-convert-container { + display: block; + width: auto; + height: 24px; + overflow: visible; + clip: auto; +} + .markdown-body ::-webkit-calendar-picker-indicator { filter: invert(50%); } -.markdown-body details>summary::-webkit-details-marker { - display: none; +.markdown-body .markdown-alert { + padding: 8px 16px; + margin-bottom: 16px; + color: inherit; + border-left: .25em solid #7a828e; +} + +.markdown-body .markdown-alert>:first-child { + margin-top: 0; +} + +.markdown-body .markdown-alert>:last-child { + margin-bottom: 0; +} + +.markdown-body .markdown-alert .markdown-alert-title { + display: flex; + font-weight: 500; + align-items: center; + line-height: 1; +} + +.markdown-body .markdown-alert.markdown-alert-note { + border-left-color: #409eff; +} + +.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title { + color: #71b7ff; +} + +.markdown-body .markdown-alert.markdown-alert-important { + border-left-color: #b87fff; +} + +.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title { + color: #b780ff; +} + +.markdown-body .markdown-alert.markdown-alert-warning { + border-left-color: #e09b13; +} + +.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title { + color: #f0b72f; +} + +.markdown-body .markdown-alert.markdown-alert-tip { + border-left-color: #09b43a; +} + +.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title { + color: #26cd4d; +} + +.markdown-body .markdown-alert.markdown-alert-caution { + border-left-color: #ff6a69; +} + +.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title { + color: #ff6a69; } \ No newline at end of file diff --git a/docs/light.css b/docs/css/light.css similarity index 87% rename from docs/light.css rename to docs/css/light.css index 0bc802e..1088844 100644 --- a/docs/light.css +++ b/docs/css/light.css @@ -1,10 +1,12 @@ +/*light*/ + .markdown-body { -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; margin: 0; - color: #24292f; + color: #1F2328; background-color: #ffffff; - font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; + font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; font-size: 16px; line-height: 1.5; word-wrap: break-word; @@ -53,6 +55,7 @@ .markdown-body abbr[title] { border-bottom: none; + -webkit-text-decoration: underline dotted; text-decoration: underline dotted; } @@ -75,7 +78,7 @@ .markdown-body mark { background-color: #fff8c5; - color: #24292f; + color: #1F2328; } .markdown-body small { @@ -142,6 +145,7 @@ .markdown-body [type=reset], .markdown-body [type=submit] { -webkit-appearance: button; + appearance: button; } .markdown-body [type=checkbox], @@ -158,6 +162,7 @@ .markdown-body [type=search]::-webkit-search-cancel-button, .markdown-body [type=search]::-webkit-search-decoration { -webkit-appearance: none; + appearance: none; } .markdown-body ::-webkit-input-placeholder { @@ -167,6 +172,7 @@ .markdown-body ::-webkit-file-upload-button { -webkit-appearance: button; + appearance: button; font: inherit; } @@ -174,6 +180,11 @@ text-decoration: underline; } +.markdown-body ::placeholder { + color: #6e7781; + opacity: 1; +} + .markdown-body hr::before { display: table; content: ""; @@ -207,14 +218,6 @@ display: none !important; } -.markdown-body a, -.markdown-body [role=button], -.markdown-body input[type=radio], -.markdown-body input[type=checkbox] { - transition: 80ms cubic-bezier(0.33, 1, 0.68, 1); - transition-property: color,background-color,box-shadow,border-color; -} - .markdown-body a:focus, .markdown-body [role=button]:focus, .markdown-body input[type=radio]:focus, @@ -254,7 +257,7 @@ padding: 3px 5px; font: 11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; line-height: 10px; - color: #24292f; + color: #1F2328; vertical-align: middle; background-color: #f6f8fa; border: solid 1px rgba(175,184,193,0.2); @@ -300,7 +303,7 @@ .markdown-body h6 { font-weight: 600; font-size: .85em; - color: #57606a; + color: #656d76; } .markdown-body p { @@ -311,7 +314,7 @@ .markdown-body blockquote { margin: 0; padding: 0 1em; - color: #57606a; + color: #656d76; border-left: .25em solid #d0d7de; } @@ -360,11 +363,6 @@ fill: currentColor; } -.markdown-body ::placeholder { - color: #6e7781; - opacity: 1; -} - .markdown-body input::-webkit-outer-spin-button, .markdown-body input::-webkit-inner-spin-button { margin: 0; @@ -372,6 +370,10 @@ appearance: none; } +.markdown-body .mr-2 { + margin-right: 8px !important; +} + .markdown-body::before { display: table; content: ""; @@ -397,7 +399,7 @@ } .markdown-body .absent { - color: #cf222e; + color: #d1242f; } .markdown-body .anchor { @@ -437,7 +439,7 @@ .markdown-body h4 .octicon-link, .markdown-body h5 .octicon-link, .markdown-body h6 .octicon-link { - color: #24292f; + color: #1F2328; vertical-align: middle; visibility: hidden; } @@ -506,18 +508,26 @@ list-style-type: none; } -.markdown-body ol[type="1"] { - list-style-type: decimal; +.markdown-body ol[type="a s"] { + list-style-type: lower-alpha; } -.markdown-body ol[type=a] { - list-style-type: lower-alpha; +.markdown-body ol[type="A s"] { + list-style-type: upper-alpha; } -.markdown-body ol[type=i] { +.markdown-body ol[type="i s"] { list-style-type: lower-roman; } +.markdown-body ol[type="I s"] { + list-style-type: upper-roman; +} + +.markdown-body ol[type="1"] { + list-style-type: decimal; +} + .markdown-body div>ol:not([type]) { list-style-type: decimal; } @@ -565,6 +575,10 @@ border: 1px solid #d0d7de; } +.markdown-body table td>:last-child { + margin-bottom: 0; +} + .markdown-body table tr { background-color: #ffffff; border-top: 1px solid hsla(210,18%,87%,1); @@ -616,7 +630,7 @@ display: block; padding: 5px 0 0; clear: both; - color: #24292f; + color: #1F2328; } .markdown-body span.align-center { @@ -685,6 +699,7 @@ padding: .2em .4em; margin: 0; font-size: 85%; + white-space: break-spaces; background-color: rgba(175,184,193,0.2); border-radius: 6px; } @@ -730,6 +745,7 @@ overflow: auto; font-size: 85%; line-height: 1.45; + color: #1F2328; background-color: #f6f8fa; border-radius: 6px; } @@ -784,7 +800,7 @@ .markdown-body .footnotes { font-size: 12px; - color: #57606a; + color: #656d76; border-top: 1px solid #d0d7de; } @@ -792,6 +808,12 @@ padding-left: 16px; } +.markdown-body .footnotes ol ul { + display: inline-block; + padding-left: 16px; + margin-top: 16px; +} + .markdown-body .footnotes li { position: relative; } @@ -809,7 +831,7 @@ } .markdown-body .footnotes li:target { - color: #24292f; + color: #1F2328; } .markdown-body .footnotes .data-footnote-backref g-emoji { @@ -817,7 +839,7 @@ } .markdown-body .pl-c { - color: #6e7781; + color: #57606a; } .markdown-body .pl-c1, @@ -827,7 +849,7 @@ .markdown-body .pl-e, .markdown-body .pl-en { - color: #8250df; + color: #6639ba; } .markdown-body .pl-smi, @@ -900,7 +922,7 @@ .markdown-body .pl-md { color: #82071e; - background-color: #FFEBE9; + background-color: #ffebe9; } .markdown-body .pl-mi1 { @@ -936,14 +958,6 @@ color: #0a3069; } -.markdown-body [data-catalyst] { - display: block; -} - -.markdown-body [data-catalyst-inline] { - display: inline; -} - .markdown-body g-emoji { display: inline-block; min-width: 1ch; @@ -960,11 +974,6 @@ height: 1em; } -.markdown-body [data-a11y-animated-images=system] [data-animated-image], -.markdown-body [data-a11y-animated-images=disabled] [data-animated-image] { - display: none; -} - .markdown-body .task-list-item { list-style-type: none; } @@ -986,7 +995,7 @@ } .markdown-body .task-list-item-checkbox { - margin: 0 .2em .25em -1.6em; + margin: 0 .2em .25em -1.4em; vertical-align: middle; } @@ -994,10 +1003,81 @@ margin: 0 -1.6em .25em .2em; } +.markdown-body .contains-task-list { + position: relative; +} + +.markdown-body .contains-task-list:hover .task-list-item-convert-container, +.markdown-body .contains-task-list:focus-within .task-list-item-convert-container { + display: block; + width: auto; + height: 24px; + overflow: visible; + clip: auto; +} + .markdown-body ::-webkit-calendar-picker-indicator { filter: invert(50%); } -.markdown-body details>summary::-webkit-details-marker { - display: none; +.markdown-body .markdown-alert { + padding: 8px 16px; + margin-bottom: 16px; + color: inherit; + border-left: .25em solid #d0d7de; +} + +.markdown-body .markdown-alert>:first-child { + margin-top: 0; +} + +.markdown-body .markdown-alert>:last-child { + margin-bottom: 0; +} + +.markdown-body .markdown-alert .markdown-alert-title { + display: flex; + font-weight: 500; + align-items: center; + line-height: 1; +} + +.markdown-body .markdown-alert.markdown-alert-note { + border-left-color: #0969da; +} + +.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title { + color: #0969da; +} + +.markdown-body .markdown-alert.markdown-alert-important { + border-left-color: #8250df; +} + +.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title { + color: #8250df; +} + +.markdown-body .markdown-alert.markdown-alert-warning { + border-left-color: #9a6700; +} + +.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title { + color: #9a6700; +} + +.markdown-body .markdown-alert.markdown-alert-tip { + border-left-color: #1f883d; +} + +.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title { + color: #1a7f37; +} + +.markdown-body .markdown-alert.markdown-alert-caution { + border-left-color: #cf222e; +} + +.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title { + color: #d1242f; } \ No newline at end of file diff --git a/docs/light_colorblind.css b/docs/css/light_colorblind.css similarity index 65% rename from docs/light_colorblind.css rename to docs/css/light_colorblind.css index 9cb51dc..7cd7b93 100644 --- a/docs/light_colorblind.css +++ b/docs/css/light_colorblind.css @@ -1,106 +1,12 @@ -@media (prefers-color-scheme: dark) { - .markdown-body { - color-scheme: light; - --color-prettylights-syntax-comment: #6e7781; - --color-prettylights-syntax-constant: #0550ae; - --color-prettylights-syntax-entity: #8250df; - --color-prettylights-syntax-storage-modifier-import: #24292f; - --color-prettylights-syntax-entity-tag: #0550ae; - --color-prettylights-syntax-keyword: #b35900; - --color-prettylights-syntax-string: #0a3069; - --color-prettylights-syntax-variable: #8a4600; - --color-prettylights-syntax-brackethighlighter-unmatched: #6f3800; - --color-prettylights-syntax-invalid-illegal-text: #f6f8fa; - --color-prettylights-syntax-invalid-illegal-bg: #6f3800; - --color-prettylights-syntax-carriage-return-text: #f6f8fa; - --color-prettylights-syntax-carriage-return-bg: #b35900; - --color-prettylights-syntax-string-regexp: #0550ae; - --color-prettylights-syntax-markup-list: #3b2300; - --color-prettylights-syntax-markup-heading: #0550ae; - --color-prettylights-syntax-markup-italic: #24292f; - --color-prettylights-syntax-markup-bold: #24292f; - --color-prettylights-syntax-markup-deleted-text: #6f3800; - --color-prettylights-syntax-markup-deleted-bg: #fff5e8; - --color-prettylights-syntax-markup-inserted-text: #0550ae; - --color-prettylights-syntax-markup-inserted-bg: #ddf4ff; - --color-prettylights-syntax-markup-changed-text: #8a4600; - --color-prettylights-syntax-markup-changed-bg: #ffddb0; - --color-prettylights-syntax-markup-ignored-text: #eaeef2; - --color-prettylights-syntax-markup-ignored-bg: #0550ae; - --color-prettylights-syntax-meta-diff-range: #8250df; - --color-prettylights-syntax-brackethighlighter-angle: #57606a; - --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f; - --color-prettylights-syntax-constant-other-reference-link: #0a3069; - --color-fg-default: #24292f; - --color-fg-muted: #57606a; - --color-fg-subtle: #6e7781; - --color-canvas-default: #ffffff; - --color-canvas-subtle: #f6f8fa; - --color-border-default: #d0d7de; - --color-border-muted: hsla(210,18%,87%,1); - --color-neutral-muted: rgba(175,184,193,0.2); - --color-accent-fg: #0969da; - --color-accent-emphasis: #0969da; - --color-attention-subtle: #fff8c5; - --color-danger-fg: #b35900; - } -} - -@media (prefers-color-scheme: light) { - .markdown-body { - color-scheme: light; - --color-prettylights-syntax-comment: #6e7781; - --color-prettylights-syntax-constant: #0550ae; - --color-prettylights-syntax-entity: #8250df; - --color-prettylights-syntax-storage-modifier-import: #24292f; - --color-prettylights-syntax-entity-tag: #116329; - --color-prettylights-syntax-keyword: #cf222e; - --color-prettylights-syntax-string: #0a3069; - --color-prettylights-syntax-variable: #953800; - --color-prettylights-syntax-brackethighlighter-unmatched: #82071e; - --color-prettylights-syntax-invalid-illegal-text: #f6f8fa; - --color-prettylights-syntax-invalid-illegal-bg: #82071e; - --color-prettylights-syntax-carriage-return-text: #f6f8fa; - --color-prettylights-syntax-carriage-return-bg: #cf222e; - --color-prettylights-syntax-string-regexp: #116329; - --color-prettylights-syntax-markup-list: #3b2300; - --color-prettylights-syntax-markup-heading: #0550ae; - --color-prettylights-syntax-markup-italic: #24292f; - --color-prettylights-syntax-markup-bold: #24292f; - --color-prettylights-syntax-markup-deleted-text: #82071e; - --color-prettylights-syntax-markup-deleted-bg: #FFEBE9; - --color-prettylights-syntax-markup-inserted-text: #116329; - --color-prettylights-syntax-markup-inserted-bg: #dafbe1; - --color-prettylights-syntax-markup-changed-text: #953800; - --color-prettylights-syntax-markup-changed-bg: #ffd8b5; - --color-prettylights-syntax-markup-ignored-text: #eaeef2; - --color-prettylights-syntax-markup-ignored-bg: #0550ae; - --color-prettylights-syntax-meta-diff-range: #8250df; - --color-prettylights-syntax-brackethighlighter-angle: #57606a; - --color-prettylights-syntax-sublimelinter-gutter-mark: #8c959f; - --color-prettylights-syntax-constant-other-reference-link: #0a3069; - --color-fg-default: #24292f; - --color-fg-muted: #57606a; - --color-fg-subtle: #6e7781; - --color-canvas-default: #ffffff; - --color-canvas-subtle: #f6f8fa; - --color-border-default: #d0d7de; - --color-border-muted: hsla(210,18%,87%,1); - --color-neutral-muted: rgba(175,184,193,0.2); - --color-accent-fg: #0969da; - --color-accent-emphasis: #0969da; - --color-attention-subtle: #fff8c5; - --color-danger-fg: #cf222e; - } -} +/*light_colorblind*/ .markdown-body { -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; margin: 0; - color: var(--color-fg-default); - background-color: var(--color-canvas-default); - font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; + color: #24292f; + background-color: #ffffff; + font-family: -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; font-size: 16px; line-height: 1.5; word-wrap: break-word; @@ -143,12 +49,13 @@ .markdown-body a { background-color: transparent; - color: var(--color-accent-fg); + color: #0969da; text-decoration: none; } .markdown-body abbr[title] { border-bottom: none; + -webkit-text-decoration: underline dotted; text-decoration: underline dotted; } @@ -166,12 +73,12 @@ font-weight: 600; padding-bottom: .3em; font-size: 2em; - border-bottom: 1px solid var(--color-border-muted); + border-bottom: 1px solid hsla(210,18%,87%,1); } .markdown-body mark { - background-color: var(--color-attention-subtle); - color: var(--color-text-primary); + background-color: #fff8c5; + color: #24292f; } .markdown-body small { @@ -198,7 +105,7 @@ border-style: none; max-width: 100%; box-sizing: content-box; - background-color: var(--color-canvas-default); + background-color: #ffffff; } .markdown-body code, @@ -217,11 +124,11 @@ box-sizing: content-box; overflow: hidden; background: transparent; - border-bottom: 1px solid var(--color-border-muted); + border-bottom: 1px solid hsla(210,18%,87%,1); height: .25em; padding: 0; margin: 24px 0; - background-color: var(--color-border-default); + background-color: #d0d7de; border: 0; } @@ -238,6 +145,7 @@ .markdown-body [type=reset], .markdown-body [type=submit] { -webkit-appearance: button; + appearance: button; } .markdown-body [type=checkbox], @@ -254,6 +162,7 @@ .markdown-body [type=search]::-webkit-search-cancel-button, .markdown-body [type=search]::-webkit-search-decoration { -webkit-appearance: none; + appearance: none; } .markdown-body ::-webkit-input-placeholder { @@ -263,6 +172,7 @@ .markdown-body ::-webkit-file-upload-button { -webkit-appearance: button; + appearance: button; font: inherit; } @@ -270,6 +180,11 @@ text-decoration: underline; } +.markdown-body ::placeholder { + color: #6e7781; + opacity: 1; +} + .markdown-body hr::before { display: table; content: ""; @@ -303,19 +218,11 @@ display: none !important; } -.markdown-body a, -.markdown-body [role=button], -.markdown-body input[type=radio], -.markdown-body input[type=checkbox] { - transition: 80ms cubic-bezier(0.33, 1, 0.68, 1); - transition-property: color,background-color,box-shadow,border-color; -} - .markdown-body a:focus, .markdown-body [role=button]:focus, .markdown-body input[type=radio]:focus, .markdown-body input[type=checkbox]:focus { - outline: 2px solid var(--color-accent-fg); + outline: 2px solid #0969da; outline-offset: -2px; box-shadow: none; } @@ -331,7 +238,7 @@ .markdown-body [role=button]:focus-visible, .markdown-body input[type=radio]:focus-visible, .markdown-body input[type=checkbox]:focus-visible { - outline: 2px solid var(--color-accent-fg); + outline: 2px solid #0969da; outline-offset: -2px; box-shadow: none; } @@ -350,13 +257,13 @@ padding: 3px 5px; font: 11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; line-height: 10px; - color: var(--color-fg-default); + color: #24292f; vertical-align: middle; - background-color: var(--color-canvas-subtle); - border: solid 1px var(--color-neutral-muted); - border-bottom-color: var(--color-neutral-muted); + background-color: #f6f8fa; + border: solid 1px rgba(175,184,193,0.2); + border-bottom-color: rgba(175,184,193,0.2); border-radius: 6px; - box-shadow: inset 0 -1px 0 var(--color-neutral-muted); + box-shadow: inset 0 -1px 0 rgba(175,184,193,0.2); } .markdown-body h1, @@ -375,7 +282,7 @@ font-weight: 600; padding-bottom: .3em; font-size: 1.5em; - border-bottom: 1px solid var(--color-border-muted); + border-bottom: 1px solid hsla(210,18%,87%,1); } .markdown-body h3 { @@ -396,7 +303,7 @@ .markdown-body h6 { font-weight: 600; font-size: .85em; - color: var(--color-fg-muted); + color: #57606a; } .markdown-body p { @@ -407,8 +314,8 @@ .markdown-body blockquote { margin: 0; padding: 0 1em; - color: var(--color-fg-muted); - border-left: .25em solid var(--color-border-default); + color: #57606a; + border-left: .25em solid #d0d7de; } .markdown-body ul, @@ -456,11 +363,6 @@ fill: currentColor; } -.markdown-body ::placeholder { - color: var(--color-fg-subtle); - opacity: 1; -} - .markdown-body input::-webkit-outer-spin-button, .markdown-body input::-webkit-inner-spin-button { margin: 0; @@ -468,6 +370,10 @@ appearance: none; } +.markdown-body .mr-2 { + margin-right: 8px !important; +} + .markdown-body::before { display: table; content: ""; @@ -493,7 +399,7 @@ } .markdown-body .absent { - color: var(--color-danger-fg); + color: #b35900; } .markdown-body .anchor { @@ -533,7 +439,7 @@ .markdown-body h4 .octicon-link, .markdown-body h5 .octicon-link, .markdown-body h6 .octicon-link { - color: var(--color-fg-default); + color: #24292f; vertical-align: middle; visibility: hidden; } @@ -602,18 +508,26 @@ list-style-type: none; } -.markdown-body ol[type="1"] { - list-style-type: decimal; +.markdown-body ol[type="a s"] { + list-style-type: lower-alpha; } -.markdown-body ol[type=a] { - list-style-type: lower-alpha; +.markdown-body ol[type="A s"] { + list-style-type: upper-alpha; } -.markdown-body ol[type=i] { +.markdown-body ol[type="i s"] { list-style-type: lower-roman; } +.markdown-body ol[type="I s"] { + list-style-type: upper-roman; +} + +.markdown-body ol[type="1"] { + list-style-type: decimal; +} + .markdown-body div>ol:not([type]) { list-style-type: decimal; } @@ -658,16 +572,20 @@ .markdown-body table th, .markdown-body table td { padding: 6px 13px; - border: 1px solid var(--color-border-default); + border: 1px solid #d0d7de; +} + +.markdown-body table td>:last-child { + margin-bottom: 0; } .markdown-body table tr { - background-color: var(--color-canvas-default); - border-top: 1px solid var(--color-border-muted); + background-color: #ffffff; + border-top: 1px solid hsla(210,18%,87%,1); } .markdown-body table tr:nth-child(2n) { - background-color: var(--color-canvas-subtle); + background-color: #f6f8fa; } .markdown-body table img { @@ -700,7 +618,7 @@ padding: 7px; margin: 13px 0 0; overflow: hidden; - border: 1px solid var(--color-border-default); + border: 1px solid #d0d7de; } .markdown-body span.frame span img { @@ -712,7 +630,7 @@ display: block; padding: 5px 0 0; clear: both; - color: var(--color-fg-default); + color: #24292f; } .markdown-body span.align-center { @@ -781,7 +699,8 @@ padding: .2em .4em; margin: 0; font-size: 85%; - background-color: var(--color-neutral-muted); + white-space: break-spaces; + background-color: rgba(175,184,193,0.2); border-radius: 6px; } @@ -826,7 +745,8 @@ overflow: auto; font-size: 85%; line-height: 1.45; - background-color: var(--color-canvas-subtle); + color: #24292f; + background-color: #f6f8fa; border-radius: 6px; } @@ -856,7 +776,7 @@ .markdown-body .csv-data .blob-num { padding: 10px 8px 9px; text-align: right; - background: var(--color-canvas-default); + background: #ffffff; border: 0; } @@ -866,7 +786,7 @@ .markdown-body .csv-data th { font-weight: 600; - background: var(--color-canvas-subtle); + background: #f6f8fa; border-top: 0; } @@ -880,14 +800,20 @@ .markdown-body .footnotes { font-size: 12px; - color: var(--color-fg-muted); - border-top: 1px solid var(--color-border-default); + color: #57606a; + border-top: 1px solid #d0d7de; } .markdown-body .footnotes ol { padding-left: 16px; } +.markdown-body .footnotes ol ul { + display: inline-block; + padding-left: 16px; + margin-top: 16px; +} + .markdown-body .footnotes li { position: relative; } @@ -900,12 +826,12 @@ left: -24px; pointer-events: none; content: ""; - border: 2px solid var(--color-accent-emphasis); + border: 2px solid #0969da; border-radius: 6px; } .markdown-body .footnotes li:target { - color: var(--color-fg-default); + color: #24292f; } .markdown-body .footnotes .data-footnote-backref g-emoji { @@ -913,30 +839,30 @@ } .markdown-body .pl-c { - color: var(--color-prettylights-syntax-comment); + color: #57606a; } .markdown-body .pl-c1, .markdown-body .pl-s .pl-v { - color: var(--color-prettylights-syntax-constant); + color: #0550ae; } .markdown-body .pl-e, .markdown-body .pl-en { - color: var(--color-prettylights-syntax-entity); + color: #6639ba; } .markdown-body .pl-smi, .markdown-body .pl-s .pl-s1 { - color: var(--color-prettylights-syntax-storage-modifier-import); + color: #24292f; } .markdown-body .pl-ent { - color: var(--color-prettylights-syntax-entity-tag); + color: #0550ae; } .markdown-body .pl-k { - color: var(--color-prettylights-syntax-keyword); + color: #b35900; } .markdown-body .pl-s, @@ -946,98 +872,90 @@ .markdown-body .pl-sr .pl-cce, .markdown-body .pl-sr .pl-sre, .markdown-body .pl-sr .pl-sra { - color: var(--color-prettylights-syntax-string); + color: #0a3069; } .markdown-body .pl-v, .markdown-body .pl-smw { - color: var(--color-prettylights-syntax-variable); + color: #8a4600; } .markdown-body .pl-bu { - color: var(--color-prettylights-syntax-brackethighlighter-unmatched); + color: #6f3800; } .markdown-body .pl-ii { - color: var(--color-prettylights-syntax-invalid-illegal-text); - background-color: var(--color-prettylights-syntax-invalid-illegal-bg); + color: #f6f8fa; + background-color: #6f3800; } .markdown-body .pl-c2 { - color: var(--color-prettylights-syntax-carriage-return-text); - background-color: var(--color-prettylights-syntax-carriage-return-bg); + color: #f6f8fa; + background-color: #b35900; } .markdown-body .pl-sr .pl-cce { font-weight: bold; - color: var(--color-prettylights-syntax-string-regexp); + color: #0550ae; } .markdown-body .pl-ml { - color: var(--color-prettylights-syntax-markup-list); + color: #3b2300; } .markdown-body .pl-mh, .markdown-body .pl-mh .pl-en, .markdown-body .pl-ms { font-weight: bold; - color: var(--color-prettylights-syntax-markup-heading); + color: #0550ae; } .markdown-body .pl-mi { font-style: italic; - color: var(--color-prettylights-syntax-markup-italic); + color: #24292f; } .markdown-body .pl-mb { font-weight: bold; - color: var(--color-prettylights-syntax-markup-bold); + color: #24292f; } .markdown-body .pl-md { - color: var(--color-prettylights-syntax-markup-deleted-text); - background-color: var(--color-prettylights-syntax-markup-deleted-bg); + color: #6f3800; + background-color: #fff5e8; } .markdown-body .pl-mi1 { - color: var(--color-prettylights-syntax-markup-inserted-text); - background-color: var(--color-prettylights-syntax-markup-inserted-bg); + color: #0550ae; + background-color: #ddf4ff; } .markdown-body .pl-mc { - color: var(--color-prettylights-syntax-markup-changed-text); - background-color: var(--color-prettylights-syntax-markup-changed-bg); + color: #8a4600; + background-color: #ffddb0; } .markdown-body .pl-mi2 { - color: var(--color-prettylights-syntax-markup-ignored-text); - background-color: var(--color-prettylights-syntax-markup-ignored-bg); + color: #eaeef2; + background-color: #0550ae; } .markdown-body .pl-mdr { font-weight: bold; - color: var(--color-prettylights-syntax-meta-diff-range); + color: #8250df; } .markdown-body .pl-ba { - color: var(--color-prettylights-syntax-brackethighlighter-angle); + color: #57606a; } .markdown-body .pl-sg { - color: var(--color-prettylights-syntax-sublimelinter-gutter-mark); + color: #8c959f; } .markdown-body .pl-corl { text-decoration: underline; - color: var(--color-prettylights-syntax-constant-other-reference-link); -} - -.markdown-body [data-catalyst] { - display: block; -} - -.markdown-body [data-catalyst-inline] { - display: inline; + color: #0a3069; } .markdown-body g-emoji { @@ -1056,11 +974,6 @@ height: 1em; } -.markdown-body [data-a11y-animated-images=system] [data-animated-image], -.markdown-body [data-a11y-animated-images=disabled] [data-animated-image] { - display: none; -} - .markdown-body .task-list-item { list-style-type: none; } @@ -1082,7 +995,7 @@ } .markdown-body .task-list-item-checkbox { - margin: 0 .2em .25em -1.6em; + margin: 0 .2em .25em -1.4em; vertical-align: middle; } @@ -1090,10 +1003,81 @@ margin: 0 -1.6em .25em .2em; } +.markdown-body .contains-task-list { + position: relative; +} + +.markdown-body .contains-task-list:hover .task-list-item-convert-container, +.markdown-body .contains-task-list:focus-within .task-list-item-convert-container { + display: block; + width: auto; + height: 24px; + overflow: visible; + clip: auto; +} + .markdown-body ::-webkit-calendar-picker-indicator { filter: invert(50%); } -.markdown-body details>summary::-webkit-details-marker { - display: none; +.markdown-body .markdown-alert { + padding: 8px 16px; + margin-bottom: 16px; + color: inherit; + border-left: .25em solid #d0d7de; +} + +.markdown-body .markdown-alert>:first-child { + margin-top: 0; +} + +.markdown-body .markdown-alert>:last-child { + margin-bottom: 0; +} + +.markdown-body .markdown-alert .markdown-alert-title { + display: flex; + font-weight: 500; + align-items: center; + line-height: 1; +} + +.markdown-body .markdown-alert.markdown-alert-note { + border-left-color: #0969da; +} + +.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title { + color: #0969da; +} + +.markdown-body .markdown-alert.markdown-alert-important { + border-left-color: #8250df; +} + +.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title { + color: #8250df; +} + +.markdown-body .markdown-alert.markdown-alert-warning { + border-left-color: #9a6700; +} + +.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title { + color: #9a6700; +} + +.markdown-body .markdown-alert.markdown-alert-tip { + border-left-color: #0969da; +} + +.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title { + color: #0969da; +} + +.markdown-body .markdown-alert.markdown-alert-caution { + border-left-color: #b35900; +} + +.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title { + color: #b35900; } \ No newline at end of file diff --git a/docs/pages/README.md b/docs/pages/README.md index c6f3d8c..ab5dfdb 100644 --- a/docs/pages/README.md +++ b/docs/pages/README.md @@ -1,6 +1,6 @@ # render-gfm -Render (GitHub Flavoured with syntax highlighting) Markdown, and generate CSS for each of GitHub’s themes. +Render GitHub Flavoured Markdown, with CSS for each of GitHub's themes. - [GitHub Repository](https://github.com/shaunbharat/render-gfm) - [npm Package](https://www.npmjs.com/package/render-gfm) @@ -12,77 +12,98 @@ Render (GitHub Flavoured with syntax highlighting) Markdown, and generate CSS fo [This version is rendered Markdown, using render-gfm.](https://shaunbharat.github.io/render-gfm/render-gfm) -## Install +## CLI + +### Install (Globally) ```bash +# Install render-gfm with the --global option (-g) to use the CLI. npm install -g render-gfm ``` -The --global option (-g) is required to globally use the CLI. +### Usage (Commands) ->✅ This package was written using other packages which were written as ES Modules, causing this to be in ESM as well. See [this gist](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c) by [@sindresorhus](https://github.com/sindresorhus) for more info. +> Use the help option (`--help` or `-h`) to see the usage information for each command. -## Usage +```bash +render-gfm --help -Render-gfm can be used programmatically with Javascript, or it can be used at the command line. +# Render Markdown files +render-gfm markdown --help -### API +# Generate CSS +render-gfm themes --help +``` -Import (ESM) +> Examples of the `markdown` command -```javascript -import render from 'render-gfm'; +```bash +# Example - Render "README.md" and "test.md" Markdown files to the output folder "docs" in the current directory +render-gfm markdown -o ./docs README.md test.md -// Using functions other than `render()`: -import { returnRenderedMarkdown(), generateCSS(), writeMarkdown(), writeCSS() } from 'render-gfm'; +# or another example (both relative and absolute paths are allowed) +render-gfm markdown -o ../dist C:/Users/Owner/Desktop/Project/README.md ``` -Usage - -```javascript -/* Examples */ +> Examples of the `themes` command -const html = await returnRenderedMarkdown({ file: '../src/README.md', mode: 'gfm' }); -// => > Returns the rendered Markdown in HTML - -const themes = await generateCSS(); -// => >> Returns the CSS for each theme, inside an object +```bash +# Example - Generate and write the CSS files to the output folder "css" in the current directory +render-gfm themes -o ./css +``` -await writeMarkdown({ file: 'C:/Users/Owner/Desktop/Project/README.md', mode: 'gfm', output_dir: 'C:/Users/Owner/Desktop/Project/dist' }); -// => > Renders a Markdown file and writes it to an HTML file, then returns directory path to it +### Usage (Functions) -await writeCSS({ output_dir: 'C:/Users/Owner/Desktop/Project/assets/css' }); -// => > Generates and writes the CSS for each of GitHub's themes, then returns the path to the CSS files +> The CLI commands are just wrappers around some functions. These functions have been written specifically for the CLI, but are exported and can be used in your code directly. -await render({ file: 'C:/Users/Owner/Desktop/Project/README.md', mode: 'gfm', output_dir: 'C:/Users/Owner/Desktop/Project/dist' }); -// => > Generates CSS and renders Markdown, then writes everything to an output directory +```javascript +/** + * Render Markdown files (looks in the current working directory by default, if relative paths are specified) to the specified output directory. + * @param {string[]} files An array of the Markdown file paths to render. Can be absolute or relative paths. + * @param {string} outputDir The directory to write the rendered HTML to. If unspecified, the default is the folder "dist" in the current working directory. + */ +export async function markdown(files: string[], outputDir: string = './dist'); + +/** + * Generate CSS files for each of GitHub's themes to the specified output directory. + * @param {string} outputDir The directory to write the CSS files to. If unspecified, the default is the folder "dist/css" in the current working directory. + */ +export async function themes(outputDir: string = './dist/css'); ``` -### CLI +## API -Assuming render-gfm was installed globally with `npm install -g render-gfm`, you should now be able to use it from anywhere with your command line. +### Install ```bash -# Render Markdown and generate CSS -gfm --help - -# Only render a Markdown file -gfm markdown --help - -# Only generate the CSS -gfm themes --help - -# Example - Render a Markdown file and generate CSS, to the output folder "dist" in the current directory -gfm README.md -o dist -# or another example (both relative and absolute paths are allowed) -gfm C:/Users/Owner/Desktop/Project/README.md -o ../dist +# Install render-gfm to your JavaScript project. +npm install render-gfm ``` -### Website - -> To-do +### Usage -I'll also put this renderer up as a website, to quickly and easily render your Markdown. +```javascript +import render, { generateCSS } from 'render-gfm'; + +/** + * Generates and returns CSS for each requested theme in the `themes` array, as an object + * @param {string} outputDir The directory to write the CSS files to. If unspecified, the CSS will still be returned in an object, but not written to the filesystem. + * @param {Theme[]} themes An array of the themes to generate CSS for. Defaults to all themes. + * @returns {Promise>} An object containing the CSS for each theme. + */ +export async function generateCSS(outputDir: string, themes: Theme[] = [Theme.Auto, Theme.Light, Theme.Dark, Theme.DarkDimmed, Theme.DarkHighContrast, Theme.LightColorblind, Theme.DarkColorblind]): Promise>; + +/** + * Renders Markdown to HTML. If `outputFile` is specified, the HTML will be written to the filesystem. + * The resulting HTML rendered will be wrapped in a default template, unless `includeDefaultTemplate` is set to false. + * This is useful for when you want to use your own HTML template. + * @param {string} markdown The Markdown to render. + * @param {string} outputFile The file to write the rendered HTML to. If unspecified, the HTML will still be returned, but not written to the filesystem. + * @param {boolean} includeDefaultTemplate Whether or not to include the default HTML template. Default: true. If false, the rendered Markdown will not be wrapped in a template. + * @returns {Promise} The rendered HTML. + */ +export default async function render(markdown: string, outputFile: string, includeDefaultTemplate: boolean = true): Promise; +``` ## License diff --git a/docs/render-gfm.html b/docs/render-gfm.html deleted file mode 100644 index ab8ad3f..0000000 --- a/docs/render-gfm.html +++ /dev/null @@ -1,192 +0,0 @@ - - - - - - GitHub Markdown - - - - - - -
-

render-gfm

-

- Render (GitHub Flavoured with syntax highlighting) Markdown, and - generate CSS for each of GitHub’s themes. -

- -

See Example

-

- This version is rendered Markdown, through GitHub Pages - alone. -

-

- This version is rendered Markdown, using render-gfm. -

-

Install

-
-
npm install -g render-gfm
-
-

The --global option (-g) is required to globally use the CLI.

-
-

- - This package was written using other packages which were - written as ES Modules, causing this to be in ESM as well. - See - this gist - by - @sindresorhus - for more info. -

-
-

Usage

-

- Render-gfm can be used programmatically with Javascript, or it - can be used at the command line. -

-

API

-

Import (ESM)

-
-
import render from 'render-gfm';
-
-// Using functions other than `render()`:
-import { returnRenderedMarkdown(), generateCSS(), writeMarkdown(), writeCSS() } from 'render-gfm';
-
-

Usage

-
-
/* Examples */
-
-const html = await returnRenderedMarkdown({ file: '../src/README.md', mode: 'gfm' });
-// => <Promise<string>> Returns the rendered Markdown in HTML
-
-const themes = await generateCSS();
-// => <Promise<Object<string>>> Returns the CSS for each theme, inside an object
-
-await writeMarkdown({ file: 'C:/Users/Owner/Desktop/Project/README.md', mode: 'gfm', output_dir: 'C:/Users/Owner/Desktop/Project/dist' });
-// => <Promise<string>> Renders a Markdown file and writes it to an HTML file, then returns directory path to it
-
-await writeCSS({ output_dir: 'C:/Users/Owner/Desktop/Project/assets/css' });
-// => <Promise<string>> Generates and writes the CSS for each of GitHub's themes, then returns the path to the CSS files
-
-await render({ file: 'C:/Users/Owner/Desktop/Project/README.md', mode: 'gfm', output_dir: 'C:/Users/Owner/Desktop/Project/dist' });
-// => <Promise<string>> Generates CSS and renders Markdown, then writes everything to an output directory
-
-

CLI

-

- Assuming render-gfm was installed globally with - npm install -g render-gfm, you - should now be able to use it from anywhere with your command - line. -

-
-
# Render Markdown and generate CSS
-gfm --help
-
-# Only render a Markdown file
-gfm markdown --help
-
-# Only generate the CSS
-gfm themes --help
-
-# Example - Render a Markdown file and generate CSS, to the output folder "dist" in the current directory
-gfm README.md -o dist
-# or another example (both relative and absolute paths are allowed)
-gfm C:/Users/Owner/Desktop/Project/README.md -o ../dist
-
-

Website

-
-

To-do

-
-

- I'll also put this renderer up as a website, to quickly and - easily render your Markdown. -

-

License

-

- Copyright © 2022 Shaun Bharat. -

-

- This project is licensed with the MIT - license. -

-
- - - - diff --git a/scripts/build-docs.sh b/scripts/build-docs.sh new file mode 100644 index 0000000..7bcfe26 --- /dev/null +++ b/scripts/build-docs.sh @@ -0,0 +1,4 @@ +npm run render-gfm -- themes --output-dir ./docs/css/ +npm run render-gfm -- markdown --output-dir ./docs/ README.md +mkdir --parents ./docs/pages/ +cp ./README.md ./docs/pages/README.md