すくらっぷ あんど びるどー(したい)

AI・Obsidian・個人開発の試行錯誤ログ。 作業メモを、あとで使える知識に変えるための記録。

blogsyncでYAML構文エラーが出たときの直し方

はじめに

この記事では、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エラーが出たら、本文ではなくフロントマターを先に見ます。

コロンとハイフンの後の半角スペースだけで直ることも多いです。