このCMSの処理は原稿はmarkdownで、それをpython-markdownでhtml化するというのが 第一段階だが、ご存知の通りmarkdownにはいろいろ拡張があって、 その中にはこれは当り前に使うよねというのもいくつかある。
python-markdownそのままだとその辺が足りない。 python-markdownに予め用意されてる拡張があるので使わない手はない。
markdownを実行するpython scriptを、
exts = [ 'tables', 'def_list', 'md_in_html' ]
markdown.markdown(md, extensions=exts)
とかする。
以下導入した拡張お試し。
1. table
| extension | 機能 |
|:---------:|:-----|
| tables | テーブル |
| def_list | 定義リスト <code>dl,dt,dd</code> |
| md_in_html | html記述の中でmarkdownを使う|
とすると、
extension | 機能 |
---|---|
tables | テーブル |
def_list |
定義リスト
dl,dt,dd
|
md_in_html | html記述の中でmarkdownを使う |
となる。 導入したextensions一覧。
2. def_list
CowGirl
: Lie on your back.
Allow your partner to mount you, straddle your hips,
and insert your penis from an upright position.
Spooning
: Both partners lie on their sides, your front pressing against her back
like the spooning cuddle position.
とすると、
- CowGirl
- Lie on your back. Allow your partner to mount you, straddle your hips, and insert your penis from an upright position.
- Spooning
- Both partners lie on their sides, your front pressing against her back like the spooning cuddle position.
となる。騎乗位と側臥位だね。
実際やってみると各リストの間に改行入れないとうまくいかないケースもあるみたい。
3. md_in_html
何ができて何ができないのかよくわからんが、以下を見つつ。
たとえば、
<div markdown="1">
This is a *Markdown* Paragraph.
</div>
とすると、
This is a Markdown Paragraph.
となる。
<section markdown="block">
# A header.
A *Markdown* paragraph.
* A list item.
* A second list item.
</section>
とすると、
A header.
A Markdown paragraph.
- A list item.
- A second list item.
となる。
tableで
colspan
や
rowspan
が使えるextensionないかな〜。
2023-12-29T15:59:00+09:00
Fenced Code Blocksの拡張が入っていなかったのを放置してたので入れるようにした。 ついでにcodehiliteも入れてみよう。