├── .eslintrc.js ├── .gitignore ├── LICENSE.md ├── README.md ├── build.js ├── dist ├── KaTeX_AMS-Regular-CYEKBG2K.woff ├── KaTeX_AMS-Regular-JKX5W2C4.ttf ├── KaTeX_AMS-Regular-U6PRYMIZ.woff2 ├── KaTeX_Caligraphic-Bold-5QL5CMTE.woff2 ├── KaTeX_Caligraphic-Bold-WZ3QSGD3.woff ├── KaTeX_Caligraphic-Bold-ZTS3R3HK.ttf ├── KaTeX_Caligraphic-Regular-3LKEU76G.woff ├── KaTeX_Caligraphic-Regular-A7XRTZ5Q.ttf ├── KaTeX_Caligraphic-Regular-KX5MEWCF.woff2 ├── KaTeX_Fraktur-Bold-2QVFK6NQ.woff2 ├── KaTeX_Fraktur-Bold-T4SWXBMT.woff ├── KaTeX_Fraktur-Bold-WGHVTYOR.ttf ├── KaTeX_Fraktur-Regular-2PEIFJSJ.woff2 ├── KaTeX_Fraktur-Regular-5U4OPH2X.ttf ├── KaTeX_Fraktur-Regular-PQMHCIK6.woff ├── KaTeX_Main-Bold-2GA4IZIN.woff ├── KaTeX_Main-Bold-W5FBVCZM.ttf ├── KaTeX_Main-Bold-YP5VVQRP.woff2 ├── KaTeX_Main-BoldItalic-4P4C7HJH.woff ├── KaTeX_Main-BoldItalic-N4V3DX7S.woff2 ├── KaTeX_Main-BoldItalic-ODMLBJJQ.ttf ├── KaTeX_Main-Italic-I43T2HSR.ttf ├── KaTeX_Main-Italic-RELBIK7M.woff2 ├── KaTeX_Main-Italic-SASNQFN2.woff ├── KaTeX_Main-Regular-ARRPAO67.woff2 ├── KaTeX_Main-Regular-P5I74A2A.woff ├── KaTeX_Main-Regular-W74P5G27.ttf ├── KaTeX_Math-BoldItalic-6EBV3DK5.woff ├── KaTeX_Math-BoldItalic-K4WTGH3J.woff2 ├── KaTeX_Math-BoldItalic-VB447A4D.ttf ├── KaTeX_Math-Italic-6KGCHLFN.woff2 ├── KaTeX_Math-Italic-KKK3USB2.woff ├── KaTeX_Math-Italic-SON4MRCA.ttf ├── KaTeX_SansSerif-Bold-RRNVJFFW.woff2 ├── KaTeX_SansSerif-Bold-STQ6RXC7.ttf ├── KaTeX_SansSerif-Bold-X5M5EMOD.woff ├── KaTeX_SansSerif-Italic-HMPFTM52.woff2 ├── KaTeX_SansSerif-Italic-PSN4QKYX.woff ├── KaTeX_SansSerif-Italic-WTBAZBGY.ttf ├── KaTeX_SansSerif-Regular-2TL3USAE.ttf ├── KaTeX_SansSerif-Regular-OQCII6EP.woff ├── KaTeX_SansSerif-Regular-XIQ62X4E.woff2 ├── KaTeX_Script-Regular-72OLXYNA.ttf ├── KaTeX_Script-Regular-A5IFOEBS.woff ├── KaTeX_Script-Regular-APUWIHLP.woff2 ├── KaTeX_Size1-Regular-4HRHTS65.woff ├── KaTeX_Size1-Regular-5LRUTBFT.woff2 ├── KaTeX_Size1-Regular-7K6AASVL.ttf ├── KaTeX_Size2-Regular-222HN3GT.ttf ├── KaTeX_Size2-Regular-K5ZHAIS6.woff ├── KaTeX_Size2-Regular-LELKET5D.woff2 ├── KaTeX_Size3-Regular-TLFPAHDE.woff ├── KaTeX_Size3-Regular-UFCO6WCA.ttf ├── KaTeX_Size3-Regular-WQRQ47UD.woff2 ├── KaTeX_Size4-Regular-7PGNVPQK.ttf ├── KaTeX_Size4-Regular-CDMV7U5C.woff2 ├── KaTeX_Size4-Regular-PKMWZHNC.woff ├── KaTeX_Typewriter-Regular-3F5K6SQ6.ttf ├── KaTeX_Typewriter-Regular-MJMFSK64.woff ├── KaTeX_Typewriter-Regular-VBYJ4NRC.woff2 ├── jcode-md-pure.esm.js ├── jcode-md-pure.js ├── jcode-md.esm.js └── jcode-md.js ├── package-lock.json ├── package.json └── src ├── css ├── common.css ├── markdown-dark.css ├── markdown-light.css ├── prism-dark.css └── prism-light.css ├── index-themed.js ├── index.js ├── jcode-md-themed.js ├── jcode-md.js └── katex.js /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | globals: { 3 | globalThis: true, 4 | JCode: true, 5 | }, 6 | extends: 'eslint-config-sprite', 7 | rules: { 8 | complexity: ['warn', 25], 9 | 'no-unused-vars': 'warn', 10 | 'no-restricted-globals': 'off', 11 | 'max-params': ['warn', 7], 12 | 'import/no-anonymous-default-export': 'off', 13 | 'no-console': 'warn', 14 | 'import/no-named-as-default': 'off', 15 | 'import/no-named-as-default-member': 'off', 16 | }, 17 | }; 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | npm-debug.log* 3 | .nyc_*/ 4 | .dir-locals.el 5 | .DS_Store 6 | .test -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 稀土掘金 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # JCode MD 2 | 3 | 让码上掘金支持 Markdown。 4 | 5 | ## 使用方法 6 | 7 | 直接使用CDN: 8 | 9 | ```html 10 | 11 | ``` 12 | 13 | 定义容器: 14 | 15 | ```html 16 |
17 | ``` 18 | 19 | ```html 20 |
21 | ``` 22 | 23 | 写自定义脚本: 24 | 25 | ```markdown 26 | #!/jcode/lang/markdown https://xitu.github.io/jcode-languages/dist/lang-markdown.json 27 | 28 | # 玩转码上掘金 29 | 30 | ## 第二章 31 | 32 | 如何使用码上掘金?如何使用码上掘金?如何使用码上掘金? 33 | ``` 34 | 35 | 可以结合 [JCode 精选](https://github.com/xitu/jcode-select) 用码上掘金来写文档合辑。 36 | 37 | 例子: [玩转码上掘金](https://jcode.pub) 38 | 39 | ## 高级用法 40 | 41 | 支持 ES-Modules 方式加载: 42 | 43 | ``` 44 | import 'https://unpkg.com/jcode-md'; 45 | ``` 46 | 47 | 可以取消自动渲染: 48 | 49 | ```html 50 |
51 | ``` 52 | 53 | 然后: 54 | 55 | ``` 56 | import {render} from 'https://unpkg.com/jcode-md'; 57 | render(root, { 58 | // options 59 | }); 60 | ``` 61 | 62 | 默认jcode-md带有深色、浅色两种样式,也可以使用不带样式的纯净版: 63 | 64 | ``` 65 | 66 | ``` 67 | 68 | 然后结合[掘金 Markdown 主题](https://github.com/xitu/juejin-markdown-themes)使用。 69 | 70 | 👉🏻 [例子](https://code.juejin.cn/pen/7128211175501742087) 71 | -------------------------------------------------------------------------------- /build.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const {version} = require('./package.json'); 3 | 4 | const StyleLoader = { 5 | name: 'inline-style', 6 | setup({onLoad}) { 7 | const template = css => 8 | // eslint-disable-next-line 9 | `typeof document<'u'&&` + 10 | // eslint-disable-next-line 11 | `document.head.appendChild(document.createElement('style'))` + 12 | `.appendChild(document.createTextNode(${JSON.stringify(css)}))`; 13 | 14 | onLoad({filter: /\.css$/}, async (args) => { 15 | const css = await fs.promises.readFile(args.path, 'utf8'); 16 | return {contents: template(css.replace(/\s+/g, ' '))}; 17 | }); 18 | }, 19 | }; 20 | 21 | const options = { 22 | entryPoints: ['src/index-themed.js'], 23 | outfile: 'dist/jcode-md.js', 24 | bundle: true, 25 | loader: { 26 | '.png': 'base64', 27 | '.svg': 'base64', 28 | '.woff': 'file', 29 | '.ttf': 'file', 30 | '.woff2': 'file', 31 | }, 32 | define: { 33 | VERSION: `"${version}"`, 34 | }, 35 | plugins: [StyleLoader], 36 | }; 37 | 38 | if(process.env.mode === 'production') { 39 | require('esbuild').build({minify: true, ...options}); 40 | require('esbuild').build({ 41 | minify: true, 42 | ...options, 43 | entryPoints: ['src/jcode-md.js'], 44 | outfile: 'dist/jcode-md-pure.js', 45 | }); 46 | require('esbuild').build({ 47 | ...options, 48 | format: 'esm', 49 | entryPoints: ['src/jcode-md-themed.js'], 50 | outfile: 'dist/jcode-md.esm.js', 51 | }); 52 | require('esbuild').build({ 53 | ...options, 54 | format: 'esm', 55 | entryPoints: ['src/jcode-md.js'], 56 | outfile: 'dist/jcode-md-pure.esm.js', 57 | }); 58 | } else { 59 | require('esbuild').serve({ 60 | servedir: '.', 61 | }, options).then((server) => { 62 | console.log(`Server is running at ${server.host}:${server.port}`); 63 | const scriptURL = `http://localhost:${server.port}/${options.outfile}`; 64 | console.log(`打开 https://code.juejin.cn 65 | 设置 ${scriptURL} 到 script 依赖资源,进行调试。`); 66 | }); 67 | } -------------------------------------------------------------------------------- /dist/KaTeX_AMS-Regular-CYEKBG2K.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_AMS-Regular-CYEKBG2K.woff -------------------------------------------------------------------------------- /dist/KaTeX_AMS-Regular-JKX5W2C4.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_AMS-Regular-JKX5W2C4.ttf -------------------------------------------------------------------------------- /dist/KaTeX_AMS-Regular-U6PRYMIZ.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_AMS-Regular-U6PRYMIZ.woff2 -------------------------------------------------------------------------------- /dist/KaTeX_Caligraphic-Bold-5QL5CMTE.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Caligraphic-Bold-5QL5CMTE.woff2 -------------------------------------------------------------------------------- /dist/KaTeX_Caligraphic-Bold-WZ3QSGD3.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Caligraphic-Bold-WZ3QSGD3.woff -------------------------------------------------------------------------------- /dist/KaTeX_Caligraphic-Bold-ZTS3R3HK.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Caligraphic-Bold-ZTS3R3HK.ttf -------------------------------------------------------------------------------- /dist/KaTeX_Caligraphic-Regular-3LKEU76G.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Caligraphic-Regular-3LKEU76G.woff -------------------------------------------------------------------------------- /dist/KaTeX_Caligraphic-Regular-A7XRTZ5Q.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Caligraphic-Regular-A7XRTZ5Q.ttf -------------------------------------------------------------------------------- /dist/KaTeX_Caligraphic-Regular-KX5MEWCF.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Caligraphic-Regular-KX5MEWCF.woff2 -------------------------------------------------------------------------------- /dist/KaTeX_Fraktur-Bold-2QVFK6NQ.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Fraktur-Bold-2QVFK6NQ.woff2 -------------------------------------------------------------------------------- /dist/KaTeX_Fraktur-Bold-T4SWXBMT.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Fraktur-Bold-T4SWXBMT.woff -------------------------------------------------------------------------------- /dist/KaTeX_Fraktur-Bold-WGHVTYOR.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Fraktur-Bold-WGHVTYOR.ttf -------------------------------------------------------------------------------- /dist/KaTeX_Fraktur-Regular-2PEIFJSJ.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Fraktur-Regular-2PEIFJSJ.woff2 -------------------------------------------------------------------------------- /dist/KaTeX_Fraktur-Regular-5U4OPH2X.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Fraktur-Regular-5U4OPH2X.ttf -------------------------------------------------------------------------------- /dist/KaTeX_Fraktur-Regular-PQMHCIK6.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Fraktur-Regular-PQMHCIK6.woff -------------------------------------------------------------------------------- /dist/KaTeX_Main-Bold-2GA4IZIN.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Main-Bold-2GA4IZIN.woff -------------------------------------------------------------------------------- /dist/KaTeX_Main-Bold-W5FBVCZM.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Main-Bold-W5FBVCZM.ttf -------------------------------------------------------------------------------- /dist/KaTeX_Main-Bold-YP5VVQRP.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Main-Bold-YP5VVQRP.woff2 -------------------------------------------------------------------------------- /dist/KaTeX_Main-BoldItalic-4P4C7HJH.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Main-BoldItalic-4P4C7HJH.woff -------------------------------------------------------------------------------- /dist/KaTeX_Main-BoldItalic-N4V3DX7S.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Main-BoldItalic-N4V3DX7S.woff2 -------------------------------------------------------------------------------- /dist/KaTeX_Main-BoldItalic-ODMLBJJQ.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Main-BoldItalic-ODMLBJJQ.ttf -------------------------------------------------------------------------------- /dist/KaTeX_Main-Italic-I43T2HSR.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Main-Italic-I43T2HSR.ttf -------------------------------------------------------------------------------- /dist/KaTeX_Main-Italic-RELBIK7M.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Main-Italic-RELBIK7M.woff2 -------------------------------------------------------------------------------- /dist/KaTeX_Main-Italic-SASNQFN2.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Main-Italic-SASNQFN2.woff -------------------------------------------------------------------------------- /dist/KaTeX_Main-Regular-ARRPAO67.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Main-Regular-ARRPAO67.woff2 -------------------------------------------------------------------------------- /dist/KaTeX_Main-Regular-P5I74A2A.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Main-Regular-P5I74A2A.woff -------------------------------------------------------------------------------- /dist/KaTeX_Main-Regular-W74P5G27.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Main-Regular-W74P5G27.ttf -------------------------------------------------------------------------------- /dist/KaTeX_Math-BoldItalic-6EBV3DK5.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Math-BoldItalic-6EBV3DK5.woff -------------------------------------------------------------------------------- /dist/KaTeX_Math-BoldItalic-K4WTGH3J.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Math-BoldItalic-K4WTGH3J.woff2 -------------------------------------------------------------------------------- /dist/KaTeX_Math-BoldItalic-VB447A4D.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Math-BoldItalic-VB447A4D.ttf -------------------------------------------------------------------------------- /dist/KaTeX_Math-Italic-6KGCHLFN.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Math-Italic-6KGCHLFN.woff2 -------------------------------------------------------------------------------- /dist/KaTeX_Math-Italic-KKK3USB2.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Math-Italic-KKK3USB2.woff -------------------------------------------------------------------------------- /dist/KaTeX_Math-Italic-SON4MRCA.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Math-Italic-SON4MRCA.ttf -------------------------------------------------------------------------------- /dist/KaTeX_SansSerif-Bold-RRNVJFFW.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_SansSerif-Bold-RRNVJFFW.woff2 -------------------------------------------------------------------------------- /dist/KaTeX_SansSerif-Bold-STQ6RXC7.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_SansSerif-Bold-STQ6RXC7.ttf -------------------------------------------------------------------------------- /dist/KaTeX_SansSerif-Bold-X5M5EMOD.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_SansSerif-Bold-X5M5EMOD.woff -------------------------------------------------------------------------------- /dist/KaTeX_SansSerif-Italic-HMPFTM52.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_SansSerif-Italic-HMPFTM52.woff2 -------------------------------------------------------------------------------- /dist/KaTeX_SansSerif-Italic-PSN4QKYX.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_SansSerif-Italic-PSN4QKYX.woff -------------------------------------------------------------------------------- /dist/KaTeX_SansSerif-Italic-WTBAZBGY.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_SansSerif-Italic-WTBAZBGY.ttf -------------------------------------------------------------------------------- /dist/KaTeX_SansSerif-Regular-2TL3USAE.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_SansSerif-Regular-2TL3USAE.ttf -------------------------------------------------------------------------------- /dist/KaTeX_SansSerif-Regular-OQCII6EP.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_SansSerif-Regular-OQCII6EP.woff -------------------------------------------------------------------------------- /dist/KaTeX_SansSerif-Regular-XIQ62X4E.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_SansSerif-Regular-XIQ62X4E.woff2 -------------------------------------------------------------------------------- /dist/KaTeX_Script-Regular-72OLXYNA.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Script-Regular-72OLXYNA.ttf -------------------------------------------------------------------------------- /dist/KaTeX_Script-Regular-A5IFOEBS.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Script-Regular-A5IFOEBS.woff -------------------------------------------------------------------------------- /dist/KaTeX_Script-Regular-APUWIHLP.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Script-Regular-APUWIHLP.woff2 -------------------------------------------------------------------------------- /dist/KaTeX_Size1-Regular-4HRHTS65.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Size1-Regular-4HRHTS65.woff -------------------------------------------------------------------------------- /dist/KaTeX_Size1-Regular-5LRUTBFT.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Size1-Regular-5LRUTBFT.woff2 -------------------------------------------------------------------------------- /dist/KaTeX_Size1-Regular-7K6AASVL.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Size1-Regular-7K6AASVL.ttf -------------------------------------------------------------------------------- /dist/KaTeX_Size2-Regular-222HN3GT.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Size2-Regular-222HN3GT.ttf -------------------------------------------------------------------------------- /dist/KaTeX_Size2-Regular-K5ZHAIS6.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Size2-Regular-K5ZHAIS6.woff -------------------------------------------------------------------------------- /dist/KaTeX_Size2-Regular-LELKET5D.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Size2-Regular-LELKET5D.woff2 -------------------------------------------------------------------------------- /dist/KaTeX_Size3-Regular-TLFPAHDE.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Size3-Regular-TLFPAHDE.woff -------------------------------------------------------------------------------- /dist/KaTeX_Size3-Regular-UFCO6WCA.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Size3-Regular-UFCO6WCA.ttf -------------------------------------------------------------------------------- /dist/KaTeX_Size3-Regular-WQRQ47UD.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Size3-Regular-WQRQ47UD.woff2 -------------------------------------------------------------------------------- /dist/KaTeX_Size4-Regular-7PGNVPQK.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Size4-Regular-7PGNVPQK.ttf -------------------------------------------------------------------------------- /dist/KaTeX_Size4-Regular-CDMV7U5C.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Size4-Regular-CDMV7U5C.woff2 -------------------------------------------------------------------------------- /dist/KaTeX_Size4-Regular-PKMWZHNC.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Size4-Regular-PKMWZHNC.woff -------------------------------------------------------------------------------- /dist/KaTeX_Typewriter-Regular-3F5K6SQ6.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Typewriter-Regular-3F5K6SQ6.ttf -------------------------------------------------------------------------------- /dist/KaTeX_Typewriter-Regular-MJMFSK64.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Typewriter-Regular-MJMFSK64.woff -------------------------------------------------------------------------------- /dist/KaTeX_Typewriter-Regular-VBYJ4NRC.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xitu/jcode-md/4ec5f5baeb4d977e93efb30d14a99bd51de446d3/dist/KaTeX_Typewriter-Regular-VBYJ4NRC.woff2 -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jcode-md", 3 | "version": "0.3.0", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@babel/code-frame": { 8 | "version": "7.0.0-beta.44", 9 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.44.tgz", 10 | "integrity": "sha512-cuAuTTIQ9RqcFRJ/Y8PvTh+paepNcaGxwQwjIDRWPXmzzyAeCO4KqS9ikMvq0MCbRk6GlYKwfzStrcP3/jSL8g==", 11 | "dev": true, 12 | "requires": { 13 | "@babel/highlight": "7.0.0-beta.44" 14 | } 15 | }, 16 | "@babel/generator": { 17 | "version": "7.0.0-beta.44", 18 | "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.44.tgz", 19 | "integrity": "sha512-5xVb7hlhjGcdkKpMXgicAVgx8syK5VJz193k0i/0sLP6DzE6lRrU1K3B/rFefgdo9LPGMAOOOAWW4jycj07ShQ==", 20 | "dev": true, 21 | "requires": { 22 | "@babel/types": "7.0.0-beta.44", 23 | "jsesc": "^2.5.1", 24 | "lodash": "^4.2.0", 25 | "source-map": "^0.5.0", 26 | "trim-right": "^1.0.1" 27 | } 28 | }, 29 | "@babel/helper-function-name": { 30 | "version": "7.0.0-beta.44", 31 | "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.44.tgz", 32 | "integrity": "sha512-MHRG2qZMKMFaBavX0LWpfZ2e+hLloT++N7rfM3DYOMUOGCD8cVjqZpwiL8a0bOX3IYcQev1ruciT0gdFFRTxzg==", 33 | "dev": true, 34 | "requires": { 35 | "@babel/helper-get-function-arity": "7.0.0-beta.44", 36 | "@babel/template": "7.0.0-beta.44", 37 | "@babel/types": "7.0.0-beta.44" 38 | } 39 | }, 40 | "@babel/helper-get-function-arity": { 41 | "version": "7.0.0-beta.44", 42 | "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.44.tgz", 43 | "integrity": "sha512-w0YjWVwrM2HwP6/H3sEgrSQdkCaxppqFeJtAnB23pRiJB5E/O9Yp7JAAeWBl+gGEgmBFinnTyOv2RN7rcSmMiw==", 44 | "dev": true, 45 | "requires": { 46 | "@babel/types": "7.0.0-beta.44" 47 | } 48 | }, 49 | "@babel/helper-split-export-declaration": { 50 | "version": "7.0.0-beta.44", 51 | "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.44.tgz", 52 | "integrity": "sha512-aQ7QowtkgKKzPGf0j6u77kBMdUFVBKNHw2p/3HX/POt5/oz8ec5cs0GwlgM8Hz7ui5EwJnzyfRmkNF1Nx1N7aA==", 53 | "dev": true, 54 | "requires": { 55 | "@babel/types": "7.0.0-beta.44" 56 | } 57 | }, 58 | "@babel/highlight": { 59 | "version": "7.0.0-beta.44", 60 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.44.tgz", 61 | "integrity": "sha512-Il19yJvy7vMFm8AVAh6OZzaFoAd0hbkeMZiX3P5HGD+z7dyI7RzndHB0dg6Urh/VAFfHtpOIzDUSxmY6coyZWQ==", 62 | "dev": true, 63 | "requires": { 64 | "chalk": "^2.0.0", 65 | "esutils": "^2.0.2", 66 | "js-tokens": "^3.0.0" 67 | }, 68 | "dependencies": { 69 | "ansi-styles": { 70 | "version": "3.2.1", 71 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 72 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 73 | "dev": true, 74 | "requires": { 75 | "color-convert": "^1.9.0" 76 | } 77 | }, 78 | "chalk": { 79 | "version": "2.4.2", 80 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 81 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 82 | "dev": true, 83 | "requires": { 84 | "ansi-styles": "^3.2.1", 85 | "escape-string-regexp": "^1.0.5", 86 | "supports-color": "^5.3.0" 87 | } 88 | }, 89 | "color-convert": { 90 | "version": "1.9.3", 91 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 92 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 93 | "dev": true, 94 | "requires": { 95 | "color-name": "1.1.3" 96 | } 97 | }, 98 | "color-name": { 99 | "version": "1.1.3", 100 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 101 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", 102 | "dev": true 103 | }, 104 | "escape-string-regexp": { 105 | "version": "1.0.5", 106 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 107 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", 108 | "dev": true 109 | }, 110 | "has-flag": { 111 | "version": "3.0.0", 112 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 113 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", 114 | "dev": true 115 | }, 116 | "supports-color": { 117 | "version": "5.5.0", 118 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 119 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 120 | "dev": true, 121 | "requires": { 122 | "has-flag": "^3.0.0" 123 | } 124 | } 125 | } 126 | }, 127 | "@babel/template": { 128 | "version": "7.0.0-beta.44", 129 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.44.tgz", 130 | "integrity": "sha512-w750Sloq0UNifLx1rUqwfbnC6uSUk0mfwwgGRfdLiaUzfAOiH0tHJE6ILQIUi3KYkjiCDTskoIsnfqZvWLBDng==", 131 | "dev": true, 132 | "requires": { 133 | "@babel/code-frame": "7.0.0-beta.44", 134 | "@babel/types": "7.0.0-beta.44", 135 | "babylon": "7.0.0-beta.44", 136 | "lodash": "^4.2.0" 137 | } 138 | }, 139 | "@babel/traverse": { 140 | "version": "7.0.0-beta.44", 141 | "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.44.tgz", 142 | "integrity": "sha512-UHuDz8ukQkJCDASKHf+oDt3FVUzFd+QYfuBIsiNu/4+/ix6pP/C+uQZJ6K1oEfbCMv/IKWbgDEh7fcsnIE5AtA==", 143 | "dev": true, 144 | "requires": { 145 | "@babel/code-frame": "7.0.0-beta.44", 146 | "@babel/generator": "7.0.0-beta.44", 147 | "@babel/helper-function-name": "7.0.0-beta.44", 148 | "@babel/helper-split-export-declaration": "7.0.0-beta.44", 149 | "@babel/types": "7.0.0-beta.44", 150 | "babylon": "7.0.0-beta.44", 151 | "debug": "^3.1.0", 152 | "globals": "^11.1.0", 153 | "invariant": "^2.2.0", 154 | "lodash": "^4.2.0" 155 | }, 156 | "dependencies": { 157 | "debug": { 158 | "version": "3.2.7", 159 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 160 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 161 | "dev": true, 162 | "requires": { 163 | "ms": "^2.1.1" 164 | } 165 | }, 166 | "globals": { 167 | "version": "11.12.0", 168 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", 169 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", 170 | "dev": true 171 | } 172 | } 173 | }, 174 | "@babel/types": { 175 | "version": "7.0.0-beta.44", 176 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.44.tgz", 177 | "integrity": "sha512-5eTV4WRmqbaFM3v9gHAIljEQJU4Ssc6fxL61JN+Oe2ga/BwyjzjamwkCVVAQjHGuAX8i0BWo42dshL8eO5KfLQ==", 178 | "dev": true, 179 | "requires": { 180 | "esutils": "^2.0.2", 181 | "lodash": "^4.2.0", 182 | "to-fast-properties": "^2.0.0" 183 | } 184 | }, 185 | "@eslint/eslintrc": { 186 | "version": "1.3.0", 187 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.0.tgz", 188 | "integrity": "sha512-UWW0TMTmk2d7hLcWD1/e2g5HDM/HQ3csaLSqXCfqwh4uNDuNqlaKWXmEsL4Cs41Z0KnILNvwbHAah3C2yt06kw==", 189 | "dev": true, 190 | "requires": { 191 | "ajv": "^6.12.4", 192 | "debug": "^4.3.2", 193 | "espree": "^9.3.2", 194 | "globals": "^13.15.0", 195 | "ignore": "^5.2.0", 196 | "import-fresh": "^3.2.1", 197 | "js-yaml": "^4.1.0", 198 | "minimatch": "^3.1.2", 199 | "strip-json-comments": "^3.1.1" 200 | } 201 | }, 202 | "@humanwhocodes/config-array": { 203 | "version": "0.10.4", 204 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz", 205 | "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==", 206 | "dev": true, 207 | "requires": { 208 | "@humanwhocodes/object-schema": "^1.2.1", 209 | "debug": "^4.1.1", 210 | "minimatch": "^3.0.4" 211 | } 212 | }, 213 | "@humanwhocodes/gitignore-to-minimatch": { 214 | "version": "1.0.2", 215 | "resolved": "https://registry.npmjs.org/@humanwhocodes/gitignore-to-minimatch/-/gitignore-to-minimatch-1.0.2.tgz", 216 | "integrity": "sha512-rSqmMJDdLFUsyxR6FMtD00nfQKKLFb1kv+qBbOVKqErvloEIJLo5bDTJTQNTYgeyp78JsA7u/NPi5jT1GR/MuA==", 217 | "dev": true 218 | }, 219 | "@humanwhocodes/object-schema": { 220 | "version": "1.2.1", 221 | "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", 222 | "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", 223 | "dev": true 224 | }, 225 | "@nodelib/fs.scandir": { 226 | "version": "2.1.5", 227 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 228 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 229 | "dev": true, 230 | "requires": { 231 | "@nodelib/fs.stat": "2.0.5", 232 | "run-parallel": "^1.1.9" 233 | } 234 | }, 235 | "@nodelib/fs.stat": { 236 | "version": "2.0.5", 237 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 238 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 239 | "dev": true 240 | }, 241 | "@nodelib/fs.walk": { 242 | "version": "1.2.8", 243 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 244 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 245 | "dev": true, 246 | "requires": { 247 | "@nodelib/fs.scandir": "2.1.5", 248 | "fastq": "^1.6.0" 249 | } 250 | }, 251 | "@types/json5": { 252 | "version": "0.0.29", 253 | "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", 254 | "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", 255 | "dev": true 256 | }, 257 | "acorn": { 258 | "version": "8.8.0", 259 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", 260 | "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", 261 | "dev": true 262 | }, 263 | "acorn-jsx": { 264 | "version": "5.3.2", 265 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", 266 | "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", 267 | "dev": true 268 | }, 269 | "ajv": { 270 | "version": "6.12.6", 271 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", 272 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", 273 | "dev": true, 274 | "requires": { 275 | "fast-deep-equal": "^3.1.1", 276 | "fast-json-stable-stringify": "^2.0.0", 277 | "json-schema-traverse": "^0.4.1", 278 | "uri-js": "^4.2.2" 279 | } 280 | }, 281 | "ansi-regex": { 282 | "version": "5.0.1", 283 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 284 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 285 | "dev": true 286 | }, 287 | "ansi-styles": { 288 | "version": "4.3.0", 289 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 290 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 291 | "dev": true, 292 | "requires": { 293 | "color-convert": "^2.0.1" 294 | } 295 | }, 296 | "argparse": { 297 | "version": "2.0.1", 298 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", 299 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", 300 | "dev": true 301 | }, 302 | "array-includes": { 303 | "version": "3.1.5", 304 | "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", 305 | "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", 306 | "dev": true, 307 | "requires": { 308 | "call-bind": "^1.0.2", 309 | "define-properties": "^1.1.4", 310 | "es-abstract": "^1.19.5", 311 | "get-intrinsic": "^1.1.1", 312 | "is-string": "^1.0.7" 313 | } 314 | }, 315 | "array-union": { 316 | "version": "2.1.0", 317 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", 318 | "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", 319 | "dev": true 320 | }, 321 | "array.prototype.flat": { 322 | "version": "1.3.0", 323 | "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", 324 | "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", 325 | "dev": true, 326 | "requires": { 327 | "call-bind": "^1.0.2", 328 | "define-properties": "^1.1.3", 329 | "es-abstract": "^1.19.2", 330 | "es-shim-unscopables": "^1.0.0" 331 | } 332 | }, 333 | "babel-eslint": { 334 | "version": "8.2.6", 335 | "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-8.2.6.tgz", 336 | "integrity": "sha512-aCdHjhzcILdP8c9lej7hvXKvQieyRt20SF102SIGyY4cUIiw6UaAtK4j2o3dXX74jEmy0TJ0CEhv4fTIM3SzcA==", 337 | "dev": true, 338 | "requires": { 339 | "@babel/code-frame": "7.0.0-beta.44", 340 | "@babel/traverse": "7.0.0-beta.44", 341 | "@babel/types": "7.0.0-beta.44", 342 | "babylon": "7.0.0-beta.44", 343 | "eslint-scope": "3.7.1", 344 | "eslint-visitor-keys": "^1.0.0" 345 | }, 346 | "dependencies": { 347 | "eslint-scope": { 348 | "version": "3.7.1", 349 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", 350 | "integrity": "sha512-ivpbtpUgg9SJS4TLjK7KdcDhqc/E3CGItsvQbBNLkNGUeMhd5qnJcryba/brESS+dg3vrLqPuc/UcS7jRJdN5A==", 351 | "dev": true, 352 | "requires": { 353 | "esrecurse": "^4.1.0", 354 | "estraverse": "^4.1.1" 355 | } 356 | }, 357 | "eslint-visitor-keys": { 358 | "version": "1.3.0", 359 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", 360 | "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", 361 | "dev": true 362 | }, 363 | "estraverse": { 364 | "version": "4.3.0", 365 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", 366 | "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", 367 | "dev": true 368 | } 369 | } 370 | }, 371 | "babylon": { 372 | "version": "7.0.0-beta.44", 373 | "resolved": "https://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.44.tgz", 374 | "integrity": "sha512-5Hlm13BJVAioCHpImtFqNOF2H3ieTOHd0fmFGMxOJ9jgeFqeAwsv3u5P5cR7CSeFrkgHsT19DgFJkHV0/Mcd8g==", 375 | "dev": true 376 | }, 377 | "balanced-match": { 378 | "version": "1.0.2", 379 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 380 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 381 | "dev": true 382 | }, 383 | "brace-expansion": { 384 | "version": "1.1.11", 385 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 386 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 387 | "dev": true, 388 | "requires": { 389 | "balanced-match": "^1.0.0", 390 | "concat-map": "0.0.1" 391 | } 392 | }, 393 | "braces": { 394 | "version": "3.0.2", 395 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", 396 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", 397 | "dev": true, 398 | "requires": { 399 | "fill-range": "^7.0.1" 400 | } 401 | }, 402 | "call-bind": { 403 | "version": "1.0.2", 404 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", 405 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", 406 | "dev": true, 407 | "requires": { 408 | "function-bind": "^1.1.1", 409 | "get-intrinsic": "^1.0.2" 410 | } 411 | }, 412 | "callsites": { 413 | "version": "3.1.0", 414 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", 415 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", 416 | "dev": true 417 | }, 418 | "chalk": { 419 | "version": "4.1.2", 420 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 421 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 422 | "dev": true, 423 | "requires": { 424 | "ansi-styles": "^4.1.0", 425 | "supports-color": "^7.1.0" 426 | } 427 | }, 428 | "color-convert": { 429 | "version": "2.0.1", 430 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 431 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 432 | "dev": true, 433 | "requires": { 434 | "color-name": "~1.1.4" 435 | } 436 | }, 437 | "color-name": { 438 | "version": "1.1.4", 439 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 440 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 441 | "dev": true 442 | }, 443 | "commander": { 444 | "version": "8.3.0", 445 | "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", 446 | "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" 447 | }, 448 | "concat-map": { 449 | "version": "0.0.1", 450 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 451 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 452 | "dev": true 453 | }, 454 | "confusing-browser-globals": { 455 | "version": "1.0.11", 456 | "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", 457 | "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", 458 | "dev": true 459 | }, 460 | "cross-spawn": { 461 | "version": "7.0.3", 462 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 463 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 464 | "dev": true, 465 | "requires": { 466 | "path-key": "^3.1.0", 467 | "shebang-command": "^2.0.0", 468 | "which": "^2.0.1" 469 | } 470 | }, 471 | "debug": { 472 | "version": "4.3.4", 473 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 474 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 475 | "dev": true, 476 | "requires": { 477 | "ms": "2.1.2" 478 | } 479 | }, 480 | "deep-is": { 481 | "version": "0.1.4", 482 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 483 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", 484 | "dev": true 485 | }, 486 | "define-properties": { 487 | "version": "1.1.4", 488 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", 489 | "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", 490 | "dev": true, 491 | "requires": { 492 | "has-property-descriptors": "^1.0.0", 493 | "object-keys": "^1.1.1" 494 | } 495 | }, 496 | "dir-glob": { 497 | "version": "3.0.1", 498 | "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", 499 | "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", 500 | "dev": true, 501 | "requires": { 502 | "path-type": "^4.0.0" 503 | } 504 | }, 505 | "doctrine": { 506 | "version": "3.0.0", 507 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", 508 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", 509 | "dev": true, 510 | "requires": { 511 | "esutils": "^2.0.2" 512 | } 513 | }, 514 | "es-abstract": { 515 | "version": "1.20.1", 516 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", 517 | "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", 518 | "dev": true, 519 | "requires": { 520 | "call-bind": "^1.0.2", 521 | "es-to-primitive": "^1.2.1", 522 | "function-bind": "^1.1.1", 523 | "function.prototype.name": "^1.1.5", 524 | "get-intrinsic": "^1.1.1", 525 | "get-symbol-description": "^1.0.0", 526 | "has": "^1.0.3", 527 | "has-property-descriptors": "^1.0.0", 528 | "has-symbols": "^1.0.3", 529 | "internal-slot": "^1.0.3", 530 | "is-callable": "^1.2.4", 531 | "is-negative-zero": "^2.0.2", 532 | "is-regex": "^1.1.4", 533 | "is-shared-array-buffer": "^1.0.2", 534 | "is-string": "^1.0.7", 535 | "is-weakref": "^1.0.2", 536 | "object-inspect": "^1.12.0", 537 | "object-keys": "^1.1.1", 538 | "object.assign": "^4.1.2", 539 | "regexp.prototype.flags": "^1.4.3", 540 | "string.prototype.trimend": "^1.0.5", 541 | "string.prototype.trimstart": "^1.0.5", 542 | "unbox-primitive": "^1.0.2" 543 | } 544 | }, 545 | "es-shim-unscopables": { 546 | "version": "1.0.0", 547 | "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", 548 | "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", 549 | "dev": true, 550 | "requires": { 551 | "has": "^1.0.3" 552 | } 553 | }, 554 | "es-to-primitive": { 555 | "version": "1.2.1", 556 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", 557 | "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", 558 | "dev": true, 559 | "requires": { 560 | "is-callable": "^1.1.4", 561 | "is-date-object": "^1.0.1", 562 | "is-symbol": "^1.0.2" 563 | } 564 | }, 565 | "esbuild": { 566 | "version": "0.14.51", 567 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.51.tgz", 568 | "integrity": "sha512-+CvnDitD7Q5sT7F+FM65sWkF8wJRf+j9fPcprxYV4j+ohmzVj2W7caUqH2s5kCaCJAfcAICjSlKhDCcvDpU7nw==", 569 | "dev": true, 570 | "requires": { 571 | "esbuild-android-64": "0.14.51", 572 | "esbuild-android-arm64": "0.14.51", 573 | "esbuild-darwin-64": "0.14.51", 574 | "esbuild-darwin-arm64": "0.14.51", 575 | "esbuild-freebsd-64": "0.14.51", 576 | "esbuild-freebsd-arm64": "0.14.51", 577 | "esbuild-linux-32": "0.14.51", 578 | "esbuild-linux-64": "0.14.51", 579 | "esbuild-linux-arm": "0.14.51", 580 | "esbuild-linux-arm64": "0.14.51", 581 | "esbuild-linux-mips64le": "0.14.51", 582 | "esbuild-linux-ppc64le": "0.14.51", 583 | "esbuild-linux-riscv64": "0.14.51", 584 | "esbuild-linux-s390x": "0.14.51", 585 | "esbuild-netbsd-64": "0.14.51", 586 | "esbuild-openbsd-64": "0.14.51", 587 | "esbuild-sunos-64": "0.14.51", 588 | "esbuild-windows-32": "0.14.51", 589 | "esbuild-windows-64": "0.14.51", 590 | "esbuild-windows-arm64": "0.14.51" 591 | } 592 | }, 593 | "esbuild-android-64": { 594 | "version": "0.14.51", 595 | "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.51.tgz", 596 | "integrity": "sha512-6FOuKTHnC86dtrKDmdSj2CkcKF8PnqkaIXqvgydqfJmqBazCPdw+relrMlhGjkvVdiiGV70rpdnyFmA65ekBCQ==", 597 | "dev": true, 598 | "optional": true 599 | }, 600 | "esbuild-android-arm64": { 601 | "version": "0.14.51", 602 | "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.51.tgz", 603 | "integrity": "sha512-vBtp//5VVkZWmYYvHsqBRCMMi1MzKuMIn5XDScmnykMTu9+TD9v0NMEDqQxvtFToeYmojdo5UCV2vzMQWJcJ4A==", 604 | "dev": true, 605 | "optional": true 606 | }, 607 | "esbuild-darwin-64": { 608 | "version": "0.14.51", 609 | "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.51.tgz", 610 | "integrity": "sha512-YFmXPIOvuagDcwCejMRtCDjgPfnDu+bNeh5FU2Ryi68ADDVlWEpbtpAbrtf/lvFTWPexbgyKgzppNgsmLPr8PA==", 611 | "dev": true, 612 | "optional": true 613 | }, 614 | "esbuild-darwin-arm64": { 615 | "version": "0.14.51", 616 | "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.51.tgz", 617 | "integrity": "sha512-juYD0QnSKwAMfzwKdIF6YbueXzS6N7y4GXPDeDkApz/1RzlT42mvX9jgNmyOlWKN7YzQAYbcUEJmZJYQGdf2ow==", 618 | "dev": true, 619 | "optional": true 620 | }, 621 | "esbuild-freebsd-64": { 622 | "version": "0.14.51", 623 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.51.tgz", 624 | "integrity": "sha512-cLEI/aXjb6vo5O2Y8rvVSQ7smgLldwYY5xMxqh/dQGfWO+R1NJOFsiax3IS4Ng300SVp7Gz3czxT6d6qf2cw0g==", 625 | "dev": true, 626 | "optional": true 627 | }, 628 | "esbuild-freebsd-arm64": { 629 | "version": "0.14.51", 630 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.51.tgz", 631 | "integrity": "sha512-TcWVw/rCL2F+jUgRkgLa3qltd5gzKjIMGhkVybkjk6PJadYInPtgtUBp1/hG+mxyigaT7ib+od1Xb84b+L+1Mg==", 632 | "dev": true, 633 | "optional": true 634 | }, 635 | "esbuild-linux-32": { 636 | "version": "0.14.51", 637 | "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.51.tgz", 638 | "integrity": "sha512-RFqpyC5ChyWrjx8Xj2K0EC1aN0A37H6OJfmUXIASEqJoHcntuV3j2Efr9RNmUhMfNE6yEj2VpYuDteZLGDMr0w==", 639 | "dev": true, 640 | "optional": true 641 | }, 642 | "esbuild-linux-64": { 643 | "version": "0.14.51", 644 | "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.51.tgz", 645 | "integrity": "sha512-dxjhrqo5i7Rq6DXwz5v+MEHVs9VNFItJmHBe1CxROWNf4miOGoQhqSG8StStbDkQ1Mtobg6ng+4fwByOhoQoeA==", 646 | "dev": true, 647 | "optional": true 648 | }, 649 | "esbuild-linux-arm": { 650 | "version": "0.14.51", 651 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.51.tgz", 652 | "integrity": "sha512-LsJynDxYF6Neg7ZC7748yweCDD+N8ByCv22/7IAZglIEniEkqdF4HCaa49JNDLw1UQGlYuhOB8ZT/MmcSWzcWg==", 653 | "dev": true, 654 | "optional": true 655 | }, 656 | "esbuild-linux-arm64": { 657 | "version": "0.14.51", 658 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.51.tgz", 659 | "integrity": "sha512-D9rFxGutoqQX3xJPxqd6o+kvYKeIbM0ifW2y0bgKk5HPgQQOo2k9/2Vpto3ybGYaFPCE5qTGtqQta9PoP6ZEzw==", 660 | "dev": true, 661 | "optional": true 662 | }, 663 | "esbuild-linux-mips64le": { 664 | "version": "0.14.51", 665 | "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.51.tgz", 666 | "integrity": "sha512-vS54wQjy4IinLSlb5EIlLoln8buh1yDgliP4CuEHumrPk4PvvP4kTRIG4SzMXm6t19N0rIfT4bNdAxzJLg2k6A==", 667 | "dev": true, 668 | "optional": true 669 | }, 670 | "esbuild-linux-ppc64le": { 671 | "version": "0.14.51", 672 | "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.51.tgz", 673 | "integrity": "sha512-xcdd62Y3VfGoyphNP/aIV9LP+RzFw5M5Z7ja+zdpQHHvokJM7d0rlDRMN+iSSwvUymQkqZO+G/xjb4/75du8BQ==", 674 | "dev": true, 675 | "optional": true 676 | }, 677 | "esbuild-linux-riscv64": { 678 | "version": "0.14.51", 679 | "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.51.tgz", 680 | "integrity": "sha512-syXHGak9wkAnFz0gMmRBoy44JV0rp4kVCEA36P5MCeZcxFq8+fllBC2t6sKI23w3qd8Vwo9pTADCgjTSf3L3rA==", 681 | "dev": true, 682 | "optional": true 683 | }, 684 | "esbuild-linux-s390x": { 685 | "version": "0.14.51", 686 | "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.51.tgz", 687 | "integrity": "sha512-kFAJY3dv+Wq8o28K/C7xkZk/X34rgTwhknSsElIqoEo8armCOjMJ6NsMxm48KaWY2h2RUYGtQmr+RGuUPKBhyw==", 688 | "dev": true, 689 | "optional": true 690 | }, 691 | "esbuild-netbsd-64": { 692 | "version": "0.14.51", 693 | "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.51.tgz", 694 | "integrity": "sha512-ZZBI7qrR1FevdPBVHz/1GSk1x5GDL/iy42Zy8+neEm/HA7ma+hH/bwPEjeHXKWUDvM36CZpSL/fn1/y9/Hb+1A==", 695 | "dev": true, 696 | "optional": true 697 | }, 698 | "esbuild-openbsd-64": { 699 | "version": "0.14.51", 700 | "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.51.tgz", 701 | "integrity": "sha512-7R1/p39M+LSVQVgDVlcY1KKm6kFKjERSX1lipMG51NPcspJD1tmiZSmmBXoY5jhHIu6JL1QkFDTx94gMYK6vfA==", 702 | "dev": true, 703 | "optional": true 704 | }, 705 | "esbuild-sunos-64": { 706 | "version": "0.14.51", 707 | "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.51.tgz", 708 | "integrity": "sha512-HoHaCswHxLEYN8eBTtyO0bFEWvA3Kdb++hSQ/lLG7TyKF69TeSG0RNoBRAs45x/oCeWaTDntEZlYwAfQlhEtJA==", 709 | "dev": true, 710 | "optional": true 711 | }, 712 | "esbuild-windows-32": { 713 | "version": "0.14.51", 714 | "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.51.tgz", 715 | "integrity": "sha512-4rtwSAM35A07CBt1/X8RWieDj3ZUHQqUOaEo5ZBs69rt5WAFjP4aqCIobdqOy4FdhYw1yF8Z0xFBTyc9lgPtEg==", 716 | "dev": true, 717 | "optional": true 718 | }, 719 | "esbuild-windows-64": { 720 | "version": "0.14.51", 721 | "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.51.tgz", 722 | "integrity": "sha512-HoN/5HGRXJpWODprGCgKbdMvrC3A2gqvzewu2eECRw2sYxOUoh2TV1tS+G7bHNapPGI79woQJGV6pFH7GH7qnA==", 723 | "dev": true, 724 | "optional": true 725 | }, 726 | "esbuild-windows-arm64": { 727 | "version": "0.14.51", 728 | "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.51.tgz", 729 | "integrity": "sha512-JQDqPjuOH7o+BsKMSddMfmVJXrnYZxXDHsoLHc0xgmAZkOOCflRmC43q31pk79F9xuyWY45jDBPolb5ZgGOf9g==", 730 | "dev": true, 731 | "optional": true 732 | }, 733 | "escape-string-regexp": { 734 | "version": "4.0.0", 735 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", 736 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", 737 | "dev": true 738 | }, 739 | "eslint": { 740 | "version": "8.21.0", 741 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.21.0.tgz", 742 | "integrity": "sha512-/XJ1+Qurf1T9G2M5IHrsjp+xrGT73RZf23xA1z5wB1ZzzEAWSZKvRwhWxTFp1rvkvCfwcvAUNAP31bhKTTGfDA==", 743 | "dev": true, 744 | "requires": { 745 | "@eslint/eslintrc": "^1.3.0", 746 | "@humanwhocodes/config-array": "^0.10.4", 747 | "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", 748 | "ajv": "^6.10.0", 749 | "chalk": "^4.0.0", 750 | "cross-spawn": "^7.0.2", 751 | "debug": "^4.3.2", 752 | "doctrine": "^3.0.0", 753 | "escape-string-regexp": "^4.0.0", 754 | "eslint-scope": "^7.1.1", 755 | "eslint-utils": "^3.0.0", 756 | "eslint-visitor-keys": "^3.3.0", 757 | "espree": "^9.3.3", 758 | "esquery": "^1.4.0", 759 | "esutils": "^2.0.2", 760 | "fast-deep-equal": "^3.1.3", 761 | "file-entry-cache": "^6.0.1", 762 | "find-up": "^5.0.0", 763 | "functional-red-black-tree": "^1.0.1", 764 | "glob-parent": "^6.0.1", 765 | "globals": "^13.15.0", 766 | "globby": "^11.1.0", 767 | "grapheme-splitter": "^1.0.4", 768 | "ignore": "^5.2.0", 769 | "import-fresh": "^3.0.0", 770 | "imurmurhash": "^0.1.4", 771 | "is-glob": "^4.0.0", 772 | "js-yaml": "^4.1.0", 773 | "json-stable-stringify-without-jsonify": "^1.0.1", 774 | "levn": "^0.4.1", 775 | "lodash.merge": "^4.6.2", 776 | "minimatch": "^3.1.2", 777 | "natural-compare": "^1.4.0", 778 | "optionator": "^0.9.1", 779 | "regexpp": "^3.2.0", 780 | "strip-ansi": "^6.0.1", 781 | "strip-json-comments": "^3.1.0", 782 | "text-table": "^0.2.0", 783 | "v8-compile-cache": "^2.0.3" 784 | } 785 | }, 786 | "eslint-config-75team": { 787 | "version": "1.0.3", 788 | "resolved": "https://registry.npmjs.org/eslint-config-75team/-/eslint-config-75team-1.0.3.tgz", 789 | "integrity": "sha512-eAuNjuJeP6Ov0rWg11KtrP3ls2nGd/GOSBPb3yUmLmRAcUYwIe4ZPjlb5cnmCL+ulmaOaYf2tTHgkGRP8AxkCA==", 790 | "dev": true, 791 | "requires": { 792 | "babel-eslint": "^8.0.1", 793 | "eslint-config-airbnb-base": "^13.0.0", 794 | "eslint-plugin-import": "^2.13.0" 795 | } 796 | }, 797 | "eslint-config-airbnb-base": { 798 | "version": "13.2.0", 799 | "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.2.0.tgz", 800 | "integrity": "sha512-1mg/7eoB4AUeB0X1c/ho4vb2gYkNH8Trr/EgCT/aGmKhhG+F6vF5s8+iRBlWAzFIAphxIdp3YfEKgEl0f9Xg+w==", 801 | "dev": true, 802 | "requires": { 803 | "confusing-browser-globals": "^1.0.5", 804 | "object.assign": "^4.1.0", 805 | "object.entries": "^1.1.0" 806 | } 807 | }, 808 | "eslint-config-sprite": { 809 | "version": "1.0.6", 810 | "resolved": "https://registry.npmjs.org/eslint-config-sprite/-/eslint-config-sprite-1.0.6.tgz", 811 | "integrity": "sha512-qDLTXYo7fP5wmBaoxEVGSwevi4O6yX5/l/JXMpZaUQD07c15kAiFkqPDy3VmWvcCDwCru+//3Gw3Iy34TD6+AQ==", 812 | "dev": true, 813 | "requires": { 814 | "eslint-config-75team": "^1.0.3", 815 | "eslint-plugin-import": "^2.13.0", 816 | "eslint-plugin-promise": "^3.8.0" 817 | } 818 | }, 819 | "eslint-import-resolver-node": { 820 | "version": "0.3.6", 821 | "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", 822 | "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", 823 | "dev": true, 824 | "requires": { 825 | "debug": "^3.2.7", 826 | "resolve": "^1.20.0" 827 | }, 828 | "dependencies": { 829 | "debug": { 830 | "version": "3.2.7", 831 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 832 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 833 | "dev": true, 834 | "requires": { 835 | "ms": "^2.1.1" 836 | } 837 | } 838 | } 839 | }, 840 | "eslint-module-utils": { 841 | "version": "2.7.3", 842 | "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", 843 | "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==", 844 | "dev": true, 845 | "requires": { 846 | "debug": "^3.2.7", 847 | "find-up": "^2.1.0" 848 | }, 849 | "dependencies": { 850 | "debug": { 851 | "version": "3.2.7", 852 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", 853 | "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", 854 | "dev": true, 855 | "requires": { 856 | "ms": "^2.1.1" 857 | } 858 | }, 859 | "find-up": { 860 | "version": "2.1.0", 861 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", 862 | "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", 863 | "dev": true, 864 | "requires": { 865 | "locate-path": "^2.0.0" 866 | } 867 | }, 868 | "locate-path": { 869 | "version": "2.0.0", 870 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", 871 | "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", 872 | "dev": true, 873 | "requires": { 874 | "p-locate": "^2.0.0", 875 | "path-exists": "^3.0.0" 876 | } 877 | }, 878 | "p-limit": { 879 | "version": "1.3.0", 880 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", 881 | "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", 882 | "dev": true, 883 | "requires": { 884 | "p-try": "^1.0.0" 885 | } 886 | }, 887 | "p-locate": { 888 | "version": "2.0.0", 889 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", 890 | "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", 891 | "dev": true, 892 | "requires": { 893 | "p-limit": "^1.1.0" 894 | } 895 | }, 896 | "path-exists": { 897 | "version": "3.0.0", 898 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", 899 | "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", 900 | "dev": true 901 | } 902 | } 903 | }, 904 | "eslint-plugin-import": { 905 | "version": "2.26.0", 906 | "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", 907 | "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", 908 | "dev": true, 909 | "requires": { 910 | "array-includes": "^3.1.4", 911 | "array.prototype.flat": "^1.2.5", 912 | "debug": "^2.6.9", 913 | "doctrine": "^2.1.0", 914 | "eslint-import-resolver-node": "^0.3.6", 915 | "eslint-module-utils": "^2.7.3", 916 | "has": "^1.0.3", 917 | "is-core-module": "^2.8.1", 918 | "is-glob": "^4.0.3", 919 | "minimatch": "^3.1.2", 920 | "object.values": "^1.1.5", 921 | "resolve": "^1.22.0", 922 | "tsconfig-paths": "^3.14.1" 923 | }, 924 | "dependencies": { 925 | "debug": { 926 | "version": "2.6.9", 927 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", 928 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", 929 | "dev": true, 930 | "requires": { 931 | "ms": "2.0.0" 932 | } 933 | }, 934 | "doctrine": { 935 | "version": "2.1.0", 936 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", 937 | "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", 938 | "dev": true, 939 | "requires": { 940 | "esutils": "^2.0.2" 941 | } 942 | }, 943 | "ms": { 944 | "version": "2.0.0", 945 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", 946 | "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", 947 | "dev": true 948 | } 949 | } 950 | }, 951 | "eslint-plugin-promise": { 952 | "version": "3.8.0", 953 | "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.8.0.tgz", 954 | "integrity": "sha512-JiFL9UFR15NKpHyGii1ZcvmtIqa3UTwiDAGb8atSffe43qJ3+1czVGN6UtkklpcJ2DVnqvTMzEKRaJdBkAL2aQ==", 955 | "dev": true 956 | }, 957 | "eslint-scope": { 958 | "version": "7.1.1", 959 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", 960 | "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", 961 | "dev": true, 962 | "requires": { 963 | "esrecurse": "^4.3.0", 964 | "estraverse": "^5.2.0" 965 | } 966 | }, 967 | "eslint-utils": { 968 | "version": "3.0.0", 969 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", 970 | "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", 971 | "dev": true, 972 | "requires": { 973 | "eslint-visitor-keys": "^2.0.0" 974 | }, 975 | "dependencies": { 976 | "eslint-visitor-keys": { 977 | "version": "2.1.0", 978 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", 979 | "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", 980 | "dev": true 981 | } 982 | } 983 | }, 984 | "eslint-visitor-keys": { 985 | "version": "3.3.0", 986 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", 987 | "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", 988 | "dev": true 989 | }, 990 | "espree": { 991 | "version": "9.3.3", 992 | "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.3.tgz", 993 | "integrity": "sha512-ORs1Rt/uQTqUKjDdGCyrtYxbazf5umATSf/K4qxjmZHORR6HJk+2s/2Pqe+Kk49HHINC/xNIrGfgh8sZcll0ng==", 994 | "dev": true, 995 | "requires": { 996 | "acorn": "^8.8.0", 997 | "acorn-jsx": "^5.3.2", 998 | "eslint-visitor-keys": "^3.3.0" 999 | } 1000 | }, 1001 | "esquery": { 1002 | "version": "1.4.0", 1003 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", 1004 | "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", 1005 | "dev": true, 1006 | "requires": { 1007 | "estraverse": "^5.1.0" 1008 | } 1009 | }, 1010 | "esrecurse": { 1011 | "version": "4.3.0", 1012 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 1013 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 1014 | "dev": true, 1015 | "requires": { 1016 | "estraverse": "^5.2.0" 1017 | } 1018 | }, 1019 | "estraverse": { 1020 | "version": "5.3.0", 1021 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 1022 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 1023 | "dev": true 1024 | }, 1025 | "esutils": { 1026 | "version": "2.0.3", 1027 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 1028 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 1029 | "dev": true 1030 | }, 1031 | "fast-deep-equal": { 1032 | "version": "3.1.3", 1033 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 1034 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 1035 | "dev": true 1036 | }, 1037 | "fast-glob": { 1038 | "version": "3.2.11", 1039 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", 1040 | "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", 1041 | "dev": true, 1042 | "requires": { 1043 | "@nodelib/fs.stat": "^2.0.2", 1044 | "@nodelib/fs.walk": "^1.2.3", 1045 | "glob-parent": "^5.1.2", 1046 | "merge2": "^1.3.0", 1047 | "micromatch": "^4.0.4" 1048 | }, 1049 | "dependencies": { 1050 | "glob-parent": { 1051 | "version": "5.1.2", 1052 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1053 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1054 | "dev": true, 1055 | "requires": { 1056 | "is-glob": "^4.0.1" 1057 | } 1058 | } 1059 | } 1060 | }, 1061 | "fast-json-stable-stringify": { 1062 | "version": "2.1.0", 1063 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", 1064 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", 1065 | "dev": true 1066 | }, 1067 | "fast-levenshtein": { 1068 | "version": "2.0.6", 1069 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 1070 | "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", 1071 | "dev": true 1072 | }, 1073 | "fastq": { 1074 | "version": "1.13.0", 1075 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", 1076 | "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", 1077 | "dev": true, 1078 | "requires": { 1079 | "reusify": "^1.0.4" 1080 | } 1081 | }, 1082 | "file-entry-cache": { 1083 | "version": "6.0.1", 1084 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", 1085 | "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", 1086 | "dev": true, 1087 | "requires": { 1088 | "flat-cache": "^3.0.4" 1089 | } 1090 | }, 1091 | "fill-range": { 1092 | "version": "7.0.1", 1093 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", 1094 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", 1095 | "dev": true, 1096 | "requires": { 1097 | "to-regex-range": "^5.0.1" 1098 | } 1099 | }, 1100 | "find-up": { 1101 | "version": "5.0.0", 1102 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", 1103 | "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", 1104 | "dev": true, 1105 | "requires": { 1106 | "locate-path": "^6.0.0", 1107 | "path-exists": "^4.0.0" 1108 | } 1109 | }, 1110 | "flat-cache": { 1111 | "version": "3.0.4", 1112 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", 1113 | "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", 1114 | "dev": true, 1115 | "requires": { 1116 | "flatted": "^3.1.0", 1117 | "rimraf": "^3.0.2" 1118 | } 1119 | }, 1120 | "flatted": { 1121 | "version": "3.2.6", 1122 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.6.tgz", 1123 | "integrity": "sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==", 1124 | "dev": true 1125 | }, 1126 | "fs.realpath": { 1127 | "version": "1.0.0", 1128 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1129 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 1130 | "dev": true 1131 | }, 1132 | "function-bind": { 1133 | "version": "1.1.1", 1134 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 1135 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 1136 | "dev": true 1137 | }, 1138 | "function.prototype.name": { 1139 | "version": "1.1.5", 1140 | "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", 1141 | "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", 1142 | "dev": true, 1143 | "requires": { 1144 | "call-bind": "^1.0.2", 1145 | "define-properties": "^1.1.3", 1146 | "es-abstract": "^1.19.0", 1147 | "functions-have-names": "^1.2.2" 1148 | } 1149 | }, 1150 | "functional-red-black-tree": { 1151 | "version": "1.0.1", 1152 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", 1153 | "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", 1154 | "dev": true 1155 | }, 1156 | "functions-have-names": { 1157 | "version": "1.2.3", 1158 | "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", 1159 | "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", 1160 | "dev": true 1161 | }, 1162 | "get-intrinsic": { 1163 | "version": "1.1.2", 1164 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", 1165 | "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", 1166 | "dev": true, 1167 | "requires": { 1168 | "function-bind": "^1.1.1", 1169 | "has": "^1.0.3", 1170 | "has-symbols": "^1.0.3" 1171 | } 1172 | }, 1173 | "get-symbol-description": { 1174 | "version": "1.0.0", 1175 | "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", 1176 | "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", 1177 | "dev": true, 1178 | "requires": { 1179 | "call-bind": "^1.0.2", 1180 | "get-intrinsic": "^1.1.1" 1181 | } 1182 | }, 1183 | "github-markdown-css": { 1184 | "version": "5.1.0", 1185 | "resolved": "https://registry.npmjs.org/github-markdown-css/-/github-markdown-css-5.1.0.tgz", 1186 | "integrity": "sha512-QLtORwHHtUHhPMHu7i4GKfP6Vx5CWZn+NKQXe+cBhslY1HEt0CTEkP4d/vSROKV0iIJSpl4UtlQ16AD8C6lMug==" 1187 | }, 1188 | "glob": { 1189 | "version": "7.2.3", 1190 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 1191 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 1192 | "dev": true, 1193 | "requires": { 1194 | "fs.realpath": "^1.0.0", 1195 | "inflight": "^1.0.4", 1196 | "inherits": "2", 1197 | "minimatch": "^3.1.1", 1198 | "once": "^1.3.0", 1199 | "path-is-absolute": "^1.0.0" 1200 | } 1201 | }, 1202 | "glob-parent": { 1203 | "version": "6.0.2", 1204 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 1205 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 1206 | "dev": true, 1207 | "requires": { 1208 | "is-glob": "^4.0.3" 1209 | } 1210 | }, 1211 | "globals": { 1212 | "version": "13.17.0", 1213 | "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz", 1214 | "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==", 1215 | "dev": true, 1216 | "requires": { 1217 | "type-fest": "^0.20.2" 1218 | } 1219 | }, 1220 | "globby": { 1221 | "version": "11.1.0", 1222 | "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", 1223 | "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", 1224 | "dev": true, 1225 | "requires": { 1226 | "array-union": "^2.1.0", 1227 | "dir-glob": "^3.0.1", 1228 | "fast-glob": "^3.2.9", 1229 | "ignore": "^5.2.0", 1230 | "merge2": "^1.4.1", 1231 | "slash": "^3.0.0" 1232 | } 1233 | }, 1234 | "grapheme-splitter": { 1235 | "version": "1.0.4", 1236 | "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", 1237 | "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", 1238 | "dev": true 1239 | }, 1240 | "has": { 1241 | "version": "1.0.3", 1242 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 1243 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 1244 | "dev": true, 1245 | "requires": { 1246 | "function-bind": "^1.1.1" 1247 | } 1248 | }, 1249 | "has-bigints": { 1250 | "version": "1.0.2", 1251 | "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", 1252 | "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", 1253 | "dev": true 1254 | }, 1255 | "has-flag": { 1256 | "version": "4.0.0", 1257 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 1258 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 1259 | "dev": true 1260 | }, 1261 | "has-property-descriptors": { 1262 | "version": "1.0.0", 1263 | "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", 1264 | "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", 1265 | "dev": true, 1266 | "requires": { 1267 | "get-intrinsic": "^1.1.1" 1268 | } 1269 | }, 1270 | "has-symbols": { 1271 | "version": "1.0.3", 1272 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", 1273 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", 1274 | "dev": true 1275 | }, 1276 | "has-tostringtag": { 1277 | "version": "1.0.0", 1278 | "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", 1279 | "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", 1280 | "dev": true, 1281 | "requires": { 1282 | "has-symbols": "^1.0.2" 1283 | } 1284 | }, 1285 | "ignore": { 1286 | "version": "5.2.0", 1287 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", 1288 | "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", 1289 | "dev": true 1290 | }, 1291 | "import-fresh": { 1292 | "version": "3.3.0", 1293 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", 1294 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", 1295 | "dev": true, 1296 | "requires": { 1297 | "parent-module": "^1.0.0", 1298 | "resolve-from": "^4.0.0" 1299 | } 1300 | }, 1301 | "imurmurhash": { 1302 | "version": "0.1.4", 1303 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 1304 | "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 1305 | "dev": true 1306 | }, 1307 | "inflight": { 1308 | "version": "1.0.6", 1309 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1310 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 1311 | "dev": true, 1312 | "requires": { 1313 | "once": "^1.3.0", 1314 | "wrappy": "1" 1315 | } 1316 | }, 1317 | "inherits": { 1318 | "version": "2.0.4", 1319 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1320 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1321 | "dev": true 1322 | }, 1323 | "internal-slot": { 1324 | "version": "1.0.3", 1325 | "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", 1326 | "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", 1327 | "dev": true, 1328 | "requires": { 1329 | "get-intrinsic": "^1.1.0", 1330 | "has": "^1.0.3", 1331 | "side-channel": "^1.0.4" 1332 | } 1333 | }, 1334 | "invariant": { 1335 | "version": "2.2.4", 1336 | "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", 1337 | "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", 1338 | "dev": true, 1339 | "requires": { 1340 | "loose-envify": "^1.0.0" 1341 | } 1342 | }, 1343 | "is-bigint": { 1344 | "version": "1.0.4", 1345 | "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", 1346 | "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", 1347 | "dev": true, 1348 | "requires": { 1349 | "has-bigints": "^1.0.1" 1350 | } 1351 | }, 1352 | "is-boolean-object": { 1353 | "version": "1.1.2", 1354 | "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", 1355 | "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", 1356 | "dev": true, 1357 | "requires": { 1358 | "call-bind": "^1.0.2", 1359 | "has-tostringtag": "^1.0.0" 1360 | } 1361 | }, 1362 | "is-callable": { 1363 | "version": "1.2.4", 1364 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", 1365 | "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", 1366 | "dev": true 1367 | }, 1368 | "is-core-module": { 1369 | "version": "2.9.0", 1370 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", 1371 | "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", 1372 | "dev": true, 1373 | "requires": { 1374 | "has": "^1.0.3" 1375 | } 1376 | }, 1377 | "is-date-object": { 1378 | "version": "1.0.5", 1379 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", 1380 | "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", 1381 | "dev": true, 1382 | "requires": { 1383 | "has-tostringtag": "^1.0.0" 1384 | } 1385 | }, 1386 | "is-extglob": { 1387 | "version": "2.1.1", 1388 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1389 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 1390 | "dev": true 1391 | }, 1392 | "is-glob": { 1393 | "version": "4.0.3", 1394 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1395 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1396 | "dev": true, 1397 | "requires": { 1398 | "is-extglob": "^2.1.1" 1399 | } 1400 | }, 1401 | "is-negative-zero": { 1402 | "version": "2.0.2", 1403 | "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", 1404 | "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", 1405 | "dev": true 1406 | }, 1407 | "is-number": { 1408 | "version": "7.0.0", 1409 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1410 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1411 | "dev": true 1412 | }, 1413 | "is-number-object": { 1414 | "version": "1.0.7", 1415 | "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", 1416 | "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", 1417 | "dev": true, 1418 | "requires": { 1419 | "has-tostringtag": "^1.0.0" 1420 | } 1421 | }, 1422 | "is-regex": { 1423 | "version": "1.1.4", 1424 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", 1425 | "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", 1426 | "dev": true, 1427 | "requires": { 1428 | "call-bind": "^1.0.2", 1429 | "has-tostringtag": "^1.0.0" 1430 | } 1431 | }, 1432 | "is-shared-array-buffer": { 1433 | "version": "1.0.2", 1434 | "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", 1435 | "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", 1436 | "dev": true, 1437 | "requires": { 1438 | "call-bind": "^1.0.2" 1439 | } 1440 | }, 1441 | "is-string": { 1442 | "version": "1.0.7", 1443 | "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", 1444 | "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", 1445 | "dev": true, 1446 | "requires": { 1447 | "has-tostringtag": "^1.0.0" 1448 | } 1449 | }, 1450 | "is-symbol": { 1451 | "version": "1.0.4", 1452 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", 1453 | "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", 1454 | "dev": true, 1455 | "requires": { 1456 | "has-symbols": "^1.0.2" 1457 | } 1458 | }, 1459 | "is-weakref": { 1460 | "version": "1.0.2", 1461 | "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", 1462 | "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", 1463 | "dev": true, 1464 | "requires": { 1465 | "call-bind": "^1.0.2" 1466 | } 1467 | }, 1468 | "isexe": { 1469 | "version": "2.0.0", 1470 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1471 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 1472 | "dev": true 1473 | }, 1474 | "js-tokens": { 1475 | "version": "3.0.2", 1476 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", 1477 | "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==", 1478 | "dev": true 1479 | }, 1480 | "js-yaml": { 1481 | "version": "4.1.0", 1482 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", 1483 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", 1484 | "dev": true, 1485 | "requires": { 1486 | "argparse": "^2.0.1" 1487 | } 1488 | }, 1489 | "jsesc": { 1490 | "version": "2.5.2", 1491 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", 1492 | "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", 1493 | "dev": true 1494 | }, 1495 | "json-schema-traverse": { 1496 | "version": "0.4.1", 1497 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", 1498 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", 1499 | "dev": true 1500 | }, 1501 | "json-stable-stringify-without-jsonify": { 1502 | "version": "1.0.1", 1503 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", 1504 | "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", 1505 | "dev": true 1506 | }, 1507 | "json5": { 1508 | "version": "1.0.1", 1509 | "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", 1510 | "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", 1511 | "dev": true, 1512 | "requires": { 1513 | "minimist": "^1.2.0" 1514 | } 1515 | }, 1516 | "katex": { 1517 | "version": "0.16.0", 1518 | "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.0.tgz", 1519 | "integrity": "sha512-wPRB4iUPysfH97wTgG5/tRLYxmKVq6Q4jRAWRVOUxXB1dsiv4cvcNjqabHkrOvJHM1Bpk3WrgmllSO1vIvP24w==", 1520 | "requires": { 1521 | "commander": "^8.0.0" 1522 | } 1523 | }, 1524 | "levn": { 1525 | "version": "0.4.1", 1526 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", 1527 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", 1528 | "dev": true, 1529 | "requires": { 1530 | "prelude-ls": "^1.2.1", 1531 | "type-check": "~0.4.0" 1532 | } 1533 | }, 1534 | "locate-path": { 1535 | "version": "6.0.0", 1536 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", 1537 | "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", 1538 | "dev": true, 1539 | "requires": { 1540 | "p-locate": "^5.0.0" 1541 | } 1542 | }, 1543 | "lodash": { 1544 | "version": "4.17.21", 1545 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 1546 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", 1547 | "dev": true 1548 | }, 1549 | "lodash.merge": { 1550 | "version": "4.6.2", 1551 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 1552 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 1553 | "dev": true 1554 | }, 1555 | "loose-envify": { 1556 | "version": "1.4.0", 1557 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 1558 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 1559 | "dev": true, 1560 | "requires": { 1561 | "js-tokens": "^3.0.0 || ^4.0.0" 1562 | } 1563 | }, 1564 | "marked": { 1565 | "version": "4.0.18", 1566 | "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.18.tgz", 1567 | "integrity": "sha512-wbLDJ7Zh0sqA0Vdg6aqlbT+yPxqLblpAZh1mK2+AO2twQkPywvvqQNfEPVwSSRjZ7dZcdeVBIAgiO7MMp3Dszw==" 1568 | }, 1569 | "merge2": { 1570 | "version": "1.4.1", 1571 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 1572 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 1573 | "dev": true 1574 | }, 1575 | "micromatch": { 1576 | "version": "4.0.5", 1577 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 1578 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 1579 | "dev": true, 1580 | "requires": { 1581 | "braces": "^3.0.2", 1582 | "picomatch": "^2.3.1" 1583 | } 1584 | }, 1585 | "minimatch": { 1586 | "version": "3.1.2", 1587 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1588 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1589 | "dev": true, 1590 | "requires": { 1591 | "brace-expansion": "^1.1.7" 1592 | } 1593 | }, 1594 | "minimist": { 1595 | "version": "1.2.6", 1596 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", 1597 | "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", 1598 | "dev": true 1599 | }, 1600 | "ms": { 1601 | "version": "2.1.2", 1602 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1603 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 1604 | "dev": true 1605 | }, 1606 | "natural-compare": { 1607 | "version": "1.4.0", 1608 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", 1609 | "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", 1610 | "dev": true 1611 | }, 1612 | "object-inspect": { 1613 | "version": "1.12.2", 1614 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", 1615 | "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", 1616 | "dev": true 1617 | }, 1618 | "object-keys": { 1619 | "version": "1.1.1", 1620 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 1621 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", 1622 | "dev": true 1623 | }, 1624 | "object.assign": { 1625 | "version": "4.1.2", 1626 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", 1627 | "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", 1628 | "dev": true, 1629 | "requires": { 1630 | "call-bind": "^1.0.0", 1631 | "define-properties": "^1.1.3", 1632 | "has-symbols": "^1.0.1", 1633 | "object-keys": "^1.1.1" 1634 | } 1635 | }, 1636 | "object.entries": { 1637 | "version": "1.1.5", 1638 | "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", 1639 | "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", 1640 | "dev": true, 1641 | "requires": { 1642 | "call-bind": "^1.0.2", 1643 | "define-properties": "^1.1.3", 1644 | "es-abstract": "^1.19.1" 1645 | } 1646 | }, 1647 | "object.values": { 1648 | "version": "1.1.5", 1649 | "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", 1650 | "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", 1651 | "dev": true, 1652 | "requires": { 1653 | "call-bind": "^1.0.2", 1654 | "define-properties": "^1.1.3", 1655 | "es-abstract": "^1.19.1" 1656 | } 1657 | }, 1658 | "once": { 1659 | "version": "1.4.0", 1660 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1661 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 1662 | "dev": true, 1663 | "requires": { 1664 | "wrappy": "1" 1665 | } 1666 | }, 1667 | "optionator": { 1668 | "version": "0.9.1", 1669 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", 1670 | "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", 1671 | "dev": true, 1672 | "requires": { 1673 | "deep-is": "^0.1.3", 1674 | "fast-levenshtein": "^2.0.6", 1675 | "levn": "^0.4.1", 1676 | "prelude-ls": "^1.2.1", 1677 | "type-check": "^0.4.0", 1678 | "word-wrap": "^1.2.3" 1679 | } 1680 | }, 1681 | "p-limit": { 1682 | "version": "3.1.0", 1683 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", 1684 | "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", 1685 | "dev": true, 1686 | "requires": { 1687 | "yocto-queue": "^0.1.0" 1688 | } 1689 | }, 1690 | "p-locate": { 1691 | "version": "5.0.0", 1692 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", 1693 | "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", 1694 | "dev": true, 1695 | "requires": { 1696 | "p-limit": "^3.0.2" 1697 | } 1698 | }, 1699 | "p-try": { 1700 | "version": "1.0.0", 1701 | "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", 1702 | "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", 1703 | "dev": true 1704 | }, 1705 | "parent-module": { 1706 | "version": "1.0.1", 1707 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", 1708 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", 1709 | "dev": true, 1710 | "requires": { 1711 | "callsites": "^3.0.0" 1712 | } 1713 | }, 1714 | "path-exists": { 1715 | "version": "4.0.0", 1716 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", 1717 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", 1718 | "dev": true 1719 | }, 1720 | "path-is-absolute": { 1721 | "version": "1.0.1", 1722 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1723 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 1724 | "dev": true 1725 | }, 1726 | "path-key": { 1727 | "version": "3.1.1", 1728 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1729 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 1730 | "dev": true 1731 | }, 1732 | "path-parse": { 1733 | "version": "1.0.7", 1734 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 1735 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 1736 | "dev": true 1737 | }, 1738 | "path-type": { 1739 | "version": "4.0.0", 1740 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", 1741 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", 1742 | "dev": true 1743 | }, 1744 | "picomatch": { 1745 | "version": "2.3.1", 1746 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1747 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1748 | "dev": true 1749 | }, 1750 | "prelude-ls": { 1751 | "version": "1.2.1", 1752 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", 1753 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", 1754 | "dev": true 1755 | }, 1756 | "prismjs": { 1757 | "version": "1.28.0", 1758 | "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.28.0.tgz", 1759 | "integrity": "sha512-8aaXdYvl1F7iC7Xm1spqSaY/OJBpYW3v+KJ+F17iYxvdc8sfjW194COK5wVhMZX45tGteiBQgdvD/nhxcRwylw==" 1760 | }, 1761 | "punycode": { 1762 | "version": "2.1.1", 1763 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", 1764 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 1765 | "dev": true 1766 | }, 1767 | "queue-microtask": { 1768 | "version": "1.2.3", 1769 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 1770 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 1771 | "dev": true 1772 | }, 1773 | "regexp.prototype.flags": { 1774 | "version": "1.4.3", 1775 | "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", 1776 | "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", 1777 | "dev": true, 1778 | "requires": { 1779 | "call-bind": "^1.0.2", 1780 | "define-properties": "^1.1.3", 1781 | "functions-have-names": "^1.2.2" 1782 | } 1783 | }, 1784 | "regexpp": { 1785 | "version": "3.2.0", 1786 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", 1787 | "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", 1788 | "dev": true 1789 | }, 1790 | "resolve": { 1791 | "version": "1.22.1", 1792 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", 1793 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", 1794 | "dev": true, 1795 | "requires": { 1796 | "is-core-module": "^2.9.0", 1797 | "path-parse": "^1.0.7", 1798 | "supports-preserve-symlinks-flag": "^1.0.0" 1799 | } 1800 | }, 1801 | "resolve-from": { 1802 | "version": "4.0.0", 1803 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", 1804 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", 1805 | "dev": true 1806 | }, 1807 | "reusify": { 1808 | "version": "1.0.4", 1809 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 1810 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 1811 | "dev": true 1812 | }, 1813 | "rimraf": { 1814 | "version": "3.0.2", 1815 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 1816 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 1817 | "dev": true, 1818 | "requires": { 1819 | "glob": "^7.1.3" 1820 | } 1821 | }, 1822 | "run-parallel": { 1823 | "version": "1.2.0", 1824 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 1825 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 1826 | "dev": true, 1827 | "requires": { 1828 | "queue-microtask": "^1.2.2" 1829 | } 1830 | }, 1831 | "shebang-command": { 1832 | "version": "2.0.0", 1833 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 1834 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 1835 | "dev": true, 1836 | "requires": { 1837 | "shebang-regex": "^3.0.0" 1838 | } 1839 | }, 1840 | "shebang-regex": { 1841 | "version": "3.0.0", 1842 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 1843 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 1844 | "dev": true 1845 | }, 1846 | "side-channel": { 1847 | "version": "1.0.4", 1848 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", 1849 | "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", 1850 | "dev": true, 1851 | "requires": { 1852 | "call-bind": "^1.0.0", 1853 | "get-intrinsic": "^1.0.2", 1854 | "object-inspect": "^1.9.0" 1855 | } 1856 | }, 1857 | "slash": { 1858 | "version": "3.0.0", 1859 | "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", 1860 | "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", 1861 | "dev": true 1862 | }, 1863 | "source-map": { 1864 | "version": "0.5.7", 1865 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", 1866 | "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", 1867 | "dev": true 1868 | }, 1869 | "string.prototype.trimend": { 1870 | "version": "1.0.5", 1871 | "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", 1872 | "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", 1873 | "dev": true, 1874 | "requires": { 1875 | "call-bind": "^1.0.2", 1876 | "define-properties": "^1.1.4", 1877 | "es-abstract": "^1.19.5" 1878 | } 1879 | }, 1880 | "string.prototype.trimstart": { 1881 | "version": "1.0.5", 1882 | "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", 1883 | "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", 1884 | "dev": true, 1885 | "requires": { 1886 | "call-bind": "^1.0.2", 1887 | "define-properties": "^1.1.4", 1888 | "es-abstract": "^1.19.5" 1889 | } 1890 | }, 1891 | "strip-ansi": { 1892 | "version": "6.0.1", 1893 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 1894 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 1895 | "dev": true, 1896 | "requires": { 1897 | "ansi-regex": "^5.0.1" 1898 | } 1899 | }, 1900 | "strip-bom": { 1901 | "version": "3.0.0", 1902 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 1903 | "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", 1904 | "dev": true 1905 | }, 1906 | "strip-json-comments": { 1907 | "version": "3.1.1", 1908 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 1909 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 1910 | "dev": true 1911 | }, 1912 | "supports-color": { 1913 | "version": "7.2.0", 1914 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 1915 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 1916 | "dev": true, 1917 | "requires": { 1918 | "has-flag": "^4.0.0" 1919 | } 1920 | }, 1921 | "supports-preserve-symlinks-flag": { 1922 | "version": "1.0.0", 1923 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 1924 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 1925 | "dev": true 1926 | }, 1927 | "text-table": { 1928 | "version": "0.2.0", 1929 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", 1930 | "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", 1931 | "dev": true 1932 | }, 1933 | "to-fast-properties": { 1934 | "version": "2.0.0", 1935 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", 1936 | "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", 1937 | "dev": true 1938 | }, 1939 | "to-regex-range": { 1940 | "version": "5.0.1", 1941 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 1942 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 1943 | "dev": true, 1944 | "requires": { 1945 | "is-number": "^7.0.0" 1946 | } 1947 | }, 1948 | "trim-right": { 1949 | "version": "1.0.1", 1950 | "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", 1951 | "integrity": "sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==", 1952 | "dev": true 1953 | }, 1954 | "tsconfig-paths": { 1955 | "version": "3.14.1", 1956 | "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", 1957 | "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", 1958 | "dev": true, 1959 | "requires": { 1960 | "@types/json5": "^0.0.29", 1961 | "json5": "^1.0.1", 1962 | "minimist": "^1.2.6", 1963 | "strip-bom": "^3.0.0" 1964 | } 1965 | }, 1966 | "type-check": { 1967 | "version": "0.4.0", 1968 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", 1969 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", 1970 | "dev": true, 1971 | "requires": { 1972 | "prelude-ls": "^1.2.1" 1973 | } 1974 | }, 1975 | "type-fest": { 1976 | "version": "0.20.2", 1977 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", 1978 | "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", 1979 | "dev": true 1980 | }, 1981 | "unbox-primitive": { 1982 | "version": "1.0.2", 1983 | "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", 1984 | "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", 1985 | "dev": true, 1986 | "requires": { 1987 | "call-bind": "^1.0.2", 1988 | "has-bigints": "^1.0.2", 1989 | "has-symbols": "^1.0.3", 1990 | "which-boxed-primitive": "^1.0.2" 1991 | } 1992 | }, 1993 | "uri-js": { 1994 | "version": "4.4.1", 1995 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 1996 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 1997 | "dev": true, 1998 | "requires": { 1999 | "punycode": "^2.1.0" 2000 | } 2001 | }, 2002 | "v8-compile-cache": { 2003 | "version": "2.3.0", 2004 | "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", 2005 | "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", 2006 | "dev": true 2007 | }, 2008 | "which": { 2009 | "version": "2.0.2", 2010 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 2011 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 2012 | "dev": true, 2013 | "requires": { 2014 | "isexe": "^2.0.0" 2015 | } 2016 | }, 2017 | "which-boxed-primitive": { 2018 | "version": "1.0.2", 2019 | "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", 2020 | "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", 2021 | "dev": true, 2022 | "requires": { 2023 | "is-bigint": "^1.0.1", 2024 | "is-boolean-object": "^1.1.0", 2025 | "is-number-object": "^1.0.4", 2026 | "is-string": "^1.0.5", 2027 | "is-symbol": "^1.0.3" 2028 | } 2029 | }, 2030 | "word-wrap": { 2031 | "version": "1.2.3", 2032 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", 2033 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", 2034 | "dev": true 2035 | }, 2036 | "wrappy": { 2037 | "version": "1.0.2", 2038 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 2039 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 2040 | "dev": true 2041 | }, 2042 | "yocto-queue": { 2043 | "version": "0.1.0", 2044 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", 2045 | "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", 2046 | "dev": true 2047 | } 2048 | } 2049 | } 2050 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jcode-md", 3 | "version": "0.7.0", 4 | "description": "", 5 | "main": "dist/jcode-md.js", 6 | "module": "dist/jcode-md.esm.js", 7 | "scripts": { 8 | "start": "npm run dev", 9 | "dev": "node build.js", 10 | "build": "mode=production node build.js", 11 | "prepublishOnly": "npm run build", 12 | "test": "echo \"Error: no test specified\" && exit 1" 13 | }, 14 | "keywords": [], 15 | "author": "", 16 | "license": "MIT", 17 | "devDependencies": { 18 | "esbuild": "^0.14.51", 19 | "eslint": "^8.21.0", 20 | "eslint-config-sprite": "^1.0.6" 21 | }, 22 | "dependencies": { 23 | "github-markdown-css": "^5.1.0", 24 | "katex": "^0.16.0", 25 | "marked": "^4.0.18", 26 | "prismjs": "^1.28.0" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/css/common.css: -------------------------------------------------------------------------------- 1 | html, body { 2 | width: 100%; 3 | height: 100%; 4 | margin: 0; 5 | } 6 | .markdown-body, 7 | .markdown-body-dark { 8 | width: 100%; 9 | min-height: 100%; 10 | box-sizing: border-box; 11 | padding: 2rem; 12 | } 13 | 14 | .markdown-body-wrapper { 15 | max-width: 1280px; 16 | margin: auto; 17 | } 18 | 19 | .markdown-body embed, 20 | .markdown-body iframe:not(.jcode-playground), 21 | .markdown-body img:not(.equation), 22 | .markdown-body video, 23 | .markdown-body-dark embed, 24 | .markdown-body-dark iframe:not(.jcode-playground), 25 | .markdown-body-dark img:not(.equation), 26 | .markdown-body-dark video 27 | { 28 | max-width: 100%!important; 29 | margin: 0; 30 | } 31 | 32 | .markdown-body .jcode-playground, 33 | .markdown-body-dark .jcode-playground 34 | { 35 | width:100%; 36 | height:430px; 37 | max-width:860px; 38 | } -------------------------------------------------------------------------------- /src/css/markdown-dark.css: -------------------------------------------------------------------------------- 1 | .markdown-body-dark { 2 | color-scheme: dark; 3 | -ms-text-size-adjust: 100%; 4 | -webkit-text-size-adjust: 100%; 5 | margin: 0; 6 | color: #c9d1d9; 7 | background-color: #0d1117; 8 | font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; 9 | font-size: 16px; 10 | line-height: 1.5; 11 | word-wrap: break-word; 12 | } 13 | 14 | .markdown-body-dark .octicon { 15 | display: inline-block; 16 | fill: currentColor; 17 | vertical-align: text-bottom; 18 | } 19 | 20 | .markdown-body-dark h1:hover .anchor .octicon-link:before, 21 | .markdown-body-dark h2:hover .anchor .octicon-link:before, 22 | .markdown-body-dark h3:hover .anchor .octicon-link:before, 23 | .markdown-body-dark h4:hover .anchor .octicon-link:before, 24 | .markdown-body-dark h5:hover .anchor .octicon-link:before, 25 | .markdown-body-dark h6:hover .anchor .octicon-link:before { 26 | width: 16px; 27 | height: 16px; 28 | content: ' '; 29 | display: inline-block; 30 | background-color: currentColor; 31 | -webkit-mask-image: url("data:image/svg+xml,"); 32 | mask-image: url("data:image/svg+xml,"); 33 | } 34 | 35 | .markdown-body-dark details, 36 | .markdown-body-dark figcaption, 37 | .markdown-body-dark figure { 38 | display: block; 39 | } 40 | 41 | .markdown-body-dark summary { 42 | display: list-item; 43 | } 44 | 45 | .markdown-body-dark [hidden] { 46 | display: none !important; 47 | } 48 | 49 | .markdown-body-dark a { 50 | background-color: transparent; 51 | color: #58a6ff; 52 | text-decoration: none; 53 | } 54 | 55 | .markdown-body-dark a:active, 56 | .markdown-body-dark a:hover { 57 | outline-width: 0; 58 | } 59 | 60 | .markdown-body-dark abbr[title] { 61 | border-bottom: none; 62 | text-decoration: underline dotted; 63 | } 64 | 65 | .markdown-body-dark b, 66 | .markdown-body-dark strong { 67 | font-weight: 600; 68 | } 69 | 70 | .markdown-body-dark dfn { 71 | font-style: italic; 72 | } 73 | 74 | .markdown-body-dark h1 { 75 | margin: .67em 0; 76 | font-weight: 600; 77 | padding-bottom: .3em; 78 | font-size: 2em; 79 | border-bottom: 1px solid #21262d; 80 | } 81 | 82 | .markdown-body-dark mark { 83 | background-color: rgba(187,128,9,0.15); 84 | color: #c9d1d9; 85 | } 86 | 87 | .markdown-body-dark small { 88 | font-size: 90%; 89 | } 90 | 91 | .markdown-body-dark sub, 92 | .markdown-body-dark sup { 93 | font-size: 75%; 94 | line-height: 0; 95 | position: relative; 96 | vertical-align: baseline; 97 | } 98 | 99 | .markdown-body-dark sub { 100 | bottom: -0.25em; 101 | } 102 | 103 | .markdown-body-dark sup { 104 | top: -0.5em; 105 | } 106 | 107 | .markdown-body-dark img { 108 | border-style: none; 109 | max-width: 100%; 110 | box-sizing: content-box; 111 | background-color: #0d1117; 112 | } 113 | 114 | .markdown-body-dark code, 115 | .markdown-body-dark kbd, 116 | .markdown-body-dark pre, 117 | .markdown-body-dark samp { 118 | font-family: monospace,monospace; 119 | font-size: 1em; 120 | } 121 | 122 | .markdown-body-dark figure { 123 | margin: 1em 40px; 124 | } 125 | 126 | .markdown-body-dark hr { 127 | box-sizing: content-box; 128 | overflow: hidden; 129 | background: transparent; 130 | border-bottom: 1px solid #21262d; 131 | height: 1px; 132 | padding: 0; 133 | margin: 24px 0; 134 | background-color: #30363d; 135 | border: 0; 136 | } 137 | 138 | .markdown-body-dark input { 139 | font: inherit; 140 | margin: 0; 141 | overflow: visible; 142 | font-family: inherit; 143 | font-size: inherit; 144 | line-height: inherit; 145 | } 146 | 147 | .markdown-body-dark [type=button], 148 | .markdown-body-dark [type=reset], 149 | .markdown-body-dark [type=submit] { 150 | -webkit-appearance: button; 151 | } 152 | 153 | .markdown-body-dark [type=button]::-moz-focus-inner, 154 | .markdown-body-dark [type=reset]::-moz-focus-inner, 155 | .markdown-body-dark [type=submit]::-moz-focus-inner { 156 | border-style: none; 157 | padding: 0; 158 | } 159 | 160 | .markdown-body-dark [type=button]:-moz-focusring, 161 | .markdown-body-dark [type=reset]:-moz-focusring, 162 | .markdown-body-dark [type=submit]:-moz-focusring { 163 | outline: 1px dotted ButtonText; 164 | } 165 | 166 | .markdown-body-dark [type=checkbox], 167 | .markdown-body-dark [type=radio] { 168 | box-sizing: border-box; 169 | padding: 0; 170 | } 171 | 172 | .markdown-body-dark [type=number]::-webkit-inner-spin-button, 173 | .markdown-body-dark [type=number]::-webkit-outer-spin-button { 174 | height: auto; 175 | } 176 | 177 | .markdown-body-dark [type=search] { 178 | -webkit-appearance: textfield; 179 | outline-offset: -2px; 180 | } 181 | 182 | .markdown-body-dark [type=search]::-webkit-search-cancel-button, 183 | .markdown-body-dark [type=search]::-webkit-search-decoration { 184 | -webkit-appearance: none; 185 | } 186 | 187 | .markdown-body-dark ::-webkit-input-placeholder { 188 | color: inherit; 189 | opacity: .54; 190 | } 191 | 192 | .markdown-body-dark ::-webkit-file-upload-button { 193 | -webkit-appearance: button; 194 | font: inherit; 195 | } 196 | 197 | .markdown-body-dark a:hover { 198 | text-decoration: underline; 199 | } 200 | 201 | .markdown-body-dark hr::before { 202 | display: table; 203 | content: ""; 204 | } 205 | 206 | .markdown-body-dark hr::after { 207 | display: table; 208 | clear: both; 209 | content: ""; 210 | } 211 | 212 | .markdown-body-dark table { 213 | border-spacing: 0; 214 | border-collapse: collapse; 215 | display: block; 216 | width: max-content; 217 | max-width: 100%; 218 | overflow: auto; 219 | } 220 | 221 | .markdown-body-dark td, 222 | .markdown-body-dark th { 223 | padding: 0; 224 | } 225 | 226 | .markdown-body-dark details summary { 227 | cursor: pointer; 228 | } 229 | 230 | .markdown-body-dark details:not([open])>*:not(summary) { 231 | display: none !important; 232 | } 233 | 234 | .markdown-body-dark kbd { 235 | display: inline-block; 236 | padding: 3px 5px; 237 | font: 11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; 238 | line-height: 10px; 239 | color: #c9d1d9; 240 | vertical-align: middle; 241 | background-color: #161b22; 242 | border: solid 1px rgba(110,118,129,0.4); 243 | border-bottom-color: rgba(110,118,129,0.4); 244 | border-radius: 6px; 245 | box-shadow: inset 0 -1px 0 rgba(110,118,129,0.4); 246 | } 247 | 248 | .markdown-body-dark h1, 249 | .markdown-body-dark h2, 250 | .markdown-body-dark h3, 251 | .markdown-body-dark h4, 252 | .markdown-body-dark h5, 253 | .markdown-body-dark h6 { 254 | margin-top: 24px; 255 | margin-bottom: 16px; 256 | font-weight: 600; 257 | line-height: 1.25; 258 | } 259 | 260 | .markdown-body-dark h2 { 261 | font-weight: 600; 262 | padding-bottom: .3em; 263 | font-size: 1.5em; 264 | border-bottom: 1px solid #21262d; 265 | } 266 | 267 | .markdown-body-dark h3 { 268 | font-weight: 600; 269 | font-size: 1.25em; 270 | } 271 | 272 | .markdown-body-dark h4 { 273 | font-weight: 600; 274 | font-size: 1em; 275 | } 276 | 277 | .markdown-body-dark h5 { 278 | font-weight: 600; 279 | font-size: .875em; 280 | } 281 | 282 | .markdown-body-dark h6 { 283 | font-weight: 600; 284 | font-size: .85em; 285 | color: #8b949e; 286 | } 287 | 288 | .markdown-body-dark p { 289 | margin-top: 0; 290 | margin-bottom: 10px; 291 | } 292 | 293 | .markdown-body-dark blockquote { 294 | margin: 0; 295 | padding: 0 1em; 296 | color: #8b949e; 297 | border-left: .25em solid #30363d; 298 | } 299 | 300 | .markdown-body-dark ul, 301 | .markdown-body-dark ol { 302 | margin-top: 0; 303 | margin-bottom: 0; 304 | padding-left: 2em; 305 | } 306 | 307 | .markdown-body-dark ol ol, 308 | .markdown-body-dark ul ol { 309 | list-style-type: lower-roman; 310 | } 311 | 312 | .markdown-body-dark ul ul ol, 313 | .markdown-body-dark ul ol ol, 314 | .markdown-body-dark ol ul ol, 315 | .markdown-body-dark ol ol ol { 316 | list-style-type: lower-alpha; 317 | } 318 | 319 | .markdown-body-dark dd { 320 | margin-left: 0; 321 | } 322 | 323 | .markdown-body-dark tt, 324 | .markdown-body-dark code { 325 | font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; 326 | font-size: 12px; 327 | } 328 | 329 | .markdown-body-dark pre { 330 | margin-top: 0; 331 | margin-bottom: 0; 332 | font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; 333 | font-size: 12px; 334 | word-wrap: normal; 335 | } 336 | 337 | .markdown-body-dark .octicon { 338 | display: inline-block; 339 | overflow: visible !important; 340 | vertical-align: text-bottom; 341 | fill: currentColor; 342 | } 343 | 344 | .markdown-body-dark ::placeholder { 345 | color: #484f58; 346 | opacity: 1; 347 | } 348 | 349 | .markdown-body-dark input::-webkit-outer-spin-button, 350 | .markdown-body-dark input::-webkit-inner-spin-button { 351 | margin: 0; 352 | -webkit-appearance: none; 353 | appearance: none; 354 | } 355 | 356 | .markdown-body-dark .pl-c { 357 | color: #8b949e; 358 | } 359 | 360 | .markdown-body-dark .pl-c1, 361 | .markdown-body-dark .pl-s .pl-v { 362 | color: #79c0ff; 363 | } 364 | 365 | .markdown-body-dark .pl-e, 366 | .markdown-body-dark .pl-en { 367 | color: #d2a8ff; 368 | } 369 | 370 | .markdown-body-dark .pl-smi, 371 | .markdown-body-dark .pl-s .pl-s1 { 372 | color: #c9d1d9; 373 | } 374 | 375 | .markdown-body-dark .pl-ent { 376 | color: #7ee787; 377 | } 378 | 379 | .markdown-body-dark .pl-k { 380 | color: #ff7b72; 381 | } 382 | 383 | .markdown-body-dark .pl-s, 384 | .markdown-body-dark .pl-pds, 385 | .markdown-body-dark .pl-s .pl-pse .pl-s1, 386 | .markdown-body-dark .pl-sr, 387 | .markdown-body-dark .pl-sr .pl-cce, 388 | .markdown-body-dark .pl-sr .pl-sre, 389 | .markdown-body-dark .pl-sr .pl-sra { 390 | color: #a5d6ff; 391 | } 392 | 393 | .markdown-body-dark .pl-v, 394 | .markdown-body-dark .pl-smw { 395 | color: #ffa657; 396 | } 397 | 398 | .markdown-body-dark .pl-bu { 399 | color: #f85149; 400 | } 401 | 402 | .markdown-body-dark .pl-ii { 403 | color: #f0f6fc; 404 | background-color: #8e1519; 405 | } 406 | 407 | .markdown-body-dark .pl-c2 { 408 | color: #f0f6fc; 409 | background-color: #b62324; 410 | } 411 | 412 | .markdown-body-dark .pl-sr .pl-cce { 413 | font-weight: bold; 414 | color: #7ee787; 415 | } 416 | 417 | .markdown-body-dark .pl-ml { 418 | color: #f2cc60; 419 | } 420 | 421 | .markdown-body-dark .pl-mh, 422 | .markdown-body-dark .pl-mh .pl-en, 423 | .markdown-body-dark .pl-ms { 424 | font-weight: bold; 425 | color: #1f6feb; 426 | } 427 | 428 | .markdown-body-dark .pl-mi { 429 | font-style: italic; 430 | color: #c9d1d9; 431 | } 432 | 433 | .markdown-body-dark .pl-mb { 434 | font-weight: bold; 435 | color: #c9d1d9; 436 | } 437 | 438 | .markdown-body-dark .pl-md { 439 | color: #ffdcd7; 440 | background-color: #67060c; 441 | } 442 | 443 | .markdown-body-dark .pl-mi1 { 444 | color: #aff5b4; 445 | background-color: #033a16; 446 | } 447 | 448 | .markdown-body-dark .pl-mc { 449 | color: #ffdfb6; 450 | background-color: #5a1e02; 451 | } 452 | 453 | .markdown-body-dark .pl-mi2 { 454 | color: #c9d1d9; 455 | background-color: #1158c7; 456 | } 457 | 458 | .markdown-body-dark .pl-mdr { 459 | font-weight: bold; 460 | color: #d2a8ff; 461 | } 462 | 463 | .markdown-body-dark .pl-ba { 464 | color: #8b949e; 465 | } 466 | 467 | .markdown-body-dark .pl-sg { 468 | color: #484f58; 469 | } 470 | 471 | .markdown-body-dark .pl-corl { 472 | text-decoration: underline; 473 | color: #a5d6ff; 474 | } 475 | 476 | .markdown-body-dark [data-catalyst] { 477 | display: block; 478 | } 479 | 480 | .markdown-body-dark g-emoji { 481 | font-family: "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; 482 | font-size: 1em; 483 | font-style: normal !important; 484 | font-weight: 400; 485 | line-height: 1; 486 | vertical-align: -0.075em; 487 | } 488 | 489 | .markdown-body-dark g-emoji img { 490 | width: 1em; 491 | height: 1em; 492 | } 493 | 494 | .markdown-body-dark::before { 495 | display: table; 496 | content: ""; 497 | } 498 | 499 | .markdown-body-dark::after { 500 | display: table; 501 | clear: both; 502 | content: ""; 503 | } 504 | 505 | .markdown-body-dark>*:first-child { 506 | margin-top: 0 !important; 507 | } 508 | 509 | .markdown-body-dark>*:last-child { 510 | margin-bottom: 0 !important; 511 | } 512 | 513 | .markdown-body-dark a:not([href]) { 514 | color: inherit; 515 | text-decoration: none; 516 | } 517 | 518 | .markdown-body-dark .absent { 519 | color: #f85149; 520 | } 521 | 522 | .markdown-body-dark .anchor { 523 | float: left; 524 | padding-right: 4px; 525 | margin-left: -20px; 526 | line-height: 1; 527 | } 528 | 529 | .markdown-body-dark .anchor:focus { 530 | outline: none; 531 | } 532 | 533 | .markdown-body-dark p, 534 | .markdown-body-dark blockquote, 535 | .markdown-body-dark ul, 536 | .markdown-body-dark ol, 537 | .markdown-body-dark dl, 538 | .markdown-body-dark table, 539 | .markdown-body-dark pre, 540 | .markdown-body-dark details { 541 | margin-top: 0; 542 | margin-bottom: 16px; 543 | } 544 | 545 | .markdown-body-dark blockquote>:first-child { 546 | margin-top: 0; 547 | } 548 | 549 | .markdown-body-dark blockquote>:last-child { 550 | margin-bottom: 0; 551 | } 552 | 553 | .markdown-body-dark sup>a::before { 554 | content: "["; 555 | } 556 | 557 | .markdown-body-dark sup>a::after { 558 | content: "]"; 559 | } 560 | 561 | .markdown-body-dark h1 .octicon-link, 562 | .markdown-body-dark h2 .octicon-link, 563 | .markdown-body-dark h3 .octicon-link, 564 | .markdown-body-dark h4 .octicon-link, 565 | .markdown-body-dark h5 .octicon-link, 566 | .markdown-body-dark h6 .octicon-link { 567 | color: #c9d1d9; 568 | vertical-align: middle; 569 | visibility: hidden; 570 | } 571 | 572 | .markdown-body-dark h1:hover .anchor, 573 | .markdown-body-dark h2:hover .anchor, 574 | .markdown-body-dark h3:hover .anchor, 575 | .markdown-body-dark h4:hover .anchor, 576 | .markdown-body-dark h5:hover .anchor, 577 | .markdown-body-dark h6:hover .anchor { 578 | text-decoration: none; 579 | } 580 | 581 | .markdown-body-dark h1:hover .anchor .octicon-link, 582 | .markdown-body-dark h2:hover .anchor .octicon-link, 583 | .markdown-body-dark h3:hover .anchor .octicon-link, 584 | .markdown-body-dark h4:hover .anchor .octicon-link, 585 | .markdown-body-dark h5:hover .anchor .octicon-link, 586 | .markdown-body-dark h6:hover .anchor .octicon-link { 587 | visibility: visible; 588 | } 589 | 590 | .markdown-body-dark h1 tt, 591 | .markdown-body-dark h1 code, 592 | .markdown-body-dark h2 tt, 593 | .markdown-body-dark h2 code, 594 | .markdown-body-dark h3 tt, 595 | .markdown-body-dark h3 code, 596 | .markdown-body-dark h4 tt, 597 | .markdown-body-dark h4 code, 598 | .markdown-body-dark h5 tt, 599 | .markdown-body-dark h5 code, 600 | .markdown-body-dark h6 tt, 601 | .markdown-body-dark h6 code { 602 | padding: 0 .2em; 603 | font-size: inherit; 604 | } 605 | 606 | .markdown-body-dark ul.no-list, 607 | .markdown-body-dark ol.no-list { 608 | padding: 0; 609 | list-style-type: none; 610 | } 611 | 612 | .markdown-body-dark ol[type="1"] { 613 | list-style-type: decimal; 614 | } 615 | 616 | .markdown-body-dark ol[type=a] { 617 | list-style-type: lower-alpha; 618 | } 619 | 620 | .markdown-body-dark ol[type=i] { 621 | list-style-type: lower-roman; 622 | } 623 | 624 | .markdown-body-dark div>ol:not([type]) { 625 | list-style-type: decimal; 626 | } 627 | 628 | .markdown-body-dark ul ul, 629 | .markdown-body-dark ul ol, 630 | .markdown-body-dark ol ol, 631 | .markdown-body-dark ol ul { 632 | margin-top: 0; 633 | margin-bottom: 0; 634 | } 635 | 636 | .markdown-body-dark li>p { 637 | margin-top: 16px; 638 | } 639 | 640 | .markdown-body-dark li+li { 641 | margin-top: .25em; 642 | } 643 | 644 | .markdown-body-dark dl { 645 | padding: 0; 646 | } 647 | 648 | .markdown-body-dark dl dt { 649 | padding: 0; 650 | margin-top: 16px; 651 | font-size: 1em; 652 | font-style: italic; 653 | font-weight: 600; 654 | } 655 | 656 | .markdown-body-dark dl dd { 657 | padding: 0 16px; 658 | margin-bottom: 16px; 659 | } 660 | 661 | .markdown-body-dark table th { 662 | font-weight: 600; 663 | } 664 | 665 | .markdown-body-dark table th, 666 | .markdown-body-dark table td { 667 | padding: 6px 13px; 668 | border: 1px solid #30363d; 669 | } 670 | 671 | .markdown-body-dark table tr { 672 | background-color: #0d1117; 673 | border-top: 1px solid #21262d; 674 | } 675 | 676 | .markdown-body-dark table tr:nth-child(2n) { 677 | background-color: #161b22; 678 | } 679 | 680 | .markdown-body-dark table img { 681 | background-color: transparent; 682 | } 683 | 684 | .markdown-body-dark img[align=right] { 685 | padding-left: 20px; 686 | } 687 | 688 | .markdown-body-dark img[align=left] { 689 | padding-right: 20px; 690 | } 691 | 692 | .markdown-body-dark .emoji { 693 | max-width: none; 694 | vertical-align: text-top; 695 | background-color: transparent; 696 | } 697 | 698 | .markdown-body-dark span.frame { 699 | display: block; 700 | overflow: hidden; 701 | } 702 | 703 | .markdown-body-dark span.frame>span { 704 | display: block; 705 | float: left; 706 | width: auto; 707 | padding: 7px; 708 | margin: 13px 0 0; 709 | overflow: hidden; 710 | border: 1px solid #30363d; 711 | } 712 | 713 | .markdown-body-dark span.frame span img { 714 | display: block; 715 | float: left; 716 | } 717 | 718 | .markdown-body-dark span.frame span span { 719 | display: block; 720 | padding: 5px 0 0; 721 | clear: both; 722 | color: #c9d1d9; 723 | } 724 | 725 | .markdown-body-dark span.align-center { 726 | display: block; 727 | overflow: hidden; 728 | clear: both; 729 | } 730 | 731 | .markdown-body-dark span.align-center>span { 732 | display: block; 733 | margin: 13px auto 0; 734 | overflow: hidden; 735 | text-align: center; 736 | } 737 | 738 | .markdown-body-dark span.align-center span img { 739 | margin: 0 auto; 740 | text-align: center; 741 | } 742 | 743 | .markdown-body-dark span.align-right { 744 | display: block; 745 | overflow: hidden; 746 | clear: both; 747 | } 748 | 749 | .markdown-body-dark span.align-right>span { 750 | display: block; 751 | margin: 13px 0 0; 752 | overflow: hidden; 753 | text-align: right; 754 | } 755 | 756 | .markdown-body-dark span.align-right span img { 757 | margin: 0; 758 | text-align: right; 759 | } 760 | 761 | .markdown-body-dark span.float-left { 762 | display: block; 763 | float: left; 764 | margin-right: 13px; 765 | overflow: hidden; 766 | } 767 | 768 | .markdown-body-dark span.float-left span { 769 | margin: 13px 0 0; 770 | } 771 | 772 | .markdown-body-dark span.float-right { 773 | display: block; 774 | float: right; 775 | margin-left: 13px; 776 | overflow: hidden; 777 | } 778 | 779 | .markdown-body-dark span.float-right>span { 780 | display: block; 781 | margin: 13px auto 0; 782 | overflow: hidden; 783 | text-align: right; 784 | } 785 | 786 | .markdown-body-dark code, 787 | .markdown-body-dark tt { 788 | padding: .2em .4em; 789 | margin: 0; 790 | font-size: 85%; 791 | background-color: rgba(110,118,129,0.4); 792 | border-radius: 6px; 793 | } 794 | 795 | .markdown-body-dark code br, 796 | .markdown-body-dark tt br { 797 | display: none; 798 | } 799 | 800 | .markdown-body-dark del code { 801 | text-decoration: inherit; 802 | } 803 | 804 | .markdown-body-dark pre code { 805 | font-size: 100%; 806 | } 807 | 808 | .markdown-body-dark pre>code { 809 | padding: 0; 810 | margin: 0; 811 | word-break: normal; 812 | white-space: pre; 813 | background: transparent; 814 | border: 0; 815 | } 816 | 817 | .markdown-body-dark .highlight { 818 | margin-bottom: 16px; 819 | } 820 | 821 | .markdown-body-dark .highlight pre { 822 | margin-bottom: 0; 823 | word-break: normal; 824 | } 825 | 826 | .markdown-body-dark .highlight pre, 827 | .markdown-body-dark pre { 828 | padding: 16px; 829 | overflow: auto; 830 | font-size: 85%; 831 | line-height: 1.45; 832 | background-color: #161b22; 833 | border-radius: 6px; 834 | } 835 | 836 | .markdown-body-dark pre code, 837 | .markdown-body-dark pre tt { 838 | display: inline; 839 | max-width: auto; 840 | padding: 0; 841 | margin: 0; 842 | overflow: visible; 843 | line-height: inherit; 844 | word-wrap: normal; 845 | background-color: transparent; 846 | border: 0; 847 | } 848 | 849 | .markdown-body-dark .csv-data td, 850 | .markdown-body-dark .csv-data th { 851 | padding: 5px; 852 | overflow: hidden; 853 | font-size: 12px; 854 | line-height: 1; 855 | text-align: left; 856 | white-space: nowrap; 857 | } 858 | 859 | .markdown-body-dark .csv-data .blob-num { 860 | padding: 10px 8px 9px; 861 | text-align: right; 862 | background: #0d1117; 863 | border: 0; 864 | } 865 | 866 | .markdown-body-dark .csv-data tr { 867 | border-top: 0; 868 | } 869 | 870 | .markdown-body-dark .csv-data th { 871 | font-weight: 600; 872 | background: #161b22; 873 | border-top: 0; 874 | } 875 | 876 | .markdown-body-dark .footnotes { 877 | font-size: 12px; 878 | color: #8b949e; 879 | border-top: 1px solid #30363d; 880 | } 881 | 882 | .markdown-body-dark .footnotes ol { 883 | padding-left: 16px; 884 | } 885 | 886 | .markdown-body-dark .footnotes li { 887 | position: relative; 888 | } 889 | 890 | .markdown-body-dark .footnotes li:target::before { 891 | position: absolute; 892 | top: -8px; 893 | right: -8px; 894 | bottom: -8px; 895 | left: -24px; 896 | pointer-events: none; 897 | content: ""; 898 | border: 2px solid #1f6feb; 899 | border-radius: 6px; 900 | } 901 | 902 | .markdown-body-dark .footnotes li:target { 903 | color: #c9d1d9; 904 | } 905 | 906 | .markdown-body-dark .footnotes .data-footnote-backref g-emoji { 907 | font-family: monospace; 908 | } 909 | 910 | .markdown-body-dark .task-list-item { 911 | list-style-type: none; 912 | } 913 | 914 | .markdown-body-dark .task-list-item label { 915 | font-weight: 400; 916 | } 917 | 918 | .markdown-body-dark .task-list-item.enabled label { 919 | cursor: pointer; 920 | } 921 | 922 | .markdown-body-dark .task-list-item+.task-list-item { 923 | margin-top: 3px; 924 | } 925 | 926 | .markdown-body-dark .task-list-item .handle { 927 | display: none; 928 | } 929 | 930 | .markdown-body-dark .task-list-item-checkbox { 931 | margin: 0 .2em .25em -1.6em; 932 | vertical-align: middle; 933 | } 934 | 935 | .markdown-body-dark .contains-task-list:dir(rtl) .task-list-item-checkbox { 936 | margin: 0 -1.6em .25em .2em; 937 | } 938 | 939 | .markdown-body-dark ::-webkit-calendar-picker-indicator { 940 | filter: invert(50%); 941 | } -------------------------------------------------------------------------------- /src/css/markdown-light.css: -------------------------------------------------------------------------------- 1 | .markdown-body { 2 | -ms-text-size-adjust: 100%; 3 | -webkit-text-size-adjust: 100%; 4 | margin: 0; 5 | color: #24292f; 6 | background-color: #ffffff; 7 | font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"; 8 | font-size: 16px; 9 | line-height: 1.5; 10 | word-wrap: break-word; 11 | } 12 | 13 | .markdown-body .octicon { 14 | display: inline-block; 15 | fill: currentColor; 16 | vertical-align: text-bottom; 17 | } 18 | 19 | .markdown-body h1:hover .anchor .octicon-link:before, 20 | .markdown-body h2:hover .anchor .octicon-link:before, 21 | .markdown-body h3:hover .anchor .octicon-link:before, 22 | .markdown-body h4:hover .anchor .octicon-link:before, 23 | .markdown-body h5:hover .anchor .octicon-link:before, 24 | .markdown-body h6:hover .anchor .octicon-link:before { 25 | width: 16px; 26 | height: 16px; 27 | content: ' '; 28 | display: inline-block; 29 | background-color: currentColor; 30 | -webkit-mask-image: url("data:image/svg+xml,"); 31 | mask-image: url("data:image/svg+xml,"); 32 | } 33 | 34 | .markdown-body details, 35 | .markdown-body figcaption, 36 | .markdown-body figure { 37 | display: block; 38 | } 39 | 40 | .markdown-body summary { 41 | display: list-item; 42 | } 43 | 44 | .markdown-body [hidden] { 45 | display: none !important; 46 | } 47 | 48 | .markdown-body a { 49 | background-color: transparent; 50 | color: #0969da; 51 | text-decoration: none; 52 | } 53 | 54 | .markdown-body a:active, 55 | .markdown-body a:hover { 56 | outline-width: 0; 57 | } 58 | 59 | .markdown-body abbr[title] { 60 | border-bottom: none; 61 | text-decoration: underline dotted; 62 | } 63 | 64 | .markdown-body b, 65 | .markdown-body strong { 66 | font-weight: 600; 67 | } 68 | 69 | .markdown-body dfn { 70 | font-style: italic; 71 | } 72 | 73 | .markdown-body h1 { 74 | margin: .67em 0; 75 | font-weight: 600; 76 | padding-bottom: .3em; 77 | font-size: 2em; 78 | border-bottom: 1px solid hsla(210,18%,87%,1); 79 | } 80 | 81 | .markdown-body mark { 82 | background-color: #fff8c5; 83 | color: #24292f; 84 | } 85 | 86 | .markdown-body small { 87 | font-size: 90%; 88 | } 89 | 90 | .markdown-body sub, 91 | .markdown-body sup { 92 | font-size: 75%; 93 | line-height: 0; 94 | position: relative; 95 | vertical-align: baseline; 96 | } 97 | 98 | .markdown-body sub { 99 | bottom: -0.25em; 100 | } 101 | 102 | .markdown-body sup { 103 | top: -0.5em; 104 | } 105 | 106 | .markdown-body img { 107 | border-style: none; 108 | max-width: 100%; 109 | box-sizing: content-box; 110 | background-color: #ffffff; 111 | } 112 | 113 | .markdown-body code, 114 | .markdown-body kbd, 115 | .markdown-body pre, 116 | .markdown-body samp { 117 | font-family: monospace,monospace; 118 | font-size: 1em; 119 | } 120 | 121 | .markdown-body figure { 122 | margin: 1em 40px; 123 | } 124 | 125 | .markdown-body hr { 126 | box-sizing: content-box; 127 | overflow: hidden; 128 | background: transparent; 129 | border-bottom: 1px solid hsla(210,18%,87%,1); 130 | height: 1px; 131 | padding: 0; 132 | margin: 24px 0; 133 | background-color: #d0d7de; 134 | border: 0; 135 | } 136 | 137 | .markdown-body input { 138 | font: inherit; 139 | margin: 0; 140 | overflow: visible; 141 | font-family: inherit; 142 | font-size: inherit; 143 | line-height: inherit; 144 | } 145 | 146 | .markdown-body [type=button], 147 | .markdown-body [type=reset], 148 | .markdown-body [type=submit] { 149 | -webkit-appearance: button; 150 | } 151 | 152 | .markdown-body [type=button]::-moz-focus-inner, 153 | .markdown-body [type=reset]::-moz-focus-inner, 154 | .markdown-body [type=submit]::-moz-focus-inner { 155 | border-style: none; 156 | padding: 0; 157 | } 158 | 159 | .markdown-body [type=button]:-moz-focusring, 160 | .markdown-body [type=reset]:-moz-focusring, 161 | .markdown-body [type=submit]:-moz-focusring { 162 | outline: 1px dotted ButtonText; 163 | } 164 | 165 | .markdown-body [type=checkbox], 166 | .markdown-body [type=radio] { 167 | box-sizing: border-box; 168 | padding: 0; 169 | } 170 | 171 | .markdown-body [type=number]::-webkit-inner-spin-button, 172 | .markdown-body [type=number]::-webkit-outer-spin-button { 173 | height: auto; 174 | } 175 | 176 | .markdown-body [type=search] { 177 | -webkit-appearance: textfield; 178 | outline-offset: -2px; 179 | } 180 | 181 | .markdown-body [type=search]::-webkit-search-cancel-button, 182 | .markdown-body [type=search]::-webkit-search-decoration { 183 | -webkit-appearance: none; 184 | } 185 | 186 | .markdown-body ::-webkit-input-placeholder { 187 | color: inherit; 188 | opacity: .54; 189 | } 190 | 191 | .markdown-body ::-webkit-file-upload-button { 192 | -webkit-appearance: button; 193 | font: inherit; 194 | } 195 | 196 | .markdown-body a:hover { 197 | text-decoration: underline; 198 | } 199 | 200 | .markdown-body hr::before { 201 | display: table; 202 | content: ""; 203 | } 204 | 205 | .markdown-body hr::after { 206 | display: table; 207 | clear: both; 208 | content: ""; 209 | } 210 | 211 | .markdown-body table { 212 | border-spacing: 0; 213 | border-collapse: collapse; 214 | display: block; 215 | width: max-content; 216 | max-width: 100%; 217 | overflow: auto; 218 | } 219 | 220 | .markdown-body td, 221 | .markdown-body th { 222 | padding: 0; 223 | } 224 | 225 | .markdown-body details summary { 226 | cursor: pointer; 227 | } 228 | 229 | .markdown-body details:not([open])>*:not(summary) { 230 | display: none !important; 231 | } 232 | 233 | .markdown-body kbd { 234 | display: inline-block; 235 | padding: 3px 5px; 236 | font: 11px ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; 237 | line-height: 10px; 238 | color: #24292f; 239 | vertical-align: middle; 240 | background-color: #f6f8fa; 241 | border: solid 1px rgba(175,184,193,0.2); 242 | border-bottom-color: rgba(175,184,193,0.2); 243 | border-radius: 6px; 244 | box-shadow: inset 0 -1px 0 rgba(175,184,193,0.2); 245 | } 246 | 247 | .markdown-body h1, 248 | .markdown-body h2, 249 | .markdown-body h3, 250 | .markdown-body h4, 251 | .markdown-body h5, 252 | .markdown-body h6 { 253 | margin-top: 24px; 254 | margin-bottom: 16px; 255 | font-weight: 600; 256 | line-height: 1.25; 257 | } 258 | 259 | .markdown-body h2 { 260 | font-weight: 600; 261 | padding-bottom: .3em; 262 | font-size: 1.5em; 263 | border-bottom: 1px solid hsla(210,18%,87%,1); 264 | } 265 | 266 | .markdown-body h3 { 267 | font-weight: 600; 268 | font-size: 1.25em; 269 | } 270 | 271 | .markdown-body h4 { 272 | font-weight: 600; 273 | font-size: 1em; 274 | } 275 | 276 | .markdown-body h5 { 277 | font-weight: 600; 278 | font-size: .875em; 279 | } 280 | 281 | .markdown-body h6 { 282 | font-weight: 600; 283 | font-size: .85em; 284 | color: #57606a; 285 | } 286 | 287 | .markdown-body p { 288 | margin-top: 0; 289 | margin-bottom: 10px; 290 | } 291 | 292 | .markdown-body blockquote { 293 | margin: 0; 294 | padding: 0 1em; 295 | color: #57606a; 296 | border-left: .25em solid #d0d7de; 297 | } 298 | 299 | .markdown-body ul, 300 | .markdown-body ol { 301 | margin-top: 0; 302 | margin-bottom: 0; 303 | padding-left: 2em; 304 | } 305 | 306 | .markdown-body ol ol, 307 | .markdown-body ul ol { 308 | list-style-type: lower-roman; 309 | } 310 | 311 | .markdown-body ul ul ol, 312 | .markdown-body ul ol ol, 313 | .markdown-body ol ul ol, 314 | .markdown-body ol ol ol { 315 | list-style-type: lower-alpha; 316 | } 317 | 318 | .markdown-body dd { 319 | margin-left: 0; 320 | } 321 | 322 | .markdown-body tt, 323 | .markdown-body code { 324 | font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; 325 | font-size: 12px; 326 | } 327 | 328 | .markdown-body pre { 329 | margin-top: 0; 330 | margin-bottom: 0; 331 | font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; 332 | font-size: 12px; 333 | word-wrap: normal; 334 | } 335 | 336 | .markdown-body .octicon { 337 | display: inline-block; 338 | overflow: visible !important; 339 | vertical-align: text-bottom; 340 | fill: currentColor; 341 | } 342 | 343 | .markdown-body ::placeholder { 344 | color: #6e7781; 345 | opacity: 1; 346 | } 347 | 348 | .markdown-body input::-webkit-outer-spin-button, 349 | .markdown-body input::-webkit-inner-spin-button { 350 | margin: 0; 351 | -webkit-appearance: none; 352 | appearance: none; 353 | } 354 | 355 | .markdown-body .pl-c { 356 | color: #6e7781; 357 | } 358 | 359 | .markdown-body .pl-c1, 360 | .markdown-body .pl-s .pl-v { 361 | color: #0550ae; 362 | } 363 | 364 | .markdown-body .pl-e, 365 | .markdown-body .pl-en { 366 | color: #8250df; 367 | } 368 | 369 | .markdown-body .pl-smi, 370 | .markdown-body .pl-s .pl-s1 { 371 | color: #24292f; 372 | } 373 | 374 | .markdown-body .pl-ent { 375 | color: #116329; 376 | } 377 | 378 | .markdown-body .pl-k { 379 | color: #cf222e; 380 | } 381 | 382 | .markdown-body .pl-s, 383 | .markdown-body .pl-pds, 384 | .markdown-body .pl-s .pl-pse .pl-s1, 385 | .markdown-body .pl-sr, 386 | .markdown-body .pl-sr .pl-cce, 387 | .markdown-body .pl-sr .pl-sre, 388 | .markdown-body .pl-sr .pl-sra { 389 | color: #0a3069; 390 | } 391 | 392 | .markdown-body .pl-v, 393 | .markdown-body .pl-smw { 394 | color: #953800; 395 | } 396 | 397 | .markdown-body .pl-bu { 398 | color: #82071e; 399 | } 400 | 401 | .markdown-body .pl-ii { 402 | color: #f6f8fa; 403 | background-color: #82071e; 404 | } 405 | 406 | .markdown-body .pl-c2 { 407 | color: #f6f8fa; 408 | background-color: #cf222e; 409 | } 410 | 411 | .markdown-body .pl-sr .pl-cce { 412 | font-weight: bold; 413 | color: #116329; 414 | } 415 | 416 | .markdown-body .pl-ml { 417 | color: #3b2300; 418 | } 419 | 420 | .markdown-body .pl-mh, 421 | .markdown-body .pl-mh .pl-en, 422 | .markdown-body .pl-ms { 423 | font-weight: bold; 424 | color: #0550ae; 425 | } 426 | 427 | .markdown-body .pl-mi { 428 | font-style: italic; 429 | color: #24292f; 430 | } 431 | 432 | .markdown-body .pl-mb { 433 | font-weight: bold; 434 | color: #24292f; 435 | } 436 | 437 | .markdown-body .pl-md { 438 | color: #82071e; 439 | background-color: #FFEBE9; 440 | } 441 | 442 | .markdown-body .pl-mi1 { 443 | color: #116329; 444 | background-color: #dafbe1; 445 | } 446 | 447 | .markdown-body .pl-mc { 448 | color: #953800; 449 | background-color: #ffd8b5; 450 | } 451 | 452 | .markdown-body .pl-mi2 { 453 | color: #eaeef2; 454 | background-color: #0550ae; 455 | } 456 | 457 | .markdown-body .pl-mdr { 458 | font-weight: bold; 459 | color: #8250df; 460 | } 461 | 462 | .markdown-body .pl-ba { 463 | color: #57606a; 464 | } 465 | 466 | .markdown-body .pl-sg { 467 | color: #8c959f; 468 | } 469 | 470 | .markdown-body .pl-corl { 471 | text-decoration: underline; 472 | color: #0a3069; 473 | } 474 | 475 | .markdown-body [data-catalyst] { 476 | display: block; 477 | } 478 | 479 | .markdown-body g-emoji { 480 | font-family: "Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol"; 481 | font-size: 1em; 482 | font-style: normal !important; 483 | font-weight: 400; 484 | line-height: 1; 485 | vertical-align: -0.075em; 486 | } 487 | 488 | .markdown-body g-emoji img { 489 | width: 1em; 490 | height: 1em; 491 | } 492 | 493 | .markdown-body::before { 494 | display: table; 495 | content: ""; 496 | } 497 | 498 | .markdown-body::after { 499 | display: table; 500 | clear: both; 501 | content: ""; 502 | } 503 | 504 | .markdown-body>*:first-child { 505 | margin-top: 0 !important; 506 | } 507 | 508 | .markdown-body>*:last-child { 509 | margin-bottom: 0 !important; 510 | } 511 | 512 | .markdown-body a:not([href]) { 513 | color: inherit; 514 | text-decoration: none; 515 | } 516 | 517 | .markdown-body .absent { 518 | color: #cf222e; 519 | } 520 | 521 | .markdown-body .anchor { 522 | float: left; 523 | padding-right: 4px; 524 | margin-left: -20px; 525 | line-height: 1; 526 | } 527 | 528 | .markdown-body .anchor:focus { 529 | outline: none; 530 | } 531 | 532 | .markdown-body p, 533 | .markdown-body blockquote, 534 | .markdown-body ul, 535 | .markdown-body ol, 536 | .markdown-body dl, 537 | .markdown-body table, 538 | .markdown-body pre, 539 | .markdown-body details { 540 | margin-top: 0; 541 | margin-bottom: 16px; 542 | } 543 | 544 | .markdown-body blockquote>:first-child { 545 | margin-top: 0; 546 | } 547 | 548 | .markdown-body blockquote>:last-child { 549 | margin-bottom: 0; 550 | } 551 | 552 | .markdown-body sup>a::before { 553 | content: "["; 554 | } 555 | 556 | .markdown-body sup>a::after { 557 | content: "]"; 558 | } 559 | 560 | .markdown-body h1 .octicon-link, 561 | .markdown-body h2 .octicon-link, 562 | .markdown-body h3 .octicon-link, 563 | .markdown-body h4 .octicon-link, 564 | .markdown-body h5 .octicon-link, 565 | .markdown-body h6 .octicon-link { 566 | color: #24292f; 567 | vertical-align: middle; 568 | visibility: hidden; 569 | } 570 | 571 | .markdown-body h1:hover .anchor, 572 | .markdown-body h2:hover .anchor, 573 | .markdown-body h3:hover .anchor, 574 | .markdown-body h4:hover .anchor, 575 | .markdown-body h5:hover .anchor, 576 | .markdown-body h6:hover .anchor { 577 | text-decoration: none; 578 | } 579 | 580 | .markdown-body h1:hover .anchor .octicon-link, 581 | .markdown-body h2:hover .anchor .octicon-link, 582 | .markdown-body h3:hover .anchor .octicon-link, 583 | .markdown-body h4:hover .anchor .octicon-link, 584 | .markdown-body h5:hover .anchor .octicon-link, 585 | .markdown-body h6:hover .anchor .octicon-link { 586 | visibility: visible; 587 | } 588 | 589 | .markdown-body h1 tt, 590 | .markdown-body h1 code, 591 | .markdown-body h2 tt, 592 | .markdown-body h2 code, 593 | .markdown-body h3 tt, 594 | .markdown-body h3 code, 595 | .markdown-body h4 tt, 596 | .markdown-body h4 code, 597 | .markdown-body h5 tt, 598 | .markdown-body h5 code, 599 | .markdown-body h6 tt, 600 | .markdown-body h6 code { 601 | padding: 0 .2em; 602 | font-size: inherit; 603 | } 604 | 605 | .markdown-body ul.no-list, 606 | .markdown-body ol.no-list { 607 | padding: 0; 608 | list-style-type: none; 609 | } 610 | 611 | .markdown-body ol[type="1"] { 612 | list-style-type: decimal; 613 | } 614 | 615 | .markdown-body ol[type=a] { 616 | list-style-type: lower-alpha; 617 | } 618 | 619 | .markdown-body ol[type=i] { 620 | list-style-type: lower-roman; 621 | } 622 | 623 | .markdown-body div>ol:not([type]) { 624 | list-style-type: decimal; 625 | } 626 | 627 | .markdown-body ul ul, 628 | .markdown-body ul ol, 629 | .markdown-body ol ol, 630 | .markdown-body ol ul { 631 | margin-top: 0; 632 | margin-bottom: 0; 633 | } 634 | 635 | .markdown-body li>p { 636 | margin-top: 16px; 637 | } 638 | 639 | .markdown-body li+li { 640 | margin-top: .25em; 641 | } 642 | 643 | .markdown-body dl { 644 | padding: 0; 645 | } 646 | 647 | .markdown-body dl dt { 648 | padding: 0; 649 | margin-top: 16px; 650 | font-size: 1em; 651 | font-style: italic; 652 | font-weight: 600; 653 | } 654 | 655 | .markdown-body dl dd { 656 | padding: 0 16px; 657 | margin-bottom: 16px; 658 | } 659 | 660 | .markdown-body table th { 661 | font-weight: 600; 662 | } 663 | 664 | .markdown-body table th, 665 | .markdown-body table td { 666 | padding: 6px 13px; 667 | border: 1px solid #d0d7de; 668 | } 669 | 670 | .markdown-body table tr { 671 | background-color: #ffffff; 672 | border-top: 1px solid hsla(210,18%,87%,1); 673 | } 674 | 675 | .markdown-body table tr:nth-child(2n) { 676 | background-color: #f6f8fa; 677 | } 678 | 679 | .markdown-body table img { 680 | background-color: transparent; 681 | } 682 | 683 | .markdown-body img[align=right] { 684 | padding-left: 20px; 685 | } 686 | 687 | .markdown-body img[align=left] { 688 | padding-right: 20px; 689 | } 690 | 691 | .markdown-body .emoji { 692 | max-width: none; 693 | vertical-align: text-top; 694 | background-color: transparent; 695 | } 696 | 697 | .markdown-body span.frame { 698 | display: block; 699 | overflow: hidden; 700 | } 701 | 702 | .markdown-body span.frame>span { 703 | display: block; 704 | float: left; 705 | width: auto; 706 | padding: 7px; 707 | margin: 13px 0 0; 708 | overflow: hidden; 709 | border: 1px solid #d0d7de; 710 | } 711 | 712 | .markdown-body span.frame span img { 713 | display: block; 714 | float: left; 715 | } 716 | 717 | .markdown-body span.frame span span { 718 | display: block; 719 | padding: 5px 0 0; 720 | clear: both; 721 | color: #24292f; 722 | } 723 | 724 | .markdown-body span.align-center { 725 | display: block; 726 | overflow: hidden; 727 | clear: both; 728 | } 729 | 730 | .markdown-body span.align-center>span { 731 | display: block; 732 | margin: 13px auto 0; 733 | overflow: hidden; 734 | text-align: center; 735 | } 736 | 737 | .markdown-body span.align-center span img { 738 | margin: 0 auto; 739 | text-align: center; 740 | } 741 | 742 | .markdown-body span.align-right { 743 | display: block; 744 | overflow: hidden; 745 | clear: both; 746 | } 747 | 748 | .markdown-body span.align-right>span { 749 | display: block; 750 | margin: 13px 0 0; 751 | overflow: hidden; 752 | text-align: right; 753 | } 754 | 755 | .markdown-body span.align-right span img { 756 | margin: 0; 757 | text-align: right; 758 | } 759 | 760 | .markdown-body span.float-left { 761 | display: block; 762 | float: left; 763 | margin-right: 13px; 764 | overflow: hidden; 765 | } 766 | 767 | .markdown-body span.float-left span { 768 | margin: 13px 0 0; 769 | } 770 | 771 | .markdown-body span.float-right { 772 | display: block; 773 | float: right; 774 | margin-left: 13px; 775 | overflow: hidden; 776 | } 777 | 778 | .markdown-body span.float-right>span { 779 | display: block; 780 | margin: 13px auto 0; 781 | overflow: hidden; 782 | text-align: right; 783 | } 784 | 785 | .markdown-body code, 786 | .markdown-body tt { 787 | padding: .2em .4em; 788 | margin: 0; 789 | font-size: 85%; 790 | background-color: rgba(175,184,193,0.2); 791 | border-radius: 6px; 792 | } 793 | 794 | .markdown-body code br, 795 | .markdown-body tt br { 796 | display: none; 797 | } 798 | 799 | .markdown-body del code { 800 | text-decoration: inherit; 801 | } 802 | 803 | .markdown-body pre code { 804 | font-size: 100%; 805 | } 806 | 807 | .markdown-body pre>code { 808 | padding: 0; 809 | margin: 0; 810 | word-break: normal; 811 | white-space: pre; 812 | background: transparent; 813 | border: 0; 814 | } 815 | 816 | .markdown-body .highlight { 817 | margin-bottom: 16px; 818 | } 819 | 820 | .markdown-body .highlight pre { 821 | margin-bottom: 0; 822 | word-break: normal; 823 | } 824 | 825 | .markdown-body .highlight pre, 826 | .markdown-body pre { 827 | padding: 16px; 828 | overflow: auto; 829 | font-size: 85%; 830 | line-height: 1.45; 831 | background-color: #f6f8fa; 832 | border-radius: 6px; 833 | } 834 | 835 | .markdown-body pre code, 836 | .markdown-body pre tt { 837 | display: inline; 838 | max-width: auto; 839 | padding: 0; 840 | margin: 0; 841 | overflow: visible; 842 | line-height: inherit; 843 | word-wrap: normal; 844 | background-color: transparent; 845 | border: 0; 846 | } 847 | 848 | .markdown-body .csv-data td, 849 | .markdown-body .csv-data th { 850 | padding: 5px; 851 | overflow: hidden; 852 | font-size: 12px; 853 | line-height: 1; 854 | text-align: left; 855 | white-space: nowrap; 856 | } 857 | 858 | .markdown-body .csv-data .blob-num { 859 | padding: 10px 8px 9px; 860 | text-align: right; 861 | background: #ffffff; 862 | border: 0; 863 | } 864 | 865 | .markdown-body .csv-data tr { 866 | border-top: 0; 867 | } 868 | 869 | .markdown-body .csv-data th { 870 | font-weight: 600; 871 | background: #f6f8fa; 872 | border-top: 0; 873 | } 874 | 875 | .markdown-body .footnotes { 876 | font-size: 12px; 877 | color: #57606a; 878 | border-top: 1px solid #d0d7de; 879 | } 880 | 881 | .markdown-body .footnotes ol { 882 | padding-left: 16px; 883 | } 884 | 885 | .markdown-body .footnotes li { 886 | position: relative; 887 | } 888 | 889 | .markdown-body .footnotes li:target::before { 890 | position: absolute; 891 | top: -8px; 892 | right: -8px; 893 | bottom: -8px; 894 | left: -24px; 895 | pointer-events: none; 896 | content: ""; 897 | border: 2px solid #0969da; 898 | border-radius: 6px; 899 | } 900 | 901 | .markdown-body .footnotes li:target { 902 | color: #24292f; 903 | } 904 | 905 | .markdown-body .footnotes .data-footnote-backref g-emoji { 906 | font-family: monospace; 907 | } 908 | 909 | .markdown-body .task-list-item { 910 | list-style-type: none; 911 | } 912 | 913 | .markdown-body .task-list-item label { 914 | font-weight: 400; 915 | } 916 | 917 | .markdown-body .task-list-item.enabled label { 918 | cursor: pointer; 919 | } 920 | 921 | .markdown-body .task-list-item+.task-list-item { 922 | margin-top: 3px; 923 | } 924 | 925 | .markdown-body .task-list-item .handle { 926 | display: none; 927 | } 928 | 929 | .markdown-body .task-list-item-checkbox { 930 | margin: 0 .2em .25em -1.6em; 931 | vertical-align: middle; 932 | } 933 | 934 | .markdown-body .contains-task-list:dir(rtl) .task-list-item-checkbox { 935 | margin: 0 -1.6em .25em .2em; 936 | } 937 | 938 | .markdown-body ::-webkit-calendar-picker-indicator { 939 | filter: invert(50%); 940 | } -------------------------------------------------------------------------------- /src/css/prism-dark.css: -------------------------------------------------------------------------------- 1 | .markdown-body-dark pre[class*="language-"], 2 | .markdown-body-dark code[class*="language-"] { 3 | color: #d4d4d4; 4 | font-size: 13px; 5 | text-shadow: none; 6 | font-family: Menlo, Monaco, Consolas, "Andale Mono", "Ubuntu Mono", "Courier New", monospace; 7 | direction: ltr; 8 | text-align: left; 9 | white-space: pre; 10 | word-spacing: normal; 11 | word-break: normal; 12 | line-height: 1.5; 13 | -moz-tab-size: 4; 14 | -o-tab-size: 4; 15 | tab-size: 4; 16 | -webkit-hyphens: none; 17 | -moz-hyphens: none; 18 | -ms-hyphens: none; 19 | hyphens: none; 20 | } 21 | 22 | .markdown-body-dark pre[class*="language-"]::selection, 23 | .markdown-body-dark code[class*="language-"]::selection, 24 | .markdown-body-dark pre[class*="language-"] *::selection, 25 | .markdown-body-dark code[class*="language-"] *::selection { 26 | text-shadow: none; 27 | background: #264F78; 28 | } 29 | 30 | @media print { 31 | .markdown-body-dark pre[class*="language-"], 32 | .markdown-body-dark code[class*="language-"] { 33 | text-shadow: none; 34 | } 35 | } 36 | 37 | .markdown-body-dark pre[class*="language-"] { 38 | padding: 1em; 39 | margin: .5em 0; 40 | overflow: auto; 41 | } 42 | 43 | .markdown-body-dark :not(pre) > code[class*="language-"] { 44 | padding: .1em .3em; 45 | border-radius: .3em; 46 | color: #db4c69; 47 | background: #1e1e1e; 48 | } 49 | /********************************************************* 50 | * Tokens 51 | */ 52 | .markdown-body-dark .namespace { 53 | opacity: .7; 54 | } 55 | 56 | .markdown-body-dark .token.doctype .token.doctype-tag { 57 | color: #569CD6; 58 | } 59 | 60 | .markdown-body-dark .token.doctype .token.name { 61 | color: #9cdcfe; 62 | } 63 | 64 | .markdown-body-dark .token.comment, 65 | .markdown-body-dark .token.prolog { 66 | color: #6a9955; 67 | } 68 | 69 | .markdown-body-dark .token.punctuation, 70 | .markdown-body-dark .language-html .language-css .token.punctuation, 71 | .markdown-body-dark .language-html .language-javascript .token.punctuation { 72 | color: #d4d4d4; 73 | } 74 | 75 | .markdown-body-dark .token.property, 76 | .markdown-body-dark .token.tag, 77 | .markdown-body-dark .token.boolean, 78 | .markdown-body-dark .token.number, 79 | .markdown-body-dark .token.constant, 80 | .markdown-body-dark .token.symbol, 81 | .markdown-body-dark .token.inserted, 82 | .markdown-body-dark .token.unit { 83 | color: #b5cea8; 84 | } 85 | 86 | .markdown-body-dark .token.selector, 87 | .markdown-body-dark .token.attr-name, 88 | .markdown-body-dark .token.string, 89 | .markdown-body-dark .token.char, 90 | .markdown-body-dark .token.builtin, 91 | .markdown-body-dark .token.deleted { 92 | color: #ce9178; 93 | } 94 | 95 | .markdown-body-dark .language-css .token.string.url { 96 | text-decoration: underline; 97 | } 98 | 99 | .markdown-body-dark .token.operator, 100 | .markdown-body-dark .token.entity { 101 | color: #d4d4d4; 102 | } 103 | 104 | .markdown-body-dark .token.operator.arrow { 105 | color: #569CD6; 106 | } 107 | 108 | .markdown-body-dark .token.atrule { 109 | color: #ce9178; 110 | } 111 | 112 | .markdown-body-dark .token.atrule .token.rule { 113 | color: #c586c0; 114 | } 115 | 116 | .markdown-body-dark .token.atrule .token.url { 117 | color: #9cdcfe; 118 | } 119 | 120 | .markdown-body-dark .token.atrule .token.url .token.function { 121 | color: #dcdcaa; 122 | } 123 | 124 | .markdown-body-dark .token.atrule .token.url .token.punctuation { 125 | color: #d4d4d4; 126 | } 127 | 128 | .markdown-body-dark .token.keyword { 129 | color: #569CD6; 130 | } 131 | 132 | .markdown-body-dark .token.keyword.module, 133 | .markdown-body-dark .token.keyword.control-flow { 134 | color: #c586c0; 135 | } 136 | 137 | .markdown-body-dark .token.function, 138 | .markdown-body-dark .token.function .token.maybe-class-name { 139 | color: #dcdcaa; 140 | } 141 | 142 | .markdown-body-dark .token.regex { 143 | color: #d16969; 144 | } 145 | 146 | .markdown-body-dark .token.important { 147 | color: #569cd6; 148 | } 149 | 150 | .markdown-body-dark .token.italic { 151 | font-style: italic; 152 | } 153 | 154 | .markdown-body-dark .token.constant { 155 | color: #9cdcfe; 156 | } 157 | 158 | .markdown-body-dark .token.class-name, 159 | .markdown-body-dark .token.maybe-class-name { 160 | color: #4ec9b0; 161 | } 162 | 163 | .markdown-body-dark .token.console { 164 | color: #9cdcfe; 165 | } 166 | 167 | .markdown-body-dark .token.parameter { 168 | color: #9cdcfe; 169 | } 170 | 171 | .markdown-body-dark .token.interpolation { 172 | color: #9cdcfe; 173 | } 174 | 175 | .markdown-body-dark .token.punctuation.interpolation-punctuation { 176 | color: #569cd6; 177 | } 178 | 179 | .markdown-body-dark .token.boolean { 180 | color: #569cd6; 181 | } 182 | 183 | .markdown-body-dark .token.property, 184 | .markdown-body-dark .token.variable, 185 | .markdown-body-dark .token.imports .token.maybe-class-name, 186 | .markdown-body-dark .token.exports .token.maybe-class-name { 187 | color: #9cdcfe; 188 | } 189 | 190 | .markdown-body-dark .token.selector { 191 | color: #d7ba7d; 192 | } 193 | 194 | .markdown-body-dark .token.escape { 195 | color: #d7ba7d; 196 | } 197 | 198 | .markdown-body-dark .token.tag { 199 | color: #569cd6; 200 | } 201 | 202 | .markdown-body-dark .token.tag .token.punctuation { 203 | color: #808080; 204 | } 205 | 206 | .markdown-body-dark .token.cdata { 207 | color: #808080; 208 | } 209 | 210 | .markdown-body-dark .token.attr-name { 211 | color: #9cdcfe; 212 | } 213 | 214 | .markdown-body-dark .token.attr-value, 215 | .markdown-body-dark .token.attr-value .token.punctuation { 216 | color: #ce9178; 217 | } 218 | 219 | .markdown-body-dark .token.attr-value .token.punctuation.attr-equals { 220 | color: #d4d4d4; 221 | } 222 | 223 | .markdown-body-dark .token.entity { 224 | color: #569cd6; 225 | } 226 | 227 | .markdown-body-dark .token.namespace { 228 | color: #4ec9b0; 229 | } 230 | /********************************************************* 231 | * Language Specific 232 | */ 233 | 234 | .markdown-body-dark pre[class*="language-javascript"], 235 | .markdown-body-dark code[class*="language-javascript"], 236 | .markdown-body-dark pre[class*="language-jsx"], 237 | .markdown-body-dark code[class*="language-jsx"], 238 | .markdown-body-dark pre[class*="language-typescript"], 239 | .markdown-body-dark code[class*="language-typescript"], 240 | .markdown-body-dark pre[class*="language-tsx"], 241 | .markdown-body-dark code[class*="language-tsx"] { 242 | color: #9cdcfe; 243 | } 244 | 245 | .markdown-body-dark pre[class*="language-css"], 246 | .markdown-body-dark code[class*="language-css"] { 247 | color: #ce9178; 248 | } 249 | 250 | .markdown-body-dark pre[class*="language-html"], 251 | .markdown-body-dark code[class*="language-html"] { 252 | color: #d4d4d4; 253 | } 254 | 255 | .markdown-body-dark .language-regex .token.anchor { 256 | color: #dcdcaa; 257 | } 258 | 259 | .markdown-body-dark .language-html .token.punctuation { 260 | color: #808080; 261 | } 262 | /********************************************************* 263 | * Line highlighting 264 | */ 265 | .markdown-body-dark pre[class*="language-"] > code[class*="language-"] { 266 | position: relative; 267 | z-index: 1; 268 | } 269 | 270 | .markdown-body-dark .line-highlight.line-highlight { 271 | background: #f7ebc6; 272 | box-shadow: inset 5px 0 0 #f7d87c; 273 | z-index: 0; 274 | } -------------------------------------------------------------------------------- /src/css/prism-light.css: -------------------------------------------------------------------------------- 1 | /** 2 | * VS theme by Andrew Lock (https://andrewlock.net) 3 | * Inspired by Visual Studio syntax coloring 4 | */ 5 | 6 | .markdown-body code[class*="language-"], 7 | .markdown-body pre[class*="language-"] { 8 | color: #393A34; 9 | font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; 10 | direction: ltr; 11 | text-align: left; 12 | white-space: pre; 13 | word-spacing: normal; 14 | word-break: normal; 15 | font-size: .9em; 16 | line-height: 1.2em; 17 | 18 | -moz-tab-size: 4; 19 | -o-tab-size: 4; 20 | tab-size: 4; 21 | 22 | -webkit-hyphens: none; 23 | -moz-hyphens: none; 24 | -ms-hyphens: none; 25 | hyphens: none; 26 | } 27 | 28 | .markdown-body pre > code[class*="language-"] { 29 | font-size: 1em; 30 | } 31 | 32 | .markdown-body pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, 33 | .markdown-body code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { 34 | background: #C1DEF1; 35 | } 36 | 37 | .markdown-body pre[class*="language-"]::selection, pre[class*="language-"] ::selection, 38 | .markdown-body code[class*="language-"]::selection, code[class*="language-"] ::selection { 39 | background: #C1DEF1; 40 | } 41 | 42 | /* Code blocks */ 43 | .markdown-body pre[class*="language-"] { 44 | padding: 1em; 45 | margin: .5em 0; 46 | overflow: auto; 47 | border: 1px solid #dddddd; 48 | } 49 | 50 | /* Inline code */ 51 | :not(pre) > code[class*="language-"] { 52 | padding: .2em; 53 | padding-top: 1px; 54 | padding-bottom: 1px; 55 | background: #f8f8f8; 56 | border: 1px solid #dddddd; 57 | } 58 | 59 | .markdown-body .token.comment, 60 | .markdown-body .token.prolog, 61 | .markdown-body .token.doctype, 62 | .markdown-body .token.cdata { 63 | color: #008000; 64 | font-style: italic; 65 | } 66 | 67 | .markdown-body .token.namespace { 68 | opacity: .7; 69 | } 70 | 71 | .markdown-body .token.string { 72 | color: #A31515; 73 | } 74 | 75 | .markdown-body .token.punctuation, 76 | .markdown-body .token.operator { 77 | color: #393A34; /* no highlight */ 78 | } 79 | 80 | .markdown-body .token.url, 81 | .markdown-body .token.symbol, 82 | .markdown-body .token.number, 83 | .markdown-body .token.boolean, 84 | .markdown-body .token.variable, 85 | .markdown-body .token.constant, 86 | .markdown-body .token.inserted { 87 | color: #36acaa; 88 | } 89 | 90 | .markdown-body .token.atrule, 91 | .markdown-body .token.keyword, 92 | .markdown-body .token.attr-value, 93 | .markdown-body .language-autohotkey .token.selector, 94 | .markdown-body .language-json .token.boolean, 95 | .markdown-body .language-json .token.number, 96 | .markdown-body code[class*="language-css"] { 97 | color: #0000ff; 98 | } 99 | 100 | .markdown-body .token.function { 101 | color: #393A34; 102 | } 103 | 104 | .markdown-body .token.deleted, 105 | .markdown-body .language-autohotkey .token.tag { 106 | color: #9a050f; 107 | } 108 | 109 | .markdown-body .token.selector, 110 | .markdown-body .language-autohotkey .token.keyword { 111 | color: #00009f; 112 | } 113 | 114 | .markdown-body .token.important { 115 | color: #e90; 116 | } 117 | 118 | .markdown-body .token.important, 119 | .markdown-body .token.bold { 120 | font-weight: bold; 121 | } 122 | 123 | .markdown-body .token.italic { 124 | font-style: italic; 125 | } 126 | 127 | .markdown-body .token.class-name, 128 | .markdown-body .language-json .token.property { 129 | color: #2B91AF; 130 | } 131 | 132 | .markdown-body .token.tag, 133 | .markdown-body .token.selector { 134 | color: #800000; 135 | } 136 | 137 | .markdown-body .token.attr-name, 138 | .markdown-body .token.property, 139 | .markdown-body .token.regex, 140 | .markdown-body .token.entity { 141 | color: #ff0000; 142 | } 143 | 144 | .markdown-body .token.directive.tag .tag { 145 | background: #ffff00; 146 | color: #393A34; 147 | } 148 | 149 | /* overrides color-values for the Line Numbers plugin 150 | * http://prismjs.com/plugins/line-numbers/ 151 | */ 152 | .markdown-body .line-numbers.line-numbers .line-numbers-rows { 153 | border-right-color: #a5a5a5; 154 | } 155 | 156 | .markdown-body .line-numbers .line-numbers-rows > span:before { 157 | color: #2B91AF; 158 | } 159 | 160 | /* overrides color-values for the Line Highlight plugin 161 | * http://prismjs.com/plugins/line-highlight/ 162 | */ 163 | .markdown-body .line-highlight.line-highlight { 164 | background: rgba(193, 222, 241, 0.2); 165 | background: -webkit-linear-gradient(left, rgba(193, 222, 241, 0.2) 70%, rgba(221, 222, 241, 0)); 166 | background: linear-gradient(to right, rgba(193, 222, 241, 0.2) 70%, rgba(221, 222, 241, 0)); 167 | } -------------------------------------------------------------------------------- /src/index-themed.js: -------------------------------------------------------------------------------- 1 | import './css/prism-dark.css'; 2 | import './css/prism-light.css'; 3 | import './css/markdown-dark.css'; 4 | import './css/markdown-light.css'; 5 | import * as JCodeMD from './jcode-md'; 6 | 7 | window.JCodeMD = window.JCodeMD || JCodeMD; 8 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | import * as JCodeMD from './jcode-md'; 2 | 3 | window.JCodeMD = window.JCodeMD || JCodeMD; -------------------------------------------------------------------------------- /src/jcode-md-themed.js: -------------------------------------------------------------------------------- 1 | import './css/prism-dark.css'; 2 | import './css/prism-light.css'; 3 | import './css/markdown-dark.css'; 4 | import './css/markdown-light.css'; 5 | 6 | import {codeExtensions, renderOptions, markedExtensions, render} from './jcode-md'; 7 | 8 | export {codeExtensions, renderOptions, markedExtensions, render}; -------------------------------------------------------------------------------- /src/jcode-md.js: -------------------------------------------------------------------------------- 1 | import './css/common.css'; 2 | 3 | import {marked} from 'marked'; 4 | import Prism from 'prismjs'; 5 | import katex from './katex'; 6 | 7 | const getCustomCode = async () => { 8 | let el; 9 | do { 10 | el = document.querySelector('body>script:last-of-type'); 11 | if(el && el.type === 'text/markdown') return el.textContent; 12 | // eslint-disable-next-line no-await-in-loop 13 | await new Promise(resolve => setTimeout(resolve, 50)); 14 | } while(1); 15 | }; 16 | 17 | export const codeExtensions = [ 18 | [/^mermaid$/, (code, infostring, escaped) => { 19 | return `
${code}
`; 20 | }], 21 | ]; 22 | 23 | class Renderer extends marked.Renderer { 24 | code(code, infostring, escaped) { 25 | infostring = infostring.trim(); 26 | for(let i = 0; i < codeExtensions.length; i++) { 27 | const [pattern, fn] = codeExtensions[i]; 28 | if(pattern.test(infostring)) { 29 | return fn(code, infostring, escaped); 30 | } 31 | } 32 | const ret = super.code(code, infostring, escaped); 33 | return ret.replace(/^
/, `
`);
34 |   }
35 | 
36 |   link(href, title, text) {
37 |     if(!title && text === href && href.startsWith('https://code.juejin.cn/pen/')) {
38 |       return ``;
39 |     }
40 |     return super.link(href, title, text);
41 |   }
42 | }
43 | 
44 | const defaultOptions = {
45 |   renderer: new Renderer(),
46 |   highlight(code, lang) {
47 |     const language = Prism.languages[lang] || Prism.languages.plaintext;
48 |     return Prism.highlight(code, language, lang);
49 |   },
50 |   pedantic: false,
51 |   gfm: true,
52 |   breaks: false,
53 |   sanitize: false,
54 |   smartLists: true,
55 |   smartypants: false,
56 |   xhtml: false,
57 |   headerIds: false,
58 | };
59 | 
60 | export const renderOptions = {};
61 | export const markedExtensions = [];
62 | 
63 | export const render = async (el, options = {}) => {
64 |   const content = await getCustomCode();
65 |   const opt = {...defaultOptions, ...renderOptions, ...options};
66 | 
67 |   marked.setOptions(opt);
68 |   marked.use({extensions: [...markedExtensions, ...katex]});
69 |   el.innerHTML = marked.parse(content);
70 |   const isDark = el.classList.contains('markdown-body-dark');
71 | 
72 |   if(window.mermaid && window.mermaid.init) {
73 |     const mermaidGraphs = document.querySelectorAll('.mermaid');
74 |     window.mermaid.initialize({theme: isDark ? 'dark' : 'neutral'});
75 |     window.mermaid.init(mermaidGraphs);
76 |   }
77 | };
78 | 
79 | window.onload = () => {
80 |   const el = document.querySelector('.markdown-body,.markdown-body-dark');
81 |   const isAutoLoad = el && el.getAttribute('autoload');
82 |   if(isAutoLoad !== 'false' && isAutoLoad !== false) {
83 |     const wrapper = document.createElement('div');
84 |     wrapper.className = 'markdown-body-wrapper';
85 |     el.appendChild(wrapper);
86 |     render(wrapper);
87 |   }
88 | };


--------------------------------------------------------------------------------
/src/katex.js:
--------------------------------------------------------------------------------
 1 | import 'katex/dist/katex.css';
 2 | import katex from 'katex';
 3 | 
 4 | function renderer(token) {
 5 |   const {text: code, macros} = token;
 6 |   const ret = code;
 7 |   try {
 8 |     return katex.renderToString(code, {
 9 |       macros,
10 |     });
11 |   } catch (ex) {
12 |     console.error(ex.message);
13 |     return ret;
14 |   }
15 | }
16 | 
17 | export default [{
18 |   name: 'katex',
19 |   level: 'block',
20 |   tokenizer(src) {
21 |     const match = src.match(/^\$\$([\s\S]*)\$\$/i);
22 |     if(match) {
23 |       const body = match[1].trim();
24 |       const m = body.match(/^(\{[\s\S]*?\})?([\s\S]*)/i);
25 | 
26 |       let macros = m[1];
27 | 
28 |       if(macros) {
29 |         try {
30 |           macros = JSON.parse(m[1]);
31 |         } catch (ex) {
32 |           console.error(ex.message);
33 |         }
34 |       }
35 |       return {
36 |         type: 'katex',
37 |         raw: match[0],
38 |         macros,
39 |         text: m[2].trim(),
40 |       };
41 |     }
42 |   },
43 |   renderer,
44 | }, {
45 |   name: 'katex-inline',
46 |   level: 'inline',
47 |   tokenizer(src) {
48 |     const match = src.match(/^\$([^\n]+?)\$/);
49 |     if(match) {
50 |       return {
51 |         type: 'katex',
52 |         raw: match[0],
53 |         text: match[1].trim(),
54 |       };
55 |     }
56 |   },
57 |   renderer,
58 | }];


--------------------------------------------------------------------------------