WordPressに記事を書く時、タグを書くのは面倒ですね。自分も面倒で、ついついタグを使わずに済ませてしまうこともよくあります。で、そんな面倒なHTMLタグを簡単に記述できるMarkdownという記法があります。
Markdown – Wikipedia.
でも標準化団体があるわけでもないので、実装する人によって揺らぎがあったりします。こっちの方が例は多いな。
文章作成やメモ書きにも便利、Markdown記法|Web Design KOJIKA17.
色々あって自分でWordPressプラグインを作ってみたので公開しておきます。
[tezuuuuuka/my-markdown](https://github.com/tezuuuuuka/my-markdown “my-markdown”)
でも、まだまだ未完成なので使用する場合は注意。
で、WordPressでは既にMarkdownを実装したプラグインは色々あって、Jetpackというプラグインが有名だと思います。
WordPress › Jetpack by WordPress.com « WordPress Plugins.
でもJetpackは詰め合わせプラグインなので、Markdownだけ欲しい人にはオーバースペックなんですよね。Markdownだけ取り出したJP Markdownというプラグインもあるけれど、これは今年の6月でサポート終了らしいです。
WordPress › JP Markdown « WordPress Plugins.
で、他のプラグインも色々考えたけど、結局、作った方が早いしメンテナンスも楽な気がして作ってみました。
Markdownについて統一された仕様はないので、とりあえずJetpackの仕様を確認。
Markdown quick reference — Support — WordPress.com.
けっこうあるね。とりあえず、全て正規表現で解決してみました。別途定義されてる系は一筋縄ではいかなかったな。仕方がないから`preg_match_all()`して、それぞれ`preg_replace()`に渡しました。
出来栄えはこんな感じ。仕様を確認したページの変換前のコードを頂きました。画像、勝手に使っていいのかな。ダメだったらごめんなさい。
*Emphasize* _emphasize_
**Strong** __Strong__
A [link](http://example.com “Title”).
Some text with [a link][1] and
another [link][2].
[1]: http://example.com/ “Title”
[2]: http://example.org/ “Title”
Logo: ![Alt](https://i2.wp.com/s.wordpress.org/about/images/logos/wordpress-logo-32.png “Title”)
Smaller logo: ![Alt][3]
[3]: https://i2.wp.com/s.wordpress.org/about/images/wpmini-grey.png “Title”
Linked logo: [![alt text](https://i2.wp.com/s.wordpress.org/about/images/wpmini-grey.png)](http://wordpress.com/ “Title”)
I have more [^1] to say up here.
[^1]: To say down here.
* Item
* Item
– Item
– Item
1. Item
2. Item
1. Item
2. Item
* Mixed
* Mixed
3. Item
> Quoted text.
> > Quoted quote.
> * Quoted
> * List
Begin each line with
two spaces or more to
make text look
e x a c t l y
like you type i
t.
`This is code`
~~~~
This is a
piece of code
in a block
~~~~
“`
This too
“`
“`css
#button {
border: none;
}
“`
# Header 1
## Header 2
### Header 3
#### Header 4 ####
##### Header 5 #####
###### Header 6 ######
WordPress
: A semantic personal publishing platform
Markdown
: Text-to-HTML conversion tool
Markdown converts text to HTML.
*[HTML]: HyperText Markup Language
以上。
ちなみにソースのハイライトはSyntaxHighlighter Evolvedを使っています。変換もそれを使う前提になっています。
WordPress › SyntaxHighlighter Evolved « WordPress Plugins.
という感じだけど、過去の記事が崩れちゃったものもあるかも。せめて pre タグ内は変換しない、みたいな処理を入れた方がいいかな。んー、また今度。
そういえば本当はテーブルを楽に書けるようにしたいんだった。そんなプラグインも色々あるっぽい。けど、また自分で作ろうかな。table タグ内だけを変換対象にしたい。