ハイパーリンク (Hyperlink)
表示
- Markdown-Table ← サイト内なら同じタブ内で開く
- Google ← 外部サイトなら 別タブになる
- ページ内リンクの詳細 ← ページ内リンクも同じタブ内のまま
- http://www.google.com/ ← URLそのまま表示で良い場合はURLそのまま書く (
<..>
で囲ったりしない)
コード
[表示名](リンク)
の順
md
- [Markdown-Table](02.markdown-table.md)
- [Google](http://www.google.com)
- [ページ内リンクの詳細](#ページ内リンクの詳細) ← 先頭に `#` つける。 `#` と間にスペースは入れない。飛びたい先が `##` だとしても、リンクは `#`
URLそのままでリンクにしたい場合
md
- http://www.google.com/ ← URLそのまま表示で良いケース
- <http://www.google.com/> ← これは Markdown 的にはありかも知れないが、Docusaurus ではエラーになる。
サイト内リンクの マイルール
ルール
このようなルールにしておくと、HTML レンダリング結果も、VSCode 操作上もストレスなし
- パスは相対パスで指定
- 拡張子は省略しない
実験結果メモ
雑多だが、実験結果を残しておく
リンク関連 実験結果、動作確認用
02.markdown-table.md
というファイルが同ディレクトリにあったとして、
# | リンク先 | HTML上 | VSCode上 |
---|---|---|---|
1 | markdown-table | o | x |
2 | markdown-table.md | x | x |
3 | 02.markdown-table.md | o | o |
4 | 02.markdown-table | x | o |
- 生成された HTML 上でリンクが有効になる
- VSCode 上でもリンクが有効なもの
で選ぶと、3 の「オリジナルのファイル名」が良さそう。
ファイル名の先頭の数字は HTML 上は表示はされないが、拡張子を明示したなら指定が必要。
ディレクトリ名の先頭の数字は HTML 上は表示はされないが、指定は必要。
絶対パスが動作しないのは、
# | リンク先 | HTML上 | VSCode上 |
---|---|---|---|
1 | ../01.introduction/01.create-new-project.md | o | o |
2 | ../setup/create-new-project.md | x | x |
3 | /docs/04.memo/01.setup/create-new-project.md | x | x |
4 | /docs/memo/setup/create-new-project.md | x | x |
# | リンク先 | HTML上 | VSCode上 |
---|---|---|---|
1 | /path/to/sample-absolute | o | x |
2 | path/to/sample-relative) | o | x |
3 | sample-id | o | x |
- 3つとも、run start は OKで、 run build はNG?
ページ内リンクの詳細
Docusaurus で採用している GFM は、見出しの内容から自動で ID を生成する。スペースはハイフンに、大文字は小文字に変換される。
# | 内容 | Markdown上の見出し | リンクに記載時 |
---|---|---|---|
1 | H1, H2, .. の区別なく # は1個。先頭の空白もなし | ### 詳細 | #詳細 |
2 | 空白 → ハイフン | ### 詳細 その2 | #詳細-その2 |
3 | 大文字 → 小文字 | ### 詳細 その3 IDについて | #詳細-その3-idについて |
4 | カスタムのアンカーIDをつけることもできる | ### 詳細 その4 とても長いタイトル {#long-title} | #long-title |
- 1-3 が GFM ルール。4 は remark による拡張 (詳しくは知らないので、気になったらググる)
- ちなみに VSCode では 1-3 は対応していて飛べる。 4 は飛べない。
詳細
リンク飛び先サンプル1
詳細 その2
リンク飛び先サンプル2
詳細 その3 IDについて
リンク飛び先サンプル3
詳細 その4 とても長いタイトル
リンク飛び先サンプル4