WordPress Plugin

Marklane

MarkdownからWordPressの記事を公開・更新できます。画像やMermaid図、数式、注意書きは本文から反映し、公開状態や分類はFront Matterにまとめておけます。

Markdown原稿をWordPress投稿へ取り込むMarklaneのロゴ

こんなときに使えます

  • MarkdownをそのままWordPressへ公開したい

    Markdownから投稿を作成・更新し、WordPressエディターで見出しや画像を整え直す手間を減らせます。

  • Markdownと画像を同じ流れで扱いたい

    本文中の相対パス画像やアイキャッチ画像を、既存のメディアライブラリ画像に紐づけられます。

  • 多言語記事もまとめて公開したい

    Polylangを利用している場合、Front Matterの`lang`と`translations`から翻訳関係を設定できます。

  • 図や数式を含む記事をMarkdownのまま公開したい

    Mermaid図、`$$...$$` の数式、`[!NOTE]` のような注意書きを、Markdownの記述から公開ページに反映できます。

主な機能

  • Markdownをまとめて取り込む

    WordPress管理画面でMarkdownを1件ずつ、または複数まとめて選択できます。Dry Runと本実行の結果はファイルごとに確認できます。

  • Dry Runで保存前に確認

    新規作成か更新か、どの投稿に一致したか、画像や分類がどう扱われるかを保存前に確認します。

  • 既存投稿を更新

    同じslugと投稿タイプの投稿がすでにある場合は、重複させずに更新できます。Polylang利用時は言語も含めて判定します。

  • 画像をメディアライブラリに紐づけ

    Markdown内の相対パス画像を、メディアライブラリの既存画像に紐づけます。Markdownと同じディレクトリを優先し、見つからない場合はuploads全体とメディアライブラリから同名ファイルを探します。`featuredImage`も同じ規則で扱い、FIFUが有効なら外部URLも使えます。

  • Polylangで多言語投稿を紐づけ

    Front Matterで`lang`や`translations`を指定すると、言語ごとの投稿と翻訳の関係を設定できます。

  • 分類・カスタムフィールド・投稿日時を指定

    カテゴリ・タグ、既存のカスタムタクソノミー、カスタムフィールド、予約投稿や過去日付の投稿日時をFront Matterから指定できます。

  • 図・数式・注意書きを表示

    Mermaid図、`$...$` の数式、GitHub Alerts形式やZenn風メッセージ記法の注意書きを、Markdownから公開ページに反映できます。注意書きには種類別のアイコンと英語ラベルを表示します。必要なスクリプトやスタイルは、対応する記法を含むページでだけ読み込みます。

  • Front Matterなしでも取り込む

    Front Matterがない場合でも、最初のH1をタイトルに使い、ファイル名からslugを補完して下書き投稿として取り込めます。

管理画面

MarklaneのWordPress管理画面。Markdownと関連画像のアップロード、投稿ステータス、Dry Run、Importボタンが並んでいる
Markdownファイルや関連画像を選び、Dry RunやImportを実行する画面です。

動作環境

  • WordPress

    6.4以上

  • PHP

    8.2以上

インストール

  1. WordPress管理画面の`プラグイン > 新規追加`で`Marklane`を検索します。
  2. `Marklane`を有効化します。
  3. `ツール > Marklane`を開き、Markdownファイルをアップロード、またはメディアライブラリから選択します。
  4. 必要に応じてDry Runを実行し、問題なければ「Import」で投稿を生成・更新します。

手動インストールする場合は、プラグインフォルダを`/wp-content/plugins/`へアップロードし、WordPress管理画面の`プラグイン`から有効化します。

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`, `taxonomies`, `meta` のみ。
- `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

画像や追加設定を用意しなくても試せる、短い下書き用サンプルです。

サンプルMarkdownをダウンロード

Front Matterで指定できること

Markdownの先頭にFront Matterを書くと、タイトル、スラッグ、分類、公開状態、多言語情報まで原稿と一緒に管理できます。

  • 自動補完される項目 (title, slug)

    `title`は最初のH1、なければファイル名から補完されます。`slug`も未指定時はファイル名から補完され、更新判定のキーになります。

  • 投稿の基本設定 (status, date, excerpt)

    公開状態(draft/publish)や投稿日時、抜粋を指定できます。`date`を指定することで、予約投稿や過去日付での公開も可能です。

  • 分類・カスタムフィールド・アイキャッチ

    `category`、`tags`、`taxonomies`、`meta`で分類やカスタムフィールドを指定できます。`featuredImage`でアイキャッチも設定できます。

  • 多言語運用の設定 (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" # 多言語版記事の紐づけ (言語: スラッグ)
---

![温室の写真](./hero.jpg)

Front Matterがなくても、ファイル名と最初のH1から下書き投稿を作れます。

Markdownの拡張記法に対応

Mermaid、数式、注意書きなど、Markdownの記述が公開ページでどう表示されるかを例示しています。必要なスクリプトやスタイルは、対象の記法を含むページでだけ読み込みます。

Markdownの拡張記法に対応
記法Markdown公開ページ

Mermaid

Mermaid記法で書いた図を表示します。

Markdown

```mermaid
flowchart LR
  A[Markdownを書く] --> B[Marklaneで取り込む]
  B --> C[WordPressで公開]
```

公開ページ

GitHub形式の注意書き

GitHub形式の注意書きを表示します。

Markdown

> [!NOTE]
> 公開前にDry Runで内容を確認できます。

公開ページ

Note

公開前にDry Runで内容を確認できます。

Zenn風メッセージ

Zenn風メッセージを注意書きとして表示します。

Markdown

:::message alert
公開前にバックアップを確認してください。
:::

公開ページ

Warning

公開前にバックアップを確認してください。

数式

`$$...$$` で囲んだ数式を表示します。

Markdown

$$
E = mc^2
$$

公開ページ

E = m c 2

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-calloutmargin: 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__titlemargin: 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-detailsmargin: 1.25em 0; overflow: hidden; border: 1px solid #dcdcde; border-radius: 4px; background: #fff;折りたたみブロック全体に使用
.marklane-details__summarypadding: 0.75em 1em; font-weight: 700; cursor: pointer; background: #f6f7f7;折りたたみブロックの見出しに使用
.marklane-details__contentpadding: 0.85em 1em; border-top: 1px solid #dcdcde;折りたたみブロックの本文領域に使用
.marklane-rendered-blockなし(共通クラス)Mermaidや数式など、変換後のブロックに共通して使用
.marklane-mermaidなし(Mermaidが描画)Mermaid図の描画領域に使用
.marklane-mathなし(数式が描画)インライン数式の描画に使用
.marklane-math-displaymargin: 1.25em 0; overflow-x: auto; overflow-y: hidden;ブロック数式の描画領域に使用

よくある質問

無料で使えますか?

はい、すべての機能を無料で利用できます。気に入っていただけたら、GitHub Sponsorsから任意で開発を支援できます。

複数のMarkdownをまとめて取り込めますか?

はい。複数ファイルを選択してDry RunやImportを実行できます。結果はファイルごとに確認でき、一部が失敗しても残りの取り込みを続けます。

既存投稿はどの条件で更新されますか?

既存投稿は `slug + post_type` で照合します。Polylangを使っている場合は `lang` も含めて判定します。

Dry Runでは何を確認できますか?

新規作成か更新か、どの投稿に一致したか、タクソノミーや画像がどう扱われるか、警告やエラーが出ていないかを保存前に確認できます。

既存投稿を更新する際、以前の画像はどうなりますか?

本文内の画像パスは、メディアライブラリにある既存画像へ紐づけます。同じ画像を重複して作成しません。

画像がうまく紐づきません

まずインポート対象のMarkdownと同じディレクトリを探し、見つからない場合はuploads全体とメディアライブラリから同じファイル名を探します。同時アップロードした補助画像はフラットに保存されるため、`images/foo.jpg`のようなフォルダ構造は再現されません。

WordPressのメディア設定について注意点はありますか?

相対パスを安定して解決するため、「アップロードしたファイルを年月ベースのフォルダーに整理する」はオフを推奨しています。

Front MatterがないMarkdownでも取り込めますか?

はい。最初のH1をタイトルに使い、slugはファイル名から補完して、下書き投稿として取り込めます。

Mermaidの図は表示できますか?

はい。`ツール > Marklane` で設定を有効にすると、`language-mermaid` コードブロックを含む公開ページだけで図の表示用スクリプトを読み込みます。本文の保存形式は通常のコードブロックのままです。

数式や注意書きは表示できますか?

はい。`$$...$$` の数式ブロック、GitHub Alerts形式やZenn風メッセージ記法の注意書きを任意設定で表示できます。`:::details` はJavaScript不要の折りたたみ表示になります。数式の表示に必要なスクリプトやスタイルも、数式を含むページでだけ読み込みます。

カスタムフィールド(ACF等)には対応していますか?

はい。Front Matterの`meta`でカスタムフィールドを保存できます。保護されたキーや権限がない項目は保存されません。

日本語の強調記法に合わせた互換モードはありますか?

あります。既定では厳密なCommonMark挙動ですが、日本語の文章で `**「text」**続き` のような強調を扱いたい場合は、互換前処理用のフィルターを有効にできます。

注意点

  • 画像やMarkdownファイルは、ファイル名が重複しないように管理してください。
  • 相対パス画像は、Markdownファイルと同じディレクトリに置くと最も予測しやすくなりますが、必須ではありません。
  • 画像の相対パスを安定して解決するため、WordPressの年月ベースのフォルダ整理はオフを推奨しています。

更新履歴

  • 2.0.0

    • 最低対応環境をWordPress 6.4以上、PHP 8.2以上へ変更
    • YAMLパーサーをSymfony 7.4 LTS系列に更新
    • Mermaidを12系に更新し、図の新しい表示方式に対応
    • Mermaidの同梱ファイルを必要なものに絞り、プラグインの配布サイズを削減
    • 複数のMarkdownを一度に取り込み、ファイルごとの結果を確認できるように
    • frontmatterのカスタムフィールドとカスタムタクソノミーの取り込みに対応
    • calloutをGitHub Alerts風の表示に変更し、英語の種類ラベルを追加
  • 1.9.0

    • 管理画面と取り込み結果の日本語表示に対応
    • メディアライブラリを開く専用ボタンを追加し、ドロップゾーンから取り込んだMarkdownはメディアライブラリに登録しない方式に変更
    • 管理画面の設定と取り込み結果の操作を整理
    • 未対応の`meta`指定を警告として扱い、ほかの内容を取り込めるように改善
  • 1.8.0

    • 取り込み完了後に続けて別のMarkdownを選べる操作を追加
    • 利用頻度の低い設定を詳細設定にまとめ、取り込み画面を整理
    • Mermaidを必要なときに読み込み、図を含むページの初期表示を軽量化

すべて見る

WordPress.org