やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

Python3.6.1のvenvにpygmentsをインストールする

MarkdownGitHub方言GFMを使えるようにする。

前回まで

  1. GitHub Flavored Markdown(GFM) をローカルで書いて閲覧したい
  2. PythonでMarkdownからHTMLを生成するためのパッケージ仮想環境を用意する
  3. Python3.6.1のvenvにMarkdownパッケージをインストールする
  4. Python3.6.1のvenvにpy-gfmをインストールする

pygmentsインストー

インストールしたい仮想環境を有効化する

以前作ったshスクリプトで仮想環境を有効化する。

source venv_markdown.sh
(markdown) {UserName}@{MachineName} /{カレントディレクトリパス} $

先頭に(markdown)と表示されていれば仮想環境が有効化されている。

確認

念のためPythonのバージョンも確認する。

$ pyenv version
3.6.1
$ python -V
Python 3.6.1
$ pip -V
pip 9.0.1 ...  (python 3.6)

pip

pip install pygments
$ pip install pygments
Collecting pygments
  Using cached Pygments-2.2.0-py2.py3-none-any.whl
Installing collected packages: pygments
Successfully installed pygments-2.2.0

Markdown + py-gfm + pygments

import markdown
html = markdown.markdown(GetMarkdownText(), extensions=['gfm']);

しかしCSSがないためハイライトされない。

CSS

CSSを作る

どうやらpygmentsにはデフォルトCSSがあるらしい。以下のコマンドで生成できる。

pygmentize -S default -f html -a .highlight > default.css

これでdefault.cssが生成される。

HTMLに参照設定を追加する

<link rel="stylesheet" href="default.css">

生成されたHTMLの先頭行に上記を挿入する。

ブラウザ閲覧

シンタックス・ハイライトされた!

f:id:ytyaru:20170527111004p:plain

他のCSS

GitHub

マウスオーバーしてもURLリンクマークが出ないなど完全一致には遠そう。

GitHub ユーザスタイルシート

関係ないが、GitHubサイトを黒にするCSSを見つけた。

所感

コード部分だけでなく文書全体のいい感じなCSSはないか。GitHubのReadMe風など。