docs:更新文档

This commit is contained in:
张益铭
2021-03-01 15:06:11 +08:00
parent 1542135ab0
commit 9064b372e8
5835 changed files with 904126 additions and 161722 deletions

10
node_modules/markdown-it-container/CHANGELOG.md generated vendored Normal file
View File

@@ -0,0 +1,10 @@
2.0.0 / 2015-10-05
------------------
- Markdown-it 5.0.0 support. Use 1.x version for 4.x.
1.0.0 / 2015-03-13
------------------
- First release.

22
node_modules/markdown-it-container/LICENSE generated vendored Normal file
View File

@@ -0,0 +1,22 @@
Copyright (c) 2015 Vitaly Puzrin, Alex Kocharin.
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

95
node_modules/markdown-it-container/README.md generated vendored Normal file
View File

@@ -0,0 +1,95 @@
# markdown-it-container
[![Build Status](https://img.shields.io/travis/markdown-it/markdown-it-container/master.svg?style=flat)](https://travis-ci.org/markdown-it/markdown-it-container)
[![NPM version](https://img.shields.io/npm/v/markdown-it-container.svg?style=flat)](https://www.npmjs.org/package/markdown-it-container)
[![Coverage Status](https://img.shields.io/coveralls/markdown-it/markdown-it-container/master.svg?style=flat)](https://coveralls.io/r/markdown-it/markdown-it-container?branch=master)
> Plugin for creating block-level custom containers for [markdown-it](https://github.com/markdown-it/markdown-it) markdown parser.
__v2.+ requires `markdown-it` v5.+, see changelog.__
With this plugin you can create block containers like:
```
::: warning
*here be dragons*
:::
```
.... and specify how they should be rendered. If no renderer defined, `<div>` with
container name class will be created:
```html
<div class="warning">
<em>here be dragons</em>
</div>
```
Markup is the same as for [fenced code blocks](http://spec.commonmark.org/0.18/#fenced-code-blocks).
Difference is, that marker use another character and content is rendered as markdown markup.
## Installation
node.js, browser:
```bash
$ npm install markdown-it-container --save
$ bower install markdown-it-container --save
```
## API
```js
var md = require('markdown-it')()
.use(require('markdown-it-container'), name [, options]);
```
Params:
- __name__ - container name (mandatory)
- __options:__
- __validate__ - optional, function to validate tail after opening marker, should
return `true` on success.
- __render__ - optional, renderer function for opening/closing tokens.
- __marker__ - optional (`:`), character to use in delimiter.
## Example
```js
var md = require('markdown-it')();
md.use(require('markdown-it-container'), 'spoiler', {
validate: function(params) {
return params.trim().match(/^spoiler\s+(.*)$/);
},
render: function (tokens, idx) {
var m = tokens[idx].info.trim().match(/^spoiler\s+(.*)$/);
if (tokens[idx].nesting === 1) {
// opening tag
return '<details><summary>' + m[1] + '</summary>\n';
} else {
// closing tag
return '</details>\n';
}
}
});
console.log(md.render('::: spoiler click me\n*content*\n:::\n'));
// Output:
//
// <details><summary>click me</summary>
// <p><em>content</em></p>
// </details>
```
## License
[MIT](https://github.com/markdown-it/markdown-it-container/blob/master/LICENSE)

26
node_modules/markdown-it-container/bower.json generated vendored Normal file
View File

@@ -0,0 +1,26 @@
{
"name": "markdown-it-container",
"main": "dist/markdown-it-container.js",
"homepage": "https://github.com/markdown-it/markdown-it-container",
"description": "Plugin to create block-level custom containers for markdown-it markdown parser",
"keywords": [
"markdown-it-plugin",
"markdown-it",
"markdown"
],
"license": "MIT",
"ignore": [
"**/.*",
"benchmark",
"bower_components",
"coverage",
"demo",
"docs",
"lib",
"node_modules",
"support",
"test",
"Makefile",
"index*"
]
}

View File

@@ -0,0 +1,147 @@
/*! markdown-it-container 2.0.0 https://github.com//markdown-it/markdown-it-container @license MIT */(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.markdownitContainer = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
// Process block-level custom containers
//
'use strict';
module.exports = function container_plugin(md, name, options) {
function validateDefault(params) {
return params.trim().split(' ', 2)[0] === name;
}
function renderDefault(tokens, idx, _options, env, self) {
// add a class to the opening tag
if (tokens[idx].nesting === 1) {
tokens[idx].attrPush([ 'class', name ]);
}
return self.renderToken(tokens, idx, _options, env, self);
}
options = options || {};
var min_markers = 3,
marker_str = options.marker || ':',
marker_char = marker_str.charCodeAt(0),
marker_len = marker_str.length,
validate = options.validate || validateDefault,
render = options.render || renderDefault;
function container(state, startLine, endLine, silent) {
var pos, nextLine, marker_count, markup, params, token,
old_parent, old_line_max,
auto_closed = false,
start = state.bMarks[startLine] + state.tShift[startLine],
max = state.eMarks[startLine];
// Check out the first character quickly,
// this should filter out most of non-containers
//
if (marker_char !== state.src.charCodeAt(start)) { return false; }
// Check out the rest of the marker string
//
for (pos = start + 1; pos <= max; pos++) {
if (marker_str[(pos - start) % marker_len] !== state.src[pos]) {
break;
}
}
marker_count = Math.floor((pos - start) / marker_len);
if (marker_count < min_markers) { return false; }
pos -= (pos - start) % marker_len;
markup = state.src.slice(start, pos);
params = state.src.slice(pos, max);
if (!validate(params)) { return false; }
// Since start is found, we can report success here in validation mode
//
if (silent) { return true; }
// Search for the end of the block
//
nextLine = startLine;
for (;;) {
nextLine++;
if (nextLine >= endLine) {
// unclosed block should be autoclosed by end of document.
// also block seems to be autoclosed by end of parent
break;
}
start = state.bMarks[nextLine] + state.tShift[nextLine];
max = state.eMarks[nextLine];
if (start < max && state.sCount[nextLine] < state.blkIndent) {
// non-empty line with negative indent should stop the list:
// - ```
// test
break;
}
if (marker_char !== state.src.charCodeAt(start)) { continue; }
if (state.sCount[nextLine] - state.blkIndent >= 4) {
// closing fence should be indented less than 4 spaces
continue;
}
for (pos = start + 1; pos <= max; pos++) {
if (marker_str[(pos - start) % marker_len] !== state.src[pos]) {
break;
}
}
// closing code fence must be at least as long as the opening one
if (Math.floor((pos - start) / marker_len) < marker_count) { continue; }
// make sure tail has spaces only
pos -= (pos - start) % marker_len;
pos = state.skipSpaces(pos);
if (pos < max) { continue; }
// found!
auto_closed = true;
break;
}
old_parent = state.parentType;
old_line_max = state.lineMax;
state.parentType = 'container';
// this will prevent lazy continuations from ever going past our end marker
state.lineMax = nextLine;
token = state.push('container_' + name + '_open', 'div', 1);
token.markup = markup;
token.block = true;
token.info = params;
token.map = [ startLine, nextLine ];
state.md.block.tokenize(state, startLine + 1, nextLine);
token = state.push('container_' + name + '_close', 'div', -1);
token.markup = state.src.slice(start, pos);
token.block = true;
state.parentType = old_parent;
state.lineMax = old_line_max;
state.line = nextLine + (auto_closed ? 1 : 0);
return true;
}
md.block.ruler.before('fence', 'container_' + name, container, {
alt: [ 'paragraph', 'reference', 'blockquote', 'list' ]
});
md.renderer.rules['container_' + name + '_open'] = render;
md.renderer.rules['container_' + name + '_close'] = render;
};
},{}]},{},[1])(1)
});

View File

@@ -0,0 +1,2 @@
/*! markdown-it-container 2.0.0 https://github.com//markdown-it/markdown-it-container @license MIT */
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var r;r="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,r.markdownitContainer=e()}}(function(){return function e(r,n,t){function o(f,a){if(!n[f]){if(!r[f]){var u="function"==typeof require&&require;if(!a&&u)return u(f,!0);if(i)return i(f,!0);var c=new Error("Cannot find module '"+f+"'");throw c.code="MODULE_NOT_FOUND",c}var s=n[f]={exports:{}};r[f][0].call(s.exports,function(e){var n=r[f][1][e];return o(n?n:e)},s,s.exports,e,r,n,t)}return n[f].exports}for(var i="function"==typeof require&&require,f=0;f<t.length;f++)o(t[f]);return o}({1:[function(e,r,n){"use strict";r.exports=function(e,r,n){function t(e){return e.trim().split(" ",2)[0]===r}function o(e,n,t,o,i){return 1===e[n].nesting&&e[n].attrPush(["class",r]),i.renderToken(e,n,t,o,i)}function i(e,n,t,o){var i,l,d,p,k,h,b,m,v=!1,y=e.bMarks[n]+e.tShift[n],_=e.eMarks[n];if(u!==e.src.charCodeAt(y))return!1;for(i=y+1;_>=i&&a[(i-y)%c]===e.src[i];i++);if(d=Math.floor((i-y)/c),f>d)return!1;if(i-=(i-y)%c,p=e.src.slice(y,i),k=e.src.slice(i,_),!s(k))return!1;if(o)return!0;for(l=n;(l++,!(l>=t))&&(y=e.bMarks[l]+e.tShift[l],_=e.eMarks[l],!(_>y&&e.sCount[l]<e.blkIndent));)if(u===e.src.charCodeAt(y)&&!(e.sCount[l]-e.blkIndent>=4)){for(i=y+1;_>=i&&a[(i-y)%c]===e.src[i];i++);if(!(Math.floor((i-y)/c)<d||(i-=(i-y)%c,i=e.skipSpaces(i),_>i))){v=!0;break}}return b=e.parentType,m=e.lineMax,e.parentType="container",e.lineMax=l,h=e.push("container_"+r+"_open","div",1),h.markup=p,h.block=!0,h.info=k,h.map=[n,l],e.md.block.tokenize(e,n+1,l),h=e.push("container_"+r+"_close","div",-1),h.markup=e.src.slice(y,i),h.block=!0,e.parentType=b,e.lineMax=m,e.line=l+(v?1:0),!0}n=n||{};var f=3,a=n.marker||":",u=a.charCodeAt(0),c=a.length,s=n.validate||t,l=n.render||o;e.block.ruler.before("fence","container_"+r,i,{alt:["paragraph","reference","blockquote","list"]}),e.renderer.rules["container_"+r+"_open"]=l,e.renderer.rules["container_"+r+"_close"]=l}},{}]},{},[1])(1)});

143
node_modules/markdown-it-container/index.js generated vendored Normal file
View File

@@ -0,0 +1,143 @@
// Process block-level custom containers
//
'use strict';
module.exports = function container_plugin(md, name, options) {
function validateDefault(params) {
return params.trim().split(' ', 2)[0] === name;
}
function renderDefault(tokens, idx, _options, env, self) {
// add a class to the opening tag
if (tokens[idx].nesting === 1) {
tokens[idx].attrPush([ 'class', name ]);
}
return self.renderToken(tokens, idx, _options, env, self);
}
options = options || {};
var min_markers = 3,
marker_str = options.marker || ':',
marker_char = marker_str.charCodeAt(0),
marker_len = marker_str.length,
validate = options.validate || validateDefault,
render = options.render || renderDefault;
function container(state, startLine, endLine, silent) {
var pos, nextLine, marker_count, markup, params, token,
old_parent, old_line_max,
auto_closed = false,
start = state.bMarks[startLine] + state.tShift[startLine],
max = state.eMarks[startLine];
// Check out the first character quickly,
// this should filter out most of non-containers
//
if (marker_char !== state.src.charCodeAt(start)) { return false; }
// Check out the rest of the marker string
//
for (pos = start + 1; pos <= max; pos++) {
if (marker_str[(pos - start) % marker_len] !== state.src[pos]) {
break;
}
}
marker_count = Math.floor((pos - start) / marker_len);
if (marker_count < min_markers) { return false; }
pos -= (pos - start) % marker_len;
markup = state.src.slice(start, pos);
params = state.src.slice(pos, max);
if (!validate(params)) { return false; }
// Since start is found, we can report success here in validation mode
//
if (silent) { return true; }
// Search for the end of the block
//
nextLine = startLine;
for (;;) {
nextLine++;
if (nextLine >= endLine) {
// unclosed block should be autoclosed by end of document.
// also block seems to be autoclosed by end of parent
break;
}
start = state.bMarks[nextLine] + state.tShift[nextLine];
max = state.eMarks[nextLine];
if (start < max && state.sCount[nextLine] < state.blkIndent) {
// non-empty line with negative indent should stop the list:
// - ```
// test
break;
}
if (marker_char !== state.src.charCodeAt(start)) { continue; }
if (state.sCount[nextLine] - state.blkIndent >= 4) {
// closing fence should be indented less than 4 spaces
continue;
}
for (pos = start + 1; pos <= max; pos++) {
if (marker_str[(pos - start) % marker_len] !== state.src[pos]) {
break;
}
}
// closing code fence must be at least as long as the opening one
if (Math.floor((pos - start) / marker_len) < marker_count) { continue; }
// make sure tail has spaces only
pos -= (pos - start) % marker_len;
pos = state.skipSpaces(pos);
if (pos < max) { continue; }
// found!
auto_closed = true;
break;
}
old_parent = state.parentType;
old_line_max = state.lineMax;
state.parentType = 'container';
// this will prevent lazy continuations from ever going past our end marker
state.lineMax = nextLine;
token = state.push('container_' + name + '_open', 'div', 1);
token.markup = markup;
token.block = true;
token.info = params;
token.map = [ startLine, nextLine ];
state.md.block.tokenize(state, startLine + 1, nextLine);
token = state.push('container_' + name + '_close', 'div', -1);
token.markup = state.src.slice(start, pos);
token.block = true;
state.parentType = old_parent;
state.lineMax = old_line_max;
state.line = nextLine + (auto_closed ? 1 : 0);
return true;
}
md.block.ruler.before('fence', 'container_' + name, container, {
alt: [ 'paragraph', 'reference', 'blockquote', 'list' ]
});
md.renderer.rules['container_' + name + '_open'] = render;
md.renderer.rules['container_' + name + '_close'] = render;
};

62
node_modules/markdown-it-container/package.json generated vendored Normal file
View File

@@ -0,0 +1,62 @@
{
"_args": [
[
"markdown-it-container@2.0.0",
"J:\\Github\\CURD-TS"
]
],
"_development": true,
"_from": "markdown-it-container@2.0.0",
"_id": "markdown-it-container@2.0.0",
"_inBundle": false,
"_integrity": "sha1-ABm0P9Au7+zi8ZYKKJX7qBpARpU=",
"_location": "/markdown-it-container",
"_phantomChildren": {},
"_requested": {
"type": "version",
"registry": true,
"raw": "markdown-it-container@2.0.0",
"name": "markdown-it-container",
"escapedName": "markdown-it-container",
"rawSpec": "2.0.0",
"saveSpec": null,
"fetchSpec": "2.0.0"
},
"_requiredBy": [
"/vitepress"
],
"_resolved": "http://192.168.250.101:4873/markdown-it-container/-/markdown-it-container-2.0.0.tgz",
"_spec": "2.0.0",
"_where": "J:\\Github\\CURD-TS",
"bugs": {
"url": "https://github.com/markdown-it/markdown-it-container/issues"
},
"description": "Plugin to create block-level custom containers for markdown-it markdown parser",
"devDependencies": {
"browserify": "*",
"coveralls": "^2.11.2",
"eslint": "0.13.0",
"eslint-plugin-nodeca": "^1.0.0",
"istanbul": "*",
"markdown-it": "github:markdown-it/markdown-it",
"markdown-it-testgen": "~0.1.0",
"mocha": "*",
"uglify-js": "*"
},
"homepage": "https://github.com/markdown-it/markdown-it-container#readme",
"keywords": [
"markdown-it-plugin",
"markdown-it",
"markdown"
],
"license": "MIT",
"name": "markdown-it-container",
"repository": {
"type": "git",
"url": "git+https://github.com/markdown-it/markdown-it-container.git"
},
"scripts": {
"test": "make test"
},
"version": "2.0.0"
}