2022-04-29 22:41:00+09:00

python-markdownのextensions

自家製CMSで導入したpython-markdownのextensionsは…

この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.


となる。

tableで colspan rowspan が使えるextensionないかな〜。

2023-12-29T15:59:00+09:00

Fenced Code Blocksの拡張が入っていなかったのを放置してたので入れるようにした。 ついでにcodehiliteも入れてみよう。