[关闭]
@juecan 2017-08-08T12:28:37.000000Z 字数 4200 阅读 959

【应用软件】Jekyll 配置

应用软件


可访问我的博客码云Pages查看效果

实现功能

Ubuntu 下安装

  1. sudo apt-get install jekyll

Markdown 文章

存放在 _post 目录下,可分子目录存放

以下内容均以 kramdown 实现

TOC

Table of Contect

kramdown 默认支持 TOC 功能

在需要插入目录的地方加入如下内容

  1. * toc
  2. {:toc}

时间

文章日期需增加时区,否则可能导致无法显示

  1. date: 2017-08-07 13:26:51 UTC+8

语法高亮

配置 _config.yml

  1. highlighter: rouge
  2. markdown: kramdown
  3. kramdown:
  4. input: GFM

下载 pygments,附下载地址

HTML head 中添加

  1. <!-- 语法高亮 -->
  2. <link rel="stylesheet" href="{{ "/static/pygments/native.css" | prepend: site.baseurl }}">
  3. <link rel="stylesheet" href="{{ "/static/custom/article_content.css" | prepend: site.baseurl }}">

article_content.css 中覆盖了部分样式

  1. body {
  2. font-size:2rem;
  3. }
  4. /* 代码块 */
  5. .highlight {
  6. padding:1rem 2rem 1rem 2rem;
  7. border:2rem solid transparent;
  8. border-radius:.8rem .8rem .8rem .8rem;
  9. box-shadow:0 0 15px rgba(0,0,0,.3);
  10. font-size:1.8rem;
  11. line-height:2.1rem;
  12. background:#272822;
  13. color:#f8f8f2;
  14. }
  15. /* 字符串背景色与代码块背景色一致 */
  16. .highlight .s {
  17. background-color: #272822
  18. }

LaTeX 支持

支持 LaTeX 数学公式显示,以 KaTex 方式为例,公式均以 $$ 括起来

  1. 公式放在段落内或紧挨着段落,则为行内公式
  2. 公式前后有空行,则为整行公式
  1. 行内公式 $$ E=mc^2 $$
  2. 行内公式
  3. $$ \sum_{i=1}^n a_i=0 $$
  4. 整行公式
  5. $$ f(x_1,x_x,\ldots,x_n) = x_1^2 + x_2^2 + \cdots + x_n^2 $$

行内公式

行内公式

整行公式

也可将 $$ 单独放在一行

  1. $$
  2. f(x) = \int_{-\infty}^\infty
  3. \hat f(\xi)\,e^{2 \pi i \xi x}
  4. \,d\xi
  5. $$

MathJax

在线方式

  1. <script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>

本地方式

  1. 下载 MathJax.js
  2. HTML head 中添加如下内容
  1. <script src="{{ "/static/mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML" | prepend: site.baseurl }}"></script>

KaTeX

在线方式

  1. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/katex.min.css" integrity="sha384-wITovz90syo1dJWVh32uuETPVEtGigN07tkttEqPv+uR2SE/mbQcG7ATL28aI9H0" crossorigin="anonymous">
  2. <script src="https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.7.1/katex.min.js" integrity="sha384-/y1Nn9+QQAipbNQWU65krzJralCnuOasHncUFXGkdwntGeSvQicrYkiUBwsgUqc1" crossorigin="anonymous"></script>

本地方式

  1. 下载 KaTeX
  2. HTML head 中添加如下内容
  1. <link rel="stylesheet" href="{{ "/static/katex/katex.min.css" | prepend: site.baseurl }}">
  2. <script src="{{ "/static/katex/katex.min.js" | prepend: site.baseurl }}"></script>

KaTeX 方式均需要在 </body> 前增加如下内容

  1. <script>
  2. $("script[type='math/tex']").replaceWith(function() {
  3. var tex = $(this).text();
  4. return katex.renderToString(tex, {displayMode: false});
  5. });
  6. $("script[type='math/tex; mode=display']").replaceWith(function() {
  7. var tex = $(this).html();
  8. return katex.renderToString(tex.replace(/%.*/g, ''), {displayMode: true});
  9. });
  10. </script>

序列图

js-sequence-diagrams

  1. 下载依赖:webfont.jssnap.svg-min.jsunderscore-min.js
  2. 下载 js-sequence-diagrams
  3. HTML head 中添加如下内容
  1. <script src="{{ "/static/js-sequence-diagrams-deps/webfont.js" | prepend: site.baseurl }}"></script>
  2. <script src="{{ "/static/js-sequence-diagrams-deps/snap.svg-min.js" | prepend: site.baseurl }}"></script>
  3. <script src="{{ "/static/js-sequence-diagrams-deps/underscore-min.js" | prepend: site.baseurl }}"></script>
  4. <link rel="stylesheet" href="{{ "/static/js-sequence-diagrams/dist/sequence-diagram-min.css" | prepend: site.baseurl }}">
  5. <script src="{{ "/static/js-sequence-diagrams/dist/sequence-diagram-min.js" | prepend: site.baseurl }}"></script>

</body> 前增加

  1. <script>
  2. $(".language-sequence").sequenceDiagram({theme: 'hand'});
  3. </script>

或者

  1. <script>
  2. var diagram = Diagram.parse("A->B: Message");
  3. diagram.drawSVG("language-sequence", {theme: 'hand'});
  4. </script>

theme: 'hand' 表示草绘效果
theme: 'simple' 为标准效果

markdown 文件中使用 sequence 替代 python/shell 之类的代码块,其语法可访问官网

```sequence
Andrew->China: Says Hello
Note right of China: China thinks\nabout it
China-->Andrew: How are you?
Andrew->>China: I am good thanks!
```
AndrewChinaSays HelloChinathinks about itHow are you?I am good thanks!AndrewChina
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注