Jekyll統合
O2は、ObsidianのノートをJekyllのブログ投稿に変換する際、Jekyllのブログ機能とマークダウン拡張との互換性を維持しながら変換を行います。
プロジェクト構造
Jekyllへの変換時、O2は以下の構造に従います:
your-jekyll-project/
├── _posts/ # 変換されたノートが配置される場所
└── assets/
└── img/ # 添付ファイルが保存される場所
└── YYYY-MM-DD-title/ # 各投稿の添付ファイル用の日付ベースフォルダ
機能
マークダウン変換
O2は、様々なObsidian固有のマークダウン機能をJekyll互換形式に自動変換します:
- ウィキリンク:
[[ノートタイトル]]
→[ノートタイトル](ノート-タイトル)
- リソースリンク: 画像とファイルリンクをJekyllのアセットパスに変換
- コールアウト: ObsidianのコールアウトをJekyll互換形式に変換
- 脚注: 脚注を適切に保持し、フォーマット
- コメント: HTMLコメントを適切に処理
- 埋め込み: ファイル埋め込みの処理
- 中括弧: 二重中括弧をJekyllのrawタグに選択的に変換
フロントマターの処理
- 既存のフロントマターを保持
- 'updated'タイムスタンプに基づいて日付フィールドを更新可能
- 必要なJekyllフロントマターフィールドを自動追加
ファイル構成
- 変換されたファイルをJekyllの
_posts
ディレクトリに自動移動 - 添付ファイル用の日付ベースフォルダを作成
- 適切なファイル命名規則を維持(
YYYY-MM-DD-title.md
)
設定
必須設定
-
Jekyllパス: Jekyllプロジェクトの絶対パスを設定
例: /Users/username/blog
-
相対リソースパス: 添付ファイルが保存される場所を設定
デフォルト: assets/img
オプション機能
-
中括弧変換
- 有効時、
{{ variable }}
を{% raw %}{{ variable }}{% endraw %}
に変換 - Liquidテンプレート構文をそのまま表示する必要がある場合に有用
- 有効時、
-
フロントマター時間更新
- 有効時、'date'フィールドを'updated'タイムスタンプで更新
- 投稿日時を正確に維持するのに役立つ
使用例
-
Obsidianで新規ノートを作成:
---
title: 最初の投稿
date: 2024-03-30
categories: [技術, チュートリアル]
tags: [obsidian, jekyll]
---
# 最初の投稿
様々なObsidian機能を使用したテスト投稿です:
> [!note]
> これはコールアウトです
ここに画像があります:![[image.png]]
そして他のノートへの[[ウィキリンク]]があります。 -
ノートを
ready
フォルダに移動 -
O2変換コマンドを実行
-
Jekyllでの変換後のファイル:
---
title: 最初の投稿
date: 2024-03-30
categories: [技術, チュートリアル]
tags: [obsidian, jekyll]
---
# 最初の投稿
様々なObsidian機能を使用したテスト投稿です:
{: .prompt-info }
> これはコールアウトです
ここに画像があります:
そして他のノートへの[ウィキリンク](wiki-link)があります。
トラブルシューティング
-
画像の欠落
- Jekyllパスが正しく設定されているか確認
- assetsディレクトリが存在し、書き込み権限があるか確認
- 画像がObsidianの添付ファイルフォルダにあるか確認
-
リンクの不具合
- 相対リソースパスが正しく設定されているか確認
- ファイル名が予想される形式と一致するか確認
-
フロントマターの問題
- フロントマターが有効なYAMLであるか確認
- Jekyllテーマに必要なフィールドを確認
- 日付が正しい形式(YYYY-MM-DD)であるか確認