zoukankan      html  css  js  c++  java
  • Jekyll 使用 Rouge 主题

    今日发现我的 Github Pages 中的代码并没有高亮,看了一下代码发现,原来的没有设置 css 样式的原因,我使用的代码高亮器是 rouge

    highlighter: rouge
    

    Rouge 是一个纯 Ruby 编写的代码高亮器,可用于 60 多种语言的高亮,其源代码托管在 GitHub上,在其主页文档上了解到可以根据不同的样式生成 css 文件

    > rougify style (theme_name) > (css_file.css)
    

    其中:

    • (theme_name) 表示要使用的主题名称,详细的主题列表可以通过 rougify help style 获得
    • (css_file.css) 表示要导出的样式文件路径

    之后再在模板页面上引用导出的 css 文件即可

    <link rel="stylesheet" type="text/css" href="{{ site.url }}/stylesheets/(css_file.css)">
    

    为不同的博客配置不同的样式文件

    样式那么多,想要为不同的文章配置不同的样式肿么搞?
    首先将所有的样式文件导出,这里小生用了一个小小的 shell 脚本:

    for style in base16 base16.dark base16.monokai base16.monokai.light base16.solarized base16.solarized.dark colorful github gruvbox gruvbox.light molokai monokai monokai.sublime thankful_eyes
    do 
        rougify style $style > syntax.$style.css
    done
    

    然后,为每一个文章的头信息中添加一个 syntax 属性,
    用于表示应用于当前文章的样式

    syntax: colorful
    

    最后,在模板上添加上相应的链接,并提供一个默认的样式文件 syntax.css

    {% if page.syntax %}
        <link rel="stylesheet" type="text/css" href="{{ site.url }}/stylesheets/syntax/syntax.{{ page.syntax }}.css">
    {% else %}
        <link rel="stylesheet" type="text/css" href="{{ site.url }}/stylesheets/syntax.css">
    {% endif %}
    

    至此,便可以随意的使用 Rouge 的样式了~~~

    TIPs:

    小生在用 Markdown 写文章时,发现引用块 > 中并不能添加代码块,
    如果添加,就会将引用块截断... ...
    后来想到,引用快会被转换成 HTML 中的 blockquote 标签,
    所以小生就选择了最为笨拙的方法,
    硬编码进去 blockquote 标签不就阔以了,如下:

    
    <blockquote>
    this is test start
    {% highlight shell %}
    > this is code
    {% endhighlight %}
    this is test end
    </blockquote>
    
    
  • 相关阅读:
    websocketpp相关
    大地水准面、大地基准面
    ubuntu18.04 和 qt 5.13.1 安装
    高斯——克吕格投影反算
    高斯——克吕格投影正算
    缓和曲线10麦克康奈尔
    vsCode 需安装的扩展
    显示windows电脑上已连接过的wifi密码
    linux Java项目CPU内存占用高故障排查
    tcpdump常用参数说明及常见操作
  • 原文地址:https://www.cnblogs.com/baiyangcao/p/jekyll_rouge.html
Copyright © 2011-2022 走看看