63
53

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Markdown 界の新星、Markdown for SSW とは

Last updated at Posted at 2020-02-03

週末に Markdown の記事を書いた流れなのか、普段まったく見向きもしない IANA の Markdown variants リストをふと開いてみました。記憶では最後にこのページにやってきたのは RFC が採用された頃ですから、4年ぶりの再訪です。
すると、なんということでしょう。つい半月ほど前の1月13日に、あたらしい variants として Markdown for SSW がリストに追加されていたのです。

Markdown variants とは

3年前に Markdown in 2016 という記事で紹介したものを引用します。

以前から Markdown を RFC に登録しようという動きはあったのですが、ついにそれが実を結びました。
RFC7763 The text/markdown Media TypeRFC7764 Guidance on Markdown: Design Philosophies, Stability Strategies, and Select Registrations がそれです。

これまで説明してきたとおり、処理系によって解釈がまちまちだったり、さまざまな方言が存在する状況で、Markdown はどのように標準化されたのでしょうか?

ふたつの RFC では、Markdown に関するパラメータが次のように定義されました。

  • IANA で markdown の方言を Markdown variants として登録管理することになった
  • media type には text/markdown を使うことになった
  • このふたつを組み合わせて Content-Type ヘッダで text/markdown; variant=Original と指定できる

つまり、RFC は Markdown の “文法” を標準化したのではなく、

  1. Markdown の文法が分断されていることを追認した上で、
  2. どの文法を使っているのか(使うのか)を variant として media type で示すことができる

という標準化だったのです。

Markdown の種類を media type 上で表現するためのラベルということですね。
ここまで読んだ皆さんは Content-type: text/markdown; variant=SSW というヘッダで Markdown for SSW をレスポンスできるようになったわけです。

Markdown for SSW ってなんなの?

Mandragorat Wandystanu というポーランドの Wiki サイトで利用されている Markdown の一種のようです。SSW というキーワードについては一切説明を見つけられなかったので、何を示しているのがわかりませんでした 1

文法に関しては Pomoc (ヘルプページ)に解説があります。ポーランド語は読めないので Google 翻訳経由で読んでみました。
特徴としては以下のものが挙げられます。

  • 打ち消し線文法がある ~~jakiś tekst~~
  • ページ参照文法がある [[SAL::Strona główna]]
    • パイプ(|)を使ってリンクタイトルを指定できる [[SAL::Strona główna|Sarmacką Armię Ludową]]
    • 同じスペースのページを参照する場合はスペース名を省略して [[::Strona główna]] と書いても良い模様
      • Wiki システムにスペースという概念があるようで、:: の前にはスペース名、後ろにはページ名を指定できる
  • ヘッダーレベル3 が最高という記述がある
    • レベル4以降はサブディビジョン(?)として扱われるように読めるが、意味はわかりませんでした

また、IANA に登録されている定義では以下のような特徴も挙げられています。

  • Markdown Extra 派生である
  • MediaWiki 風のテンプレート文法がある {{template}}
    • おそらくこの機能を指しているものと思われる
    • 指定したページのコンテンツを(書き換えながら)取り込む、include 的な機能
  • 各要素に ID や CSS クラスを適用するための属性ブロック文法がある {#<id> .class ...}
    • 属性ブロック文法は ヘッダー、fenced code blocks、リンク、画像に適用可能

どうやら Markdown Extra に MediaWiki 風のページ参照、テンプレート記法を足したというもののようですね。
そっと追加されている打ち消し文法も味わい深いです。

まとめ

  • IANA に Markdown for SSW という variant が追加された
  • Markdown Extra に Wiki サイトに適合するために MediaWiki 風の文法が追加されたもの
  • 処理系は見当たらないので、今のところMandragorat Wandystanu に登録しないと使えないように見える

特定のサイトでだけ使われている、マイナーなマークダウン亜種であっても IANA に登録できるものだという学びがありました。みなさんも自分の拡張マークダウン文法を IANA に登録していきましょう!

  1. サイト内で見つけた "System Słupów Propagandy" (プロパガンダコラムシステム) というキーワードから、 "System Słupów for Wandystanu" (Wandystanu コラムシステム)の略ではないかと推測しています (Wandystanu はサイト名の一部)

63
53
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
63
53

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?