はじめに
この記事では、blogsyncの記事ファイルでYAML構文エラーが出たときの確認方法をまとめます。
環境
| 項目 | 内容 |
|---|---|
| OS | Windows |
| シェル | PowerShell |
| ツール | blogsync |
| 実行場所 | PowerShell、Markdownエディタ |
| エラー文 | yaml: line X: could not find expected ':'、mapping values are not allowed |
| 実行したコマンド | blogsync push |
確認状況
このエラーは、過去のblogsync運用メモに遭遇記録があり、今回の検証でも再現できました。
検証では、一時ファイルに壊れたYAMLを書き、blogsync push がYAML解析で止まることを確認しました。
確認できたエラー:
error yaml: line 2: mapping values are not allowed in this context
結論
まず、記事ファイル先頭のフロントマターを確認します。
特に見るのは、コロン : とハイフン - の後の半角スペースです。
悪い例
Title:テスト記事 Category: --PowerShell
よい例
Title: テスト記事 Category: - PowerShell
YAMLでは、見た目の小さな違いで構文エラーになります。
原因
blogsyncの記事ファイルは、本文の前にYAML形式のメタデータを持っています。
この部分の書式が崩れると、本文が正しくてもpushできません。
よくある原因は次の通りです。
Title:の後に半角スペースがないCategory:のリストの書き方が崩れている- 全角コロンを使っている
- 不要な記号が混ざっている
---の開始と終了が崩れている
確認手順
まず、記事の先頭を見ます。
--- Title: 記事タイトル Category: - PowerShell - blogsync Draft: true ---
この形に近いか確認します。
まとめ
YAMLエラーが出たら、本文ではなくフロントマターを先に見ます。
コロンとハイフンの後の半角スペースだけで直ることも多いです。