bump: 3.7.0
This commit is contained in:
parent
2d73285de5
commit
50e771e6a8
3 changed files with 83 additions and 14 deletions
|
|
@ -1,5 +1,11 @@
|
||||||
|
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 3.7.0 / 2017-05-16
|
||||||
|
|
||||||
|
* feat: add externalLinkTarget, close #149
|
||||||
|
* feat: add **{docsify-updated<span>}</span>**, close #158
|
||||||
|
|
||||||
## 3.6.6 / 2017-05-06
|
## 3.6.6 / 2017-05-06
|
||||||
|
|
||||||
* feat: support query string for the search, likes `https://docsify.js.org/#/?s=navbar`, fixed ([#156](https://github.com/QingWei-Li/docsify/issues/156)
|
* feat: support query string for the search, likes `https://docsify.js.org/#/?s=navbar`, fixed ([#156](https://github.com/QingWei-Li/docsify/issues/156)
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,9 @@ var config = merge({
|
||||||
executeScript: null,
|
executeScript: null,
|
||||||
noEmoji: false,
|
noEmoji: false,
|
||||||
ga: '',
|
ga: '',
|
||||||
mergeNavbar: false
|
mergeNavbar: false,
|
||||||
|
formatUpdated: '',
|
||||||
|
externalLinkTarget: '_blank'
|
||||||
}, window.$docsify);
|
}, window.$docsify);
|
||||||
|
|
||||||
var script = document.currentScript ||
|
var script = document.currentScript ||
|
||||||
|
|
@ -629,9 +631,10 @@ function get (url, hasBar) {
|
||||||
var on = function () {
|
var on = function () {
|
||||||
xhr.addEventListener.apply(xhr, arguments);
|
xhr.addEventListener.apply(xhr, arguments);
|
||||||
};
|
};
|
||||||
|
var cached$$1 = cache[url];
|
||||||
|
|
||||||
if (cache[url]) {
|
if (cached$$1) {
|
||||||
return { then: function (cb) { return cb(cache[url]); }, abort: noop }
|
return { then: function (cb) { return cb(cached$$1.content, cached$$1.opt); }, abort: noop }
|
||||||
}
|
}
|
||||||
|
|
||||||
xhr.open('GET', url);
|
xhr.open('GET', url);
|
||||||
|
|
@ -660,8 +663,14 @@ function get (url, hasBar) {
|
||||||
if (target.status >= 400) {
|
if (target.status >= 400) {
|
||||||
error(target);
|
error(target);
|
||||||
} else {
|
} else {
|
||||||
cache[url] = target.response;
|
var result = cache[url] = {
|
||||||
success(target.response);
|
content: target.response,
|
||||||
|
opt: {
|
||||||
|
updatedAt: xhr.getResponseHeader('last-modified')
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
success(result.content, result.opt);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
@ -2959,6 +2968,7 @@ function emojify (text) {
|
||||||
var markdownCompiler = marked;
|
var markdownCompiler = marked;
|
||||||
var contentBase = '';
|
var contentBase = '';
|
||||||
var currentPath = '';
|
var currentPath = '';
|
||||||
|
var linkTarget = '_blank';
|
||||||
var renderer = new marked.Renderer();
|
var renderer = new marked.Renderer();
|
||||||
var cacheTree = {};
|
var cacheTree = {};
|
||||||
var toc = [];
|
var toc = [];
|
||||||
|
|
@ -2980,11 +2990,13 @@ var markdown = cached(function (text) {
|
||||||
|
|
||||||
markdown.renderer = renderer;
|
markdown.renderer = renderer;
|
||||||
|
|
||||||
markdown.init = function (config, base) {
|
markdown.init = function (config, ref) {
|
||||||
if ( config === void 0 ) config = {};
|
if ( config === void 0 ) config = {};
|
||||||
if ( base === void 0 ) base = window.location.pathname;
|
var base = ref.base; if ( base === void 0 ) base = window.location.pathname;
|
||||||
|
var externalLinkTarget = ref.externalLinkTarget;
|
||||||
|
|
||||||
contentBase = getBasePath(base);
|
contentBase = getBasePath(base);
|
||||||
|
linkTarget = externalLinkTarget || linkTarget;
|
||||||
|
|
||||||
if (isFn(config)) {
|
if (isFn(config)) {
|
||||||
markdownCompiler = config(marked, renderer);
|
markdownCompiler = config(marked, renderer);
|
||||||
|
|
@ -3037,7 +3049,7 @@ renderer.link = function (href, title, text) {
|
||||||
if (!/:|(\/{2})/.test(href)) {
|
if (!/:|(\/{2})/.test(href)) {
|
||||||
href = toURL(href, null, currentPath);
|
href = toURL(href, null, currentPath);
|
||||||
} else {
|
} else {
|
||||||
blank = ' target="_blank"';
|
blank = " target=\"" + linkTarget + "\"";
|
||||||
}
|
}
|
||||||
if (title) {
|
if (title) {
|
||||||
title = " title=\"" + title + "\"";
|
title = " title=\"" + title + "\"";
|
||||||
|
|
@ -3118,6 +3130,45 @@ var render = Object.freeze({
|
||||||
cover: cover$1
|
cover: cover$1
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var RGX = /([^{]*?)\w(?=\})/g;
|
||||||
|
|
||||||
|
var dict = {
|
||||||
|
YYYY: 'getFullYear',
|
||||||
|
YY: 'getYear',
|
||||||
|
MM: function (d) {
|
||||||
|
return d.getMonth() + 1;
|
||||||
|
},
|
||||||
|
DD: 'getDate',
|
||||||
|
HH: 'getHours',
|
||||||
|
mm: 'getMinutes',
|
||||||
|
ss: 'getSeconds'
|
||||||
|
};
|
||||||
|
|
||||||
|
var tinydate = function (str) {
|
||||||
|
var parts=[], offset=0;
|
||||||
|
str.replace(RGX, function (key, _, idx) {
|
||||||
|
// save preceding string
|
||||||
|
parts.push(str.substring(offset, idx - 1));
|
||||||
|
offset = idx += key.length + 1;
|
||||||
|
// save function
|
||||||
|
parts.push(function(d){
|
||||||
|
return ('00' + (typeof dict[key]==='string' ? d[dict[key]]() : dict[key](d))).slice(-key.length);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
if (offset !== str.length) {
|
||||||
|
parts.push(str.substring(offset));
|
||||||
|
}
|
||||||
|
|
||||||
|
return function (arg) {
|
||||||
|
var out='', i=0, d=arg||new Date();
|
||||||
|
for (; i<parts.length; i++) {
|
||||||
|
out += (typeof parts[i]==='string') ? parts[i] : parts[i](d);
|
||||||
|
}
|
||||||
|
return out;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
function executeScript () {
|
function executeScript () {
|
||||||
var script = findAll('.markdown-section>script')
|
var script = findAll('.markdown-section>script')
|
||||||
.filter(function (s) { return !/template/.test(s.type); })[0];
|
.filter(function (s) { return !/template/.test(s.type); })[0];
|
||||||
|
|
@ -3130,6 +3181,16 @@ function executeScript () {
|
||||||
}, 0);
|
}, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function formatUpdated (html, updated, fn) {
|
||||||
|
updated = typeof fn === 'function'
|
||||||
|
? fn(updated)
|
||||||
|
: typeof fn === 'string'
|
||||||
|
? tinydate(fn)(new Date(updated))
|
||||||
|
: updated;
|
||||||
|
|
||||||
|
return html.replace(/{docsify-updated}/g, updated)
|
||||||
|
}
|
||||||
|
|
||||||
function renderMain (html) {
|
function renderMain (html) {
|
||||||
if (!html) {
|
if (!html) {
|
||||||
// TODO: Custom 404 page
|
// TODO: Custom 404 page
|
||||||
|
|
@ -3210,11 +3271,13 @@ function renderMixin (proto) {
|
||||||
getAndActive('nav');
|
getAndActive('nav');
|
||||||
};
|
};
|
||||||
|
|
||||||
proto._renderMain = function (text) {
|
proto._renderMain = function (text, opt) {
|
||||||
var this$1 = this;
|
var this$1 = this;
|
||||||
|
|
||||||
callHook(this, 'beforeEach', text, function (result) {
|
callHook(this, 'beforeEach', text, function (result) {
|
||||||
var html = this$1.isHTML ? result : markdown(result);
|
var html = this$1.isHTML ? result : markdown(result);
|
||||||
|
html = formatUpdated(html, opt.updatedAt, this$1.config.formatUpdated);
|
||||||
|
|
||||||
callHook(this$1, 'afterEach', html, function (text) { return renderMain.call(this$1, text); });
|
callHook(this$1, 'afterEach', html, function (text) { return renderMain.call(this$1, text); });
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
@ -3262,7 +3325,7 @@ function initRender (vm) {
|
||||||
var config = vm.config;
|
var config = vm.config;
|
||||||
|
|
||||||
// Init markdown compiler
|
// Init markdown compiler
|
||||||
markdown.init(config.markdown, config.basePath);
|
markdown.init(config.markdown, config);
|
||||||
|
|
||||||
var id = config.el || '#app';
|
var id = config.el || '#app';
|
||||||
var navEl = find('nav') || create('nav');
|
var navEl = find('nav') || create('nav');
|
||||||
|
|
@ -3406,8 +3469,8 @@ function fetchMixin (proto) {
|
||||||
this.isHTML = /\.html$/g.test(path);
|
this.isHTML = /\.html$/g.test(path);
|
||||||
|
|
||||||
// Load main content
|
// Load main content
|
||||||
last.then(function (text) {
|
last.then(function (text, opt) {
|
||||||
this$1._renderMain(text);
|
this$1._renderMain(text, opt);
|
||||||
if (!loadSidebar) { return cb() }
|
if (!loadSidebar) { return cb() }
|
||||||
|
|
||||||
var fn = function (result) { this$1._renderSidebar(result); cb(); };
|
var fn = function (result) { this$1._renderSidebar(result); cb(); };
|
||||||
|
|
|
||||||
4
lib/docsify.min.js
vendored
4
lib/docsify.min.js
vendored
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue