mirror of
https://github.com/docsifyjs/docsify.git
synced 2025-12-08 19:55:52 +00:00
bump 1.5.0
This commit is contained in:
parent
e5452243b1
commit
ecba3f1b05
@ -1,6 +1,6 @@
|
|||||||

|

|
||||||
|
|
||||||
# docsify <small>1.4.3</small>
|
# docsify <small>1.5.0</small>
|
||||||
|
|
||||||
> A magical documentation site generator.
|
> A magical documentation site generator.
|
||||||
|
|
||||||
|
|||||||
127
lib/docsify.js
127
lib/docsify.js
@ -118,6 +118,7 @@ function slugify (string) {
|
|||||||
var re = /[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g;
|
var re = /[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g;
|
||||||
var maintainCase = false;
|
var maintainCase = false;
|
||||||
var replacement = '-';
|
var replacement = '-';
|
||||||
|
|
||||||
slugify.occurrences = slugify.occurrences || {};
|
slugify.occurrences = slugify.occurrences || {};
|
||||||
|
|
||||||
if (typeof string !== 'string') { return '' }
|
if (typeof string !== 'string') { return '' }
|
||||||
@ -143,6 +144,27 @@ function slugify (string) {
|
|||||||
return slug
|
return slug
|
||||||
}
|
}
|
||||||
|
|
||||||
|
slugify.clear = function () {
|
||||||
|
slugify.occurrences = {};
|
||||||
|
};
|
||||||
|
|
||||||
|
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
||||||
|
var merge = Object.assign || function (to) {
|
||||||
|
var arguments$1 = arguments;
|
||||||
|
|
||||||
|
for (var i = 1; i < arguments.length; i++) {
|
||||||
|
var from = Object(arguments$1[i]);
|
||||||
|
|
||||||
|
for (var key in from) {
|
||||||
|
if (hasOwnProperty.call(from, key)) {
|
||||||
|
to[key] = from[key];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return to
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Active sidebar when scroll
|
* Active sidebar when scroll
|
||||||
* @link https://buble.surge.sh/
|
* @link https://buble.surge.sh/
|
||||||
@ -2411,50 +2433,66 @@ function tree (toc, tpl) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var OPTIONS$1 = {};
|
var OPTIONS$1 = {};
|
||||||
|
var markdown = marked;
|
||||||
|
var toc = [];
|
||||||
var CACHE = {};
|
var CACHE = {};
|
||||||
|
|
||||||
var renderTo = function (dom, content) {
|
var renderTo = function (dom, content) {
|
||||||
dom = typeof dom === 'object' ? dom : document.querySelector(dom);
|
dom = typeof dom === 'object' ? dom : document.querySelector(dom);
|
||||||
dom.innerHTML = content;
|
dom.innerHTML = content;
|
||||||
|
slugify.clear();
|
||||||
|
|
||||||
return dom
|
return dom
|
||||||
};
|
};
|
||||||
var toc = [];
|
|
||||||
var renderer = new marked.Renderer();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* render anchor tag
|
* init render
|
||||||
* @link https://github.com/chjj/marked#overriding-renderer-methods
|
* @param {Object} options
|
||||||
*/
|
*/
|
||||||
renderer.heading = function (text, level) {
|
function init (options) {
|
||||||
var slug = slugify(text);
|
OPTIONS$1 = options;
|
||||||
var route = '';
|
|
||||||
|
|
||||||
if (OPTIONS$1.router) {
|
var renderer = new marked.Renderer();
|
||||||
route = "#/" + (getRoute());
|
/**
|
||||||
|
* render anchor tag
|
||||||
|
* @link https://github.com/chjj/marked#overriding-renderer-methods
|
||||||
|
*/
|
||||||
|
renderer.heading = function (text, level) {
|
||||||
|
var slug = slugify(text);
|
||||||
|
var route = '';
|
||||||
|
|
||||||
|
if (OPTIONS$1.router) {
|
||||||
|
route = "#/" + (getRoute());
|
||||||
|
}
|
||||||
|
|
||||||
|
toc.push({ level: level, slug: (route + "#" + (encodeURIComponent(slug))), title: text });
|
||||||
|
|
||||||
|
return ("<h" + level + " id=\"" + slug + "\"><a href=\"" + route + "#" + slug + "\" data-id=\"" + slug + "\" class=\"anchor\"><span>" + text + "</span></a></h" + level + ">")
|
||||||
|
};
|
||||||
|
// highlight code
|
||||||
|
renderer.code = function (code, lang) {
|
||||||
|
if ( lang === void 0 ) lang = '';
|
||||||
|
|
||||||
|
var hl = prism.highlight(code, prism.languages[lang] || prism.languages.markup)
|
||||||
|
.replace(/{{/g, '<span>{{</span>');
|
||||||
|
|
||||||
|
return ("<pre data-lang=\"" + lang + "\"><code class=\"lang-" + lang + "\">" + hl + "</code></pre>")
|
||||||
|
};
|
||||||
|
renderer.link = function (href, title, text) {
|
||||||
|
if (OPTIONS$1.router && !/:/.test(href)) {
|
||||||
|
href = ("#/" + href).replace(/\/\//g, '/');
|
||||||
|
}
|
||||||
|
|
||||||
|
return ("<a href=\"" + href + "\" title=\"" + (title || '') + "\">" + text + "</a>")
|
||||||
|
};
|
||||||
|
|
||||||
|
if (typeof OPTIONS$1.markdown === 'function') {
|
||||||
|
markdown.setOptions({ renderer: renderer });
|
||||||
|
markdown = OPTIONS$1.markdown.call(this, markdown);
|
||||||
|
} else {
|
||||||
|
markdown.setOptions(merge({ renderer: renderer }, OPTIONS$1.markdown));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
toc.push({ level: level, slug: (route + "#" + (encodeURIComponent(slug))), title: text });
|
|
||||||
|
|
||||||
return ("<h" + level + " id=\"" + slug + "\"><a href=\"" + route + "#" + slug + "\" data-id=\"" + slug + "\" class=\"anchor\"><span>" + text + "</span></a></h" + level + ">")
|
|
||||||
};
|
|
||||||
// highlight code
|
|
||||||
renderer.code = function (code, lang) {
|
|
||||||
if ( lang === void 0 ) lang = '';
|
|
||||||
|
|
||||||
var hl = prism.highlight(code, prism.languages[lang] || prism.languages.markup)
|
|
||||||
.replace(/{{/g, '<span>{{</span>');
|
|
||||||
|
|
||||||
return ("<pre data-lang=\"" + lang + "\"><code class=\"lang-" + lang + "\">" + hl + "</code></pre>")
|
|
||||||
};
|
|
||||||
renderer.link = function (href, title, text) {
|
|
||||||
if (OPTIONS$1.router && !/:/.test(href)) {
|
|
||||||
href = ("#/" + href).replace(/\/\//g, '/');
|
|
||||||
}
|
|
||||||
|
|
||||||
return ("<a href=\"" + href + "\" title=\"" + (title || '') + "\">" + text + "</a>")
|
|
||||||
};
|
|
||||||
marked.setOptions({ renderer: renderer });
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* App
|
* App
|
||||||
@ -2483,7 +2521,7 @@ function renderApp (dom, replace) {
|
|||||||
* article
|
* article
|
||||||
*/
|
*/
|
||||||
function renderArticle (content) {
|
function renderArticle (content) {
|
||||||
renderTo('article', content ? marked(content) : 'not found');
|
renderTo('article', content ? markdown(content) : 'not found');
|
||||||
if (!OPTIONS$1.sidebar && !OPTIONS$1.loadSidebar) { renderSidebar(); }
|
if (!OPTIONS$1.sidebar && !OPTIONS$1.loadSidebar) { renderSidebar(); }
|
||||||
|
|
||||||
if (content && typeof Vue !== 'undefined' && typeof Vuep !== 'undefined') {
|
if (content && typeof Vue !== 'undefined' && typeof Vuep !== 'undefined') {
|
||||||
@ -2500,7 +2538,7 @@ function renderNavbar (content) {
|
|||||||
if (CACHE.navbar && CACHE.navbar === content) { return }
|
if (CACHE.navbar && CACHE.navbar === content) { return }
|
||||||
CACHE.navbar = content;
|
CACHE.navbar = content;
|
||||||
|
|
||||||
if (content) { renderTo('nav', marked(content)); }
|
if (content) { renderTo('nav', markdown(content)); }
|
||||||
activeLink('nav');
|
activeLink('nav');
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2511,7 +2549,7 @@ function renderSidebar (content) {
|
|||||||
var html;
|
var html;
|
||||||
|
|
||||||
if (content) {
|
if (content) {
|
||||||
html = marked(content);
|
html = markdown(content);
|
||||||
} else if (OPTIONS$1.sidebar) {
|
} else if (OPTIONS$1.sidebar) {
|
||||||
html = tree(OPTIONS$1.sidebar, '<ul>');
|
html = tree(OPTIONS$1.sidebar, '<ul>');
|
||||||
} else {
|
} else {
|
||||||
@ -2544,7 +2582,7 @@ function renderCover (content) {
|
|||||||
if (renderCover.rendered) { return }
|
if (renderCover.rendered) { return }
|
||||||
|
|
||||||
// render cover
|
// render cover
|
||||||
var html = marked(content);
|
var html = markdown(content);
|
||||||
var match = html.trim().match('<p><img[^s]+src="(.*?)"[^a]+alt="(.*?)"></p>$');
|
var match = html.trim().match('<p><img[^s]+src="(.*?)"[^a]+alt="(.*?)"></p>$');
|
||||||
|
|
||||||
// render background
|
// render background
|
||||||
@ -2603,15 +2641,7 @@ function renderLoading (ref) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
var OPTIONS = merge({
|
||||||
* Load Config
|
|
||||||
* @param {Object} options
|
|
||||||
*/
|
|
||||||
function config (options) {
|
|
||||||
OPTIONS$1 = options;
|
|
||||||
}
|
|
||||||
|
|
||||||
var OPTIONS = {
|
|
||||||
el: '#app',
|
el: '#app',
|
||||||
repo: '',
|
repo: '',
|
||||||
maxLevel: 6,
|
maxLevel: 6,
|
||||||
@ -2625,7 +2655,7 @@ var OPTIONS = {
|
|||||||
coverpage: '',
|
coverpage: '',
|
||||||
basePath: '',
|
basePath: '',
|
||||||
auto2top: false
|
auto2top: false
|
||||||
};
|
}, window.$docsify);
|
||||||
var script = document.currentScript || [].slice.call(document.getElementsByTagName('script')).pop();
|
var script = document.currentScript || [].slice.call(document.getElementsByTagName('script')).pop();
|
||||||
|
|
||||||
// load configuration for script attribute
|
// load configuration for script attribute
|
||||||
@ -2641,7 +2671,7 @@ if (script) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// load options
|
// load options
|
||||||
config(OPTIONS);
|
init(OPTIONS);
|
||||||
|
|
||||||
var cacheRoute = null;
|
var cacheRoute = null;
|
||||||
var cacheXhr = null;
|
var cacheXhr = null;
|
||||||
@ -2701,7 +2731,10 @@ var Docsify = function () {
|
|||||||
var dom = document.querySelector(OPTIONS.el) || document.body;
|
var dom = document.querySelector(OPTIONS.el) || document.body;
|
||||||
var replace = dom !== document.body;
|
var replace = dom !== document.body;
|
||||||
var main = function () {
|
var main = function () {
|
||||||
mainRender(function (_) { return scrollIntoView(); });
|
mainRender(function (_) {
|
||||||
|
scrollIntoView();
|
||||||
|
activeLink('nav');
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
// Render app
|
// Render app
|
||||||
|
|||||||
4
lib/docsify.min.js
vendored
4
lib/docsify.min.js
vendored
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user