UNPKG

markugen

Version:

Markdown to HTML/PDF static site generation tool

625 lines (607 loc) 15.9 kB
html.light { /* Syntax highlight styles */ --hljs-attr: #0072b5; --hljs-punctuation: black; --hljs-string: #b55a30; --hljs-keyword: blue; --hljs-number: #8b8000; --hljs-comment: #00a170; /* Markdown alert styles */ --color-border-default: #d0d7de; --color-accent-fg: #0969da; --color-accent-emphasis: #0969da; --color-accent-bg: #0969da22; --color-danger-fg: #d1242f; --color-danger-emphasis: #cf222e; --color-danger-bg: #cf222e22; --color-attention-fg: #9a6700; --color-attention-emphasis: #9a6700; --color-attention-bg: #9a670022; --color-done-fg: #8250df; --color-done-emphasis: #8250df; --color-done-bg: #8250df22; --color-success-fg: #1a7f37; --color-success-emphasis: #1f883d; --color-success-bg: #1f883d22; /* Markugen theme */ --markugen-color: black; --markugen-colorSecondary: black; --markugen-bgColor: white; --markugen-bgColorSecondary: #e5e4e2; --markugen-borderColor: #c0c0c0; --markugen-borderColorSecondary: black; --markugen-accentColor: #1f6feb; --markugen-fontFamily: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", STHeiti, "Microsoft YaHei", SimSun, sans-serif; --markugen-fontFamilyHeaders: Georgia Pro, Crimson, Georgia, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", STHeiti, "Microsoft YaHei", SimSun, sans-serif; --markugen-codeMaxHeight: 500px; } html.dark { /* Syntax highlight styles */ --hljs-attr: lightblue; --hljs-punctuation: #b58900; --hljs-string: #e9897e; --hljs-keyword: #0096ff; --hljs-number: #fdac53; --hljs-comment: #00a170; /* Markdown alert styles */ --color-border-default: #30363d; --color-accent-fg: #58a6ff; --color-accent-emphasis: #1f6feb; --color-accent-bg: #1f6feb22; --color-danger-fg: #f85149; --color-danger-emphasis: #da3633; --color-danger-bg: #da363322; --color-attention-fg: #d29922; --color-attention-emphasis: #9e6a03; --color-attention-bg: #9e6a0322; --color-done-fg: #a371f7; --color-done-emphasis: #8957e5; --color-done-bg: #8957e522; --color-success-fg: #3fb950; --color-success-emphasis: #238636; --color-success-bg: #23863622; /* Markugen theme */ --markugen-color: white; --markugen-colorSecondary: silver; --markugen-bgColor: #423f3e; --markugen-bgColorSecondary: #2b2b2b; --markugen-borderColor: #404040; --markugen-borderColorSecondary: silver; --markugen-accentColor: #a371f7; --markugen-fontFamily: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", STHeiti, "Microsoft YaHei", SimSun, sans-serif; --markugen-fontFamilyHeaders: Georgia Pro, Crimson, Georgia, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", STHeiti, "Microsoft YaHei", SimSun, sans-serif; --markugen-codeMaxHeight: 500px; } html { background: var(--markugen-bgColor); color: var(--markugen-color); scrollbar-color: var(--markugen-borderColor) var(--markugen-bgColorSecondary); font-family: var(--markugen-fontFamily); --markugen-boxShadowTop: 0px -6px 16px 0px rgba(0,0,0,0.2); --markugen-boxShadowBottom: 0px 6px 16px 0px rgba(0,0,0,0.2); } body { margin: 0; padding: 0; } a { text-decoration: none; } a:link, a:visited { color: var(--markugen-accentColor); } h1, h2 { border-bottom: 1px solid var(--markugen-color); padding-bottom: 5px; } h1, h2, h3, h4, h5, h6, th, #markugen-navbar-title, .markugen-tab-label { font-family: var(--markugen-fontFamilyHeaders); } /* Default table styles */ table { border-collapse: collapse; text-align: center; border: 1px solid var(--markugen-borderColorSecondary); } th, td { border-collapse: collapse; padding: 5px 10px; border: 1px solid var(--markugen-borderColorSecondary); } th { background-color: var(--markugen-bgColorSecondary); } /* Utility classes */ .markugen-center { max-width: fit-content; margin-left: auto; margin-right: auto; } .markugen-vheader { text-align: left; } .markugen-indent { position: relative; left: 50px; } .markugen-hidden { display: none; } .markugen-printable { display: none; } /* main content styles */ #markugen-body { min-height: 100%; height: 100%; min-width: 100%; } #markugen-content-row { display: flex; height: 100%; min-height: calc(100vh - 72px); margin-top: 41px; } #markugen-content-left, #markugen-content-right { flex: 1; width: 250px; min-width: 250px; max-width: 250px; min-height: calc(100vh - 72px); max-height: calc(100vh - 72px); } #markugen-content { padding-left: 25px; padding-right: 25px; padding-bottom: 30px; width: 100%; } #markugen-content img { object-fit: contain; max-width: 100%; border-radius: 10px; margin-top: 10px; margin-bottom: 10px; } #markugen-header { font: bold 2em var(--markugen-fontFamilyHeaders); display: flex; align-items: center; justify-content: center; } #markugen-footer { background-color: var(--markugen-bgColorSecondary); border-top: 1px solid var(--markugen-borderColor); box-shadow: var(--markugen-boxShadowTop); width: 100%; max-height: 30px; height: 30px; display: flex; align-items: center; justify-content: center; font-size: 12px; position: fixed; bottom: 0px; left: 0px; } /* navbar styles */ #markugen-navbar { background-color: var(--markugen-bgColorSecondary); color: var(--markugen-color); border-bottom: 1px solid var(--markugen-borderColor); position: fixed; top: 0; width: 100%; z-index: 900; height: 40px; box-shadow: var(--markugen-boxShadowBottom); } #markugen-navbar-content { margin: 5px 15px; height: 30px; display: flex; } #markugen-navbar-menu, #markugen-navbar-toc { cursor: pointer; height: 30px; flex: 1; } #markugen-navbar-title { height: 30px; width: 100%; font-size: 1.5em; padding-left: 15px; padding-right: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } #markugen-navbar-title > a, #markugen-navbar-title > a:visited { color: var(--markugen-color); } #markugen-navbar-title > a:hover { color: var(--markugen-accentColor); } #markugen-navbar-toolbar { height: 30px; flex: 1; display: flex; gap: 10px; } #markugen-theme-toggle { cursor: pointer; padding-top: 5px; } /* sitemap styles */ .markugen-sitemap-entry { padding: 5px 10px; border-right: 4px solid transparent; display: flex; } .markugen-sitemap-entry.active { color: var(--markugen-accentColor); border-right: 4px solid var(--markugen-accentColor); } .markugen-sitemap-entry.link { cursor: pointer; } .markugen-sitemap-entry.link:hover { background-color: var(--markugen-accentColor); transition: all 1s; } .markugen-sitemap-title { width: 100%; } .markugen-sitemap-expander { flex: 1; cursor: pointer; } #markugen-sitemap-menu { border-right: 1px solid var(--markugen-borderColor); background-color: var(--markugen-bgColorSecondary); position: fixed; top: 41px; left: 0px; min-height: calc(100vh - 92px); max-height: calc(100vh - 92px); overflow-y: auto; padding-top: 10px; padding-bottom: 10px; min-width: 250px; max-width: 250px; } /* table of contents styles */ #markugen-toc { border-left: 1px solid var(--markugen-borderColor); background-color: var(--markugen-bgColorSecondary); position: fixed; top: 41px; right: 0px; height: 100%; min-height: calc(100vh - 72px); max-height: calc(100vh - 72px); min-width: 250px; max-width: 250px; } #markugen-toc-content { height: 100%; max-height: calc(100vh - 144px); overflow-y: auto; padding-top: 5px; padding-bottom: 5px; } #markugen-toc-title { border-bottom: 1px solid var(--markugen-borderColor); min-height: 30px; max-height: 30px; display: flex; align-items: center; justify-content: center; } #markugen-toc-back { border-top: 1px solid var(--markugen-borderColor); min-height: 30px; max-height: 30px; display: flex; align-items: center; justify-content: center; } .markugen-toc-link { padding: 5px 10px; border-left: 4px solid transparent; cursor: pointer; } .markugen-toc-link:hover { background-color: var(--markugen-accentColor); transition: all 1s; } .markugen-toc-link.active { color: var(--markugen-accentColor); border-left: 4px solid var(--markugen-accentColor); } .markugen-toc-link.active:hover { color: var(--markugen-color); } /* Tab styles */ .markugen-tabs-container { margin: 10px 0px; } .markugen-tabs { background-color: var(--markugen-bgColorSecondary); border: 1px solid var(--markugen-borderColorSecondary); border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; border-top-right-radius: 10px; box-shadow: var(--markugen-boxShadowBottom); display: grid; margin-top: -1px; } .markugen-tab { grid-column: 1; grid-row: 1; padding: 10px; } .markugen-tabs-labels { display: flex; } .markugen-tab-label { background-color: var(--markugen-bgColorSecondary); border: 1px solid var(--markugen-borderColorSecondary); border-top-right-radius: 5px; border-top-left-radius: 5px; padding: 5px 10px; cursor: pointer; transition: all 1s; } .markugen-tab-label.active { cursor: auto; border-bottom: none; } .markugen-tab-label:not(.active):hover { background-color: var(--markugen-accentColor); } /* Next and Previous styles */ #markugen-prev-next-container { margin-top: 25px; margin-bottom: 25px; display: flex; gap: 25px; } .markugen-prev-next { border: 1px solid var(--markugen-borderColor); background-color: var(--markugen-bgColorSecondary); border-radius: 10px; box-shadow: var(--markugen-boxShadowBottom); padding: 10px; flex: 1; } .markugen-prev-next:hover { color: var(--markugen-color); background-color: var(--markugen-accentColor); cursor: pointer; transition: all 1s; } .markugen-prev-next:hover a { color: var(--markugen-color); } .markugen-prev-next-link { font-size: 1.2em; padding-left: 5px; padding-right: 5px; } .markugen-prev-next-title { display: flex; max-width: fit-content; gap: 5px; padding-bottom: 5px; } .markugen-prev-next-title.next { margin-left: auto; margin-right: 0px; } .markugen-prev-next.next { text-align: right; } /* Code Blocks */ .markugen-code { margin: 10px 0px; max-width: fit-content; background-color: var(--markugen-bgColorSecondary); border-radius: 10px; border: 1px solid var(--markugen-borderColor); box-shadow: var(--markugen-boxShadowBottom); } .markugen-code-toolbar { display: flex; gap: 10px; padding-top: 5px; padding-left: 10px; padding-right: 10px; border-bottom: 1px solid var(--markugen-borderColor); min-height: 30px; max-height: 30px; } .markugen-code-title { flex: 1; } .markugen-code-copy, .markugen-code-save { cursor: pointer; } .markugen-code-content { padding: 10px; margin: 0px; white-space: pre-wrap; max-height: var(--markugen-codeMaxHeight); width: fit-content; max-width: 100%; overflow: auto; } :not(pre) > code { background-color: var(--markugen-bgColorSecondary); border-radius: 0.33em; padding-left: 0.33em; padding-right: 0.33em; } /* Syntax highlighter */ .hljs-attr, .hljs-attribute { color: var(--hljs-attr); } .hljs-punctuation { color: var(--hljs-punctuation); } .hljs-string, .hljs-selector-class, .hljs-selector-pseudo { color: var(--hljs-string); } .hljs-keyword, .hljs-literal, .hljs-built_in, .hljs-section, .hljs-selector-tag, .hljs-meta { color: var(--hljs-keyword); } .hljs-link, .hljs-selector-id { color: var(--markugen-accentColor); } .hljs-number, .hljs-title { color: var(--hljs-number); } .hljs-comment, .hljs-quote { color: var(--hljs-comment); } .hljs-emphasis { font-style: italic; } .hljs-strong { font-weight: bold; } /* Markdown alerts */ .markdown-alert { border: 1px solid var(--borderColor-default, var(--color-border-default)); color: inherit; border-radius: 10px; padding: 0px 10px 10px 10px; font-size: 1.1em; margin-top: 10px; margin-bottom: 10px; box-shadow: var(--markugen-boxShadowBottom); } .markdown-alert>:last-child { margin-bottom: 0!important } .markdown-alert .markdown-alert-title { align-items: center; display: flex; line-height: 1; text-transform: capitalize; } .markdown-alert .markdown-alert-title svg.octicon { margin-right: 8px!important; margin-right: var(--base-size-8,8px) !important; fill: currentColor; } .markdown-alert.markdown-alert-note { border-color: var(--borderColor-accent-emphasis,var(--color-accent-emphasis)); background-color: var(--color-accent-bg); } .markdown-alert.markdown-alert-note .markdown-alert-title { color: var(--color-accent-fg); color: var(--fgColor-accent,var(--color-accent-fg)) } .markdown-alert.markdown-alert-tip { border-color: var(--borderColor-success-emphasis,var(--color-success-emphasis)); background-color: var(--color-success-bg); } .markdown-alert.markdown-alert-tip .markdown-alert-title { color: var(--color-success-fg); color: var(--fgColor-success,var(--color-success-fg)) } .markdown-alert.markdown-alert-important { border-color: var(--borderColor-done-emphasis,var(--color-done-emphasis)); background-color: var(--color-done-bg); } .markdown-alert.markdown-alert-important .markdown-alert-title { color: var(--color-done-fg); color: var(--fgColor-done,var(--color-done-fg)) } .markdown-alert.markdown-alert-warning { border-color: var(--borderColor-attention-emphasis,var(--color-attention-emphasis)); background-color: var(--color-attention-bg); } .markdown-alert.markdown-alert-warning .markdown-alert-title { color: var(--color-attention-fg); color: var(--fgColor-attention,var(--color-attention-fg)) } .markdown-alert.markdown-alert-caution { border-color: var(--borderColor-danger-emphasis,var(--color-danger-emphasis)); background-color: var(--color-danger-bg); } .markdown-alert.markdown-alert-caution .markdown-alert-title { color: var(--color-danger-fg); color: var(--fgColor-danger,var(--color-danger-fg)) } /* styles when printing */ @media print { body { color: black !important; background-color: white !important; box-shadow: none !important; border-color: black !important; } h1, h2 { border-bottom: 1px solid black !important; } #markugen-content-row { height: 100% !important; min-height: 100% !important; margin: 0px 0px !important; } #markugen-content { padding: 0px 0px !important; margin: 0px 0px !important; max-width: 100% !important; color: black !important; background-color: white !important; } #markugen-footer { position: static !important; color: black !important; background-color: white !important; box-shadow: none !important; border-top: 1px solid black !important; } table { border-color: black !important; color: black !important; } th, td { border-color: black !important; } th { background-color: lightgrey !important; } .markugen-tab-label { border: 1px solid black !important; border-top-right-radius: 10px !important; border-top-left-radius: 10px !important; } .markugen-tab { border-left: 1px solid black !important; border-right: 1px solid black !important; border-bottom: 1px solid black !important; border-bottom-right-radius: 10px !important; border-bottom-left-radius: 10px !important; } .markdown-alert { box-shadow: none !important; } .markugen-code { box-shadow: none !important; } .markugen-code-content { max-height: max-content !important; } .markugen-printable { display: block !important; } .markugen-not-printable { display: none !important; } }