Movable Typeのブロックエディタ(MTBlockEditor)のカスタムブロックについて

Movable Typeのブロックエディタ(MTBlockEditor)のカスタムブロックについて

Posted at June 6,2024 12:03 AM
Tag:[MovableType, MTBlockEditor]

Movable Typeのブロックエディタ(MTBlockEditor)のカスタムブロックの紹介です。

カスタムブロック

1.はじめに

Movable Type 8からMTBlockEditorがデフォルトのプラグインとなりました。

MTBlockEditorではデフォルトで用意されているブロックの他に、任意のブロック(カスタムブロック)を作成することができます。

ここでは、公式マニュアルに掲載されている「Markdown」ブロックを作ってみたいと思います。

参考:カスタムブロック機能を利用して高機能な Markdown を利用する

2.カスタムブロック(Markdown)の作成

左メニューより「ブロックエディタ」→「カスタムブロック」をクリック。

カスタムブロック

「新規作成」をクリック。

新規作成

  • 名前:Markdown
  • 識別子:markdown

を設定。アイコンは設定しなくて大丈夫です。

「名前」項目と「識別子」項目

「ブロック」の「+ブロックを追加」をクリック。

ブロック追加

「テキスト(複数行)」をクリック。

ブロック選択

  • クラス名:source
  • ブロック要素:P
  • フォーマット:なし

を設定または選択。「ラベル」「説明」「規定値」は設定不要です。

各項目の設定

「カスタムスクリプト」に下記の内容を設定。これがMarkdown記法に対応するためのスクリプトになります。

<script src="https://cdnjs.cloudflare.com/ajax/libs/marked/1.1.0/marked.min.js" integrity="sha256-POA+Q3FC8tyo/jZhQrw40H5mKcWAABdxNeUQ/uhIm4U=" crossorigin="anonymous"></script>
<script>
document.addEventListener("DOMContentLoaded", () => {
if (document.body.dataset.hasCompiledHtml) {
return;
}
const source = document.querySelector(".source").innerHTML;
MTBlockEditorSetCompiledHtml(marked(source));
});
</script>

「カスタムスクリプト」項目

「コンテナ要素で包む」の「編集した内容をDIV要素で囲む」と「ブロックの追加と削除」の「ブロックの追加と削除を許可する」のチェックを外します。「ブロックの追加と削除を許可する」のチェック有無の違いは3項で説明します。

「コンテナ要素で包む」項目と「ブロックの追加と削除」項目

「プレビューの表示」の「プレビューを表示する」はチェックします。チェックすることで、テキストエリアからフォーカスが外れると、プレビュー表示に切り替わりので分かりやすいと思います。

「プレビューの表示」項目

「保存」をクリックして作成完了です。

保存

3.カスタムブロック(Markdown)の利用

ここではコンテンツデータの「テキスト(複数行)」から利用します。

「フォーマット」から「ブロックエディタ」を選択。

フォーマット選択

「+ブロックを追加」をクリック。

ブロックを追加

「Markdown」を選択(「名前」で設定した「Markdown」が表示されます)。

ブロック選択

ここに表示されたアイコンは下記のSVGで生成されているようです。

data:image/svg xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><style>text{font-family:'Arial';font-weight:bold;font-size:405px}</style><circle r='256' cx='256' cy='256' stroke='none' fill='#666'></circle><text x='256' y='274' text-anchor = 'middle' dominant-baseline = 'central' fill='white'>M</text></svg>

Markdown用のテキストエリアが表示されます。テキストエリアにフォーカスがあたったとき、「名前」で設定した「Markdown」がヘッダに表示されます。

Markdown用のテキストエリア表示

設定画面で、「ブロックの追加と削除を許可する」のチェックを入れると、次のようにMarkdownブロック内に他のブロックが追加可能になります。

Markdownブロック内に他のブロックが追加

Markdown記法で入力してみます。「*~*」がイタリック、「**~**」が太字、「***~***」がイタリック+太字です。

Markdown記法で入力

フォーカスが外れると、プレビューが表示されます。

プレビューあり

設定画面の「プレビューを表示する」のチェックを外せば、フォーカスが外れてもMarkdown記法がそのまま表示されます。

プレビューなし

関連記事
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)