mdmark

機能をオン・オフする

設定の features と文書の印で、機能のオン・オフを切り替える

機能の既定を設定で決めるとき、文書を書く人がその文書だけ機能を切り替えるときに実行する。

前提

手順

設定で既定を決める

features を書く

features:
  print: false

使う側のサーバーが mdmark.config.yaml を読んだオブジェクトを、mount の config に渡す(文書を描く)。 書かなかった機能は既定のままになる。 機能の名前と既定は 機能の既定。

記法の機能を切る

features:
  table: false
  callout: false

表と注意書きの機能をオフにする。 オフにした記法は、書いた Markdown を普通の Markdown として描く。 記法の機能の名前は 記法の機能。

用語と被参照の機能を切る

features:
  glossary: false
  backlinks: false

glossary は用語のツールチップ、backlinks は被参照の一覧と文書の別名の機能。 glossary をオフにすると、用語集の表は普通の表として描く。 backlinks をオフにすると、末尾の一覧を出さず、文書の別名にだけ一致する語に下線を付けず、ツールチップから「関連文書」の区分を外す。 書き方は 索引と用語集を書く、機能の名前は 用語の機能 と 被参照の機能。

埋め込んだ HTML とヒントの機能を切る

features:
  html: false
  hints: false

html は <!-- html --> の範囲の html のコードブロックを HTML として描く機能。 オフにすると、印を取り除き、コードブロックをコードのまま描く。 hints は data-hint・図の箱の hint と io・線の tip のツールチップの機能。 オフにすると、ツールチップの中身と印を出さない。線のラベルと箱の名前は出す。 書き方は コードブロックのHTMLを描く、機能の名前は 記法の機能。

ビューとコメントの機能を切り替える

features:
  views: false
  comments: true

views は <!-- view --> の範囲の表を、ボード表示と表形式を切り替えるビューにする機能。 オフにすると、印を取り除き、範囲の表を普通の表として描く(書き方の警告も出さない)。 comments は、読む人が本文の選んだ箇所にコメントを付けられる機能で、既定がオフ。 オンにしたうえで、mount に docId と commentStore を渡したときだけ効く。 書き方は ビューとコメントを使う、機能の名前は 記法の機能 と コメントの機能。

文書でその文書だけ上書きする

印を書く

<!-- features: -print -->

+機能 でオン、-機能 でオフにする。 <!-- features: +機能A -機能B --> のように、空白で区切って複数書ける。 印は描いた本文に残らない。 コードブロックと行内のコードの中に書いた印は、印として扱わない。

複数の印は書いた順に重ね、同じ名前が何度も出たら後に書いたものが勝つ。 知らない機能名は無視する。 優先順は 文書を描く仕組み。

反映

即時。mount と update で描くたびに、そのとき描く文書の印で決め直す。

確認

印刷の機能がオフになっている

<!-- features: -print --> を書いた文書で、閉じた折り畳み(details)を持つものを描く。 ブラウザの印刷プレビューを開き、折り畳みが閉じたままになっている。

印刷の機能がオンになっている

設定で print を false にし、文書に <!-- features: +print --> を書く。 ブラウザの印刷プレビューを開き、折り畳みが開いている。

記法の機能がオフになっている

<!-- features: -table -callout --> を書いた文書で、<!-- table: data --> で囲んだ表と > [!NOTE] の引用を描く。

document.querySelector(".mdmark .mdmark-table") === null && document.querySelector(".mdmark .markdown-alert") === null

true が出る。 表に並べ替えのボタンが無く、引用は注意書きの枠にならず引用のまま描かれている。

用語と被参照の機能がオフになっている

<!-- features: -glossary -backlinks --> を書いた文書で、索引を渡し、索引の用語が出る段落を描く。

document.querySelector(".mdmark .mdmark-term") === null && document.querySelector(".mdmark .mdmark-backlinks") === null

true が出る。 用語に下線が付かず、文書の末尾に被参照の一覧が無い。

埋め込んだ HTML とヒントの機能がオフになっている

<!-- features: -html --> を書いた文書で、<!-- html --> で囲んだ html のコードブロックを描く。

document.querySelector(".mdmark .mdmark-html") === null && document.querySelector(".mdmark pre code.language-html") !== null

true が出る。 コードブロックが HTML として描かれず、コードのまま出ている。

<!-- features: -hints --> を書いた文書で、data-hint を持つ要素を埋め込んだ HTML に置いて描く。

document.querySelector(".mdmark [data-hint], .mdmark .mdmark-hint-mark") === null

true が出る。 埋め込んだ HTML は描かれ、ツールチップの印が無い。

ビューとコメントの機能が切り替わっている

<!-- features: -views --> を書いた文書で、<!-- view: group=状態 --> で囲んだ表を描く。

document.querySelector(".mdmark .mdmark-view") === null && document.querySelector(".mdmark table") !== null

true が出る。 ビューの切り替えが無く、表が普通の表で描かれている。

comments を指定しない文書で、commentStore を渡して本文の文字を選ぶ。 コメントのボタンが出ず、commentStore の load も呼ばれない。 <!-- features: +comments --> を書くと、文字を選んだときにボタンが出る。

元に戻す

設定の features と文書の印を消す。 既定のオン・オフに戻る。