Compare commits

...
20 Commits
Author SHA1 Message Date
qingwei.li f7cf95a771 chore: add changelog 4.3.12 2017-10-15 21:26:50 +08:00
qingwei.li 4a9d594f7c [build] 4.3.12 2017-10-15 21:26:49 +08:00
LaySentandcinwell.li a3ab37952d fix: incorrect active link (#281)
* fix scroll issue in IE

* add meta tag for IE browser

* fix link render issue after page refreshing

* fix issue of incorrect active link

Should use both `path` and `id` to identify link, as `id` might not be unique under different paths
2017-10-15 08:25:49 -05:00
qingwei.li 6949455899 chore: add changelog 4.3.11 2017-10-15 10:44:35 +08:00
qingwei.li 4e52315564 [build] 4.3.11 2017-10-15 10:44:34 +08:00
qingwei.li 91d6337936 fix: broken links to same page heading, fix #278, fix #279 2017-10-15 10:43:35 +08:00
Gant Labordeandcinwell.li 26cc466420 chore: Add another fan of docsify! (#280)
* Add another fan of docsify!

Thanks for such a great documentation tool!

* Update README.md
2017-10-14 21:34:58 -05:00
Nicolas Gomes De Oliveiraandcinwell.li 6f92a871ca Update language-highlight.md (#277) 2017-10-13 02:46:32 -05:00
qingwei.li 538ee3d0dc chore: add changelog 4.3.10 2017-10-12 22:51:32 +08:00
qingwei.li 49fd30d73d [build] 4.3.10 2017-10-12 22:51:30 +08:00
LaySentandqingwei.li abd885e133 fix: link render issue after page refreshing (#276)
* fix scroll issue in IE

* add meta tag for IE browser

* fix link render issue after page refreshing
2017-10-12 22:48:07 +08:00
qingwei.li 69b2040571 chore: add changelog 4.3.9 2017-10-12 00:37:10 +08:00
qingwei.li e8d675c405 [build] 4.3.9 2017-10-12 00:37:09 +08:00
qingwei.li 5cc3e6c469 chore: update docs 2017-10-12 00:36:23 +08:00
LaySentandcinwell.li 3e94cb6d76 fix: scroll issue in IE (#275)
* fix scroll issue in IE

* add meta tag for IE browser
2017-10-11 11:33:59 -05:00
cinwell.liandGitHub 641e522779 Update deploy.md 2017-10-11 04:20:41 -05:00
Ho Chin Cheeandcinwell.li 026530de10 docs: Deployment guide for GitLab Pages (#274) 2017-10-10 20:59:00 -05:00
qingwei.li 1b74ef31a9 chore: add changelog 4.3.8 2017-10-07 10:08:28 +08:00
qingwei.li 25acd8ce77 [build] 4.3.8 2017-10-07 10:08:27 +08:00
qingwei.li 9b4e6669db fix(slugify): GitHub compatible heading links, fixed #272 2017-10-07 10:08:09 +08:00
22 changed files with 184 additions and 31 deletions
+50
View File
@@ -1,3 +1,53 @@
<a name="4.3.12"></a>
## [4.3.12](https://github.com/QingWei-Li/docsify/compare/v4.3.11...v4.3.12) (2017-10-15)
### Bug Fixes
* incorrect active link ([#281](https://github.com/QingWei-Li/docsify/issues/281)) ([a3ab379](https://github.com/QingWei-Li/docsify/commit/a3ab379))
<a name="4.3.11"></a>
## [4.3.11](https://github.com/QingWei-Li/docsify/compare/v4.3.10...v4.3.11) (2017-10-15)
### Bug Fixes
* broken links to same page heading, fix [#278](https://github.com/QingWei-Li/docsify/issues/278), fix [#279](https://github.com/QingWei-Li/docsify/issues/279) ([91d6337](https://github.com/QingWei-Li/docsify/commit/91d6337))
<a name="4.3.10"></a>
## [4.3.10](https://github.com/QingWei-Li/docsify/compare/v4.3.9...v4.3.10) (2017-10-12)
### Bug Fixes
* link render issue after page refreshing ([#276](https://github.com/QingWei-Li/docsify/issues/276)) ([abd885e](https://github.com/QingWei-Li/docsify/commit/abd885e))
<a name="4.3.9"></a>
## [4.3.9](https://github.com/QingWei-Li/docsify/compare/v4.3.8...v4.3.9) (2017-10-11)
### Bug Fixes
* scroll issue in IE ([#275](https://github.com/QingWei-Li/docsify/issues/275)) ([3e94cb6](https://github.com/QingWei-Li/docsify/commit/3e94cb6))
<a name="4.3.8"></a>
## [4.3.8](https://github.com/QingWei-Li/docsify/compare/v4.3.7...v4.3.8) (2017-10-07)
### Bug Fixes
* **slugify:** GitHub compatible heading links, fixed [#272](https://github.com/QingWei-Li/docsify/issues/272) ([9b4e666](https://github.com/QingWei-Li/docsify/commit/9b4e666))
<a name="4.3.7"></a>
## [4.3.7](https://github.com/QingWei-Li/docsify/compare/v4.3.6...v4.3.7) (2017-10-02)
+2
View File
@@ -45,6 +45,7 @@ Create an `index.html`.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta charset="UTF-8">
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify/lib/themes/vue.css">
</head>
@@ -81,6 +82,7 @@ These projects are using docsify to generate their sites. Pull requests welcome
| [Noty](http://ned.im/noty/) | A Dependency-free notification library |
| [xTeko](https://docs.xteko.com/) | Addins framework for Pin 3.0 |
| [vue2-datatable-component](https://github.com/OneWayTech/vue2-datatable) | The best Datatable for Vue.js 2.x which never sucks |
| [Solidarity](https://infinitered.github.io/solidarity/) | Environment enforcer for your projects across machines. |
## Similar projects
+1
View File
@@ -3,6 +3,7 @@
<head>
<meta charset="UTF-8">
<title>docsify</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<link rel="stylesheet" href="/themes/vue.css" title="vue">
<link rel="stylesheet" href="/themes/dark.css" title="dark" disabled>
+1 -1
View File
@@ -1,6 +1,6 @@
![logo](_media/icon.svg)
# docsify <small>4.3.7</small>
# docsify <small>4.3.12</small>
> A magical documentation site generator.
+24
View File
@@ -16,6 +16,30 @@ Es wird empfohlen, deine Dateien im `./docs` Unterordner im `master` branch dein
!> Du kannst die Dateien auch im Hauptverzeichnis speichern und dann `master branch` in den Einstellungen auswählen.
## GitLab Pages
If you are deploying your master branch, include `.gitlab-ci.yml` with the following script:
?> The `.public` workaround is so `cp` doesn't also copy `public/` to itself in an infinite loop.
``` YAML
pages:
stage: deploy
script:
- mkdir .public
- cp -r * .public
- mv .public public
artifacts:
paths:
- public
only:
- master
```
!> You can replace script with `- cp -r docs/. public`, if `./docs` is your Docsify subfolder.
## VPS
Verwende folgende nginx config.
+2 -1
View File
@@ -44,7 +44,8 @@ Wenn du `npm` nicht verwenden möchtest, oder Probleme bei der Installation des
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">dict.
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta charset="UTF-8">
<link rel="stylesheet" href="//unpkg.com/docsify/themes/vue.css">
</head>
<body>
+23 -1
View File
@@ -1,6 +1,6 @@
# Deploy
Similar to [GitBook](https://www.gitbook.com), you can deploy files to GitHub Pages or VPS.
Similar to [GitBook](https://www.gitbook.com), you can deploy files to GitHub Pages, GitLab Pages or VPS.
## GitHub Pages
@@ -16,6 +16,28 @@ It is recommended that you save your files to the `./docs` subfolder of the `mas
!> You can also save files in the root directory and select `master branch`.
## GitLab Pages
If you are deploying your master branch, include `.gitlab-ci.yml` with the following script:
?> The `.public` workaround is so `cp` doesn't also copy `public/` to itself in an infinite loop.
``` YAML
pages:
stage: deploy
script:
- mkdir .public
- cp -r * .public
- mv .public public
artifacts:
paths:
- public
only:
- master
```
!> You can replace script with `- cp -r docs/. public`, if `./docs` is your Docsify subfolder.
## VPS
Try following nginx config.
+1
View File
@@ -4,6 +4,7 @@
<meta charset="UTF-8">
<title>docsify</title>
<link rel="icon" href="_media/favicon.ico">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="keywords" content="doc,docs,documentation,gitbook,creator,generator,github,jekyll,github-pages">
<meta name="description" content="A magical documentation generator.">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
+1 -1
View File
@@ -1,6 +1,6 @@
# language highlight
**docsify** uses [Prism](https://github.com/PrismJS/prism) to highlight code blocks in your pages. By default it only supports CSS, JavaScipt and HTML. You can make **Prism** load additional languages:
**docsify** uses [Prism](https://github.com/PrismJS/prism) to highlight code blocks in your pages. By default it only supports CSS, JavaScript and HTML. You can make **Prism** load additional languages:
```html
<script src="//unpkg.com/docsify/lib/docsify.min.js"></script>
+1
View File
@@ -44,6 +44,7 @@ If you don't like `npm` or have trouble installing the tool, you can manually cr
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta charset="UTF-8">
<link rel="stylesheet" href="//unpkg.com/docsify/themes/vue.css">
</head>
+24
View File
@@ -15,6 +15,30 @@ GitHub Pages 支持从三个地方读取文件
!> 可以将文档放在根目录下,然后选择 **master 分支** 作为文档目录。
## GitLab Pages
If you are deploying your master branch, include `.gitlab-ci.yml` with the following script:
?> The `.public` workaround is so `cp` doesn't also copy `public/` to itself in an infinite loop.
``` YAML
pages:
stage: deploy
script:
- mkdir .public
- cp -r * .public
- mv .public public
artifacts:
paths:
- public
only:
- master
```
!> You can replace script with `- cp -r docs/. public`, if `./docs` is your Docsify subfolder.
## VPS
和部署所有静态网站一样,只需将服务器的访问根目录设定为 `index.html` 文件。
+1
View File
@@ -44,6 +44,7 @@ docsify serve docs
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta charset="UTF-8">
<link rel="stylesheet" href="//unpkg.com/docsify/themes/vue.css">
</head>
+25 -11
View File
@@ -2694,13 +2694,16 @@ function genTree (toc, maxLevel) {
var cache$1 = {};
var re = /[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g;
function lower (string) {
return string.toLowerCase()
}
function slugify (str) {
if (typeof str !== 'string') { return '' }
str = /^[\w\s]+$/g.test(str) ? str.toLowerCase() : str;
var slug = str
.trim()
.replace(/[A-Z]+/g, lower)
.replace(/<[^>\d]+>/g, '')
.replace(re, '')
.replace(/\s/g, '-')
@@ -3167,8 +3170,8 @@ function scrollTo (el) {
if (scroller) { scroller.stop(); }
enableScrollEvent = false;
scroller = new Tweezer({
start: window.scrollY,
end: el.getBoundingClientRect().top + window.scrollY,
start: window.pageYOffset,
end: el.getBoundingClientRect().top + window.pageYOffset,
duration: 500
})
.on('tick', function (v) { return window.scrollTo(0, v); })
@@ -3223,6 +3226,10 @@ function highlight () {
}
}
function getNavKey (path, id) {
return (path + "?id=" + id)
}
function scrollActiveSidebar (router) {
var cover = find('.cover.show');
coverHeight = cover ? cover.offsetHeight : 0;
@@ -3237,7 +3244,10 @@ function scrollActiveSidebar (router) {
var href = a.getAttribute('href');
if (href !== '/') {
href = router.parse(href).query.id;
var ref = router.parse(href);
var id = ref.query.id;
var path = ref.path;
if (id) { href = getNavKey(path, id); }
}
if (href) { nav[decodeURIComponent(href)] = li; }
@@ -3255,13 +3265,13 @@ function scrollActiveSidebar (router) {
});
}
function scrollIntoView (id) {
function scrollIntoView (path, id) {
if (!id) { return }
var section = find('#' + id);
section && scrollTo(section);
var li = nav[id];
var li = nav[getNavKey(path, id)];
var sidebar = getNode('.sidebar');
var active = find(sidebar, 'li.active');
active && active.classList.remove('active');
@@ -3615,7 +3625,7 @@ var HashHistory = (function (History$$1) {
var query = '';
var hashIndex = path.indexOf('#');
if (hashIndex) {
if (hashIndex >= 0) {
path = path.slice(hashIndex + 1);
}
@@ -3640,7 +3650,11 @@ var HashHistory = (function (History$$1) {
path = route.path + stringifyQuery(route.query);
path = path.replace(/\.md(\?)|\.md$/, '$1');
if (local) { path = currentRoute + path; }
if (local) {
var idIndex = currentRoute.indexOf('?');
path =
(idIndex > 0 ? currentRoute.substr(0, idIndex) : currentRoute) + path;
}
return cleanPath('#/' + path)
};
@@ -3775,7 +3789,7 @@ function initRouter (vm) {
function eventMixin (proto) {
proto.$resetEvents = function () {
scrollIntoView(this.route.query.id);
scrollIntoView(this.route.path, this.route.query.id);
getAndActive(this.router, 'nav');
};
}
@@ -3976,7 +3990,7 @@ initGlobalAPI();
/**
* Version
*/
Docsify.version = '4.3.7';
Docsify.version = '4.3.12';
/**
* Run Docsify
+2 -2
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "docsify",
"version": "4.3.7",
"version": "4.3.12",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "docsify",
"version": "4.3.7",
"version": "4.3.12",
"description": "A magical documentation generator.",
"author": {
"name": "qingwei-li",
+1 -1
View File
@@ -37,5 +37,5 @@
"integrity": "sha1-6DWIAbhrg7F1YNTjw4LXrvIQCUQ="
}
},
"version": "4.3.7"
"version": "4.3.12"
}
@@ -1,6 +1,6 @@
{
"name": "docsify-server-renderer",
"version": "4.3.7",
"version": "4.3.12",
"description": "docsify server renderer",
"author": {
"name": "qingwei-li",
+1 -1
View File
@@ -5,7 +5,7 @@ import { scrollIntoView } from './scroll'
export function eventMixin (proto) {
proto.$resetEvents = function () {
scrollIntoView(this.route.query.id)
scrollIntoView(this.route.path, this.route.query.id)
sidebar.getAndActive(this.router, 'nav')
}
}
+10 -5
View File
@@ -12,8 +12,8 @@ function scrollTo (el) {
if (scroller) scroller.stop()
enableScrollEvent = false
scroller = new Tweezer({
start: window.scrollY,
end: el.getBoundingClientRect().top + window.scrollY,
start: window.pageYOffset,
end: el.getBoundingClientRect().top + window.pageYOffset,
duration: 500
})
.on('tick', v => window.scrollTo(0, v))
@@ -68,6 +68,10 @@ function highlight () {
}
}
function getNavKey (path, id) {
return `${path}?id=${id}`
}
export function scrollActiveSidebar (router) {
const cover = dom.find('.cover.show')
coverHeight = cover ? cover.offsetHeight : 0
@@ -82,7 +86,8 @@ export function scrollActiveSidebar (router) {
let href = a.getAttribute('href')
if (href !== '/') {
href = router.parse(href).query.id
const { query: { id }, path } = router.parse(href)
if (id) href = getNavKey(path, id)
}
if (href) nav[decodeURIComponent(href)] = li
@@ -100,13 +105,13 @@ export function scrollActiveSidebar (router) {
})
}
export function scrollIntoView (id) {
export function scrollIntoView (path, id) {
if (!id) return
const section = dom.find('#' + id)
section && scrollTo(section)
const li = nav[id]
const li = nav[getNavKey(path, id)]
const sidebar = dom.getNode('.sidebar')
const active = dom.find(sidebar, 'li.active')
active && active.classList.remove('active')
+5 -2
View File
@@ -1,13 +1,16 @@
let cache = {}
const re = /[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,.\/:;<=>?@\[\]^`{|}~]/g
function lower (string) {
return string.toLowerCase()
}
export function slugify (str) {
if (typeof str !== 'string') return ''
str = /^[\w\s]+$/g.test(str) ? str.toLowerCase() : str
let slug = str
.trim()
.replace(/[A-Z]+/g, lower)
.replace(/<[^>\d]+>/g, '')
.replace(re, '')
.replace(/\s/g, '-')
+6 -2
View File
@@ -55,7 +55,7 @@ export class HashHistory extends History {
let query = ''
const hashIndex = path.indexOf('#')
if (hashIndex) {
if (hashIndex >= 0) {
path = path.slice(hashIndex + 1)
}
@@ -80,7 +80,11 @@ export class HashHistory extends History {
path = route.path + stringifyQuery(route.query)
path = path.replace(/\.md(\?)|\.md$/, '$1')
if (local) path = currentRoute + path
if (local) {
const idIndex = currentRoute.indexOf('?')
path =
(idIndex > 0 ? currentRoute.substr(0, idIndex) : currentRoute) + path
}
return cleanPath('#/' + path)
}