メインコンテンツにスキップ
バージョン: Next

Jekyll統合

O2は、ObsidianのノートをJekyllのブログ投稿に変換する際、Jekyllのブログ機能とマークダウン拡張との互換性を維持しながら変換を行います。

プロジェクト構造

Jekyllへの変換時、O2は以下の構造に従います:

your-jekyll-project/
├── _posts/ # 変換されたノートが配置される場所
└── assets/
└── img/ # 添付ファイルが保存される場所
└── YYYY-MM-DD-title/ # 各投稿の添付ファイル用の日付ベースフォルダ

機能

マークダウン変換

O2は、様々なObsidian固有のマークダウン機能をJekyll互換形式に自動変換します:

  1. ウィキリンク: [[ノートタイトル]][ノートタイトル](ノート-タイトル)
  2. リソースリンク: 画像とファイルリンクをJekyllのアセットパスに変換
  3. コールアウト: ObsidianのコールアウトをJekyll互換形式に変換
  4. 脚注: 脚注を適切に保持し、フォーマット
  5. コメント: HTMLコメントを適切に処理
  6. 埋め込み: ファイル埋め込みの処理
  7. 中括弧: 二重中括弧をJekyllのrawタグに選択的に変換

フロントマターの処理

  • 既存のフロントマターを保持
  • 'updated'タイムスタンプに基づいて日付フィールドを更新可能
  • 必要なJekyllフロントマターフィールドを自動追加

ファイル構成

  • 変換されたファイルをJekyllの_postsディレクトリに自動移動
  • 添付ファイル用の日付ベースフォルダを作成
  • 適切なファイル命名規則を維持(YYYY-MM-DD-title.md

設定

必須設定

  1. Jekyllパス: Jekyllプロジェクトの絶対パスを設定

    例: /Users/username/blog
  2. 相対リソースパス: 添付ファイルが保存される場所を設定

    デフォルト: assets/img

オプション機能

  1. 中括弧変換

    • 有効時、{{ variable }}{% raw %}{{ variable }}{% endraw %}に変換
    • Liquidテンプレート構文をそのまま表示する必要がある場合に有用
  2. フロントマター時間更新

    • 有効時、'date'フィールドを'updated'タイムスタンプで更新
    • 投稿日時を正確に維持するのに役立つ

使用例

  1. Obsidianで新規ノートを作成:

    ---
    title: 最初の投稿
    date: 2024-03-30
    categories: [技術, チュートリアル]
    tags: [obsidian, jekyll]
    ---

    # 最初の投稿

    様々なObsidian機能を使用したテスト投稿です:

    > [!note]
    > これはコールアウトです

    ここに画像があります:![[image.png]]

    そして他のノートへの[[ウィキリンク]]があります。
  2. ノートをreadyフォルダに移動

  3. O2変換コマンドを実行

  4. Jekyllでの変換後のファイル:

    ---
    title: 最初の投稿
    date: 2024-03-30
    categories: [技術, チュートリアル]
    tags: [obsidian, jekyll]
    ---

    # 最初の投稿

    様々なObsidian機能を使用したテスト投稿です:

    {: .prompt-info }
    > これはコールアウトです

    ここに画像があります:![image](/assets/img/2024-03-30-my-first-post/image.png)

    そして他のノートへの[ウィキリンク](wiki-link)があります。

トラブルシューティング

  1. 画像の欠落

    • Jekyllパスが正しく設定されているか確認
    • assetsディレクトリが存在し、書き込み権限があるか確認
    • 画像がObsidianの添付ファイルフォルダにあるか確認
  2. リンクの不具合

    • 相対リソースパスが正しく設定されているか確認
    • ファイル名が予想される形式と一致するか確認
  3. フロントマターの問題

    • フロントマターが有効なYAMLであるか確認
    • Jekyllテーマに必要なフィールドを確認
    • 日付が正しい形式(YYYY-MM-DD)であるか確認