在hexo里配置remarkjs

remarkjs是一个比较流行的用md格式写slides的库 :https://github.com/gnab/remark

打算在hexo里增加对remark的支持。但是hexo会把所以的source目录下的md后缀的文件全部转换为html。
这样就很蛋疼了。

研究了下,发现hexo支持html, xml等在文件最前面加上layout: false就不会转换加上hexo模板的内容。

1
2
layout: false
--------

但是这个配置对于md后缀的文件不起效。

所以只能修改md后缀为其它后缀了。

  • 在source目录下创建一个slides的目录;
  • 新建test.html

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    layout: false
    --------
    <!DOCTYPE html>
    <html>
    <head>
    <title>Title</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <style type="text/css">
    @import url(http://fonts.googleapis.com/css?family=Yanone+Kaffeesatz);
    @import url(http://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic);
    @import url(http://fonts.googleapis.com/css?family=Ubuntu+Mono:400,700,400italic);

    body { font-family: 'Droid Serif'; }
    h1, h2, h3 {
    font-family: 'Yanone Kaffeesatz';
    font-weight: normal;
    }
    .remark-code, .remark-inline-code { font-family: 'Ubuntu Mono'; }
    </style>
    <script src="http://gnab.github.io/remark/downloads/remark-latest.min.js" type="text/javascript"></script>

    </head>


    <body>
    <script type="text/javascript">
    var slideshow = remark.create({
    sourceUrl: '/slides/test.mymd'
    })
    </script>
    </body>
    </html>
  • 新建test.mymd文件,里面是slide的内容:

    1
    2
    3
    4
    5
    6

    class: center, middle

    # Hello World

    ---
  • 重新deploy,hexo deploy

  • 在浏览器里访问,http://localhost:4000/slides/test.html
    本站的测试例子:http://hengyunabc.github.io/slides/test.html

hexo其实最好能提供一个exclude的配置,允许某些目录不处理。在github上提了一个issue:https://github.com/hexojs/hexo/issues/991

横云断岭/hengyunabc wechat
欢迎您扫一扫上面的微信公众号,订阅横云断岭的专栏