WordPress Plugin
Marklane
MarkdownからWordPressの記事を公開・更新できます。画像やMermaid図、数式、注意書きは本文から反映し、公開状態や分類はFront Matterにまとめておけます。
WHY
こんなときに使えます
MarkdownをそのままWordPressへ公開したい
Markdownから投稿を作成・更新し、WordPressエディターで見出しや画像を整え直す手間を減らせます。
Markdownと画像を同じ流れで扱いたい
本文中の相対パス画像やアイキャッチ画像を、既存のメディアライブラリ画像に紐づけられます。
多言語記事もまとめて公開したい
Polylangを利用している場合、Front Matterの`lang`と`translations`から翻訳関係を設定できます。
図や数式を含む記事をMarkdownのまま公開したい
Mermaid図、`$$...$$` の数式、`[!NOTE]` のような注意書きを、Markdownの記述から公開ページに反映できます。
FEATURES
主な機能
Markdownを投稿として取り込む
`.md`ファイルをWordPress管理画面からアップロード、またはメディアライブラリから選択して、投稿として取り込めます。
Dry Runで保存前に確認
新規作成か更新か、どの投稿に一致したか、画像や分類がどう扱われるかを保存前に確認します。
既存投稿を更新
同じslugと投稿タイプの投稿がすでにある場合は、重複させずに更新できます。Polylang利用時は言語も含めて判定します。
画像をメディアライブラリに紐づけ
相対パス画像をメディアライブラリの既存画像へ解決します。Markdownと同じディレクトリを優先し、見つからない場合はuploads全体とMedia Libraryから同名ファイルを探します。`featuredImage`も同じ規則で扱い、FIFUが有効なら外部URLも使えます。
Polylangで多言語投稿を紐づけ
Front Matterで`lang`や`translations`を指定すると、言語ごとの投稿と翻訳の関係を設定できます。
分類と投稿日時を指定
カテゴリ・タグ、予約投稿や過去日付の投稿日時をFront Matterから指定できます。
図・数式・注意書きを表示
Mermaid図、`$$...$$` の数式、GitHub Alerts形式やZenn風メッセージ記法の注意書きを、Markdownから公開ページに反映できます。必要なスクリプトやスタイルは、対応する記法を含むページでだけ読み込みます。
Front Matterなしでも取り込む
Front Matterがない場合でも、最初のH1をタイトルに使い、ファイル名からslugを補完して下書き投稿として取り込めます。
SCREENSHOT
管理画面

ENVIRONMENT
動作環境
WordPress
5.6以上
PHP
8.0以上
INSTALLATION
インストール
- WordPress管理画面の`プラグイン > 新規追加`で`Marklane`を検索します。
- `Marklane`を有効化します。
- `ツール > Marklane`を開き、Markdownファイルをアップロード、またはメディアライブラリから選択します。
- 必要に応じてDry Runを実行し、問題なければ「Import」で投稿を生成・更新します。
手動インストールする場合は、プラグインフォルダを`/wp-content/plugins/`へアップロードし、WordPress管理画面の`プラグイン`から有効化します。
QUICK START
Markdownをすぐ試す
手元の記事にFront Matterを付けたい場合はAI用プロンプトをコピーできます。動作だけ先に確認したい場合は、サンプルMarkdownをダウンロードしてそのままDry Runできます。
AIでMarklane用Front Matterを追加
以下のMarkdown記事に、Marklaneで使えるYAML frontmatterを追加してください。
ルール:
- 既存本文は原則変更しない。見出し、文章、リンク、画像記法、コードブロックを勝手に書き換えない。
- 既存のYAML frontmatterがある場合は、本文を変えずに対応項目だけを検証・整理する。
- frontmatterはファイル先頭に `---` ... `---` で置く。
- 使用できるキーは `title`, `slug`, `excerpt`, `category`, `postType`, `tags`, `status`, `date`, `lang`, `translations`, `featuredImage` のみ。
- `title` は既存値または最初のH1を優先する。本文のH1自体は変更しない。
- `slug` は既存値があれば維持する。ない場合はタイトルに基づく短い英小文字・数字・ハイフンのslugを作る。
- `category` と `tags` は文字列の配列にする。本文から明確に判断できる少数の語だけを使い、サイト固有の分類を推測しない。
- `status` は `draft` または `publish` のみ。指示がなければ `draft`。
- `date` は記事や指示に根拠がある場合だけ追加し、ISO 8601形式にする。現在日時などを推測で入れない。
- `lang` と `translations` はPolylangを使うことが明示されている場合だけ追加する。`translations` は `language: slug` の対応表にする。
- `featuredImage` は実在すると分かる相対パスまたはMedia Library URLだけを使う。外部URLはFIFU利用が明示されている場合だけ使い、画像参照を推測で作らない。
- 無料版で未対応の `taxonomies`, `meta`, カスタムフィールド用キーは追加しない。
- 情報が足りない任意項目は推測せず省略する。`title` と `slug` はMarklane側でも補完できる。
- 出力は完成したMarkdown全文だけ。説明、前置き、Markdownコードフェンスは付けない。
この指示の後に対象Markdownを貼り付けます。プロンプトをコピーしたあと、同じメッセージの続きに対象のMarkdown記事を貼り付けてください。
サンプルMarkdown
画像や追加設定を用意しなくても試せる、短い下書き用サンプルです。
FRONTMATTER
Front Matterで指定できること
Markdownの先頭にFront Matterを書くと、タイトル、スラッグ、分類、公開状態、多言語情報まで原稿と一緒に管理できます。
自動補完される項目 (title, slug)
`title`は最初のH1、なければファイル名から補完されます。`slug`も未指定時はファイル名から補完され、更新判定のキーになります。
投稿の基本設定 (status, date, excerpt)
公開状態(draft/publish)や投稿日時、抜粋を指定できます。`date`を指定することで、予約投稿や過去日付での公開も可能です。
分類とアイキャッチ (category, tags)
配列形式でカテゴリ・タグを指定できます。アイキャッチには相対パスやURLを使えます。
多言語運用の設定 (lang, translations)
Polylang利用時に、その投稿の言語コードや、別言語版記事(slug)との紐づけを自動で行うための設定です。
YAML Front Matterのサンプル
---
title: "夜の庭の観察記録" # 投稿タイトル
slug: "moonlit-garden-notes" # スラッグ(更新判定のキー)
postType: "post" # 投稿タイプ(post/page/任意)
excerpt: "温室と庭の深夜記録。" # 投稿の抜粋
status: "publish" # 公開ステータス (publish/draft)
date: "2026-04-06T23:00:00+09:00" # 投稿日時 (ISO 8601等)
category: ["園芸", "日記"] # カテゴリ
tags: ["週末", "趣味"] # タグ
featuredImage: "./hero.jpg" # アイキャッチ画像(相対パスまたはURL)
lang: "ja" # Polylang 言語コード
translations:
en: "moonlit-garden-notes-en" # 多言語版記事の紐づけ (言語: スラッグ)
---
Front Matterがなくても、ファイル名と最初のH1から下書き投稿を作れます。
EXAMPLES
Markdownの拡張記法に対応
Mermaid、数式、注意書きなど、Markdownの記述が公開ページでどう表示されるかを例示しています。必要なスクリプトやスタイルは、対象の記法を含むページでだけ読み込みます。
| 記法 | Markdown | 公開ページ |
|---|---|---|
MermaidMermaid記法で書いた図を表示します。 | Markdown | 公開ページ Markdownを書くMarklaneで取り込むWordPressで公開 |
GitHub形式の注意書きGitHub形式の注意書きを表示します。 | Markdown | 公開ページ Note |
Zenn風メッセージZenn風メッセージを注意書きとして表示します。 | Markdown | 公開ページ Warning |
数式`$$...$$` で囲んだ数式を表示します。 | Markdown | 公開ページ |
STYLING
CSS変数で見た目を調整
Marklaneが出力するcallout、Mermaid、数式にはCSSクラスが付くため、テーマのCSSで余白や装飾を上書きできます。
calloutの色を調整
種類ごとに基準色を1つ指定すると、背景色と枠線色はその色から自動生成されます。変更したい種類だけ指定できます。
:root {
--marklane-callout-color-note: #3858e9;
--marklane-callout-color-tip: #007a1c;
--marklane-callout-color-info: #006ba1;
--marklane-callout-color-important: #8250df;
--marklane-callout-color-warning: #996800;
--marklane-callout-color-caution: #b32d2e;
--marklane-callout-color-danger: #b32d2e;
}CSSクラス一覧
色以外の見た目を調整するときに使えるクラスを、CSSのデフォルト値と用途とあわせてまとめています。
color-mix()に対応したブラウザでは、calloutの背景色と枠線色は各色変数から自動生成されます。表の背景色と枠線色は、非対応時に使われるフォールバック値です。
| CSSクラス | CSSのデフォルト値 | 説明 |
|---|---|---|
.marklane-callout | margin: 1.25em 0; padding: 0.85em 1em; border: 1px solid var(--marklane-callout-border-color); border-left: 5px solid var(--marklane-callout-color); border-radius: 4px; background: var(--marklane-callout-background); | callout全体の通知ブロックに使用 |
.marklane-callout__title | margin: 0 0 0.45em; font-weight: 700; color: var(--marklane-callout-color); | calloutのタイトル表示に使用 |
.marklane-callout-note | --marklane-callout-color: var(--marklane-callout-color-note, #3858e9); | Noteタイプのcalloutを識別し、色を切り替えるために使用 |
.marklane-callout-tip | --marklane-callout-color: var(--marklane-callout-color-tip, #007a1c); --marklane-callout-background: #edf8f0; --marklane-callout-border-color: #abd9b5; | Tipタイプのcalloutを識別し、色を切り替えるために使用 |
.marklane-callout-info | --marklane-callout-color: var(--marklane-callout-color-info, #006ba1); --marklane-callout-background: #edf8ff; --marklane-callout-border-color: #add9ed; | Infoタイプのcalloutを識別し、色を切り替えるために使用 |
.marklane-callout-important | --marklane-callout-color: var(--marklane-callout-color-important, #8250df); --marklane-callout-background: #f6f2ff; --marklane-callout-border-color: #d7c4f5; | Importantタイプのcalloutを識別し、色を切り替えるために使用 |
.marklane-callout-warning | --marklane-callout-color: var(--marklane-callout-color-warning, #996800); --marklane-callout-background: #fff8e5; --marklane-callout-border-color: #efd287; | Warningタイプのcalloutを識別し、色を切り替えるために使用 |
.marklane-callout-caution | --marklane-callout-color: var(--marklane-callout-color-caution, #b32d2e); --marklane-callout-background: #fcf0f1; --marklane-callout-border-color: #efb5b6; | Cautionタイプのcalloutを識別し、色を切り替えるために使用 |
.marklane-callout-danger | --marklane-callout-color: var(--marklane-callout-color-danger, #b32d2e); --marklane-callout-background: #fbeaea; --marklane-callout-border-color: #e5a6a7; | Dangerタイプのcalloutを識別し、色を切り替えるために使用 |
.marklane-details | margin: 1.25em 0; overflow: hidden; border: 1px solid #dcdcde; border-radius: 4px; background: #fff; | 折りたたみブロック全体に使用 |
.marklane-details__summary | padding: 0.75em 1em; font-weight: 700; cursor: pointer; background: #f6f7f7; | 折りたたみブロックの見出しに使用 |
.marklane-details__content | padding: 0.85em 1em; border-top: 1px solid #dcdcde; | 折りたたみブロックの本文領域に使用 |
.marklane-rendered-block | なし(共通クラス) | Mermaidや数式など、変換後のブロックに共通して使用 |
.marklane-mermaid | なし(Mermaidが描画) | Mermaid図の描画領域に使用 |
.marklane-math | なし(数式が描画) | インライン数式の描画に使用 |
.marklane-math-display | margin: 1.25em 0; overflow-x: auto; overflow-y: hidden; | ブロック数式の描画領域に使用 |
FAQ
よくある質問
既存投稿はどの条件で更新されますか?
既存投稿は `slug + post_type` で照合します。Polylangを使っている場合は `lang` も含めて判定します。
Dry Runでは何を確認できますか?
新規作成か更新か、どの投稿に一致したか、タクソノミーや画像がどう扱われるか、警告やエラーが出ていないかを保存前に確認できます。
既存投稿を更新する際、以前の画像はどうなりますか?
本文内の画像パスは、メディアライブラリにある既存画像へ紐づけます。同じ画像を重複して作成しません。
画像の解決(リンク置換)がうまくいきません
まずインポート対象のMarkdownと同じディレクトリを探索し、見つからない場合はuploads全体とMedia Libraryからbasename一致でフォールバック探索します。同時アップロードした補助画像はフラットに保存されるため、`images/foo.jpg`のようなフォルダ構造は再現されません。
WordPress のメディア設定について注意点はありますか?
相対パスを安定して解決するため、「アップロードしたファイルを年月ベースのフォルダーに整理する」はオフを推奨しています。
Front MatterがないMarkdownでも取り込めますか?
はい。最初のH1をタイトルに使い、slugはファイル名から補完して、下書き投稿として取り込めます。
Mermaidの図は表示できますか?
はい。`ツール > Marklane` で設定を有効にすると、`language-mermaid` コードブロックを含む公開ページだけで図の表示用スクリプトを読み込みます。本文の保存形式は通常のコードブロックのままです。
数式や注意書きは表示できますか?
はい。`$$...$$` の数式ブロック、GitHub Alerts形式やZenn風メッセージ記法の注意書きを任意設定で表示できます。`:::details` はJavaScript不要の折りたたみ表示になります。数式の表示に必要なスクリプトやスタイルも、数式を含むページでだけ読み込みます。
カスタムフィールド(ACF等)には対応していますか?
現在のバージョンでは標準投稿項目とタクソノミーに特化しており、カスタムフィールドの保存には対応していません。
日本語の強調記法に合わせた互換モードはありますか?
あります。既定では厳密なCommonMark挙動ですが、日本語の文章で `**「text」**続き` のような強調を扱いたい場合は、互換前処理用のフィルターを有効にできます。
NOTES
注意点
- 画像やMarkdownファイルは、ファイル名が重複しないように管理してください。
- 相対パス画像は、Markdownファイルと同じディレクトリに置くと最も予測しやすくなりますが、必須ではありません。
- 画像の相対パスを安定して解決するため、WordPressの年月ベースのフォルダ整理はオフを推奨しています。
CHANGELOG
更新履歴
1.7.0
- MarkdownアップロードのUTF-8/MIME検証を強化し、MIME拡張を管理画面の取り込みフローに限定
- 再取り込み時の投稿・画像・Markdown attachment探索を件数制限とhash優先へ整理し、大量メディア環境の負荷を改善
- source hashにimport fingerprintを組み合わせ、出力へ影響する設定変更時に必要な再取り込みを行うように改善
- 保存途中の失敗時に、新規投稿と未使用の新規タームを可能な範囲でロールバックするように改善
1.6.4
- 既存投稿の再取り込み時の照合と復元処理を改善
- 補助画像とメディア解決時の検証を強化
1.6.3
- スクリプト読み込みの安定性を改善
- Mermaidと数式レンダリングの安定性を改善
- インポート時の権限チェックを強化
- 相対画像パスの検証を強化
LINKS
関連リンク
- WordPress.org公式ディレクトリインストール方法、更新履歴、対応情報はこちら。
- 更新履歴バージョンごとの変更内容をまとめています。
- お問い合わせ利用に関する質問や連絡はこちらから。