Repository: incubator-weex Updated Branches: refs/heads/dev 230ddb729 -> b8d8dca89
+ [doc] add article anchor Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/b8d8dca8 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/b8d8dca8 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/b8d8dca8 Branch: refs/heads/dev Commit: b8d8dca89aa60c006dcc3144822c1b2331eea2d5 Parents: 230ddb7 Author: tancy <ron...@gmail.com> Authored: Thu May 18 15:35:10 2017 +0800 Committer: tancy <ron...@gmail.com> Committed: Thu May 18 15:35:10 2017 +0800 ---------------------------------------------------------------------- doc/package.json | 1 + doc/themes/weex/layout/_partial/article.ejs | 2 +- doc/themes/weex/scripts/helper.js | 18 ++++++++++++++++ doc/themes/weex/source/css/post.scss | 27 +++++++++++++++++++++++- 4 files changed, 46 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b8d8dca8/doc/package.json ---------------------------------------------------------------------- diff --git a/doc/package.json b/doc/package.json index 31dc325..3f0f3db 100644 --- a/doc/package.json +++ b/doc/package.json @@ -9,6 +9,7 @@ "server": "hexo server" }, "dependencies": { + "cheerio": "^0.20.0", "hexo": "^3.2.2", "hexo-autoprefixer": "^1.0.0", "hexo-deployer-git": "g...@github.com:Jinjiang/hexo-deployer-git.git", http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b8d8dca8/doc/themes/weex/layout/_partial/article.ejs ---------------------------------------------------------------------- diff --git a/doc/themes/weex/layout/_partial/article.ejs b/doc/themes/weex/layout/_partial/article.ejs index 09f2fb5..3ee5b2a 100644 --- a/doc/themes/weex/layout/_partial/article.ejs +++ b/doc/themes/weex/layout/_partial/article.ejs @@ -3,7 +3,7 @@ <article class="article article-type-<%= page_type %>"> <div class="article-entry" itemprop="articleBody"> <%- partial('post/title', {post: post}) %> - <%- post.content %> + <%- page_anchor(post.content) %> </div> <% if (page_type === 'article') { %> <%- partial('_partial/post/nav') %> http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b8d8dca8/doc/themes/weex/scripts/helper.js ---------------------------------------------------------------------- diff --git a/doc/themes/weex/scripts/helper.js b/doc/themes/weex/scripts/helper.js index 08c0e66..7efab2a 100644 --- a/doc/themes/weex/scripts/helper.js +++ b/doc/themes/weex/scripts/helper.js @@ -1,4 +1,5 @@ 'use strict' +var cheerio = require('cheerio'); hexo.extend.helper.register('url_for_lang', function(path){ var root = this.config.root || '' @@ -13,6 +14,23 @@ hexo.extend.helper.register('url_for_lang', function(path){ return url }) +hexo.extend.helper.register('page_anchor', function(str){ + var $ = cheerio.load(str, {decodeEntities: false}); + var headings = $('h1, h2, h3, h4, h5, h6'); + + if (!headings.length) return str; + + headings.each(function(){ + var id = $(this).attr('id'); + + $(this) + .addClass('article-heading') + .append('<a class="article-anchor" href="#' + id + '" aria-hidden="true"></a>'); + }); + + return $.html(); +}); + hexo.extend.helper.register('pick_lang', function(lang){ var root = this.config.root || '' var langsArr = this.config.language http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b8d8dca8/doc/themes/weex/source/css/post.scss ---------------------------------------------------------------------- diff --git a/doc/themes/weex/source/css/post.scss b/doc/themes/weex/source/css/post.scss index 0e16e19..f3a6544 100644 --- a/doc/themes/weex/source/css/post.scss +++ b/doc/themes/weex/source/css/post.scss @@ -23,6 +23,31 @@ display: none; } } + .article-heading{ + margin-top: -85px; + border-top: 85px solid transparent + + } + .article-anchor { + margin-left: 10px; + display: none + } + + .article-anchor:before { + content: "#"; + color:#00BDFF + } + + @media print { + .article-anchor { + display: none!important + } + } + + .article-heading:hover .article-anchor { + display: inline-block; + color:#00BDFF + } .doc-nav { position: absolute; @@ -32,7 +57,7 @@ background: $bg-gray; width: 300px; z-index: 999; - padding: 63px 15px 15px; + padding: 43px 15px 15px; overflow-x: hidden; overflow-y: auto; }