/rapunzel

A lightweight markup language for blogs, inspired by Scrapbox.

Primary LanguageNim

Rapunzel

Rapuzelは軽量マークアップ言語です。

  • Scrapbox記法
  • Markdown
  • Re:View

から影響を受けています。

  • 定数の定義とかタイトルの定義とかは文書とは分離したい、文書だけ書きたい
  • HTMLを解釈しない

という気持ちがあり、Nim Scriptで設定やユーザ定義変数/プロシージャを書いて呼び出して埋め込む感じにする予定です。

パラグラフとブロック

インライン命令とブロック命令という2つの命令がある

[cmd インライン]

{cmd ブロック}

これらは次のように展開される

<p><span class="rapunzel--cmd">インライン</span></p>

<div><span class="rapunzel--cmd">ブロック</span></div>

命令

[* ボールド]

{* 見出し1}

{** 見出し2}

{****** 見出し6}

インラインの見出しはない、逆にブロックのボールドはない

[~ 打ち消し]

[#red:darken-1 色] [#1f8e3c 色]

色名はマテリアルカラーパレットに準拠しており、具体的な名前はVuetify colorsを参照のこと

[^ インライン脚注]

未実装。ブロック脚注は実装しない

{> 引用}

未実装。インライン引用はない

[= 変数出力] 未実像。組み込み変数 or 設定ファイルで定義された変数 / 関数の埋め込み

[$ インラインTex]

{$ Tex}

未実装。適当にkatexとか呼ぶ予定

[/ イタリック]

{// コメント}

未実装

{list
  [- 要素1]
  [- 要素2]
}
{list
  [1. order]
  [1. order]
}

未実装

{table
  [- 見出し1][- 見出し2][- 見出し3]
  [- 要素1-1][- 要素1-2][- 要素1-3]
  [- 要素2-1][- 要素2-2],
  id = Table1,
  name = サンプルテーブル
}

足りない分は空要素が補充される 改行で判断

[& id]
参照(IDが指定されている場合のみ)

[リンク, url] [url, リンク] http://https://のどちらかで開始する方がurlとみなされる

[> ソースコード]

{>nim hello.nim, echo "Hello, Nimlang" }

この辺全部未実装