Prompt

一番普通の方法は、ただ太字にするだけだよね。
ところで、markdown標準仕様には無いが、デファクトスタンダードとなっている機能はある?

やっほー!確かに、1列目を **太字** にするのが一番「Markdownらしい」慎重で賢い妥協点だよね。僕もよくやるよ!

さて、Markdownの「標準(CommonMark)」は実はかなりストイックで、僕たちが当たり前に使っている機能の多くは、実は**「デファクトスタンダード(事実上の標準)」**として後から付け加えられた拡張機能なんだ。

情報工学を学ぶ君の知的好奇心を刺激する、代表的な「非標準だけどみんな使ってる」機能を整理してみたよ!


1. GitHub Flavored Markdown (GFM) の影響力

今、世界で最も使われているMarkdownの仕様はこれだね。GitHubが便利さを求めて拡張したものが、そのまま世界の標準になっちゃったんだ。

① テーブル記法

実は、「標準のMarkdown」にはテーブルという概念すら存在しないんだ!

君がさっきから悩んでいた | --- | という書き方は、GFMが広めた拡張機能の代表格だよ。

② タスクリスト

Markdown

- [x] Rustの勉強
- [ ] 部屋の掃除

これも標準にはないけれど、GitHubやVS Code、Notionなんかで当たり前に使えるよね。


2. 数式表示 (Math Jax / KaTeX)

君のような情報工学徒には欠かせない、LaTeX形式の数式表示!

  • 書き方: $E = mc^2$$$...$$

  • 現状: 標準ではないけれど、GitHub、GitLab、Obsidian、そして僕(Gemini)との会話でもデファクトとして機能しているね。


3. コードブロックの「言語指定」

Rust

fn main() { println!("Hello!"); }

バッククォート3つの後に rust とか java と書く「シンタックスハイライト」の指定も、実は多くのパーサーが独自に実装して広まったものなんだ。


4. フロントマター (Front Matter)

ドキュメントの先頭に書く、メタ情報のブロックだよ。

YAML

---
title: "Markdownの深淵"
date: 2026-01-09
tags: [IT, Markdown]
---
  • 用途: 静的サイトジェネレーター(Jekyll, Hugo)や、Obsidianなどのノートアプリで、記事の管理に使われる。

  • 正体: Markdownの本文ではなく、YAML形式のデータを埋め込むためのデファクトな記法だね。


⚠️ 見落とされがちな落とし穴:方言による「表示崩れ」

「デファクトスタンダード」というのは、あくまで「みんながなんとなく共通で実装している」だけであって、「すべての環境で同じに見える」ことを保証しないんだ。

  • 例: GitHubでは動く「アラート(> [!NOTE])」が、自分のUbuntu上のエディタではただの引用に見えたりする。

  • 対策: 「どこで表示させるか」を意識して、必要最小限の記法(CommonMarkに近い形)に留めるのが、長生きするドキュメントを作るコツだよ。


💡 豆知識:Mermaidの統合

最近の大きなトレンドは、Markdownの中に Mermaid(さっき僕がリレーションシップを表現したやつ!)を直接書けるようになることだね。

テキストだけで図解まで完結させたいというエンジニアの欲求が、新しいデファクトを作ろうとしているんだよ。


Prompt

あとは[[これとか?]]
むしろ、これらの独自構文が曖昧だからこそ、markdownの自由度を上げ、移植性を下げている。

やっほー!その [[WikiLink]] の記法、まさに「デファクトスタンダード」の代表格にして、君が指摘した通りの「移植性の天敵」だね!

情報工学を学ぶ身としては、その「便利さとカオスの表裏一体」な感じ、放っておけないよね(笑)。君の洞察は非常に鋭いよ。


1. [[WikiLink]]:便利という名の毒薬

この二重ブラケットによるリンク(WikiLinks / Backlinks)は、もともと「Wikipedia」の編集記法から広まったものだね。今は ObsidianNotionZettelkasten といったノートアプリで「ナレッジのネットワーク化」のために欠かせない機能になっているよ。

  • 自由度: [タイトル](ファイルパス) と書かなくても、ファイル名だけでリンクが繋がるから、思考のスピードを落とさずに書ける。

  • 移植性の崩壊: この記法は標準のMarkdownパーサーでは「ただの文字列」として処理されるんだ。GitHubにプッシュしても、多くの静的サイトジェネレーターでビルドしても、リンクとして機能しない。


2. 独自構文が「移植性」を下げるメカニズム

君が言う通り、Markdownが「曖昧」であることは、情報工学的な「相互運用性(Interoperability)」の観点からは大きな課題なんだ。

  • パーサーの独自実装: Remark, Pandoc, Goldmark……。それぞれのパーサーが「うちのWikiLinkはスペースをハイフンに変換するよ」「うちはエンコードするよ」と、微妙に仕様が違う。

  • パブリッシングの壁: ローカルのObsidianで完璧に整理したノートを、いざWebサイトとして公開(移植)しようとすると、リンクが全部死んで絶望する……というのはエンジニアの「あるある」なんだ。


3. なぜ「曖昧さ」が放置されているのか?

普通、情報工学の世界なら「厳格な仕様(RFC)」を作って統一するよね。でもMarkdownはそうならなかった。

  • 人間中心の設計: Markdownは「コンピュータが処理するため」ではなく「人間が楽に書くため」に生まれたからなんだ。

  • 「方言」を許容する文化: 多様なユースケース(学術、ブログ、メモ)に合わせて、コミュニティが勝手に拡張する自由を優先した結果だね。


💡 見落とされがちな視点:ポータビリティの確保

君のように「移植性を下げたくない」エンジニアは、あえて以下のような戦略を取ることがあるよ。

  • 標準への回帰: 便利な独自機能(WikiLinkなど)をあえて使わず、常に標準の [title](path/to/file.md) を使う。

  • 変換レイヤーの導入: 独自構文を標準構文に「正規化」するスクリプト(GitHub Actionsなどで動かす)を自作して、移植性を無理やり担保する。


💡 豆知識:RFC 7763

実は、Markdownにも一応 RFC(インターネット技術の標準仕様書)が存在するんだ(RFC 7763)。でも、中身は「Markdownというメディアタイプがあるよ」という宣言に近いもので、具体的な文法を厳格に定めているわけじゃない。この「緩さ」こそが、Markdownの強みであり、呪いでもあるんだね。