UNPKG

@diplodoc/transform

Version:

A simple transformer of text in YFM (Yandex Flavored Markdown) to HTML

769 lines (768 loc) 21.1 kB
/* src/scss/base.scss */ .yfm ol { --hier-list-start: 0; counter-reset: hier-list-item 0; counter-reset: hier-list-item var(--hier-list-start); } .yfm ol > li { counter-increment: hier-list-item; } .yfm ol > li::marker { content: counter(hier-list-item) ". "; } .yfm ol > li > ol { --hier-list-start: 0; counter-reset: sub-hier-list-item 0; counter-reset: sub-hier-list-item var(--hier-list-start); } .yfm ol > li > ol > li { counter-increment: sub-hier-list-item; } .yfm ol > li > ol > li::marker { content: counter(hier-list-item) "." counter(sub-hier-list-item) ". "; } .yfm ol > li > ol > li > ol { --hier-list-start: 0; counter-reset: sub-sub-hier-list-item 0; counter-reset: sub-sub-hier-list-item var(--hier-list-start); } .yfm ol > li > ol > li > ol > li { counter-increment: sub-sub-hier-list-item; } .yfm ol > li > ol > li > ol > li::marker { content: counter(hier-list-item) "." counter(sub-hier-list-item) "." counter(sub-sub-hier-list-item) ". "; } .yfm ol > li > ol > li > ol > li > ol { --hier-list-start: 0; counter-reset: sub-sub-sub-hier-list-item 0; counter-reset: sub-sub-sub-hier-list-item var(--hier-list-start); } .yfm ol > li > ol > li > ol > li > ol > li { counter-increment: sub-sub-sub-hier-list-item; } .yfm ol > li > ol > li > ol > li > ol > li::marker { content: counter(hier-list-item) "." counter(sub-hier-list-item) "." counter(sub-sub-hier-list-item) "." counter(sub-sub-sub-hier-list-item) ". "; } .yfm ol > li > ol > li > ol > li > ol > li > ol { --hier-list-start: 0; counter-reset: sub-sub-sub-sub-hier-list-item 0; counter-reset: sub-sub-sub-sub-hier-list-item var(--hier-list-start); } .yfm ol > li > ol > li > ol > li > ol > li > ol > li { counter-increment: sub-sub-sub-sub-hier-list-item; } .yfm ol > li > ol > li > ol > li > ol > li > ol > li::marker { content: counter(hier-list-item) "." counter(sub-hier-list-item) "." counter(sub-sub-hier-list-item) "." counter(sub-sub-sub-hier-list-item) "." counter(sub-sub-sub-sub-hier-list-item) ". "; } .yfm ol > li > ol > li > ol > li > ol > li > ol > li > ol { --hier-list-start: 0; counter-reset: sub-sub-sub-sub-sub-hier-list-item 0; counter-reset: sub-sub-sub-sub-sub-hier-list-item var(--hier-list-start); } .yfm ol > li > ol > li > ol > li > ol > li > ol > li > ol > li { counter-increment: sub-sub-sub-sub-sub-hier-list-item; } .yfm ol > li > ol > li > ol > li > ol > li > ol > li > ol > li::marker { content: counter(hier-list-item) "." counter(sub-hier-list-item) "." counter(sub-sub-hier-list-item) "." counter(sub-sub-sub-hier-list-item) "." counter(sub-sub-sub-sub-hier-list-item) "." counter(sub-sub-sub-sub-sub-hier-list-item) ". "; } .yfm.yfm_no-list-reset ol, .yfm ol.yfm_no-list-reset, .yfm .yfm_no-list-reset ol { counter-reset: list-item; } .yfm.yfm_no-list-reset ol li, .yfm ol.yfm_no-list-reset li, .yfm .yfm_no-list-reset ol li { counter-increment: none; counter-increment: initial; } .yfm.yfm_no-list-reset ol li::marker, .yfm ol.yfm_no-list-reset li::marker, .yfm .yfm_no-list-reset ol li::marker { content: normal; content: initial; } .yfm { --yfm-color-text-private: rgba(0, 0, 0, 0.7); --yfm-color-link-private: #027bf3; --yfm-color-link-hover-private: #004080; --yfm-color-base-private: #ffffff; --yfm-color-table-private: #333; --yfm-color-border-private: rgba(0, 0, 0, 0.07); --yfm-color-table-row-background-private: rgba(0, 0, 0, 0.02); --yfm-color-table-row-header-background-private: rgba(247, 247, 247, 1); --yfm-color-accent-private: #027bf3; --yfm-color-inline-code-private: rgba(59, 96, 128, 1); --yfm-color-inline-code-background-private: rgba(107, 132, 153, 0.12); --yfm-color-code-background-private: rgba(107, 132, 153, 0.12); --yfm-color-code-background-hovered-private: rgba(107, 132, 153, 0.2); --yfm-color-hljs-background-private: rgba(107, 132, 153, 0.12); --yfm-color-hljs-subst-private: #444; --yfm-color-hljs-comment-private: #888888; --yfm-color-hljs-deletion-private: #880000; --yfm-color-hljs-section-private: #880000; --yfm-color-hljs-pseudo-private: #bc6060; --yfm-color-hljs-literal-private: #78a960; --yfm-color-hljs-addition-private: #397300; --yfm-color-hljs-meta-private: #1f7199; --yfm-color-hljs-meta-string-private: #4d99bf; --yfm-color-note-tip-private: #56bd67; --yfm-color-note-tip-background-private: rgba(63, 201, 46, 0.1); --yfm-color-note-warning-private: #f19518; --yfm-color-note-warning-background-private: rgba(255, 136, 0, 0.15); --yfm-color-note-important-private: #ff4645; --yfm-color-note-important-background-private: rgba(235, 50, 38, 0.08); --yfm-color-note-info-private: #027bf3; --yfm-color-note-info-background-private: rgba(2, 123, 243, 0.08); --yfm-color-term-title-private: #027bf3; --yfm-color-term-title-hover-private: #004080; --yfm-color-term-dfn-background-private: rgb(255, 255, 255); --yfm-color-term-dfn-shadow-private: rgba(0, 0, 0, 0.15); --yfm-color-term-dfn-presudo-shadow-private: rgb(229, 229, 229); --yfm-color-modal-content-private: rgb(255, 255, 255); --yfm-color-modal-actions-hover-private: rgba(0, 0, 0, 0.05); --yfm-color-modal-wide-content-private: rgba(0, 0, 0, 0.85); --yfm-color-modal-wide-content-overlay-private: rgb(0, 0, 0); --yfm-color-base: var(--yfm-color-base-private); --yfm-color-text: var(--yfm-color-text-private); --yfm-color-link: var(--yfm-color-link-private); --yfm-color-link-hover: var(--yfm-color-link-hover-private); --yfm-color-table: var(--yfm-color-table-private); --yfm-color-table-row-background: var(--yfm-color-table-row-background-private); --yfm-color-table-row-header-background: var(--yfm-color-table-row-header-background-private); --yfm-color-border: var(--yfm-color-border-private); --yfm-color-accent: var(--yfm-color-accent-private); --yfm-color-inline-code: var(--yfm-color-inline-code-private); --yfm-color-inline-code-background: var(--yfm-color-inline-code-background-private); --yfm-color-code-background: var(--yfm-color-code-background-private); --yfm-color-code-hovered-background: var(--yfm-color-code-hovered-background-private); --yfm-color-hljs-background: var(--yfm-color-hljs-background-private); --yfm-color-hljs-subst: var(--yfm-color-hljs-subst-private); --yfm-color-hljs-comment: var(--yfm-color-hljs-comment-private); --yfm-color-hljs-deletion: var(--yfm-color-hljs-deletion-private); --yfm-color-hljs-section: var(--yfm-color-hljs-section-private); --yfm-color-hljs-pseudo: var(--yfm-color-hljs-pseudo-private); --yfm-color-hljs-literal: var(--yfm-color-hljs-literal-private); --yfm-color-hljs-addition: var(--yfm-color-hljs-addition-private); --yfm-color-hljs-meta: var(--yfm-color-hljs-meta-private); --yfm-color-hljs-meta-string: var(--yfm-color-hljs-meta-string-private); --yfm-color-note-tip: var(--yfm-color-note-tip-private); --yfm-color-note-tip-background: var(--yfm-color-note-tip-background-private); --yfm-color-note-warning: var(--yfm-color-note-warning-private); --yfm-color-note-warning-background: var(--yfm-color-note-warning-background-private); --yfm-color-note-important: var(--yfm-color-note-important-private); --yfm-color-note-important-background: var(--yfm-color-note-important-background-private); --yfm-color-note-info: var(--yfm-color-note-info-private); --yfm-color-note-info-background: var(--yfm-color-note-info-background-private); --yfm-color-term-title: var(--yfm-color-term-title-private); --yfm-color-term-title-hover: var(--yfm-color-term-title-hover-private); --yfm-color-term-dfn-background: var(--yfm-color-term-dfn-background-private); --yfm-color-term-dfn-shadow: var(--yfm-color-term-dfn-shadow-private); --yfm-color-term-dfn-pseudo-shadow: var(--yfm-color-term-dfn-presudo-shadow-private); --yfm-color-modal-content: var(--yfm-color-modal-content-private); --yfm-color-modal-actions-hover: var(--yfm-color-modal-actions-hover-private); --yfm-color-modal-wide-content: var(--yfm-color-modal-wide-content-private); --yfm-color-modal-wide-content-overlay: var(--yfm-color-modal-wide-content-overlay-private); font-family: "Segoe UI", arial, helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-family: var(--yfm-font-family-sans); font-size: 15px; font-size: var(--yfm-font-size, 15px); line-height: 20px; line-height: var(--yfm-font-line-height, 20px); word-wrap: break-word; color: rgba(0, 0, 0, 0.7); color: var(--yfm-color-text); -moz-tab-size: inherit; -o-tab-size: inherit; tab-size: inherit; -moz-tab-size: var(--yfm-tab-size, inherit); -o-tab-size: var(--yfm-tab-size, inherit); tab-size: var(--yfm-tab-size, inherit); --yfm-font-family-monospace: "Menlo", "Monaco", "Consolas", "Ubuntu Mono", "Liberation Mono", "DejaVu Sans Mono", "Courier New", "Courier", monospace; --yfm-font-family-sans: "Segoe UI", arial, helvetica, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; } .yfm * { box-sizing: border-box; } .yfm > *:not(h2):not(h3):not(h4):not(h5):not(h6):first-child { margin-top: 0 !important; } .yfm > *:last-child { margin-bottom: 0 !important; } .yfm h1, .yfm h2, .yfm h3, .yfm h4, .yfm h5, .yfm h6 { margin-bottom: 15px; font-weight: 500; } .yfm h1 { font-size: 32px; font-size: var(--yfm-font-size-h1, 32px); line-height: 40px; line-height: var(--yfm-font-line-height-h1, 40px); } .yfm h2 { font-size: 24px; font-size: var(--yfm-font-size-h2, 24px); line-height: 28px; line-height: var(--yfm-font-line-height-h2, 28px); } .yfm h3 { font-size: 20px; font-size: var(--yfm-font-size-h3, 20px); line-height: 24px; line-height: var(--yfm-font-line-height-h3, 24px); } .yfm h4 { font-size: 17px; font-size: var(--yfm-font-size-h4, 17px); line-height: 24px; line-height: var(--yfm-font-line-height-h4, 24px); } .yfm h5 { font-size: 15px; font-size: var(--yfm-font-size-h5, 15px); line-height: 20px; line-height: var(--yfm-font-line-height-h5, 20px); } .yfm h6 { font-size: 13px; font-size: var(--yfm-font-size-h6, 13px); line-height: 18px; line-height: var(--yfm-font-line-height-h6, 18px); } .yfm a { background-color: transparent; color: var(--yfm-color-link); -webkit-text-decoration: none; text-decoration: none; } .yfm a:hover, .yfm a:active { color: var(--yfm-color-link-hover); } .yfm a:not([href]) { color: inherit; } .yfm strong { font-weight: 700; } .yfm img, .yfm svg { box-sizing: content-box; max-width: 100%; max-height: -moz-fit-content; max-height: fit-content; border: none; vertical-align: middle; } .yfm img[align=right], .yfm svg[align=right] { padding-left: 20px; } .yfm img[align=left], .yfm svg[align=left] { padding-right: 20px; } .yfm .mermaid svg[id*=mermaid] { max-height: none; } .yfm img { -o-object-fit: contain; object-fit: contain; background-color: var(--yfm-color-base); } .yfm svg { height: auto; } .yfm img + small { display: block; } .yfm p, .yfm blockquote, .yfm ul, .yfm ol, .yfm dl, .yfm table, .yfm pre { margin-block: 0 15px; margin-block: var(--yfm-text-block-margin-block, 0 15px); margin-inline: 0; margin-inline: var(--yfm-text-block-margin-inline, 0); } .yfm ul pre, .yfm ol pre, .yfm dl pre { margin-top: 15px; } .yfm code, .yfm kbd, .yfm pre { font-family: var(--yfm-font-family-monospace); font-size: 1em; font-feature-settings: normal; } .yfm input { margin: 0; overflow: visible; font-family: inherit; font-size: inherit; line-height: inherit; } .yfm input[type=checkbox] { position: relative; top: 1px; box-sizing: border-box; padding: 0; } .yfm table { color: var(--yfm-color-table); display: inline-block; max-width: 100%; width: auto; overflow: auto; position: relative; z-index: 1; box-sizing: border-box; border: 1px solid var(--yfm-color-border); border-radius: 8px; border-collapse: collapse; border-spacing: 0; background: var(--yfm-color-base); } .yfm table thead, .yfm table tr:nth-child(2n) { background-color: var(--yfm-color-table-row-background); } .yfm table tr:first-child td, .yfm table tr:first-child th { border-top: none; } .yfm table tr:last-child td, .yfm table tr:last-child th { border-bottom: none; } .yfm table th, .yfm table td { padding: 10px 20px; overflow: hidden; text-overflow: ellipsis; border: 1px solid var(--yfm-color-border); } .yfm table th > *:first-child, .yfm table td > *:first-child { margin-top: 0; } .yfm table th > *:last-child, .yfm table td > *:last-child { margin-bottom: 0; } .yfm table td { vertical-align: top; white-space: normal; } .yfm table th { font-weight: 500; text-align: left; } .yfm table tr td:first-child, .yfm table tr th:first-child { border-left: none; } .yfm table tr td:last-child, .yfm table tr th:last-child { border-right: none; } .yfm hr { box-sizing: content-box; height: 0.25em; padding: 0; margin: 1.5em 0; overflow: hidden; background-color: var(--yfm-color-border); border: none; } .yfm hr::before { content: ""; display: table; } .yfm hr::after { content: ""; display: table; clear: both; } .yfm blockquote { position: relative; padding-left: 12px; border-left: 3px solid var(--yfm-color-accent); } .yfm blockquote > *:first-child { margin-top: 0; } .yfm blockquote > *:last-child { margin-bottom: 0; } .yfm dl { padding: 0; } .yfm dl > *:first-child { margin-top: 0; } .yfm dl > *:last-child { margin-bottom: 0; } .yfm dl dt { margin-bottom: 5px; font-size: 1em; font-weight: 500; } .yfm dl dd { margin-bottom: 15px; padding: 0 15px; } .yfm dd { margin-left: 0; } .yfm ul, .yfm ol { padding-left: 2.2em; } .yfm ul ul:last-child, .yfm ul ol:last-child, .yfm ol ol:last-child, .yfm ol ul:last-child { margin-top: 0; margin-bottom: 0; } .yfm li { word-wrap: break-word; } .yfm li:first-child, .yfm li + li { margin-block: 0.33em 0; margin-block: var(--yfm-list-item-margin-block, 0.33em 0); } .yfm li p, .yfm li blockquote { margin-block: 0 15px; margin-block: var(--yfm-list-text-margin-block, 0 15px); } .yfm li > p:only-of-type, .yfm li > blockquote:only-of-type, .yfm li > p:first-child:has(+ ul), .yfm li > p:first-child:has(+ ol) { margin-block: 0; margin-block: var(--yfm-list-text-only-margin-block, 0); } .yfm li > p:last-child { margin-block: 0; margin-block: var(--yfm-list-text-last-margin-block, 0); } .yfm code { padding: 0.1em 0.4em 0.15em; background-color: var(--yfm-color-inline-code-background); border-radius: 4px; font-size: 0.875em; white-space: pre-wrap; color: var(--yfm-color-inline-code); -moz-tab-size: inherit; -o-tab-size: inherit; tab-size: inherit; -moz-tab-size: var(--yfm-tab-size-code, inherit); -o-tab-size: var(--yfm-tab-size-code, inherit); tab-size: var(--yfm-tab-size-code, inherit); } .yfm a code { color: inherit; } .yfm pre { word-wrap: normal; } .yfm table code { white-space: nowrap; } .yfm pre * code { display: inline; padding: 0; margin: 0; overflow: visible; word-wrap: normal; background-color: transparent; border: 0; color: var(--yfm-color-text); } .yfm pre > code { display: block; padding: 16px; overflow: auto; background-color: var(--yfm-color-code-background); color: var(--yfm-color-text); white-space: pre; } .yfm pre > code .yfm-line-number { display: inline-block; padding-right: 1em; color: #666; color: var(--yfm-color-line-numbers, #666); -webkit-user-select: none; -moz-user-select: none; user-select: none; } .yfm sup, .yfm sub { line-height: 0; } .yfm .visually-hidden { position: absolute; overflow: hidden; clip: rect(0 0 0 0); width: 1px; height: 1px; margin: -1px; padding: 0; white-space: nowrap; border: 0; clip-path: inset(100%); -webkit-user-select: none; -moz-user-select: none; user-select: none; } .yfm h1 .yfm-clipboard-anchor, .yfm h2 .yfm-clipboard-anchor, .yfm h3 .yfm-clipboard-anchor, .yfm h4 .yfm-clipboard-anchor, .yfm h5 .yfm-clipboard-anchor, .yfm h6 .yfm-clipboard-anchor { background: none; color: var(--yfm-color-link); border: none; padding: 0; font: inherit; cursor: pointer; } .yfm h1 .yfm-clipboard-anchor:hover, .yfm h2 .yfm-clipboard-anchor:hover, .yfm h3 .yfm-clipboard-anchor:hover, .yfm h4 .yfm-clipboard-anchor:hover, .yfm h5 .yfm-clipboard-anchor:hover, .yfm h6 .yfm-clipboard-anchor:hover { color: var(--yfm-color-link-hover); } .yfm h1 .yfm-anchor, .yfm h1 .yfm-clipboard-anchor, .yfm h2 .yfm-anchor, .yfm h2 .yfm-clipboard-anchor, .yfm h3 .yfm-anchor, .yfm h3 .yfm-clipboard-anchor, .yfm h4 .yfm-anchor, .yfm h4 .yfm-clipboard-anchor, .yfm h5 .yfm-anchor, .yfm h5 .yfm-clipboard-anchor, .yfm h6 .yfm-anchor, .yfm h6 .yfm-clipboard-anchor { display: inline-block; width: 24px; padding-right: 4px; margin-left: -24px; float: left; text-align: center; font-size: 18px; } .yfm h1 .yfm-anchor:focus::before, .yfm h1 .yfm-clipboard-anchor:focus::before, .yfm h2 .yfm-anchor:focus::before, .yfm h2 .yfm-clipboard-anchor:focus::before, .yfm h3 .yfm-anchor:focus::before, .yfm h3 .yfm-clipboard-anchor:focus::before, .yfm h4 .yfm-anchor:focus::before, .yfm h4 .yfm-clipboard-anchor:focus::before, .yfm h5 .yfm-anchor:focus::before, .yfm h5 .yfm-clipboard-anchor:focus::before, .yfm h6 .yfm-anchor:focus::before, .yfm h6 .yfm-clipboard-anchor:focus::before { opacity: 1; } .yfm h1 .yfm-anchor::before, .yfm h1 .yfm-clipboard-anchor::before, .yfm h2 .yfm-anchor::before, .yfm h2 .yfm-clipboard-anchor::before, .yfm h3 .yfm-anchor::before, .yfm h3 .yfm-clipboard-anchor::before, .yfm h4 .yfm-anchor::before, .yfm h4 .yfm-clipboard-anchor::before, .yfm h5 .yfm-anchor::before, .yfm h5 .yfm-clipboard-anchor::before, .yfm h6 .yfm-anchor::before, .yfm h6 .yfm-clipboard-anchor::before { content: "#"; opacity: 0; } .yfm h1:hover .yfm-anchor::before, .yfm h1:hover .yfm-clipboard-anchor::before, .yfm h2:hover .yfm-anchor::before, .yfm h2:hover .yfm-clipboard-anchor::before, .yfm h3:hover .yfm-anchor::before, .yfm h3:hover .yfm-clipboard-anchor::before, .yfm h4:hover .yfm-anchor::before, .yfm h4:hover .yfm-clipboard-anchor::before, .yfm h5:hover .yfm-anchor::before, .yfm h5:hover .yfm-clipboard-anchor::before, .yfm h6:hover .yfm-anchor::before, .yfm h6:hover .yfm-clipboard-anchor::before { opacity: 1; } .yfm table h1 .yfm-anchor, .yfm table h1 .yfm-clipboard-anchor, .yfm table h2 .yfm-anchor, .yfm table h2 .yfm-clipboard-anchor, .yfm table h3 .yfm-anchor, .yfm table h3 .yfm-clipboard-anchor, .yfm table h4 .yfm-anchor, .yfm table h4 .yfm-clipboard-anchor, .yfm table h5 .yfm-anchor, .yfm table h5 .yfm-clipboard-anchor, .yfm table h6 .yfm-anchor, .yfm table h6 .yfm-clipboard-anchor { width: 1em; margin-left: -1em; padding-right: 0; } .yfm .yfm-tabs .yfm-anchor::before, .yfm .yfm-tabs .yfm-clipboard-anchor::before { position: absolute; padding-right: 2px; } .yfm .hljs { display: block; overflow-x: auto; padding: 16px; background: var(--yfm-color-hljs-background); } .yfm .hljs, .yfm .hljs-subst { color: var(--yfm-color-hljs-subst); } .yfm .hljs-comment { color: var(--yfm-color-hljs-comment); } .yfm .hljs-keyword, .yfm .hljs-attribute, .yfm .hljs-selector-tag, .yfm .hljs-meta-keyword, .yfm .hljs-doctag, .yfm .hljs-name { font-weight: bold; } .yfm .hljs-type, .yfm .hljs-string, .yfm .hljs-number, .yfm .hljs-selector-id, .yfm .hljs-selector-class, .yfm .hljs-quote, .yfm .hljs-template-tag, .yfm .hljs-deletion { color: var(--yfm-color-hljs-deletion); } .yfm .hljs-title, .yfm .hljs-section { color: var(--yfm-color-hljs-section); font-weight: bold; } .yfm .hljs-regexp, .yfm .hljs-symbol, .yfm .hljs-variable, .yfm .hljs-template-variable, .yfm .hljs-link, .yfm .hljs-selector-attr, .yfm .hljs-selector-pseudo { color: var(--yfm-color-hljs-pseudo); } .yfm .hljs-literal { color: var(--yfm-color-hljs-literal); } .yfm .hljs-built_in, .yfm .hljs-bullet, .yfm .hljs-code, .yfm .hljs-addition { color: var(--yfm-color-hljs-addition); } .yfm .hljs-meta { color: var(--yfm-color-hljs-meta); } .yfm .hljs-meta-string { color: var(--yfm-color-hljs-meta-string); } .yfm .hljs-emphasis { font-style: italic; } .yfm .hljs-strong { font-weight: bold; } .yfm-clipboard { position: relative; } .yfm-clipboard .yfm-clipboard-button { min-width: 20px; min-height: 20px; } .yfm-clipboard:hover .yfm-clipboard-button { opacity: 1; } .yfm-clipboard > pre { border-radius: 10px; overflow: hidden; } .yfm-clipboard-button { position: absolute; top: 16px; right: 16px; z-index: 1; opacity: 0; background: none; color: inherit; border: none; padding: 0; font: inherit; cursor: pointer; } .yfm-clipboard-button:focus { opacity: 1; } .yfm-clipboard-icon { pointer-events: none; } .yfm-clipboard-inline-code { transition: 0.3s; } .yfm-clipboard-inline-code:hover { cursor: pointer; background-color: var(--yfm-color-code-background-hovered-private); } /*# sourceMappingURL=base.css.map */