From 129bd4d3a03119da3f769f2e1a81c91ec55a8cf3 Mon Sep 17 00:00:00 2001 From: Antony Jones Date: Sun, 15 Jan 2017 10:45:32 +0000 Subject: [PATCH 001/835] Add vudash to list of projects using docsify (#57) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index de23be7..00d74ab 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,7 @@ These open-source projects are using docsify to generate their sites. Pull reque - [Snipaste](https://docs.snipaste.com/) - A new way to boost your productivity. - [puck](https://puck.zz173.com/) - A small & magical php framework. - [Samaritan](http://samaritan.stockdb.org) - An Algorithmic Trading Framework for Digital Currency. +- [Vudash](http://vudash.github.io/vudash/) - Powerful, Flexible, Open Source dashboards for anything ## Similar projects - [docute](https://github.com/egoist/docute) - 📜 Effortlessly documentation done right From af5d2934e45aef17d53c8cd3fbbd30db3c619855 Mon Sep 17 00:00:00 2001 From: citycide Date: Tue, 17 Jan 2017 00:05:12 +0000 Subject: [PATCH 002/835] add `Trilogy` to showcase list (#58) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 00d74ab..b45afbd 100644 --- a/README.md +++ b/README.md @@ -54,6 +54,7 @@ These open-source projects are using docsify to generate their sites. Pull reque - [puck](https://puck.zz173.com/) - A small & magical php framework. - [Samaritan](http://samaritan.stockdb.org) - An Algorithmic Trading Framework for Digital Currency. - [Vudash](http://vudash.github.io/vudash/) - Powerful, Flexible, Open Source dashboards for anything +- [Trilogy](http://trilogy.js.org) - No-hassle SQLite with a Promise-based, document store style API. ## Similar projects - [docute](https://github.com/egoist/docute) - 📜 Effortlessly documentation done right From d79c7655cd642b24e3af5f47b2d2af5f06829ea0 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Sat, 14 Jan 2017 00:19:26 +0800 Subject: [PATCH 003/835] Update license --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index 4808f79..58492da 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2016 cinwell.li +Copyright (c) 2016 - 2017 cinwell.li Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal From d179ade7df2d46bf71b5e712d9f6f35daff8177a Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Wed, 18 Jan 2017 16:35:19 +0800 Subject: [PATCH 004/835] Using v-pre --- src/render.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/render.js b/src/render.js index d29a97a..8f784fd 100644 --- a/src/render.js +++ b/src/render.js @@ -45,9 +45,8 @@ export function init (options) { // highlight code renderer.code = function (code, lang = '') { const hl = Prism.highlight(code, Prism.languages[lang] || Prism.languages.markup) - .replace(/{{/g, '{{') - return `
${hl}
` + return `
${hl}
` } renderer.link = function (href, title, text) { if (OPTIONS.router && !/:/.test(href)) { From 9abae495ac2cc03b9302d0b2f803ec5f2c51e056 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Tue, 24 Jan 2017 10:06:38 +0800 Subject: [PATCH 005/835] Execute script when vue exists. --- CHANGELOG.md | 7 +++++++ docs/_coverpage.md | 2 +- src/index.js | 12 ++++++------ src/render.js | 11 ++++++++--- 4 files changed, 22 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 08b3bc4..1991e5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## 1.8.0 +### Bug fixes +- Using `v-pre` skip compilation. + +### Features +- Execute script when vue exists. + ## 1.7.4 ### Bug fixes - Fix bugs caused by the previous version diff --git a/docs/_coverpage.md b/docs/_coverpage.md index 8287100..c7543c1 100644 --- a/docs/_coverpage.md +++ b/docs/_coverpage.md @@ -1,6 +1,6 @@ ![logo](_media/icon.svg) -# docsify 1.7.4 +# docsify 1.7.5 > A magical documentation site generator. diff --git a/src/index.js b/src/index.js index 9b445d6..b90e33b 100644 --- a/src/index.js +++ b/src/index.js @@ -76,11 +76,10 @@ const mainRender = function (cb) { if (OPTIONS.coverpage && page !== OPTIONS.homepage) render.renderCover() // render sidebar if (OPTIONS.loadSidebar) { - load(basePath + OPTIONS.loadSidebar) - .then(result => { - render.renderSidebar(result) - cb() - }) + const renderSidebar = result => { render.renderSidebar(result); cb() } + + load(basePath + OPTIONS.loadSidebar).then(renderSidebar, + load(OPTIONS.loadSidebar).then(renderSidebar)) } else { cb() } @@ -88,7 +87,8 @@ const mainRender = function (cb) { // Render navbar if (OPTIONS.loadNavbar) { - load(basePath + OPTIONS.loadNavbar).then(render.renderNavbar) + load(basePath + OPTIONS.loadNavbar).then(render.renderNavbar, + () => load(OPTIONS.loadNavbar).then(render.renderNavbar)) } } diff --git a/src/render.js b/src/render.js index 8f784fd..7014aaf 100644 --- a/src/render.js +++ b/src/render.js @@ -98,9 +98,14 @@ export function renderArticle (content) { renderTo('article', content ? markdown(content) : 'not found') if (!OPTIONS.sidebar && !OPTIONS.loadSidebar) renderSidebar() - if (content && typeof Vue !== 'undefined' && typeof Vuep !== 'undefined') { - const vm = new Vue({ el: 'main' }) // eslint-disable-line - vm.$nextTick(_ => event.scrollActiveSidebar()) + if (content && typeof Vue !== 'undefined') { + const script = content.match(']*?>([^<]+)') + script && document.body.querySelector('article script').remove() + + const vm = script + ? new Function(`return ${script[1].trim()}`)() + : new Vue({ el: 'main' }) // eslint-disable-line + vm && vm.$nextTick(_ => event.scrollActiveSidebar()) } if (OPTIONS.auto2top) setTimeout(() => event.scroll2Top(OPTIONS.auto2top), 0) } From 3979f5cd3ffc83c0862c89e6ad0d1a06cbe21429 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Tue, 24 Jan 2017 10:07:14 +0800 Subject: [PATCH 006/835] Update change log --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1991e5d..d91892e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## 1.8.0 +## xxx ### Bug fixes - Using `v-pre` skip compilation. From 2af035ff45d1923cf63672c2bfa97f141d7a09e4 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Tue, 24 Jan 2017 10:18:58 +0800 Subject: [PATCH 007/835] Fix fallback sidebar --- src/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/index.js b/src/index.js index b90e33b..233a830 100644 --- a/src/index.js +++ b/src/index.js @@ -79,7 +79,7 @@ const mainRender = function (cb) { const renderSidebar = result => { render.renderSidebar(result); cb() } load(basePath + OPTIONS.loadSidebar).then(renderSidebar, - load(OPTIONS.loadSidebar).then(renderSidebar)) + _ => load(OPTIONS.loadSidebar).then(renderSidebar)) } else { cb() } @@ -88,7 +88,7 @@ const mainRender = function (cb) { // Render navbar if (OPTIONS.loadNavbar) { load(basePath + OPTIONS.loadNavbar).then(render.renderNavbar, - () => load(OPTIONS.loadNavbar).then(render.renderNavbar)) + _ => load(OPTIONS.loadNavbar).then(render.renderNavbar)) } } From 9d096b03a462f059d02183f3d960c5e76f0c1940 Mon Sep 17 00:00:00 2001 From: "qingwei.li" Date: Tue, 24 Jan 2017 11:28:04 +0800 Subject: [PATCH 008/835] bump 1.8.0 --- CHANGELOG.md | 2 +- docs/_coverpage.md | 2 +- lib/docsify.js | 28 ++++++++++++++++------------ lib/docsify.min.js | 4 ++-- 4 files changed, 20 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d91892e..1991e5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -## xxx +## 1.8.0 ### Bug fixes - Using `v-pre` skip compilation. diff --git a/docs/_coverpage.md b/docs/_coverpage.md index c7543c1..89b6ea8 100644 --- a/docs/_coverpage.md +++ b/docs/_coverpage.md @@ -1,6 +1,6 @@ ![logo](_media/icon.svg) -# docsify 1.7.5 +# docsify 1.8.0 > A magical documentation site generator. diff --git a/lib/docsify.js b/lib/docsify.js index c186c64..ff1a8c7 100644 --- a/lib/docsify.js +++ b/lib/docsify.js @@ -2505,10 +2505,9 @@ function init (options) { renderer.code = function (code, lang) { if ( lang === void 0 ) lang = ''; - var hl = prism.highlight(code, prism.languages[lang] || prism.languages.markup) - .replace(/{{/g, '{{'); + var hl = prism.highlight(code, prism.languages[lang] || prism.languages.markup); - return ("
" + hl + "
") + return ("
" + hl + "
") }; renderer.link = function (href, title, text) { if (OPTIONS$1.router && !/:/.test(href)) { @@ -2560,9 +2559,14 @@ function renderArticle (content) { renderTo('article', content ? markdown(content) : 'not found'); if (!OPTIONS$1.sidebar && !OPTIONS$1.loadSidebar) { renderSidebar(); } - if (content && typeof Vue !== 'undefined' && typeof Vuep !== 'undefined') { - var vm = new Vue({ el: 'main' }); // eslint-disable-line - vm.$nextTick(function (_) { return scrollActiveSidebar(); }); + if (content && typeof Vue !== 'undefined') { + var script = content.match(']*?>([^<]+)'); + script && document.body.querySelector('article script').remove(); + + var vm = script + ? new Function(("return " + (script[1].trim())))() + : new Vue({ el: 'main' }); // eslint-disable-line + vm && vm.$nextTick(function (_) { return scrollActiveSidebar(); }); } if (OPTIONS$1.auto2top) { setTimeout(function () { return scroll2Top(OPTIONS$1.auto2top); }, 0); } } @@ -2757,11 +2761,10 @@ var mainRender = function (cb) { if (OPTIONS.coverpage && page !== OPTIONS.homepage) { renderCover(); } // render sidebar if (OPTIONS.loadSidebar) { - load(basePath + OPTIONS.loadSidebar) - .then(function (result) { - renderSidebar(result); - cb(); - }); + var renderSidebar$$1 = function (result) { renderSidebar(result); cb(); }; + + load(basePath + OPTIONS.loadSidebar).then(renderSidebar$$1, + function (_) { return load(OPTIONS.loadSidebar).then(renderSidebar$$1); }); } else { cb(); } @@ -2769,7 +2772,8 @@ var mainRender = function (cb) { // Render navbar if (OPTIONS.loadNavbar) { - load(basePath + OPTIONS.loadNavbar).then(renderNavbar); + load(basePath + OPTIONS.loadNavbar).then(renderNavbar, + function (_) { return load(OPTIONS.loadNavbar).then(renderNavbar); }); } }; diff --git a/lib/docsify.min.js b/lib/docsify.min.js index b8914d3..11274b2 100644 --- a/lib/docsify.min.js +++ b/lib/docsify.min.js @@ -1,2 +1,2 @@ -var Docsify=function(){"use strict";function e(e,t,n){void 0===t&&(t="GET");var r=new XMLHttpRequest;return r.open(t,e),r.send(),{then:function(e,t){if(void 0===t&&(t=function(){}),n){var a=setInterval(function(e){return n({step:Math.floor(5*Math.random()+1)})},500);r.addEventListener("progress",n),r.addEventListener("loadend",function(e){n(e),clearInterval(a)})}r.addEventListener("error",t),r.addEventListener("load",function(n){var r=n.target;r.status>=400?t(r):e(r.response)})},abort:function(){return 4!==r.readyState&&r.abort()}}}function t(e,t){var n=[],r={};return e.forEach(function(e){var a=e.level||1,i=a-1;a>t||(r[i]?(r[i].children=r[i].children||[],r[i].children.push(e)):n.push(e),r[a]=e)}),n}function n(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}function r(e){return null===e||void 0===e}function a(){var e=window.location;if(E===e.hash&&!r($))return $;var t=e.hash.match(/^#\/([^#]+)/);return t=t&&2===t.length?t[1]:/^#\//.test(e.hash)?"":e.pathname,$=t,E=e.hash,t}function i(){return document.body.clientWidth<=600}function s(e){var t=/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g,n=!1,r="-";if(s.occurrences=s.occurrences||{},"string"!=typeof e)return"";n||(e=e.toLowerCase());var a=e.trim().replace(/<[^>\d]+>/g,"").replace(t,"").replace(/\s/g,r).replace(/-+/g,r).replace(/^(\d)/,"_$1"),i=s.occurrences[a];return s.occurrences.hasOwnProperty(a)?i++:i=0,s.occurrences[a]=i,i&&(a=a+"-"+i),a}function o(){function e(){for(var e,r=document.body.scrollTop,i=0,s=n.length;ir){e||(e=l);break}e=l}if(e){var u=a[e.getAttribute("data-id")];u&&u!==o&&(o&&o.classList.remove("active"),u.classList.add("active"),o=u,!t&&!d.noSticky&&o.scrollIntoView(!1))}}if(!i()){for(var t=!1,n=document.querySelectorAll(".anchor"),r=document.querySelector("aside.sidebar"),a={},s=r.querySelectorAll("li"),o=r.querySelector("li.active"),l=0,u=s.length;l=e||d.dom.classList.contains("hidden")?(document.body.classList.add("sticky"),d.noSticky=!1):(document.body.classList.remove("sticky"),d.noSticky=!0)}()}function g(e,t){return t={exports:{}},e(t,t.exports),t.exports}function h(e){return e?(/\/\//.test(e)||(e="https://github.com/"+e),e=e.replace(/^git\+/,""),'\n \n \n '):""}function f(e){var t=e+'';return(i()?t+"
":"
"+t)+'
\n
\n
\n
'}function m(){var e=", 100%, 85%",t="linear-gradient(to left bottom, hsl("+(Math.floor(255*Math.random())+e)+") 0%, hsl("+(Math.floor(255*Math.random())+e)+") 100%)";return'
\n
\n
\n
'}function b(){return''}function v(e,t){return void 0===t&&(t=""),e&&e.length?(e.forEach(function(e){t+='
  • '+e.title+"
  • ",e.children&&(t+='
    • '+v(e.children)+"
    ")}),t):""}function y(e){M=e;var t=new j.Renderer;t.heading=function(e,t){var n=s(e),r="";return M.router&&(r="#/"+a()),P.push({level:t,slug:r+"#"+encodeURIComponent(n),title:e}),"'+e+""},t.code=function(e,t){void 0===t&&(t="");var n=O.highlight(e,O.languages[t]||O.languages.markup).replace(/{{/g,"{{");return'
    '+n+"
    "},t.link=function(e,t,n){return M.router&&!/:/.test(e)&&(e=("#/"+e).replace(/\/\//g,"/")),''+n+""},t.paragraph=function(e){var t=F.test(e);return t?'

    '+e.replace(F,"")+"

    ":"

    "+e+"

    "},"function"==typeof M.markdown?(N.setOptions({renderer:t}),N=M.markdown.call(this,N)):N.setOptions(q({renderer:t},M.markdown))}function k(e,t){var n=document.querySelector("nav")||document.createElement("nav");M.repo||n.classList.add("no-badge"),e[t?"outerHTML":"innerHTML"]=h(M.repo)+(M.coverpage?m():"")+f(M.sidebarToggle?b():""),document.body.insertBefore(n,document.body.children[0]),c("button.sidebar-toggle"),M.coverpage?!i()&&window.addEventListener("scroll",d):document.body.classList.add("sticky")}function w(e){if(W("article",e?N(e):"not found"),M.sidebar||M.loadSidebar||L(),e&&"undefined"!=typeof Vue&&"undefined"!=typeof Vuep){var t=new Vue({el:"main"});t.$nextTick(function(e){return o()})}M.auto2top&&setTimeout(function(){return p(M.auto2top)},0)}function x(e){I.navbar&&I.navbar===e||(I.navbar=e,e&&W("nav",N(e)),u("nav"))}function L(e){var n;e?(n=N(e),n=n.match(/]*>([\s\S]+)<\/ul>/g)[0]):n=M.sidebar?v(M.sidebar,"