@riebeckite/plugin-permalink 0.0.14 → 0.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +3 -2
  2. package/README_ja.md +157 -160
  3. package/package.json +3 -3
package/README.md CHANGED
@@ -961,5 +961,6 @@ permalink({
961
961
 
962
962
  # See also
963
963
 
964
- - [Plugin guide](../../../docs/en/reference/plugin-api.md)
965
- - [Content system](../../../docs/en/framework/content-system.md)
964
+ - [Plugin guide](../../../docs/en/docs/reference/plugin-api.md)
965
+ - [Content system](../../../docs/en/docs/framework/content-system.md)
966
+
package/README_ja.md CHANGED
@@ -4,7 +4,7 @@ Riebeckite の記事に対して、公開 URL(permalink)を決定するプ
4
4
 
5
5
  ファイル構造をそのまま URL に使う代わりに、frontmatter の ID、ファイルパスから導出した ID、独自の resolver などを使って公開 URL を構築できます。
6
6
 
7
- 旧 URL から正準 URL へのリダイレクトも同じ設定から登録できます。
7
+ 旧 URL から canonical URL へのリダイレクトも同じ設定から登録できます。
8
8
 
9
9
  [English](./README.md)
10
10
 
@@ -88,17 +88,17 @@ ContentPublicLocation
88
88
  └─ metadata
89
89
  ```
90
90
 
91
- Core は返された `permalink` を正準 URL として扱います。
91
+ Core は返された `permalink` を canonical URL として扱います。
92
92
 
93
93
  その URL は、Wikilink、Backlinks、Search、Content Graph、SEO canonical、Sitemap、RSS / Atom / JSON Feed などから共通して参照されます。
94
94
 
95
- Permalink Pluginを使用しない場合も、Coreの正式なdefault resolver `resolveDefaultContentLocation` が `index` を `/`、それ以外を `/{slug}` に解決します。これはfallbackではなく、Coreの標準policyです。
95
+ Permalink Plugin を使用しない場合も、Core の resolver `resolveDefaultContentLocation` が `index` を `/`、それ以外を `/{slug}` に解決します。これはフォールバックではなく、Core の標準方針です。
96
96
 
97
97
  ---
98
98
 
99
- # Frontmatter
99
+ ## Frontmatter
100
100
 
101
- ## ID
101
+ ### ID
102
102
 
103
103
  既定では `id` を読み取ります。
104
104
 
@@ -124,9 +124,9 @@ uid: hello-world
124
124
 
125
125
  `frontmatter` が指定するのはトップレベルのフィールドです。
126
126
 
127
- ## Permalink override
127
+ ### Permalink override
128
128
 
129
- 特定の記事だけURLを直接指定できます。
129
+ 特定の記事だけ URL を直接指定できます。
130
130
 
131
131
  ```md
132
132
  ---
@@ -135,9 +135,9 @@ permalink: /about
135
135
  ---
136
136
  ```
137
137
 
138
- この場合、通常のIDからのパス生成より `/about` が優先されます。
138
+ この場合、通常の ID からのパス生成より `/about` が優先されます。
139
139
 
140
- `id` と公開URLは別の概念なので、
140
+ `id` と公開 URL は別の概念なので、
141
141
 
142
142
  ```text
143
143
  ID
@@ -159,9 +159,9 @@ permalink({
159
159
  });
160
160
  ```
161
161
 
162
- ## Redirects
162
+ ### Redirects
163
163
 
164
- 旧URLもfrontmatterから指定できます。
164
+ 旧 URL も frontmatter から指定できます。
165
165
 
166
166
  ```md
167
167
  ---
@@ -172,7 +172,7 @@ redirect_from:
172
172
  ---
173
173
  ```
174
174
 
175
- 例えば正準URLが、
175
+ 例えば canonical URL が、
176
176
 
177
177
  ```text
178
178
  /n/hello-world
@@ -207,30 +207,30 @@ permalink({
207
207
 
208
208
  ---
209
209
 
210
- # オプション
210
+ ## オプション
211
211
 
212
212
  | オプション | 型 | 既定値 | 内容 |
213
213
  | --- | --- | --- | --- |
214
- | `frontmatter` | `string` | `"id"` | IDとして読むトップレベルのfrontmatterフィールド |
215
- | `id.strategy` | `"frontmatter" \| "hash" \| "frontmatter-or-hash"` | `"frontmatter-or-hash"` | IDの決定方法 |
216
- | `id.length` | `number` | `12` | ハッシュIDの文字数(6〜43) |
217
- | `path.mode` | `"flat" \| "preserve" \| "append"` | `"flat"` | IDを公開URLへ配置する方式 |
218
- | `path.prefix` | `string` | `"/n"` | URL prefix。`"/"`または空文字でprefixなし |
219
- | `path.trailingSlash` | `boolean` | `false` | 正準URL末尾へ `/` を付ける |
220
- | `index.collapse` | `boolean` | `true` | `index`ファイルのパスをcollapseする |
221
- | `override.frontmatter` | `string` | `"permalink"` | URLを直接指定するfrontmatterフィールド |
222
- | `redirects.frontmatter` | `string` | `"redirect_from"` | 旧URLを指定するfrontmatterフィールド |
223
- | `redirects.status` | `301 \| 302 \| 307 \| 308` | `308` | リダイレクトHTTP status |
224
- | `resolveId` | `(content) => string` | — | ID解決を完全にカスタマイズする |
225
- | `resolvePath` | `({ content, id }) => string` | — | 公開パス生成を完全にカスタマイズする |
214
+ | `frontmatter` | `string` | `"id"` | ID として読むトップレベルの frontmatter フィールド |
215
+ | `id.strategy` | `"frontmatter" \| "hash" \| "frontmatter-or-hash"` | `"frontmatter-or-hash"` | ID の決定方法 |
216
+ | `id.length` | `number` | `12` | ハッシュ ID の文字数(6〜43) |
217
+ | `path.mode` | `"flat" \| "preserve" \| "append"` | `"flat"` | ID を公開 URL へ配置する方式 |
218
+ | `path.prefix` | `string` | `"/n"` | URL prefix。`"/"` または空文字なら prefix なし |
219
+ | `path.trailingSlash` | `boolean` | `false` | canonical URL 末尾へ `/` を付ける |
220
+ | `index.collapse` | `boolean` | `true` | `index` ファイルのパスを collapse する |
221
+ | `override.frontmatter` | `string` | `"permalink"` | URL を直接指定する frontmatter フィールド |
222
+ | `redirects.frontmatter` | `string` | `"redirect_from"` | 旧 URL を指定する frontmatter フィールド |
223
+ | `redirects.status` | `301 \| 302 \| 307 \| 308` | `308` | リダイレクトの HTTP ステータス |
224
+ | `resolveId` | `(content) => string` | — | ID の解決を完全にカスタマイズする |
225
+ | `resolvePath` | `({ content, id }) => string` | — | 公開パスの生成を完全にカスタマイズする |
226
226
 
227
227
  ---
228
228
 
229
- # ID Strategy
229
+ ## ID strategy
230
230
 
231
- ## `frontmatter`
231
+ ### `frontmatter`
232
232
 
233
- frontmatterからIDを取得します。
233
+ frontmatter から ID を取得します。
234
234
 
235
235
  ```ts
236
236
  permalink({
@@ -241,9 +241,9 @@ permalink({
241
241
  });
242
242
  ```
243
243
 
244
- IDが存在しない記事はビルドエラーになります。
244
+ ID が存在しない記事はビルドエラーになります。
245
245
 
246
- 永続的なURLを明示的に管理したい場合に向いています。
246
+ 永続的な URL を明示的に管理したい場合に向いています。
247
247
 
248
248
  ```md
249
249
  ---
@@ -251,13 +251,13 @@ id: article-123
251
251
  ---
252
252
  ```
253
253
 
254
- ファイルをrename/moveしても、`flat` modeならIDおよびURLを維持できます。
254
+ ファイルを rename/move しても、`flat` の mode なら ID および URL を維持できます。
255
255
 
256
256
  ---
257
257
 
258
- ## `hash`
258
+ ### `hash`
259
259
 
260
- frontmatterを使用せず、ファイルパスからIDを導出します。
260
+ frontmatter を使用せず、ファイルパスから ID を導出します。
261
261
 
262
262
  ```ts
263
263
  permalink({
@@ -268,15 +268,15 @@ permalink({
268
268
  });
269
269
  ```
270
270
 
271
- 入力pathは、
271
+ 入力 path は、
272
272
 
273
273
  - `\` → `/`
274
274
  - 先頭 `/` の除去
275
- - Unicode NFC正規化
275
+ - Unicode NFC 正規化
276
276
 
277
- を行った上でSHA-256へ渡されます。
277
+ を行った上で SHA-256 へ渡されます。
278
278
 
279
- 結果をbase64urlとして表現し、その先頭`id.length`文字をIDとして利用します。
279
+ 結果を base64url として表現し、その先頭 `id.length` 文字を ID として利用します。
280
280
 
281
281
  ```text
282
282
  notes/flutter/riverpod.md
@@ -294,13 +294,13 @@ base64url
294
294
  K7m3Qp8d...
295
295
  ```
296
296
 
297
- 同じpathならOSやbuild環境が異なっても同じIDになります。
297
+ 同じ path なら OS や build 環境が異なっても同じ ID になります。
298
298
 
299
- ただし、pathが入力なのでrename/moveするとIDも変わります。
299
+ ただし、path が入力なので rename/move すると ID も変わります。
300
300
 
301
301
  ---
302
302
 
303
- ## `frontmatter-or-hash`
303
+ ### `frontmatter-or-hash`
304
304
 
305
305
  既定値です。
306
306
 
@@ -316,38 +316,38 @@ permalink({
316
316
  解決順序は、
317
317
 
318
318
  ```text
319
- frontmatter IDあり
319
+ frontmatter ID あり
320
320
  ↓
321
321
  frontmatter ID
322
322
 
323
- frontmatter IDなし
323
+ frontmatter ID なし
324
324
  ↓
325
325
  path-derived hash
326
326
  ```
327
327
 
328
- です。
328
+ この順序で解決します。
329
329
 
330
- 既存Obsidian Vaultを変更せず利用しながら、重要な記事だけ永続IDを与えたい場合に向いています。
330
+ 既存 Obsidian Vault を変更せず利用しながら、重要な記事だけ永続 ID を与えたい場合に向いています。
331
331
 
332
332
  ---
333
333
 
334
- # ID metadata
334
+ ## ID メタデータ
335
335
 
336
- 解決されたIDの由来はmetadataから確認できます。
336
+ 解決された ID の由来はメタデータから確認できます。
337
337
 
338
338
  | `metadata.idSource` | 意味 |
339
339
  | --- | --- |
340
- | `frontmatter` | frontmatterから取得 |
341
- | `derived` | path hashから導出 |
342
- | `custom` | `resolveId`から取得 |
340
+ | `frontmatter` | frontmatter から取得 |
341
+ | `derived` | path hash から導出 |
342
+ | `custom` | `resolveId` から取得 |
343
343
 
344
- 手動`permalink` overrideはURLを変更しますがidentityは消しません。frontmatterのIDがあれば引き続き記録され(`metadata.idSource` は `frontmatter`)、明示的なIDがない場合のみmetadataは付与されません。overrideから暗黙の `/{id}` URLを生成することはありません。
344
+ 手動の `permalink` override は URL を変更しますが、同一性は消しません。frontmatter の ID があれば引き続き記録され(`metadata.idSource` は `frontmatter`)、明示的な ID がない場合のみメタデータは付与されません。override から暗黙の `/{id}` URL を生成することはありません。
345
345
 
346
346
  ---
347
347
 
348
- # URL Path Mode
348
+ ## URL path mode
349
349
 
350
- IDの決定方法と、URLの構築方法は独立しています。
350
+ ID の決定方法と、URL の構築方法は独立しています。
351
351
 
352
352
  例えば、
353
353
 
@@ -361,7 +361,7 @@ hello-world
361
361
 
362
362
  とします。
363
363
 
364
- ## `flat`
364
+ ### `flat`
365
365
 
366
366
  ```ts
367
367
  path: {
@@ -376,15 +376,15 @@ path: {
376
376
  /n/hello-world
377
377
  ```
378
378
 
379
- filesystemのディレクトリ構造をURLへ含めません。
379
+ ファイルシステムのディレクトリ構造を URL へ含めません。
380
380
 
381
- OpaqueなURLを作りたい場合に適しています。
381
+ 読み取れない URL を作りたい場合に適しています。
382
382
 
383
383
  ---
384
384
 
385
- ## `preserve`
385
+ ### `preserve`
386
386
 
387
- ディレクトリ構造を残しつつIDを配置します。
387
+ ディレクトリ構造を残しつつ ID を配置します。
388
388
 
389
389
  ```ts
390
390
  path: {
@@ -405,9 +405,9 @@ notes/flutter/hello.md
405
405
 
406
406
  ---
407
407
 
408
- ## `append`
408
+ ### `append`
409
409
 
410
- `append`も選択できます。
410
+ `append` も選べます。
411
411
 
412
412
  ```ts
413
413
  path: {
@@ -415,15 +415,15 @@ path: {
415
415
  }
416
416
  ```
417
417
 
418
- 現在の実装では`append`は`preserve`と同じパスを返します。
418
+ 現在の実装では `append` は `preserve` と同じパスを返します。
419
419
 
420
- 将来的に異なる意味を持たせる場合に備えてmodeとして分離されています。`append`固有の挙動を期待する場合は、現在の実装仕様に注意してください。
420
+ 将来的に別の意味を持たせる場合に備えて mode として分離されています。`append` 固有の挙動を期待する場合は、現在の実装仕様に注意してください。
421
421
 
422
422
  ---
423
423
 
424
- # index ファイル
424
+ ## index ファイル
425
425
 
426
- `index.collapse`によって`index.md`の扱いを変更できます。
426
+ `index.collapse` によって `index.md` の扱いを変更できます。
427
427
 
428
428
  ```ts
429
429
  index: {
@@ -437,27 +437,27 @@ index: {
437
437
  notes/flutter/index.md
438
438
  ```
439
439
 
440
- IDが`hello-world`の場合:
440
+ ID が `hello-world` の場合:
441
441
 
442
442
  | 設定 | URL |
443
443
  | --- | --- |
444
444
  | `flat` | `/n/hello-world` |
445
445
  | `preserve` + collapse | `/n/notes/flutter/hello-world` |
446
- | `preserve` + collapseなし | `/n/notes/flutter/index/hello-world` |
446
+ | `preserve` + `collapse` なし | `/n/notes/flutter/index/hello-world` |
447
447
 
448
- `flat`ではfilesystem structure自体を使用しないため、collapseの影響を受けません。
448
+ `flat` ではファイルシステム構造自体を使わないため、`collapse` の影響を受けません。
449
449
 
450
450
  ---
451
451
 
452
- # 上級者向け: Custom Resolver
452
+ ## 上級者向け: カスタム resolver
453
453
 
454
- 組み込みstrategyで表現できないURL設計では、`resolveId`と`resolvePath`を利用できます。
454
+ 組み込みの strategy では表現できない URL 設計なら、`resolveId` と `resolvePath` を利用できます。
455
455
 
456
- Permalink Pluginの通常設定で十分な場合は、custom resolverを使う必要はありません。
456
+ Permalink Plugin の通常設定で十分な場合は、カスタム resolver を使う必要はありません。
457
457
 
458
- ## `resolveId`
458
+ ### `resolveId`
459
459
 
460
- 記事から独自IDを生成します。
460
+ 記事から独自 ID を生成します。
461
461
 
462
462
  ```ts
463
463
  permalink({
@@ -488,13 +488,13 @@ canonical URL
488
488
 
489
489
  となります。
490
490
 
491
- `resolveId`の戻り値も組み込みIDと同じvalidationを通ります。
491
+ `resolveId` の戻り値も組み込み ID と同じ検証を通ります。
492
492
 
493
- そのため、不正なIDを返してvalidationを迂回することはできません。
493
+ 不正な ID を返しても検証を通りません。
494
494
 
495
- ### 例: frontmatterを組み合わせる
495
+ #### 例: frontmatter を組み合わせる
496
496
 
497
- 例えばプロジェクト固有のfrontmatterからIDを作る場合:
497
+ 例えばプロジェクト固有の frontmatter から ID を作る場合:
498
498
 
499
499
  ```md
500
500
  ---
@@ -533,13 +533,13 @@ permalink({
533
533
  /articles/flutter-42
534
534
  ```
535
535
 
536
- Custom resolver内で扱うfrontmatterのvalidationはresolver側の責務です。
536
+ カスタム resolver 内で扱う frontmatter の検証は resolver 側の責務です。
537
537
 
538
538
  ---
539
539
 
540
- # 上級者向け: `resolvePath`
540
+ ## 上級者向け: `resolvePath`
541
541
 
542
- `resolvePath`を使うと、IDをURLのどこへ配置するかを完全に制御できます。
542
+ `resolvePath` を使うと、ID を URL のどこへ配置するかを完全に制御できます。
543
543
 
544
544
  ```ts
545
545
  permalink({
@@ -561,7 +561,7 @@ permalink({
561
561
  /articles/hello-world
562
562
  ```
563
563
 
564
- `resolvePath`はサイト内の絶対パスを返してください。
564
+ `resolvePath` はサイト内の絶対パスを返してください。
565
565
 
566
566
  ```text
567
567
  /articles/hello OK
@@ -570,15 +570,15 @@ articles/hello NG
570
570
  https://example.com NG
571
571
  ```
572
572
 
573
- 戻り値はPluginの通常のURL normalization / validation / collision detectionを通ります。
573
+ 戻り値は Plugin の通常の URL 正規化・検証・衝突検出を通ります。
574
574
 
575
575
  ---
576
576
 
577
- # `resolveId` と `resolvePath` を組み合わせる
577
+ ## `resolveId` と `resolvePath` を組み合わせる
578
578
 
579
- 両方を指定すると、ID決定とURL構築を完全にカスタマイズできます。
579
+ 両方を指定すると、ID 決定と URL 構築を完全にカスタマイズできます。
580
580
 
581
- 例えば年別URLを作る場合:
581
+ 例えば年別 URL を作る場合:
582
582
 
583
583
  ```md
584
584
  ---
@@ -619,24 +619,24 @@ permalink({
619
619
  /articles/2026/riebeckite-permalink
620
620
  ```
621
621
 
622
- この場合もRiebeckite内部では最終的に解決されたURLだけが正準URLとして扱われます。
622
+ この場合も Riebeckite 内部では最終的に解決された URL だけが canonical URL として扱われます。
623
623
 
624
624
  ---
625
625
 
626
- # Custom Resolverの使い分け
626
+ ## カスタム resolver の使い分け
627
627
 
628
628
  基本的には次の順序で検討してください。
629
629
 
630
630
  ```text
631
- built-in strategyで足りる
631
+ built-in strategy で足りる
632
632
  ↓
633
- 通常optionsを使用
633
+ 通常オプションを使用
634
634
 
635
- IDだけ特殊
635
+ ID だけ特殊
636
636
  ↓
637
637
  resolveId
638
638
 
639
- URL構造だけ特殊
639
+ URL 構造だけ特殊
640
640
  ↓
641
641
  resolvePath
642
642
 
@@ -651,7 +651,7 @@ resolveId + resolvePath
651
651
  /n/{id}
652
652
  ```
653
653
 
654
- を作るだけならcustom resolverは不要です。
654
+ を作るだけならカスタム resolver は不要です。
655
655
 
656
656
  ```ts
657
657
  permalink({
@@ -669,26 +669,26 @@ permalink({
669
669
 
670
670
  ---
671
671
 
672
- # Custom Resolverでも維持される保証
672
+ ## カスタム resolver でも維持される保証
673
673
 
674
- Custom resolverを使用しても、Permalink Pluginの以下の処理は維持されます。
674
+ カスタム resolver を使用しても、Permalink Plugin の以下の処理は維持されます。
675
675
 
676
- - ID validation
677
- - URL normalization
678
- - URL validation
679
- - ID collision detection
680
- - canonical URL collision detection
681
- - redirect collision detection
682
- - trailing slash handling
683
- - Coreへのcanonical public location登録
676
+ - ID の検証
677
+ - URL の正規化
678
+ - URL の検証
679
+ - ID の衝突検出
680
+ - canonical URL の衝突検出
681
+ - リダイレクトの衝突検出
682
+ - 末尾スラッシュの扱い
683
+ - Core への canonical な公開位置の登録
684
684
 
685
- つまりcustom resolverはPluginの安全機構を迂回するAPIではありません。
685
+ つまりカスタム resolver は Plugin の安全機構を迂回する API ではありません。
686
686
 
687
687
  ---
688
688
 
689
- # Manual permalinkとの優先順位
689
+ ## 手動の permalink との優先順位
690
690
 
691
- frontmatterにmanual permalinkが存在する場合は、通常のID解決とpath構築より優先されます。
691
+ frontmatter に手動の permalink がある場合は、通常の ID 解決と path 構築より優先されます。
692
692
 
693
693
  例えば:
694
694
 
@@ -699,7 +699,7 @@ permalink: /about
699
699
  ---
700
700
  ```
701
701
 
702
- では、
702
+ とすると、
703
703
 
704
704
  ```text
705
705
  ID候補
@@ -711,15 +711,15 @@ Canonical URL
711
711
 
712
712
  となります。
713
713
 
714
- `resolvePath`で別のURLを返す設定があっても、manual permalink overrideが優先されます。
714
+ `resolvePath` で別の URL を返す設定があっても、手動の permalink override が優先されます。
715
715
 
716
- 特殊ページだけURLを固定したい場合に利用できます。
716
+ 特殊ページだけ URL を固定したい場合に利用できます。
717
717
 
718
718
  ---
719
719
 
720
- # Statelessな設計
720
+ ## ステートレスな設計
721
721
 
722
- Permalink Pluginは永続的なID registryを持ちません。
722
+ Permalink Plugin は永続的な ID のレジストリを持ちません。
723
723
 
724
724
  以下は作成しません。
725
725
 
@@ -733,24 +733,24 @@ KV database
733
733
  必要な情報は、
734
734
 
735
735
  ```text
736
- Plugin configuration
736
+ Plugin 設定
737
737
  +
738
- source content
738
+ ソースコンテンツ
739
739
  ```
740
740
 
741
741
  からビルド時に決定されます。
742
742
 
743
- そのためCloudflare Workers、CI、別PCなどでも同じ入力から同じURLを生成できます。
743
+ そのため Cloudflare Workers、CI、別 PC などでも同じ入力から同じ URL を生成できます。
744
744
 
745
- `hash` strategyではpathがidentity生成の入力になるため、rename/moveによってURLが変化します。
745
+ `hash` strategy では path が同一性を決める入力になるため、rename/move によって URL が変化します。
746
746
 
747
- rename/move後もURLを維持したい記事にはfrontmatter IDを利用してください。
747
+ rename/move 後も URL を維持したい記事には frontmatter ID を利用してください。
748
748
 
749
749
  ---
750
750
 
751
- # Rename / Move時の挙動
751
+ ## Rename / Move 時の挙動
752
752
 
753
- URLの安定性はID strategyとpath modeの組み合わせによって変わります。
753
+ URL の安定性は ID strategy と path mode の組み合わせによって変わります。
754
754
 
755
755
  | ID | Path mode | Rename | Move |
756
756
  | --- | --- | --- | --- |
@@ -761,7 +761,7 @@ URLの安定性はID strategyとpath modeの組み合わせによって変わり
761
761
  | hash | preserve | 変更 | 変更 |
762
762
  | hash | append | 変更 | 変更 |
763
763
 
764
- 永続的なURLが必要なら、
764
+ 永続的な URL が必要なら、
765
765
 
766
766
  ```ts
767
767
  permalink({
@@ -777,7 +777,7 @@ permalink({
777
777
 
778
778
  が最も明示的です。
779
779
 
780
- 既存Vaultへの変更を最小化したい場合は、
780
+ 既存 Vault への変更を最小化したい場合は、
781
781
 
782
782
  ```ts
783
783
  id: {
@@ -789,50 +789,50 @@ id: {
789
789
 
790
790
  ---
791
791
 
792
- # 検証
792
+ ## 検証
793
793
 
794
- ## ID
794
+ ### ID
795
795
 
796
- IDは単一のURL path segmentとして扱われます。
796
+ ID は URL の 1 つのパスセグメントとして扱われます。
797
797
 
798
798
  以下はエラーになります。
799
799
 
800
800
  - 空文字列
801
- - `/`を含む
802
- - `#`を含む
803
- - `?`を含む
801
+ - `/` を含む
802
+ - `#` を含む
803
+ - `?` を含む
804
804
  - 空白を含む
805
- - 正しくdecodeできないpercent encoding
805
+ - 正しくデコードできないパーセントエンコード
806
806
 
807
- Custom `resolveId`の結果も同じ検証を受けます。
807
+ Custom `resolveId` の結果も同じ検証を受けます。
808
808
 
809
- ## Permalink
809
+ ### Permalink
810
810
 
811
- Permalinkとredirectはサイト内の絶対pathである必要があります。
811
+ Permalink とリダイレクトはサイト内の絶対 path である必要があります。
812
812
 
813
813
  以下は許可されません。
814
814
 
815
- - relative path
816
- - query string
817
- - fragment
815
+ - 相対パス
816
+ - クエリ文字列
817
+ - フラグメント
818
818
  - `\`
819
819
  - 不正な `//`
820
- - 外部URL
820
+ - 外部 URL
821
821
 
822
- Custom `resolvePath`の結果も同じ検証を受けます。
822
+ Custom `resolvePath` の結果も同じ検証を受けます。
823
823
 
824
824
  ---
825
825
 
826
- # Collision Detection
826
+ ## 衝突検出
827
827
 
828
- Permalink Pluginはビルド時に衝突を検出します。
828
+ Permalink Plugin はビルド時に衝突を検出します。
829
829
 
830
830
  対象:
831
831
 
832
832
  - ID ↔ ID
833
833
  - canonical URL ↔ canonical URL
834
- - canonical URL ↔ redirect
835
- - redirect ↔ redirect
834
+ - canonical URL ↔ リダイレクト
835
+ - リダイレクト ↔ リダイレクト
836
836
 
837
837
  例えば:
838
838
 
@@ -858,21 +858,21 @@ b.md redirect
858
858
 
859
859
  もエラーです。
860
860
 
861
- 自動的にsuffixを付けて回避することはありません。
861
+ 自動的に接尾辞を付けて回避することはありません。
862
862
 
863
- これにより、ビルド順序によってURLが変化することを防ぎます。
863
+ これにより、ビルド順序によって URL が変化することを防ぎます。
864
864
 
865
865
  ---
866
866
 
867
- # Inspect
867
+ ## Inspect
868
868
 
869
- 解決結果はRiebeckiteのinspect機能から確認できます。
869
+ 解決結果は Riebeckite の inspect 機能から確認できます。
870
870
 
871
871
  ```sh
872
872
  riebeckite inspect content --list
873
873
  ```
874
874
 
875
- Permalink Pluginが有効な場合、記事ごとのID、ID source、permalinkを確認できます。
875
+ Permalink Plugin が有効な場合、記事ごとの ID、ID の出典、permalink を確認できます。
876
876
 
877
877
  例えば:
878
878
 
@@ -882,35 +882,35 @@ notes/a.md K7m3Qp8d... derived /n/K7m3Qp8d...
882
882
  notes/about.md about frontmatter /about
883
883
  ```
884
884
 
885
- 実際の表示形式はCLIバージョンによって異なる場合があります。
885
+ 実際の表示形式は CLI バージョンによって異なる場合があります。
886
886
 
887
887
  ---
888
888
 
889
- # 主なエクスポート
889
+ ## 主なエクスポート
890
890
 
891
- ## Functions
891
+ ### 関数
892
892
 
893
893
  - `permalink(options?)`
894
894
  - `permalinkPlugin(options?)`
895
895
 
896
- どちらもPermalink Pluginを生成します。
896
+ どちらも Permalink Plugin を生成します。
897
897
 
898
- ## Types
898
+ ### 型
899
899
 
900
900
  - `PermalinkOptions`
901
901
  - `PermalinkIdStrategy`
902
902
  - `PermalinkPathMode`
903
903
  - `RedirectStatus`
904
904
 
905
- Custom resolverを書く場合は、公開されている型を利用して設定を型安全に記述できます。
905
+ カスタム resolver を書く場合は、公開されている型を使って設定を型安全に書けます。
906
906
 
907
907
  ---
908
908
 
909
- # 設定例
909
+ ## 設定例
910
910
 
911
- ## 既存Obsidian Vault向け
911
+ ### 既存 Obsidian Vault 向け
912
912
 
913
- frontmatter変更を必須にせず、URLからfilesystem構造を隠します。
913
+ frontmatter 変更を必須とせず、URL からファイルシステム構造を隠します。
914
914
 
915
915
  ```ts
916
916
  permalink({
@@ -926,7 +926,7 @@ permalink({
926
926
  });
927
927
  ```
928
928
 
929
- ## 完全に明示的な永続URL
929
+ ### 完全に明示的な永続 URL
930
930
 
931
931
  ```ts
932
932
  permalink({
@@ -941,9 +941,9 @@ permalink({
941
941
  });
942
942
  ```
943
943
 
944
- すべての記事にfrontmatter IDが必要になります。
944
+ すべての記事に frontmatter ID が必要になります。
945
945
 
946
- ## ディレクトリ構造を残す
946
+ ### ディレクトリ構造を残す
947
947
 
948
948
  ```ts
949
949
  permalink({
@@ -957,7 +957,7 @@ permalink({
957
957
  });
958
958
  ```
959
959
 
960
- ## 独自URL設計
960
+ ### 独自 URL 設計
961
961
 
962
962
  ```ts
963
963
  permalink({
@@ -975,11 +975,8 @@ permalink({
975
975
 
976
976
  ---
977
977
 
978
- # 関連資料
978
+ ## 関連資料
979
979
 
980
- - [プラグインシステム](../../../docs/ja/reference/plugin-api.md)
981
- - [コンテンツシステム](../../../docs/ja/framework/content-system.md)
980
+ - [プラグインシステム](../../../docs/ja/docs/reference/plugin-api.md)
981
+ - [コンテンツシステム](../../../docs/ja/docs/framework/content-system.md)
982
982
 
983
- ## ????
984
-
985
- - [?????????](../../../docs/ja/reference/plugin-api.md)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riebeckite/plugin-permalink",
3
- "version": "0.0.14",
3
+ "version": "0.0.15",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -15,11 +15,11 @@
15
15
  },
16
16
  "dependencies": {
17
17
  "yaml": "^2.9.0",
18
- "@riebeckite/core": "0.0.14"
18
+ "@riebeckite/core": "0.0.15"
19
19
  },
20
20
  "devDependencies": {
21
21
  "tsx": "^4.22.4",
22
- "@riebeckite/test": "0.0.14"
22
+ "@riebeckite/test": "0.0.15"
23
23
  },
24
24
  "publishConfig": {
25
25
  "access": "public"