feat(memo): added memo base
This commit is contained in:
		
							parent
							
								
									a40aae44ce
								
							
						
					
					
						commit
						a5953a3c42
					
				
							
								
								
									
										23
									
								
								buildModules/memo/index.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								buildModules/memo/index.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,23 @@ | |||||||
|  | import {Module} from '@nuxt/types' | ||||||
|  | 
 | ||||||
|  | interface MemoModuleOptions { | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | const toolConfigModule: Module<MemoModuleOptions> = function () { | ||||||
|  |   const {extendBuild} = this | ||||||
|  | 
 | ||||||
|  |   extendBuild((config) => { | ||||||
|  |     if (!config.module) { | ||||||
|  |       // eslint-disable-next-line no-console
 | ||||||
|  |       console.warn('Failed to register the memo module.') | ||||||
|  |       return | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     config.module.rules.push({ | ||||||
|  |       resourceQuery: /blockType=memo/, | ||||||
|  |       loader: require.resolve('./loader.js') | ||||||
|  |     }) | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export default toolConfigModule | ||||||
							
								
								
									
										11
									
								
								buildModules/memo/loader.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								buildModules/memo/loader.js
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | |||||||
|  | const loader = function (source, map) { | ||||||
|  |   this.callback( | ||||||
|  |     null, | ||||||
|  |     `export default function (Component) {
 | ||||||
|  |       Component.options.__memo = ${JSON.stringify(source)} | ||||||
|  |     }`,
 | ||||||
|  |     map | ||||||
|  |   ) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | module.exports = loader | ||||||
| @ -1,37 +1,24 @@ | |||||||
| <template> | <template> | ||||||
|   <div class="memo"> |   <div class="memo"> | ||||||
|  |     <v-row justify="center"> | ||||||
|  |       <v-col lg="6" md="9" sm="9" cols="12" class="mb-16"> | ||||||
|         <ToolHeader :config="$toolConfig" /> |         <ToolHeader :config="$toolConfig" /> | ||||||
| 
 | 
 | ||||||
|     Warning: le style/aspect est toujours en wip, so focus on content <br><br> |         <v-card> | ||||||
| 
 |           <v-card-text class="pa-10"> | ||||||
|     <v-row> |             <div class="memo-content" v-html="content" /> | ||||||
|       <v-col |  | ||||||
|         v-for="item in items" |  | ||||||
|         :key="item.section" |  | ||||||
|         cols="12" |  | ||||||
|         sm="12" |  | ||||||
|         md="6" |  | ||||||
|         lg="4" |  | ||||||
|         class="memo-section" |  | ||||||
|       > |  | ||||||
|         <v-card class="mb-5"> |  | ||||||
|           <v-card-title>{{ item.section }}</v-card-title> |  | ||||||
|           <v-card-text> |  | ||||||
|             <div v-for="tip in item.items" :key="tip.text" class="memo-item"> |  | ||||||
|               <div class="memo-item-title"> |  | ||||||
|                 {{ tip.text }} |  | ||||||
|               </div> |  | ||||||
|               <div v-if="tip.subtitle" class="memo-item-subtitle"> |  | ||||||
|                 {{ tip.subtitle }} |  | ||||||
|               </div> |  | ||||||
|               <div v-if="tip.code" class="memo-item-code" @click="copy(tip.code)"> |  | ||||||
|                 <pre>{{ tip.code }}</pre> |  | ||||||
|                 <v-icon>mdi-content-copy</v-icon> |  | ||||||
|               </div> |  | ||||||
|             </div> |  | ||||||
|           </v-card-text> |           </v-card-text> | ||||||
|         </v-card> |         </v-card> | ||||||
|       </v-col> |       </v-col> | ||||||
|  | 
 | ||||||
|  |       <v-col lg="2" md="3" sm="3" cols="12"> | ||||||
|  |         <div class="toc"> | ||||||
|  |           <div class="toc-title"> | ||||||
|  |             On this page | ||||||
|  |           </div> | ||||||
|  |           <div class="toc-content" v-html="toc" /> | ||||||
|  |         </div> | ||||||
|  |       </v-col> | ||||||
|     </v-row> |     </v-row> | ||||||
|   </div> |   </div> | ||||||
| </template> | </template> | ||||||
| @ -41,66 +28,108 @@ import {Component} from 'nuxt-property-decorator' | |||||||
| import Tool from './Tool.vue' | import Tool from './Tool.vue' | ||||||
| import {CopyableMixin} from '~/mixins/copyable.mixin' | import {CopyableMixin} from '~/mixins/copyable.mixin' | ||||||
| import ToolHeader from '~/components/ToolHeader.vue' | import ToolHeader from '~/components/ToolHeader.vue' | ||||||
| 
 | import {toc} from '~/utils/md-toc' | ||||||
| type MemoItems = { section: string, items: { text: string, code?: string, subtitle?: string }[] }[]; |  | ||||||
| 
 | 
 | ||||||
| @Component({ | @Component({ | ||||||
|   mixins: [CopyableMixin], |   mixins: [CopyableMixin], | ||||||
|   components: {ToolHeader} |   components: {ToolHeader} | ||||||
| }) | }) | ||||||
| export default class Memo extends Tool { | export default class Memo extends Tool { | ||||||
|   private items: MemoItems = this.$t('memo') as unknown as MemoItems |   fetchOnServer = true | ||||||
|  |   content: string = '' | ||||||
|  |   toc: string = '' | ||||||
|  | 
 | ||||||
|  |   fetch() { | ||||||
|  |     // @ts-ignore | ||||||
|  |     const content: string = this.$options.__memo.trim() | ||||||
|  | 
 | ||||||
|  |     this.toc = this.$md.render(toc(content).join('\n')) | ||||||
|  |     this.content = this.$md.render(content) | ||||||
|  |   } | ||||||
| } | } | ||||||
| </script> | </script> | ||||||
| 
 | 
 | ||||||
| <style lang="less"> | <style lang="less" scoped> | ||||||
| .memo { | .memo { | ||||||
|   h1 { | 
 | ||||||
|     font-weight: 300; |   ::v-deep { | ||||||
|     font-size: 50px; |     .memo-content { | ||||||
|     margin: 0; |       text-align: justify; | ||||||
|     padding: 0; |  | ||||||
|   } |  | ||||||
| 
 | 
 | ||||||
|       h2 { |       h2 { | ||||||
|         font-weight: 400; |         font-weight: 400; | ||||||
|  |         font-size: 25px; | ||||||
|  |         margin: 0 0 20px 0; | ||||||
|  |         padding-bottom: 10px; | ||||||
|  |         border-bottom: 1px solid rgba(255, 255, 255, 0.26); | ||||||
|  |         color: #ffffff; | ||||||
|  | 
 | ||||||
|  |         &:not(:first-child){ | ||||||
|  |           margin-top: 50px; | ||||||
|  |         } | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|   .memo-item { |       h3 { | ||||||
|     margin-bottom: 20px; |         font-weight: 400; | ||||||
| 
 |         margin-top: 20px; | ||||||
|     .memo-item-title { |         margin-bottom: 10px; | ||||||
|       font-weight: bold; |  | ||||||
|       font-size: 16px; |  | ||||||
|       color: var(--v-primary-base); |  | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|     .memo-item-subtitle { |  | ||||||
|       padding-bottom: 5px; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     .memo-item-code { |  | ||||||
|       cursor: pointer; |  | ||||||
|       background-color: rgba(0, 0, 0, 0.1); |  | ||||||
|       border-radius: 4px; |  | ||||||
|       padding: 8px 15px; |  | ||||||
|       display: flex; |  | ||||||
|       flex-direction: row; |  | ||||||
|       align-items: center; |  | ||||||
|       justify-content: center; |  | ||||||
| 
 |  | ||||||
|       pre { |       pre { | ||||||
|         flex: 1; |         width: 100%; | ||||||
|         overflow-x: auto; |         overflow-x: auto; | ||||||
|  | 
 | ||||||
|  |         code { | ||||||
|  |           display: block; | ||||||
|  |           padding: 15px; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     } | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|       .v-icon { |   .toc { | ||||||
|         opacity: 0; |     margin-top: 140px; | ||||||
|  | 
 | ||||||
|  |     .toc-title { | ||||||
|  |       font-weight: 600; | ||||||
|  |       margin-bottom: 10px; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     ::v-deep { | ||||||
|  |       .toc-content { | ||||||
|  |         a { | ||||||
|  |           color: #ffffff; | ||||||
|  |           text-decoration: none; | ||||||
|  |           opacity: 0.7; | ||||||
|  |           transition: all 0.3s ease; | ||||||
|  |           font-weight: 400; | ||||||
|  | 
 | ||||||
|           &:hover { |           &:hover { | ||||||
|         .v-icon { |  | ||||||
|             opacity: 1; |             opacity: 1; | ||||||
|  |             color: var(--v-primary-base); | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         ul { | ||||||
|  |           list-style-type: none; | ||||||
|  |           padding-left: 10px; | ||||||
|  | 
 | ||||||
|  |           li { | ||||||
|  |             padding: 5px 0; | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         &>ul { | ||||||
|  |           padding-left: 0; | ||||||
|  | 
 | ||||||
|  |           &>li { | ||||||
|  |             border-top: 1px dashed rgba(238, 238, 238, 0.38); | ||||||
|  |             padding: 5px 0 5px 10px; | ||||||
|  | 
 | ||||||
|  |             &>a { | ||||||
|  |               font-weight: 600 !important; | ||||||
|  |             } | ||||||
|  |           } | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -44,6 +44,7 @@ export default { | |||||||
|     '@nuxtjs/vuetify', |     '@nuxtjs/vuetify', | ||||||
|     // '@nuxtjs/router-extras'
 |     // '@nuxtjs/router-extras'
 | ||||||
|     '~/buildModules/tool-config', |     '~/buildModules/tool-config', | ||||||
|  |     '~/buildModules/memo', | ||||||
|     '@nuxtjs/google-fonts' |     '@nuxtjs/google-fonts' | ||||||
|   ], |   ], | ||||||
| 
 | 
 | ||||||
| @ -134,5 +135,18 @@ export default { | |||||||
|   sitemap: { |   sitemap: { | ||||||
|     hostname: 'https://it-tools.tech', |     hostname: 'https://it-tools.tech', | ||||||
|     gzip: true |     gzip: true | ||||||
|  |   }, | ||||||
|  | 
 | ||||||
|  |   markdownit: { | ||||||
|  |     preset: 'default', | ||||||
|  |     linkify: true, | ||||||
|  |     breaks: true, | ||||||
|  |     runtime: true, | ||||||
|  |     typographer: true, | ||||||
|  |     html: false, | ||||||
|  |     use: [ | ||||||
|  |       'markdown-it-anchor', | ||||||
|  |       'markdown-it-highlightjs' | ||||||
|  |     ] | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  | |||||||
							
								
								
									
										644
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										644
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -21,6 +21,8 @@ | |||||||
|         "cron-validator": "^1.2.1", |         "cron-validator": "^1.2.1", | ||||||
|         "cronstrue": "^1.114.0", |         "cronstrue": "^1.114.0", | ||||||
|         "crypto-js": "^4.1.1", |         "crypto-js": "^4.1.1", | ||||||
|  |         "markdown-it-anchor": "^8.1.2", | ||||||
|  |         "markdown-it-highlightjs": "^3.5.0", | ||||||
|         "nuxt": "^2.15.7", |         "nuxt": "^2.15.7", | ||||||
|         "nuxt-i18n": "^6.28.0", |         "nuxt-i18n": "^6.28.0", | ||||||
|         "qrcode.vue": "^3.2.2", |         "qrcode.vue": "^3.2.2", | ||||||
| @ -56,6 +58,7 @@ | |||||||
|         "jest": "^27.0.6", |         "jest": "^27.0.6", | ||||||
|         "less": "^4.0.0", |         "less": "^4.0.0", | ||||||
|         "less-loader": "^7.1.0", |         "less-loader": "^7.1.0", | ||||||
|  |         "markdown-toc": "^1.2.0", | ||||||
|         "nuxt-property-decorator": "^2.9.1", |         "nuxt-property-decorator": "^2.9.1", | ||||||
|         "standard-version": "^9.3.1", |         "standard-version": "^9.3.1", | ||||||
|         "ts-jest": "^27.0.4", |         "ts-jest": "^27.0.4", | ||||||
| @ -8721,6 +8724,18 @@ | |||||||
|         "ansi-html": "bin/ansi-html" |         "ansi-html": "bin/ansi-html" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/ansi-red": { | ||||||
|  |       "version": "0.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", | ||||||
|  |       "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "ansi-wrap": "0.1.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/ansi-regex": { |     "node_modules/ansi-regex": { | ||||||
|       "version": "5.0.0", |       "version": "5.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", |       "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", | ||||||
| @ -8753,6 +8768,15 @@ | |||||||
|       "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", |       "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", | ||||||
|       "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" |       "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/ansi-wrap": { | ||||||
|  |       "version": "0.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", | ||||||
|  |       "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/anymatch": { |     "node_modules/anymatch": { | ||||||
|       "version": "3.1.1", |       "version": "3.1.1", | ||||||
|       "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", |       "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", | ||||||
| @ -8982,6 +9006,15 @@ | |||||||
|         "node": ">= 4.5.0" |         "node": ">= 4.5.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/autolinker": { | ||||||
|  |       "version": "0.28.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-0.28.1.tgz", | ||||||
|  |       "integrity": "sha1-BlK0kYgYefB3XazgzcoyM5QqTkc=", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "gulp-header": "^1.7.1" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/autoprefixer": { |     "node_modules/autoprefixer": { | ||||||
|       "version": "9.8.6", |       "version": "9.8.6", | ||||||
|       "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", |       "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", | ||||||
| @ -10480,6 +10513,20 @@ | |||||||
|         "node": ">= 4.0" |         "node": ">= 4.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/coffee-script": { | ||||||
|  |       "version": "1.12.7", | ||||||
|  |       "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz", | ||||||
|  |       "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==", | ||||||
|  |       "deprecated": "CoffeeScript on NPM has moved to \"coffeescript\" (no hyphen)", | ||||||
|  |       "dev": true, | ||||||
|  |       "bin": { | ||||||
|  |         "cake": "bin/cake", | ||||||
|  |         "coffee": "bin/coffee" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.8.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/collect-v8-coverage": { |     "node_modules/collect-v8-coverage": { | ||||||
|       "version": "1.0.1", |       "version": "1.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", |       "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", | ||||||
| @ -10637,6 +10684,15 @@ | |||||||
|         "typedarray": "^0.0.6" |         "typedarray": "^0.0.6" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/concat-with-sourcemaps": { | ||||||
|  |       "version": "1.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", | ||||||
|  |       "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "source-map": "^0.6.1" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/condense-newlines": { |     "node_modules/condense-newlines": { | ||||||
|       "version": "0.2.1", |       "version": "0.2.1", | ||||||
|       "resolved": "https://registry.npmjs.org/condense-newlines/-/condense-newlines-0.2.1.tgz", |       "resolved": "https://registry.npmjs.org/condense-newlines/-/condense-newlines-0.2.1.tgz", | ||||||
| @ -12060,6 +12116,15 @@ | |||||||
|       "resolved": "https://registry.npmjs.org/devalue/-/devalue-2.0.1.tgz", |       "resolved": "https://registry.npmjs.org/devalue/-/devalue-2.0.1.tgz", | ||||||
|       "integrity": "sha512-I2TiqT5iWBEyB8GRfTDP0hiLZ0YeDJZ+upDxjBfOC2lebO5LezQMv7QvIUTzdb64jQyAKLf1AHADtGN+jw6v8Q==" |       "integrity": "sha512-I2TiqT5iWBEyB8GRfTDP0hiLZ0YeDJZ+upDxjBfOC2lebO5LezQMv7QvIUTzdb64jQyAKLf1AHADtGN+jw6v8Q==" | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/diacritics-map": { | ||||||
|  |       "version": "0.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/diacritics-map/-/diacritics-map-0.1.0.tgz", | ||||||
|  |       "integrity": "sha1-bfwP+dAQAKLt8oZTccrDFulJd68=", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.8.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/diff-sequences": { |     "node_modules/diff-sequences": { | ||||||
|       "version": "27.0.6", |       "version": "27.0.6", | ||||||
|       "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.6.tgz", |       "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.6.tgz", | ||||||
| @ -13720,6 +13785,70 @@ | |||||||
|         "node": ">=0.10.0" |         "node": ">=0.10.0" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/expand-range": { | ||||||
|  |       "version": "1.8.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", | ||||||
|  |       "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "fill-range": "^2.1.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/expand-range/node_modules/fill-range": { | ||||||
|  |       "version": "2.2.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", | ||||||
|  |       "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "is-number": "^2.1.0", | ||||||
|  |         "isobject": "^2.0.0", | ||||||
|  |         "randomatic": "^3.0.0", | ||||||
|  |         "repeat-element": "^1.1.2", | ||||||
|  |         "repeat-string": "^1.5.2" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/expand-range/node_modules/is-number": { | ||||||
|  |       "version": "2.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", | ||||||
|  |       "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "kind-of": "^3.0.2" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/expand-range/node_modules/isobject": { | ||||||
|  |       "version": "2.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", | ||||||
|  |       "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "isarray": "1.0.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/expand-range/node_modules/kind-of": { | ||||||
|  |       "version": "3.2.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", | ||||||
|  |       "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "is-buffer": "^1.1.5" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/expect": { |     "node_modules/expect": { | ||||||
|       "version": "27.0.6", |       "version": "27.0.6", | ||||||
|       "resolved": "https://registry.npmjs.org/expect/-/expect-27.0.6.tgz", |       "resolved": "https://registry.npmjs.org/expect/-/expect-27.0.6.tgz", | ||||||
| @ -14845,6 +14974,46 @@ | |||||||
|       "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", |       "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", | ||||||
|       "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" |       "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/gray-matter": { | ||||||
|  |       "version": "2.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz", | ||||||
|  |       "integrity": "sha1-MELZrewqHe1qdwep7SOA+KF6Qw4=", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "ansi-red": "^0.1.1", | ||||||
|  |         "coffee-script": "^1.12.4", | ||||||
|  |         "extend-shallow": "^2.0.1", | ||||||
|  |         "js-yaml": "^3.8.1", | ||||||
|  |         "toml": "^2.3.2" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/gray-matter/node_modules/extend-shallow": { | ||||||
|  |       "version": "2.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", | ||||||
|  |       "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "is-extendable": "^0.1.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/gulp-header": { | ||||||
|  |       "version": "1.8.12", | ||||||
|  |       "resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-1.8.12.tgz", | ||||||
|  |       "integrity": "sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ==", | ||||||
|  |       "deprecated": "Removed event-stream from gulp-header", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "concat-with-sourcemaps": "*", | ||||||
|  |         "lodash.template": "^4.4.0", | ||||||
|  |         "through2": "^2.0.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/gzip-size": { |     "node_modules/gzip-size": { | ||||||
|       "version": "6.0.0", |       "version": "6.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", |       "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", | ||||||
| @ -18217,6 +18386,18 @@ | |||||||
|         "launch-editor": "^2.2.1" |         "launch-editor": "^2.2.1" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/lazy-cache": { | ||||||
|  |       "version": "2.0.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", | ||||||
|  |       "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "set-getter": "^0.1.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/less": { |     "node_modules/less": { | ||||||
|       "version": "4.1.1", |       "version": "4.1.1", | ||||||
|       "resolved": "https://registry.npmjs.org/less/-/less-4.1.1.tgz", |       "resolved": "https://registry.npmjs.org/less/-/less-4.1.1.tgz", | ||||||
| @ -18359,6 +18540,57 @@ | |||||||
|         "uc.micro": "^1.0.1" |         "uc.micro": "^1.0.1" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/list-item": { | ||||||
|  |       "version": "1.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/list-item/-/list-item-1.1.1.tgz", | ||||||
|  |       "integrity": "sha1-DGXQDih8tmPMs8s4Sad+iewmilY=", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "expand-range": "^1.8.1", | ||||||
|  |         "extend-shallow": "^2.0.1", | ||||||
|  |         "is-number": "^2.1.0", | ||||||
|  |         "repeat-string": "^1.5.2" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/list-item/node_modules/extend-shallow": { | ||||||
|  |       "version": "2.0.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", | ||||||
|  |       "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "is-extendable": "^0.1.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/list-item/node_modules/is-number": { | ||||||
|  |       "version": "2.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", | ||||||
|  |       "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "kind-of": "^3.0.2" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/list-item/node_modules/kind-of": { | ||||||
|  |       "version": "3.2.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", | ||||||
|  |       "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "is-buffer": "^1.1.5" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/load-json-file": { |     "node_modules/load-json-file": { | ||||||
|       "version": "4.0.0", |       "version": "4.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", |       "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", | ||||||
| @ -18543,6 +18775,11 @@ | |||||||
|       "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", |       "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", | ||||||
|       "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" |       "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/lodash.flow": { | ||||||
|  |       "version": "3.5.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz", | ||||||
|  |       "integrity": "sha1-h79AKSuM+D5OjOGjrkIJ4gBxZ1o=" | ||||||
|  |     }, | ||||||
|     "node_modules/lodash.foreach": { |     "node_modules/lodash.foreach": { | ||||||
|       "version": "2.3.0", |       "version": "2.3.0", | ||||||
|       "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-2.3.0.tgz", |       "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-2.3.0.tgz", | ||||||
| @ -18783,11 +19020,69 @@ | |||||||
|         "markdown-it": "bin/markdown-it.js" |         "markdown-it": "bin/markdown-it.js" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/markdown-it-anchor": { | ||||||
|  |       "version": "8.1.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.1.2.tgz", | ||||||
|  |       "integrity": "sha512-9D58TKK4dakqmjcmVuqHoB3ntKBpQJ0Ld38B83aiHJcBD72IZIyPjNtihPA6ayRI5WD33e1W68mArliNLHCprg==", | ||||||
|  |       "peerDependencies": { | ||||||
|  |         "markdown-it": "*" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/markdown-it-highlightjs": { | ||||||
|  |       "version": "3.5.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/markdown-it-highlightjs/-/markdown-it-highlightjs-3.5.0.tgz", | ||||||
|  |       "integrity": "sha512-ENlFiNFSKwnXD0umIzyhpFe5JtetdQnSYhwTdC72VU3C69uVpk1Mn3sPv1Ov8opVE2nv7SaS97QbY/aEH7PUzw==", | ||||||
|  |       "dependencies": { | ||||||
|  |         "highlight.js": "^10.7.2", | ||||||
|  |         "lodash.flow": "^3.5.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/markdown-it/node_modules/entities": { |     "node_modules/markdown-it/node_modules/entities": { | ||||||
|       "version": "1.1.2", |       "version": "1.1.2", | ||||||
|       "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", |       "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", | ||||||
|       "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" |       "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/markdown-link": { | ||||||
|  |       "version": "0.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/markdown-link/-/markdown-link-0.1.1.tgz", | ||||||
|  |       "integrity": "sha1-MsXGUZmmRXMWMi0eQinRNAfIx88=", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/markdown-toc": { | ||||||
|  |       "version": "1.2.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/markdown-toc/-/markdown-toc-1.2.0.tgz", | ||||||
|  |       "integrity": "sha512-eOsq7EGd3asV0oBfmyqngeEIhrbkc7XVP63OwcJBIhH2EpG2PzFcbZdhy1jutXSlRBBVMNXHvMtSr5LAxSUvUg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "concat-stream": "^1.5.2", | ||||||
|  |         "diacritics-map": "^0.1.0", | ||||||
|  |         "gray-matter": "^2.1.0", | ||||||
|  |         "lazy-cache": "^2.0.2", | ||||||
|  |         "list-item": "^1.1.1", | ||||||
|  |         "markdown-link": "^0.1.1", | ||||||
|  |         "minimist": "^1.2.0", | ||||||
|  |         "mixin-deep": "^1.1.3", | ||||||
|  |         "object.pick": "^1.2.0", | ||||||
|  |         "remarkable": "^1.7.1", | ||||||
|  |         "repeat-string": "^1.6.1", | ||||||
|  |         "strip-color": "^0.1.0" | ||||||
|  |       }, | ||||||
|  |       "bin": { | ||||||
|  |         "markdown-toc": "cli.js" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/math-random": { | ||||||
|  |       "version": "1.0.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", | ||||||
|  |       "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "node_modules/md5.js": { |     "node_modules/md5.js": { | ||||||
|       "version": "1.3.5", |       "version": "1.3.5", | ||||||
|       "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", |       "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", | ||||||
| @ -22159,6 +22454,29 @@ | |||||||
|         "node": ">=8" |         "node": ">=8" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/randomatic": { | ||||||
|  |       "version": "3.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", | ||||||
|  |       "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "is-number": "^4.0.0", | ||||||
|  |         "kind-of": "^6.0.0", | ||||||
|  |         "math-random": "^1.0.1" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 0.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "node_modules/randomatic/node_modules/is-number": { | ||||||
|  |       "version": "4.0.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", | ||||||
|  |       "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/randombytes": { |     "node_modules/randombytes": { | ||||||
|       "version": "2.1.0", |       "version": "2.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", |       "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", | ||||||
| @ -22520,6 +22838,22 @@ | |||||||
|         "node": ">= 0.10" |         "node": ">= 0.10" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/remarkable": { | ||||||
|  |       "version": "1.7.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-1.7.4.tgz", | ||||||
|  |       "integrity": "sha512-e6NKUXgX95whv7IgddywbeN/ItCkWbISmc2DiqHJb0wTrqZIexqdco5b8Z3XZoo/48IdNVKM9ZCvTPJ4F5uvhg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "argparse": "^1.0.10", | ||||||
|  |         "autolinker": "~0.28.0" | ||||||
|  |       }, | ||||||
|  |       "bin": { | ||||||
|  |         "remarkable": "bin/remarkable.js" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 0.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/remove-trailing-separator": { |     "node_modules/remove-trailing-separator": { | ||||||
|       "version": "1.1.0", |       "version": "1.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", |       "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", | ||||||
| @ -23083,6 +23417,18 @@ | |||||||
|       "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", |       "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", | ||||||
|       "integrity": "sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0=" |       "integrity": "sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0=" | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/set-getter": { | ||||||
|  |       "version": "0.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.1.tgz", | ||||||
|  |       "integrity": "sha512-9sVWOy+gthr+0G9DzqqLaYNA7+5OKkSmcqjL9cBpDEaZrr3ShQlyX2cZ/O/ozE41oxn/Tt0LGEM/w4Rub3A3gw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "dependencies": { | ||||||
|  |         "to-object-path": "^0.3.0" | ||||||
|  |       }, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/set-value": { |     "node_modules/set-value": { | ||||||
|       "version": "2.0.1", |       "version": "2.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", |       "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", | ||||||
| @ -23910,6 +24256,15 @@ | |||||||
|         "node": ">=4" |         "node": ">=4" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/strip-color": { | ||||||
|  |       "version": "0.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/strip-color/-/strip-color-0.1.0.tgz", | ||||||
|  |       "integrity": "sha1-EG9l09PmotlAHKwOsM6LinArT3s=", | ||||||
|  |       "dev": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">=0.10.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/strip-final-newline": { |     "node_modules/strip-final-newline": { | ||||||
|       "version": "2.0.0", |       "version": "2.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", |       "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", | ||||||
| @ -24488,6 +24843,12 @@ | |||||||
|         "node": ">=0.6" |         "node": ">=0.6" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "node_modules/toml": { | ||||||
|  |       "version": "2.3.6", | ||||||
|  |       "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.6.tgz", | ||||||
|  |       "integrity": "sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "node_modules/totalist": { |     "node_modules/totalist": { | ||||||
|       "version": "1.1.0", |       "version": "1.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", |       "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", | ||||||
| @ -33530,6 +33891,15 @@ | |||||||
|       "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", |       "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", | ||||||
|       "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=" |       "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=" | ||||||
|     }, |     }, | ||||||
|  |     "ansi-red": { | ||||||
|  |       "version": "0.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", | ||||||
|  |       "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "ansi-wrap": "0.1.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "ansi-regex": { |     "ansi-regex": { | ||||||
|       "version": "5.0.0", |       "version": "5.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", |       "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", | ||||||
| @ -33558,6 +33928,12 @@ | |||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "ansi-wrap": { | ||||||
|  |       "version": "0.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", | ||||||
|  |       "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "anymatch": { |     "anymatch": { | ||||||
|       "version": "3.1.1", |       "version": "3.1.1", | ||||||
|       "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", |       "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", | ||||||
| @ -33745,6 +34121,15 @@ | |||||||
|       "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", |       "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", | ||||||
|       "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" |       "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" | ||||||
|     }, |     }, | ||||||
|  |     "autolinker": { | ||||||
|  |       "version": "0.28.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-0.28.1.tgz", | ||||||
|  |       "integrity": "sha1-BlK0kYgYefB3XazgzcoyM5QqTkc=", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "gulp-header": "^1.7.1" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "autoprefixer": { |     "autoprefixer": { | ||||||
|       "version": "9.8.6", |       "version": "9.8.6", | ||||||
|       "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", |       "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", | ||||||
| @ -34921,6 +35306,12 @@ | |||||||
|         "q": "^1.1.2" |         "q": "^1.1.2" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "coffee-script": { | ||||||
|  |       "version": "1.12.7", | ||||||
|  |       "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz", | ||||||
|  |       "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "collect-v8-coverage": { |     "collect-v8-coverage": { | ||||||
|       "version": "1.0.1", |       "version": "1.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", |       "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", | ||||||
| @ -35059,6 +35450,15 @@ | |||||||
|         "typedarray": "^0.0.6" |         "typedarray": "^0.0.6" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "concat-with-sourcemaps": { | ||||||
|  |       "version": "1.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz", | ||||||
|  |       "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "source-map": "^0.6.1" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "condense-newlines": { |     "condense-newlines": { | ||||||
|       "version": "0.2.1", |       "version": "0.2.1", | ||||||
|       "resolved": "https://registry.npmjs.org/condense-newlines/-/condense-newlines-0.2.1.tgz", |       "resolved": "https://registry.npmjs.org/condense-newlines/-/condense-newlines-0.2.1.tgz", | ||||||
| @ -36196,6 +36596,12 @@ | |||||||
|       "resolved": "https://registry.npmjs.org/devalue/-/devalue-2.0.1.tgz", |       "resolved": "https://registry.npmjs.org/devalue/-/devalue-2.0.1.tgz", | ||||||
|       "integrity": "sha512-I2TiqT5iWBEyB8GRfTDP0hiLZ0YeDJZ+upDxjBfOC2lebO5LezQMv7QvIUTzdb64jQyAKLf1AHADtGN+jw6v8Q==" |       "integrity": "sha512-I2TiqT5iWBEyB8GRfTDP0hiLZ0YeDJZ+upDxjBfOC2lebO5LezQMv7QvIUTzdb64jQyAKLf1AHADtGN+jw6v8Q==" | ||||||
|     }, |     }, | ||||||
|  |     "diacritics-map": { | ||||||
|  |       "version": "0.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/diacritics-map/-/diacritics-map-0.1.0.tgz", | ||||||
|  |       "integrity": "sha1-bfwP+dAQAKLt8oZTccrDFulJd68=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "diff-sequences": { |     "diff-sequences": { | ||||||
|       "version": "27.0.6", |       "version": "27.0.6", | ||||||
|       "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.6.tgz", |       "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.6.tgz", | ||||||
| @ -37420,6 +37826,57 @@ | |||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "expand-range": { | ||||||
|  |       "version": "1.8.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", | ||||||
|  |       "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "fill-range": "^2.1.0" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "fill-range": { | ||||||
|  |           "version": "2.2.4", | ||||||
|  |           "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", | ||||||
|  |           "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "is-number": "^2.1.0", | ||||||
|  |             "isobject": "^2.0.0", | ||||||
|  |             "randomatic": "^3.0.0", | ||||||
|  |             "repeat-element": "^1.1.2", | ||||||
|  |             "repeat-string": "^1.5.2" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "is-number": { | ||||||
|  |           "version": "2.1.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", | ||||||
|  |           "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "kind-of": "^3.0.2" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "isobject": { | ||||||
|  |           "version": "2.1.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", | ||||||
|  |           "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "isarray": "1.0.0" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "kind-of": { | ||||||
|  |           "version": "3.2.2", | ||||||
|  |           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", | ||||||
|  |           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "is-buffer": "^1.1.5" | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "expect": { |     "expect": { | ||||||
|       "version": "27.0.6", |       "version": "27.0.6", | ||||||
|       "resolved": "https://registry.npmjs.org/expect/-/expect-27.0.6.tgz", |       "resolved": "https://registry.npmjs.org/expect/-/expect-27.0.6.tgz", | ||||||
| @ -38273,6 +38730,41 @@ | |||||||
|       "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", |       "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", | ||||||
|       "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" |       "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" | ||||||
|     }, |     }, | ||||||
|  |     "gray-matter": { | ||||||
|  |       "version": "2.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz", | ||||||
|  |       "integrity": "sha1-MELZrewqHe1qdwep7SOA+KF6Qw4=", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "ansi-red": "^0.1.1", | ||||||
|  |         "coffee-script": "^1.12.4", | ||||||
|  |         "extend-shallow": "^2.0.1", | ||||||
|  |         "js-yaml": "^3.8.1", | ||||||
|  |         "toml": "^2.3.2" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "extend-shallow": { | ||||||
|  |           "version": "2.0.1", | ||||||
|  |           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", | ||||||
|  |           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "is-extendable": "^0.1.0" | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "gulp-header": { | ||||||
|  |       "version": "1.8.12", | ||||||
|  |       "resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-1.8.12.tgz", | ||||||
|  |       "integrity": "sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "concat-with-sourcemaps": "*", | ||||||
|  |         "lodash.template": "^4.4.0", | ||||||
|  |         "through2": "^2.0.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "gzip-size": { |     "gzip-size": { | ||||||
|       "version": "6.0.0", |       "version": "6.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", |       "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", | ||||||
| @ -40761,6 +41253,15 @@ | |||||||
|         "launch-editor": "^2.2.1" |         "launch-editor": "^2.2.1" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "lazy-cache": { | ||||||
|  |       "version": "2.0.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz", | ||||||
|  |       "integrity": "sha1-uRkKT5EzVGlIQIWfio9whNiCImQ=", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "set-getter": "^0.1.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "less": { |     "less": { | ||||||
|       "version": "4.1.1", |       "version": "4.1.1", | ||||||
|       "resolved": "https://registry.npmjs.org/less/-/less-4.1.1.tgz", |       "resolved": "https://registry.npmjs.org/less/-/less-4.1.1.tgz", | ||||||
| @ -40866,6 +41367,47 @@ | |||||||
|         "uc.micro": "^1.0.1" |         "uc.micro": "^1.0.1" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "list-item": { | ||||||
|  |       "version": "1.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/list-item/-/list-item-1.1.1.tgz", | ||||||
|  |       "integrity": "sha1-DGXQDih8tmPMs8s4Sad+iewmilY=", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "expand-range": "^1.8.1", | ||||||
|  |         "extend-shallow": "^2.0.1", | ||||||
|  |         "is-number": "^2.1.0", | ||||||
|  |         "repeat-string": "^1.5.2" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "extend-shallow": { | ||||||
|  |           "version": "2.0.1", | ||||||
|  |           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", | ||||||
|  |           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "is-extendable": "^0.1.0" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "is-number": { | ||||||
|  |           "version": "2.1.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", | ||||||
|  |           "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "kind-of": "^3.0.2" | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |         "kind-of": { | ||||||
|  |           "version": "3.2.2", | ||||||
|  |           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", | ||||||
|  |           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", | ||||||
|  |           "dev": true, | ||||||
|  |           "requires": { | ||||||
|  |             "is-buffer": "^1.1.5" | ||||||
|  |           } | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "load-json-file": { |     "load-json-file": { | ||||||
|       "version": "4.0.0", |       "version": "4.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", |       "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", | ||||||
| @ -41034,6 +41576,11 @@ | |||||||
|       "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", |       "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", | ||||||
|       "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" |       "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" | ||||||
|     }, |     }, | ||||||
|  |     "lodash.flow": { | ||||||
|  |       "version": "3.5.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/lodash.flow/-/lodash.flow-3.5.0.tgz", | ||||||
|  |       "integrity": "sha1-h79AKSuM+D5OjOGjrkIJ4gBxZ1o=" | ||||||
|  |     }, | ||||||
|     "lodash.foreach": { |     "lodash.foreach": { | ||||||
|       "version": "2.3.0", |       "version": "2.3.0", | ||||||
|       "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-2.3.0.tgz", |       "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-2.3.0.tgz", | ||||||
| @ -41248,6 +41795,53 @@ | |||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "markdown-it-anchor": { | ||||||
|  |       "version": "8.1.2", | ||||||
|  |       "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.1.2.tgz", | ||||||
|  |       "integrity": "sha512-9D58TKK4dakqmjcmVuqHoB3ntKBpQJ0Ld38B83aiHJcBD72IZIyPjNtihPA6ayRI5WD33e1W68mArliNLHCprg==", | ||||||
|  |       "requires": {} | ||||||
|  |     }, | ||||||
|  |     "markdown-it-highlightjs": { | ||||||
|  |       "version": "3.5.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/markdown-it-highlightjs/-/markdown-it-highlightjs-3.5.0.tgz", | ||||||
|  |       "integrity": "sha512-ENlFiNFSKwnXD0umIzyhpFe5JtetdQnSYhwTdC72VU3C69uVpk1Mn3sPv1Ov8opVE2nv7SaS97QbY/aEH7PUzw==", | ||||||
|  |       "requires": { | ||||||
|  |         "highlight.js": "^10.7.2", | ||||||
|  |         "lodash.flow": "^3.5.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "markdown-link": { | ||||||
|  |       "version": "0.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/markdown-link/-/markdown-link-0.1.1.tgz", | ||||||
|  |       "integrity": "sha1-MsXGUZmmRXMWMi0eQinRNAfIx88=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|  |     "markdown-toc": { | ||||||
|  |       "version": "1.2.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/markdown-toc/-/markdown-toc-1.2.0.tgz", | ||||||
|  |       "integrity": "sha512-eOsq7EGd3asV0oBfmyqngeEIhrbkc7XVP63OwcJBIhH2EpG2PzFcbZdhy1jutXSlRBBVMNXHvMtSr5LAxSUvUg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "concat-stream": "^1.5.2", | ||||||
|  |         "diacritics-map": "^0.1.0", | ||||||
|  |         "gray-matter": "^2.1.0", | ||||||
|  |         "lazy-cache": "^2.0.2", | ||||||
|  |         "list-item": "^1.1.1", | ||||||
|  |         "markdown-link": "^0.1.1", | ||||||
|  |         "minimist": "^1.2.0", | ||||||
|  |         "mixin-deep": "^1.1.3", | ||||||
|  |         "object.pick": "^1.2.0", | ||||||
|  |         "remarkable": "^1.7.1", | ||||||
|  |         "repeat-string": "^1.6.1", | ||||||
|  |         "strip-color": "^0.1.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     "math-random": { | ||||||
|  |       "version": "1.0.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", | ||||||
|  |       "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "md5.js": { |     "md5.js": { | ||||||
|       "version": "1.3.5", |       "version": "1.3.5", | ||||||
|       "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", |       "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", | ||||||
| @ -43910,6 +44504,25 @@ | |||||||
|       "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", |       "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "randomatic": { | ||||||
|  |       "version": "3.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", | ||||||
|  |       "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "is-number": "^4.0.0", | ||||||
|  |         "kind-of": "^6.0.0", | ||||||
|  |         "math-random": "^1.0.1" | ||||||
|  |       }, | ||||||
|  |       "dependencies": { | ||||||
|  |         "is-number": { | ||||||
|  |           "version": "4.0.0", | ||||||
|  |           "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", | ||||||
|  |           "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", | ||||||
|  |           "dev": true | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "randombytes": { |     "randombytes": { | ||||||
|       "version": "2.1.0", |       "version": "2.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", |       "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", | ||||||
| @ -44197,6 +44810,16 @@ | |||||||
|       "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", |       "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", | ||||||
|       "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" |       "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" | ||||||
|     }, |     }, | ||||||
|  |     "remarkable": { | ||||||
|  |       "version": "1.7.4", | ||||||
|  |       "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-1.7.4.tgz", | ||||||
|  |       "integrity": "sha512-e6NKUXgX95whv7IgddywbeN/ItCkWbISmc2DiqHJb0wTrqZIexqdco5b8Z3XZoo/48IdNVKM9ZCvTPJ4F5uvhg==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "argparse": "^1.0.10", | ||||||
|  |         "autolinker": "~0.28.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "remove-trailing-separator": { |     "remove-trailing-separator": { | ||||||
|       "version": "1.1.0", |       "version": "1.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", |       "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", | ||||||
| @ -44609,6 +45232,15 @@ | |||||||
|       "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", |       "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", | ||||||
|       "integrity": "sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0=" |       "integrity": "sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0=" | ||||||
|     }, |     }, | ||||||
|  |     "set-getter": { | ||||||
|  |       "version": "0.1.1", | ||||||
|  |       "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.1.tgz", | ||||||
|  |       "integrity": "sha512-9sVWOy+gthr+0G9DzqqLaYNA7+5OKkSmcqjL9cBpDEaZrr3ShQlyX2cZ/O/ozE41oxn/Tt0LGEM/w4Rub3A3gw==", | ||||||
|  |       "dev": true, | ||||||
|  |       "requires": { | ||||||
|  |         "to-object-path": "^0.3.0" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "set-value": { |     "set-value": { | ||||||
|       "version": "2.0.1", |       "version": "2.0.1", | ||||||
|       "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", |       "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", | ||||||
| @ -45273,6 +45905,12 @@ | |||||||
|       "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", |       "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", | ||||||
|       "dev": true |       "dev": true | ||||||
|     }, |     }, | ||||||
|  |     "strip-color": { | ||||||
|  |       "version": "0.1.0", | ||||||
|  |       "resolved": "https://registry.npmjs.org/strip-color/-/strip-color-0.1.0.tgz", | ||||||
|  |       "integrity": "sha1-EG9l09PmotlAHKwOsM6LinArT3s=", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "strip-final-newline": { |     "strip-final-newline": { | ||||||
|       "version": "2.0.0", |       "version": "2.0.0", | ||||||
|       "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", |       "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", | ||||||
| @ -45707,6 +46345,12 @@ | |||||||
|       "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", |       "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", | ||||||
|       "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" |       "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" | ||||||
|     }, |     }, | ||||||
|  |     "toml": { | ||||||
|  |       "version": "2.3.6", | ||||||
|  |       "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.6.tgz", | ||||||
|  |       "integrity": "sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==", | ||||||
|  |       "dev": true | ||||||
|  |     }, | ||||||
|     "totalist": { |     "totalist": { | ||||||
|       "version": "1.1.0", |       "version": "1.1.0", | ||||||
|       "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", |       "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", | ||||||
|  | |||||||
| @ -49,6 +49,8 @@ | |||||||
|     "cron-validator": "^1.2.1", |     "cron-validator": "^1.2.1", | ||||||
|     "cronstrue": "^1.114.0", |     "cronstrue": "^1.114.0", | ||||||
|     "crypto-js": "^4.1.1", |     "crypto-js": "^4.1.1", | ||||||
|  |     "markdown-it-anchor": "^8.1.2", | ||||||
|  |     "markdown-it-highlightjs": "^3.5.0", | ||||||
|     "nuxt": "^2.15.7", |     "nuxt": "^2.15.7", | ||||||
|     "nuxt-i18n": "^6.28.0", |     "nuxt-i18n": "^6.28.0", | ||||||
|     "qrcode.vue": "^3.2.2", |     "qrcode.vue": "^3.2.2", | ||||||
| @ -84,6 +86,7 @@ | |||||||
|     "jest": "^27.0.6", |     "jest": "^27.0.6", | ||||||
|     "less": "^4.0.0", |     "less": "^4.0.0", | ||||||
|     "less-loader": "^7.1.0", |     "less-loader": "^7.1.0", | ||||||
|  |     "markdown-toc": "^1.2.0", | ||||||
|     "nuxt-property-decorator": "^2.9.1", |     "nuxt-property-decorator": "^2.9.1", | ||||||
|     "standard-version": "^9.3.1", |     "standard-version": "^9.3.1", | ||||||
|     "ts-jest": "^27.0.4", |     "ts-jest": "^27.0.4", | ||||||
|  | |||||||
							
								
								
									
										57
									
								
								tools/development/git-memo.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								tools/development/git-memo.vue
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,57 @@ | |||||||
|  | <tool> | ||||||
|  | title: 'Git memo' | ||||||
|  | description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Delectus distinctio dolor dolorum eaque eligendi, facilis impedit laboriosam odit placeat.' | ||||||
|  | icon: 'mdi-git' | ||||||
|  | keywords: ['git', 'memo', 'cheat', 'sheet'] | ||||||
|  | path: '/git-memo' | ||||||
|  | </tool> | ||||||
|  | 
 | ||||||
|  | <memo> | ||||||
|  | ## Configuration | ||||||
|  | 
 | ||||||
|  | ### Set the global username | ||||||
|  | 
 | ||||||
|  | ```shell | ||||||
|  | git config --global user.name "[name]" | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Set the global email | ||||||
|  | 
 | ||||||
|  | ```shell | ||||||
|  | git config --global user.email "[email]" | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ## I've made a mistake | ||||||
|  | 
 | ||||||
|  | ### Change last commit message | ||||||
|  | ```shell | ||||||
|  | git commit --amend | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Undo most recent commit and keep changes | ||||||
|  | ```shell | ||||||
|  | git reset HEAD~1 | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Undo most recent commit and get rid of changes | ||||||
|  | ```shell | ||||||
|  | git reset HEAD~1 --hard | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | ### Reset branch to remote state | ||||||
|  | ```shell | ||||||
|  | git fetch origin | ||||||
|  | git reset --hard origin/[branch-name] | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | </memo> | ||||||
|  | 
 | ||||||
|  | <script lang="ts"> | ||||||
|  | import {Component} from 'nuxt-property-decorator' | ||||||
|  | import Memo from '~/components/Memo.vue' | ||||||
|  | 
 | ||||||
|  | @Component | ||||||
|  | export default class GitMemo extends Memo { | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | </script> | ||||||
| @ -1,27 +0,0 @@ | |||||||
| <tool> |  | ||||||
| title: 'Git memo old' |  | ||||||
| description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Delectus distinctio dolor dolorum eaque eligendi, facilis impedit laboriosam odit placeat.' |  | ||||||
| icon: 'mdi-git' |  | ||||||
| keywords: ['git', 'memo', 'cheat', 'sheet'] |  | ||||||
| path: '/git-memo-test' |  | ||||||
| </tool> |  | ||||||
| 
 |  | ||||||
| <template lang="md"> |  | ||||||
|   <ToolWrapper :config="$toolConfig"> |  | ||||||
| 
 |  | ||||||
|   ## test |  | ||||||
| 
 |  | ||||||
|   ```js |  | ||||||
|   yolo |  | ||||||
|   ``` |  | ||||||
|   </ToolWrapper> |  | ||||||
| </template> |  | ||||||
| 
 |  | ||||||
| <script lang="ts"> |  | ||||||
| import {Component} from 'nuxt-property-decorator' |  | ||||||
| import Tool from '~/components/Tool.vue' |  | ||||||
| 
 |  | ||||||
| @Component |  | ||||||
| export default class GitMemo extends Tool { |  | ||||||
| } |  | ||||||
| </script> |  | ||||||
| @ -1,62 +0,0 @@ | |||||||
| <tool> |  | ||||||
| title: 'Git memo' |  | ||||||
| description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Delectus distinctio dolor dolorum eaque eligendi, facilis impedit laboriosam odit placeat.' |  | ||||||
| icon: 'mdi-git' |  | ||||||
| keywords: ['git', 'memo', 'cheat', 'sheet'] |  | ||||||
| path: '/git-memo' |  | ||||||
| </tool> |  | ||||||
| 
 |  | ||||||
| <script lang="ts"> |  | ||||||
| import {Component} from 'nuxt-property-decorator' |  | ||||||
| import Memo from '~/components/Memo.vue' |  | ||||||
| 
 |  | ||||||
| @Component |  | ||||||
| export default class GitMemo extends Memo { |  | ||||||
| } |  | ||||||
| </script> |  | ||||||
| 
 |  | ||||||
| <i18n lang="yaml"> |  | ||||||
| en: |  | ||||||
|   memo: |  | ||||||
|     - section: Titre de la section 1 |  | ||||||
|       items: |  | ||||||
|         - text: Tip n°1 |  | ||||||
|         - text: Tip n°2 (avec sous titre |  | ||||||
|           subtitle: Un super sous titre |  | ||||||
|         - text: Tip n°3 (avec du code !) |  | ||||||
|           code: rm -rf / --no-preserve-root |  | ||||||
|         - text: Tip n°4 (avec du code et un sous titre !) |  | ||||||
|           code: rm -rf / --no-preserve-root |  | ||||||
|           subtitle: Un super sous titre, yeah |  | ||||||
| 
 |  | ||||||
|     - section: Titre de la section 2 |  | ||||||
|       items: |  | ||||||
|         - text: Tip n°1 |  | ||||||
|         - text: Tip n°2 |  | ||||||
|         - text: Tip n°3 (avec du code !) |  | ||||||
|           code: rm -rf / --no-preserve-root |  | ||||||
|         - text: Tip n°4 |  | ||||||
|           code: "multiline\ncode sample" |  | ||||||
| 
 |  | ||||||
|     - section: Titre de la section 3 |  | ||||||
|       items: |  | ||||||
|         - text: Tip n°1 |  | ||||||
|         - text: Tip n°2 (avec sous titre |  | ||||||
|           subtitle: Un super sous titre |  | ||||||
|         - text: Tip n°3 (avec du code !) |  | ||||||
|           code: rm -rf / --no-preserve-root |  | ||||||
|         - text: Tip n°4 (avec du code et un sous titre !) |  | ||||||
|           code: rm -rf / --no-preserve-root |  | ||||||
|           subtitle: Un super sous titre, yeah |  | ||||||
| 
 |  | ||||||
|     - section: Titre de la section 4 |  | ||||||
|       items: |  | ||||||
|         - text: Tip n°1 |  | ||||||
|         - text: Tip n°2 (avec sous titre |  | ||||||
|           subtitle: Un super sous titre |  | ||||||
|         - text: Tip n°3 (avec du code !) |  | ||||||
|           code: rm -rf / --no-preserve-root |  | ||||||
|         - text: Tip n°4 (avec du code et un sous titre !) |  | ||||||
|           code: rm -rf / --no-preserve-root |  | ||||||
|           subtitle: Un super sous titre, yeah |  | ||||||
| </i18n> |  | ||||||
| @ -29,6 +29,7 @@ | |||||||
|       "@types/node", |       "@types/node", | ||||||
|       "@nuxtjs/toast", |       "@nuxtjs/toast", | ||||||
|       "@nuxt/types", |       "@nuxt/types", | ||||||
|  |       "@nuxtjs/markdownit", | ||||||
|       "~/types/custom.d.ts", |       "~/types/custom.d.ts", | ||||||
|       "vuetify", |       "vuetify", | ||||||
|       "nuxt-i18n" |       "nuxt-i18n" | ||||||
|  | |||||||
							
								
								
									
										14
									
								
								utils/md-toc.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								utils/md-toc.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,14 @@ | |||||||
|  | const slugify = (e: string) => encodeURIComponent(String(e).trim().toLowerCase().replace(/\s+/g, '-')) | ||||||
|  | 
 | ||||||
|  | function toc(content: string) { | ||||||
|  |   return content.split('\n').filter(s => s.startsWith('#')).map((s) => { | ||||||
|  |     const [_, hashtags, title] = s.match(/^(#+) (.*)/) ?? [undefined, 0, ''] | ||||||
|  |     const level = Math.max((hashtags as string).length - 2, 0) | ||||||
|  | 
 | ||||||
|  |     return `${'    '.repeat(level)}- [${title}](#${slugify(title as string)})` | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export { | ||||||
|  |   toc | ||||||
|  | } | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user