[build] 4.6.5

This commit is contained in:
qingwei.li 2018-03-03 22:57:34 +08:00
commit 75222209da
19 changed files with 2763 additions and 298 deletions

View file

@ -4,7 +4,7 @@ if (fixedPath !== location.href) {
location.href = fixedPath;
}
function install (hook, vm) {
function install(hook, vm) {
var dom = Docsify.dom;
var disqus = vm.config.disqus;
if (!disqus) {
@ -16,7 +16,7 @@ function install (hook, vm) {
script.async = true;
script.src = "https://" + disqus + ".disqus.com/embed.js";
script.setAttribute('data-timestamp', +new Date());
script.setAttribute('data-timestamp', Number(new Date()));
dom.appendTo(dom.body, script);
});

View file

@ -1 +1 @@
!function(){var i=location.href.replace("/-/","/#/");i!==location.href&&(location.href=i);$docsify.plugins=[].concat(function(i,t){var e=Docsify.dom,o=t.config.disqus;if(!o)throw Error("$docsify.disqus is required");i.init(function(i){var t=e.create("script");t.async=!0,t.src="https://"+o+".disqus.com/embed.js",t.setAttribute("data-timestamp",+new Date),e.appendTo(e.body,t)}),i.mounted(function(i){var o=e.create("div");o.id="disqus_thread";var n=e.getNode("#main");o.style="width: "+n.clientWidth+"px; margin: 0 auto 20px;",e.appendTo(e.find(".content"),o),window.disqus_config=function(){this.page.url=location.origin+"/-"+t.route.path,this.page.identifier=t.route.path,this.page.title=document.title}}),i.doneEach(function(i){void 0!==window.DISQUS&&window.DISQUS.reset({reload:!0,config:function(){this.page.url=location.origin+"/-"+t.route.path,this.page.identifier=t.route.path,this.page.title=document.title}})})},$docsify.plugins)}();
!function(){var i=location.href.replace("/-/","/#/");i!==location.href&&(location.href=i);$docsify.plugins=[].concat(function(i,t){var e=Docsify.dom,o=t.config.disqus;if(!o)throw Error("$docsify.disqus is required");i.init(function(i){var t=e.create("script");t.async=!0,t.src="https://"+o+".disqus.com/embed.js",t.setAttribute("data-timestamp",Number(new Date)),e.appendTo(e.body,t)}),i.mounted(function(i){var o=e.create("div");o.id="disqus_thread";var n=e.getNode("#main");o.style="width: "+n.clientWidth+"px; margin: 0 auto 20px;",e.appendTo(e.find(".content"),o),window.disqus_config=function(){this.page.url=location.origin+"/-"+t.route.path,this.page.identifier=t.route.path,this.page.title=document.title}}),i.doneEach(function(i){void 0!==window.DISQUS&&window.DISQUS.reset({reload:!0,config:function(){this.page.url=location.origin+"/-"+t.route.path,this.page.identifier=t.route.path,this.page.title=document.title}})})},$docsify.plugins)}();

View file

@ -888,12 +888,12 @@ var AllGithubEmoji = [
'zzz'
];
// emoji from All-Github-Emoji-Icons
// Emoji from All-Github-Emoji-Icons
// https://github.com/scotch-io/All-Github-Emoji-Icons
window.emojify = function (match, $1) {
return AllGithubEmoji.indexOf($1) === -1
? match
: '<img class="emoji" src="https://assets-cdn.github.com/images/icons/emoji/' +
return AllGithubEmoji.indexOf($1) === -1 ?
match :
'<img class="emoji" src="https://assets-cdn.github.com/images/icons/emoji/' +
$1 +
'.png" alt="' +
$1 +

View file

@ -1,5 +1,5 @@
(function () {
function handleExternalScript () {
function handleExternalScript() {
var container = Docsify.dom.getNode('#main');
var scripts = Docsify.dom.findAll(container, 'script');

View file

@ -1,13 +1,13 @@
(function () {
// From https://github.com/egoist/vue-ga/blob/master/src/index.js
function appendScript () {
function appendScript() {
var script = document.createElement('script');
script.async = true;
script.src = 'https://www.google-analytics.com/analytics.js';
document.body.appendChild(script);
}
function init (id) {
function init(id) {
appendScript();
window.ga =
window.ga ||
@ -18,7 +18,7 @@ function init (id) {
window.ga('create', id, 'auto');
}
function collect () {
function collect() {
if (!window.ga) {
init($docsify.ga);
}

View file

@ -1,5 +1,5 @@
(function () {
function install (hook, vm) {
function install(hook) {
var dom = Docsify.dom;
hook.mounted(function (_) {

View file

@ -1 +1 @@
!function(){$docsify.plugins=[].concat(function(n,t){var i=Docsify.dom;n.mounted(function(n){var t=i.create("div");t.id="gitalk-container";var e=i.getNode("#main");t.style="width: "+e.clientWidth+"px; margin: 0 auto 20px;",i.appendTo(i.find(".content"),t);var o=i.create("script");o.textContent="gitalk.render('gitalk-container')",i.appendTo(i.body,o)})},$docsify.plugins)}();
!function(){$docsify.plugins=[].concat(function(n){var t=Docsify.dom;n.mounted(function(n){var i=t.create("div");i.id="gitalk-container";var e=t.getNode("#main");i.style="width: "+e.clientWidth+"px; margin: 0 auto 20px;",t.appendTo(t.find(".content"),i);var o=t.create("script");o.textContent="gitalk.render('gitalk-container')",t.appendTo(t.body,o)})},$docsify.plugins)}();

View file

@ -2,23 +2,23 @@
var INDEXS = {};
var helper;
function escapeHtml (string) {
function escapeHtml(string) {
var entityMap = {
'&': '&amp;',
'<': '&lt;',
'>': '&gt;',
'"': '&quot;',
"'": '&#39;',
'\'': '&#39;',
'/': '&#x2F;'
};
return String(string).replace(/[&<>"'\/]/g, function (s) { return entityMap[s]; })
return String(string).replace(/[&<>"'/]/g, function (s) { return entityMap[s]; })
}
function getAllPaths (router) {
function getAllPaths(router) {
var paths = [];
helper.dom.findAll('a:not([data-nosearch])').map(function (node) {
helper.dom.findAll('a:not([data-nosearch])').forEach(function (node) {
var href = node.href;
var originHref = node.getAttribute('href');
var path = router.parse(href).path;
@ -35,12 +35,12 @@ function getAllPaths (router) {
return paths
}
function saveData (maxAge) {
function saveData(maxAge) {
localStorage.setItem('docsify.search.expires', Date.now() + maxAge);
localStorage.setItem('docsify.search.index', JSON.stringify(INDEXS));
}
function genIndex (path, content, router, depth) {
function genIndex(path, content, router, depth) {
if ( content === void 0 ) content = '';
var tokens = window.marked.lexer(content);
@ -50,18 +50,18 @@ function genIndex (path, content, router, depth) {
tokens.forEach(function (token) {
if (token.type === 'heading' && token.depth <= depth) {
slug = router.toURL(path, { id: slugify(token.text) });
index[slug] = { slug: slug, title: token.text, body: '' };
slug = router.toURL(path, {id: slugify(token.text)});
index[slug] = {slug: slug, title: token.text, body: ''};
} else {
if (!slug) { return }
if (!slug) {
return
}
if (!index[slug]) {
index[slug] = { slug: slug, title: '', body: '' };
index[slug] = {slug: slug, title: '', body: ''};
} else if (index[slug].body) {
index[slug].body += '\n' + (token.text || '');
} else {
if (index[slug].body) {
index[slug].body += '\n' + (token.text || '');
} else {
index[slug].body = token.text;
}
index[slug].body = token.text;
}
}
});
@ -73,7 +73,7 @@ function genIndex (path, content, router, depth) {
* @param {String} query
* @returns {Array}
*/
function search (query) {
function search(query) {
var matchingResults = [];
var data = [];
Object.keys(INDEXS).forEach(function (key) {
@ -81,7 +81,7 @@ function search (query) {
});
query = query.trim();
var keywords = query.split(/[\s\-\\\/]+/);
var keywords = query.split(/[\s\-\\/]+/);
if (keywords.length !== 1) {
keywords = [].concat(query, keywords);
}
@ -95,7 +95,7 @@ function search (query) {
var postUrl = post.slug || '';
if (postTitle && postContent) {
keywords.forEach(function (keyword, i) {
keywords.forEach(function (keyword) {
// From https://github.com/sindresorhus/escape-string-regexp
var regEx = new RegExp(
keyword.replace(/[|\\{}()[\]^$+*?.]/g, '\\$&'),
@ -111,7 +111,9 @@ function search (query) {
isMatch = false;
} else {
isMatch = true;
if (indexContent < 0) { indexContent = 0; }
if (indexContent < 0) {
indexContent = 0;
}
var start = 0;
var end = 0;
@ -119,7 +121,9 @@ function search (query) {
start = indexContent < 11 ? 0 : indexContent - 10;
end = start === 0 ? 70 : indexContent + keyword.length + 60;
if (end > postContent.length) { end = postContent.length; }
if (end > postContent.length) {
end = postContent.length;
}
var matchContent =
'...' +
@ -149,7 +153,7 @@ function search (query) {
return matchingResults
}
function init$1 (config, vm) {
function init$1(config, vm) {
helper = Docsify;
var isAuto = config.paths === 'auto';
@ -168,7 +172,9 @@ function init$1 (config, vm) {
var count = 0;
paths.forEach(function (path) {
if (INDEXS[path]) { return count++ }
if (INDEXS[path]) {
return count++
}
helper
.get(vm.router.getFile(path), false, vm.config.requestHeaders)
@ -181,13 +187,13 @@ function init$1 (config, vm) {
var NO_DATA_TEXT = '';
function style () {
function style() {
var code = "\n.sidebar {\n padding-top: 0;\n}\n\n.search {\n margin-bottom: 20px;\n padding: 6px;\n border-bottom: 1px solid #eee;\n}\n\n.search .input-wrap {\n display: flex;\n align-items: center;\n}\n\n.search .results-panel {\n display: none;\n}\n\n.search .results-panel.show {\n display: block;\n}\n\n.search input {\n outline: none;\n border: none;\n width: 100%;\n padding: 0 7px;\n line-height: 36px;\n font-size: 14px;\n}\n\n.search input::-webkit-search-decoration,\n.search input::-webkit-search-cancel-button,\n.search input {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n.search .clear-button {\n width: 36px;\n text-align: right;\n display: none;\n}\n\n.search .clear-button.show {\n display: block;\n}\n\n.search .clear-button svg {\n transform: scale(.5);\n}\n\n.search h2 {\n font-size: 17px;\n margin: 10px 0;\n}\n\n.search a {\n text-decoration: none;\n color: inherit;\n}\n\n.search .matching-post {\n border-bottom: 1px solid #eee;\n}\n\n.search .matching-post:last-child {\n border-bottom: 0;\n}\n\n.search p {\n font-size: 14px;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n.search p.empty {\n text-align: center;\n}";
Docsify.dom.style(code);
}
function tpl (opts, defaultValue) {
function tpl(opts, defaultValue) {
if ( defaultValue === void 0 ) defaultValue = '';
var html =
@ -199,7 +205,7 @@ function tpl (opts, defaultValue) {
Docsify.dom.before(aside, el);
}
function doSearch (value) {
function doSearch(value) {
var $search = Docsify.dom.find('div.search');
var $panel = Docsify.dom.find($search, '.results-panel');
var $clearBtn = Docsify.dom.find($search, '.clear-button');
@ -222,7 +228,7 @@ function doSearch (value) {
$panel.innerHTML = html || ("<p class=\"empty\">" + NO_DATA_TEXT + "</p>");
}
function bindEvents () {
function bindEvents() {
var $search = Docsify.dom.find('div.search');
var $input = Docsify.dom.find($search, 'input');
var $inputWrap = Docsify.dom.find($search, '.input-wrap');
@ -239,7 +245,7 @@ function bindEvents () {
timeId = setTimeout(function (_) { return doSearch(e.target.value.trim()); }, 100);
});
Docsify.dom.on($inputWrap, 'click', function (e) {
// click input outside
// Click input outside
if (e.target.tagName !== 'INPUT') {
$input.value = '';
doSearch();
@ -247,10 +253,12 @@ function bindEvents () {
});
}
function updatePlaceholder (text, path) {
function updatePlaceholder(text, path) {
var $input = Docsify.dom.getNode('.search input[type="search"]');
if (!$input) { return }
if (!$input) {
return
}
if (typeof text === 'string') {
$input.placeholder = text;
} else {
@ -259,7 +267,7 @@ function updatePlaceholder (text, path) {
}
}
function updateNoData (text, path) {
function updateNoData(text, path) {
if (typeof text === 'string') {
NO_DATA_TEXT = text;
} else {
@ -268,7 +276,7 @@ function updateNoData (text, path) {
}
}
function init (opts, vm) {
function init(opts, vm) {
var keywords = vm.router.parse().query.s;
style();
@ -277,7 +285,7 @@ function init (opts, vm) {
keywords && setTimeout(function (_) { return doSearch(keywords); }, 500);
}
function update (opts, vm) {
function update(opts, vm) {
updatePlaceholder(opts.placeholder, vm.route.path);
updateNoData(opts.noData, vm.route.path);
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long