DjangoハイライトMarkdownコード
概要
markdownを使ってドキュメントを書いてから手が離せないが、コードがハイライトされているのが残念だ.コードブロックをきれいにしてもコードに合うようになります.Djangoがmarkdownのコードをハイライトするのは確かに簡単で、以下の3つのステップしか必要ありません(もちろんDjangoのmarkup appを先にインストールすることを前提としていますが、使用方法は
Pygementsコードスタイルのダウンロード
まずPygementsの公式サイトでスタイルを表示し、demoページでスタイルを選択し、ソースコードを表示し、
あるいは、面倒だと思ったら
しかし、どれをダウンロードしても、小さな修正をしなければなりません.demoページから取り外したコードについて、中の.syntaxを.codehilite.githubからダウンロードしたスタイルについて、中の.highlightを.codehiliteでいいです.
コードスタイルHTMLの導入
これは簡単です.テンプレートにcssを導入するコードを追加すればいいです.
レンダーコードブロック
ここでは2つの使い方について説明します.コードで をレンダリングするテンプレートで をレンダリングする
まとめ
pygementsはコードカテゴリを自動的に認識し、不安ならコードブロックの前に
参考資料:
[1]Django+Markdown+Pygments実装コードハイライト
[2]django簡易ブログ開発5 markdownサポート、コードハイライト、gravatarアバターサービス
markdownを使ってドキュメントを書いてから手が離せないが、コードがハイライトされているのが残念だ.コードブロックをきれいにしてもコードに合うようになります.Djangoがmarkdownのコードをハイライトするのは確かに簡単で、以下の3つのステップしか必要ありません(もちろんDjangoのmarkup appを先にインストールすることを前提としていますが、使用方法は
https://docs.djangoproject.com/en/1.4/ref/contrib/markup/
を参照してください).本稿ではまず,Django+Markdown+Pygments実装コードハイライトとdjango簡易ブログ開発5 markdownサポート,コードハイライト,gravatarアバターサービスの2つの記事を参考に,2つの記事のシナリオをまとめた.Pygementsコードスタイルのダウンロード
まずPygementsの公式サイトでスタイルを表示し、demoページでスタイルを選択し、ソースコードを表示し、
/media/pygments_style.css
のコードをコピーしてcssファイルに保存すればいいです.あるいは、面倒だと思ったら
https://github.com/icco/pygments-css
に直接cssをダウンロードすることもできます.しかし、どれをダウンロードしても、小さな修正をしなければなりません.demoページから取り外したコードについて、中の.syntaxを.codehilite.githubからダウンロードしたスタイルについて、中の.highlightを.codehiliteでいいです.
コードスタイルHTMLの導入
これは簡単です.テンプレートにcssを導入するコードを追加すればいいです.
:::Html
<link rel="stylesheet" type="text/css" href="{{URL for your Code Style CSS}}">
レンダーコードブロック
ここでは2つの使い方について説明します.
:::Python
import markdown
md = markdown.Markdown(extensions=['codehilite'])
:::Django
{% load markup %}
{{ post.body|markdown:'codehilite'}}
まとめ
pygementsはコードカテゴリを自動的に認識し、不安ならコードブロックの前に
:::{Language}
を加えて言語を指定すればよい.参考資料:
[1]Django+Markdown+Pygments実装コードハイライト
[2]django簡易ブログ開発5 markdownサポート、コードハイライト、gravatarアバターサービス