Django のサイトを運用していると、コンテンツの更新にマークダウンっぽい記法を使いたいとお思うこと
がよくあります。とくに、このサイトのようにブログっぽいものがメインになっている場合は尚更です。
これまでは管理画面のテキストエリアに HTML タグを入力していましたが、それもちょっと面倒なので
カスタムフィルタを使って、少しずつですがマークダウンっぽい記法を実装していきました。
まだまだ完全版ではありませんが、ぼくが最もよく使うバッククォートだけ対応してみました。
こんな感じ でバッククォートで囲った部分に独自のスタイルが当たるようになっています。
・ バッククォートで囲まれた部分を span タグに置換する
# replace "`" to "<span>" tag
def replace_backquote_to_span(value):
is_existing_multi = False
regex = r'(?P<prefix>.*)`(?P<mask>.*)`(?P<suffix>.*)'
mask = re.search(regex, value)
prefix = ''
text = ''
while (mask and re.search(regex, mask.group('prefix'))):
is_existing_multi = True
text = mask.group('suffix') + text
text = '<span class="mesh">' + mask.group('mask') + '</span>' + text
mask = re.search(regex, mask.group('prefix'))
if not re.search(regex, mask.group('prefix')):
text = mask.group('suffix') + text
text = '<span class="mesh">' + mask.group('mask') + '</span>' + text
if mask and not is_existing_multi:
prefix = mask.group('prefix')
text = '<span class="mesh">' + mask.group('mask') + '</span>'
text += mask.group('suffix')
elif not mask:
text = value
return prefix + text
新しい記事へ
今月やりたいことリスト(2017年11月)
mac に pip をインストールする
mac は標準で python が入っていますが、パッケージ管理の pip がインストールされていないので入れてみました。
2017/05/26 09:00
[GAS] Google Drive の特定フォルダ配下のフォルダ・ファイルの権限を一括で移譲する
Google Drive の特定フォルダ配下のファイル・フォルダの権限を一括で移譲するツールを Google Apps Script で作りました。
2018/11/10 15:54
[Windows] Ophcrack を使ってユーザーパスワードを解析する方法
家族で使っていた Windows7 のログインパスワードを忘れたため、Ophcrack を使って解析したときの記録です。
2017/09/30 21:00
[shell] フォルダ内にある大量の ZIP ファイルをまとめて解凍する
とある ZIP を解凍すると中に大量の ZIP が居たときに幸せになれるコマンドを紹介します
2018/06/19 23:45
[MySQL] データファイルから DB を復元する
先日 MySQL が再起動できなくなる問題が発生し、急遽データファイル(.frm, .ibd)から復元しました
2018/11/25 12:44