1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Re:VIEWのコードハイライト改訂案

Last updated at Posted at 2015-02-02

もっとコードハイライトしたい。

現状

config.ymlにて、

pygments: true

と書けば、HTML・EPUBのみPygmentsを使ったコードハイライトが行われる。Pygments本体(Python)に加えてPygments gem(RubyGems)のインストールが必要。
LaTeXは未対応(以前試してみたらうまく動かなかった)。

なお、コード内にインライン記法が来た場合は残念なことになるのに注意。(とはいえこれは制限事項にしてしまってもいいかも)

やりたいこと

  • LaTeXでlistingsが使えるようにしたい
  • LaTeXでPygmentsも使えるようにしたい(けど設定が大変そう? ちゃんと動くかどうかは不明)
  • HTMLでもrouge gemくらいは使いたい https://github.com/jneen/rouge
    • rougeはPygments互換だけどHTMLのみでLaTeXは対応してないらしい…
  • その他HTML/EPUBだと他のhighlightingライブラリを使いたいという話はありそうなので対応できれば対応したい
    • JS使うやつとかはどこまで便利なんだろう…
      • KindleだとJS系は全部駄目そう

実現方法

  • config.ymlにhighlight:属性を持たせて、どれを使うかを指定できるようにするのはどうか
  • ビルダごとに設定する必要があるので、階層化が必要なのでは?
highlight:
  html:
    pygments:
      style: bw   ## or `style: default` or nothing
  latex:
    listings

別の案:

highlight:
  html:
    engine: pygments
    style: bw   ## or `style: default` or nothing
  latex:
    engine: listings

すでにあるpygments属性は互換性のため残しておいて、highlight:属性の値がない場合に{highlight: {html: pygments}} と同様の意味を持つように解釈すれば良さそう

1
1
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?