MT4.1:CustomEditorButton2 プラグイン
twitter見てて、便利そうなプラグインを見つけました。発信者はaklaswad さん。
blog.aklaswad.com:CustomEditorButton2 出来ました。
要はMTのエディタのボタンを増やすのですね。MT4.1専用とのことです。
わたしはここの日記とかはマークアップとかしないんですが、記事を書くときは段落とかリストとかマークアップします。このプラグインを見て、ん~。私がよく使うpタグとdlリストが無いので、追加してみました。
なお、dlはdl、dt、ddを空タグで出力します。
name: Custom Editor Button 2
id: Custom Editor Button 2
key: CustomrEditorButton2
author_link: http://blog.aklaswad.com/
author_name: aklaswad
description: add user buttons to cms entry/page editor.
version: 0.1
plugin_link: http://blog.aklaswad.com/mtplugins/customeditorbutton2/
applications:
cms:
methods:
save_ceb_prefs: $CustomEditorButton2::CustomEditorButton2::save_prefs
callbacks:
MT::App::CMS::template_output.edit_entry: $CustomEditorButton2::CustomEditorButton2::transformer
buttons:
codeblock:
image: images/codeblock.png
title: wrap selection with 'code' tag
code: |
function ceb_codeblock ( text ) {
return '<code>' + text + '</code>';
}
prebutton:
image: images/pre.png
title: wrap selection with 'pre' tag
code: |
function ceb_prebutton ( text ) {
return '<pre>' + text + '</pre>';
}
pbutton:
image: images/p.png
title: wrap selection with 'p' tag
code: |
function ceb_pbutton ( text ) {
return '<p>' + text + '</p>';
}
dlbutton:
image: images/dl.png
title: insert blank 'dl dt dd' tag
code: |
function ceb_dlbutton ( text ) {
return '<dl>\n' +'<dt></dt>\n' +'<dd></dd>\n' +'</dl>\n';
}
insertbutton:
image: images/ins.png
title: wrap selection with 'ins' tag
code: |
function getISO8601String(){
function zp(num){
if(num < 10){num = '0' + num;}
return num;
}
var d,yy,mm,dd,hr,mn,sc,tz,isotime;
d = new Date();
yy = d.getFullYear();
mm = zp(d.getMonth()+1);
dd = zp(d.getDate());
hr = zp(d.getHours());
mn = zp(d.getMinutes());
sc = zp(d.getSeconds());
tz = zp(( d.getHours() - d.getUTCHours() + 24 ) % 24);
return yy + '-' + mm + '-' + dd + 'T' + hr + ':' + mn + ':' + sc + '+' + tz + ':00';
}
function ceb_insertbutton ( text ) {
return '<ins datetime="' + getISO8601String() + '">' + text + '</ins>';
}
deletebutton:
image: images/del.png
title: wrap selection with 'del' tag
code: |
function ceb_deletebutton ( text ) {
return '<del datetime="' + getISO8601String() + '">' + text + '</del>';
}
感想
ユーザが機能拡張できる点が、素晴らしいですね。長い文字列をイッパツで入れるコードスニペット機能などに拡張することもできますね。ドロップダウンリストは2アクション、ボタンは1アクションですから、その優位性は上。
わたしはボタンの絵を描くとかいう細かい作業がちょっとアレなんで、ボタンではなくテキストリンクでもいいかなー?という点が、要望といえば要望です。
あと、CustomEditorButton2ライブラリ的なものがあると(要はいろんなサンプルですね)、自力で機能拡張できるユーザは楽ができますね。わたしはもしそういう場があれば貢献したいと思います。
2008/03/02 追記
pタグとかは手で入れれば(実は)そっちのほうが早いんだけど、dlタグはdl dt /dt dd /dd /dl って、面倒なんです。この空タグを入力できるように改造したんですが、これが便利。よく使うがなかなか暗記できない長いコードが入るように改造してみようかと思案中。config.yaml本体を改造せずに*.mtmlファイルなんかを外部ファイルとして追加してライブラリ化できると安全そう(でももしかすると製作者の意図を外れているかも知れない)
- カテゴリ:211Movable Type4
トラックバック(0)
このブログ記事を参照しているブログ一覧: MT4.1:CustomEditorButton2 プラグイン
このブログ記事に対するトラックバックURL:
- Categories
- Entries
-
- MT4:エントリ投稿画面をホゲる実験
- MT4LP5で得たもの
- MT4LP5に参加しました
- MT4.1:mtde.info 開設しました。
- Movable Type4で、かなり気に入っていること
- Movable Type4で、かなり気に入らないこと
- MT4.1:CustomEditorButton2 プラグイン
- MT4.1:「テンプレートの編集」画面のコードスニペットを拡張する
- MT4.1:自サイト・他サイトのFeed情報を取得してリスト化(続編)
- 日記(K0、mtde、MT)
- MT4.1:自サイト・他サイトのFeed情報を取得してリスト化
- ノープラグインでカテゴリーソート(MT4.1専用版)多分に反則
- 自サイト内の特定カテゴリのRSSを出力
- MT4.1:モジュール化(雑談ですが)
- MT4.1:カテゴリリストへ代表画像を付与する(Asset系)
- MT4.1:カテゴリリスト+エントリ全展開+エントリのAsset代表画像表示
- MT4.1:イメージの幅指定で高さを自動的に計算(Asset系)
- MT4.1:MTでサポートされない演算をJavaScript関数ライブラリ化する
- MT4.1:エントリと同じタグのついた他エントリをリストアップする(自エントリを強調表示・改良版)
- エントリと同じタグのついた他エントリをリストアップする(自エントリを強調表示)
- 最新記事で使用されているタグの最新5件を表示
- MT4.1:エントリリストへ、特定カテゴリ用画像をつける
- MT4LP5
- MT4.1で乱数を取得したい場合
- ★マークでエントリ数を示すエントリリストつきカレンダー
- 横型カレンダー(素ノーマル)
- ファンキーな横置きカレンダー
- サムネイル画像エントリリストの改造(MT4.1用)
- MT4.1 ついにリリース
- 日記
- MT4.1:変数2つでの演算 (2)
- MT4.1:テンプレートタグで100までの数から素数を求める
- MT4.1:変数2つでの演算
- 日記
- MT4.1:年度タイトルつき月別アーカイブ(4月で新年度切り替え)
- MT4.1:年タイトルつき月別アーカイブ(1月で新年切り替え)
- 全カテゴリからエントリを3件ずつ表示する。キメウチ禁止
- MT4.1:カテゴリの並べ替え+表示切り替え+現カテゴリ展開+強調表示つき(カスタムフィールド+ハッシュ変数)
- MT4.1:カテゴリの並べ替え+表示切り替え(カスタムフィールド+ハッシュ変数)
- MT4.1:カテゴリの並べ替え(カスタムフィールド+ハッシュ変数)
- 日記
- MT4.1:文字列を繋げる
- MT4.1:カテゴリの並べ替え(プラグイン使わず)
- エントリと同じタグのついた記事一覧をリストアップ(3)
- あるエントリの存在するカテゴリの、サブカテゴリ内のエントリを抽出する
- 配列に対するpopとshift
- MTのテンプレートタグでFizzBuzz。
- エントリと同じカテゴリ内のエントリ一覧取得
- MT4.1:Forループ(文字列の連結)
- MT4.1:Forループ(配列中より特定のデータのインデックスを取得)
- MT4.1:Forループ(配列の並びを逆にする)
- MT4.1:Loopループ(基本形)
- MT4.1:Forループ(基本形)
- MT4.1:配列サンプル(配列の先頭・末尾からデータ取得・削除)
- MT4.1:配列サンプル(特定カテゴリの全エントリのみを配列へ代入)
- MT4.1:配列サンプル(全カテゴリを配列へ代入)
- 外部ブログのRSSを自サイトへ読み込み
- 名無しコメントに対応する
- 複数カテゴリの最新情報5件(例2)
- 複数カテゴリの最新情報5件(例1)
- カテゴリごとの表示形態を変える(多カテゴリ対応)
- 特定のカテゴリの最新エントリ5件をメインページへ表示
- 変数専用モジュールで取得したカテゴリ情報配列をほかのモジュールで使用する
- 定数・変数専用のモジュールを使う
- タグ名の全取得、配列へセット、生成文字列連結
- カテゴリ名の全取得、配列へセットする
- サムネイル画像エントリリストの改造(さらにチューン)
- サムネイル画像エントリリストの改造(OK版)
- サムネイル画像エントリリストの改造
- MT4のコメントフォーム
- 配列使ってみたテスト
- ブログ記事投稿時のタグ・キーワードとか
- 実験記事:キーワードのつけ方と概要の書き方
- デザイン小変更
- MT4書籍購入
- MT4で日本語を用いたタグクラウドがおかしい・~が出ない問題点
- 小粋な本の購入
- ちょっと気づいたこと
- MTSetVarでクリッカブルマップ
- 画像サムネイルエントリリスト(改)
- MTGetVarによるアンカーリンク
- MT3>MT4バージョンアップ時不具合
- pageを用いたナビゲーションバー
- 画像の取り扱い
- MT3サイトをMT4サイトへコンバート
- 月別アーカイブのタイトルが0000年12月となる不具合
- MT4で、エントリが再構築されないとき
- MTGetVarで文字列置換
- エントリと同じタグのついた記事一覧をリストアップ(2)
- 同一カテゴリーに属するエントリ一覧
- Folderの親子関係を調べる
- FolderLabel・FolderDescription関係調査
- カテゴリ・エントリリスト(改)
- カテゴリ・エントリリスト
- folder調査用テンプレート(1)
- トップレベルのウェブページのみ抜き出す
- ドロップダウンタグリスト
- Feed情報調査用テンプレート
- MTEntryCreatedDate
- コメント調査用テンプレート
- カテゴリ数、エントリ数、ウェブページ数の取得
- strip_tagsモデファイア
- replaceモデファイア
- regex_replaceモデファイア
- count_paragraphsモデファイア
- count_charactersモデファイア
- catモデファイア
- count_wordsモデファイア
- MTAuthor関連調査
- 画像サムネイルエントリリスト
- MTAsset関連調査(2)
- MTAsset関連調査
- カテゴリ毎に表示を変えるには?
- 強調表示付きカテゴリリスト
- MT4ライセンス購入
- MT4:Webページで生成するグローバルナヴィゲーション
- MT4:エントリと同じタグのついた記事一覧をリストアップ
- MT4:テンプレート構想変更
- MT4:beta7の生成xhtmlコード解析、ほか
- MT4:うっかりやってはいけないこと
- MT4:スタイルシートの切り替え
- MT4:モジュール化成果
- MT4:モジュール化・アルファ(本文)エリアの改造
- MT4:モジュール化・システムテンプレート
- MT4:モジュール化・ウェブページ
- MT4:モジュール化・エントリアーカイブページ
- MT4:モジュール化・カテゴリアーカイブページ
- MT4:モジュール化・アルファ(本文)エリア
- MT4:エントリについて
- MT4:モジュール化・バナーエリア
- MT4:モジュール化・ヘッダコード
- MT4:モジュール化・モジュール名の命名規則
- MT4:モジュール化・基本形改造
- MT4:XML宣言モジュール
- MT4:モジュール化・基本形
- MT4:カテゴリソート(MTCategoryLabel remove_html="1")

コメント(2)
aklaswad (2008年3月 3日 12:35)
ご紹介ありがとうございます。dl/dt/ddはあると便利ですよねー。
ボタンの追加は、本体のconfig.yamlを弄らずに、別プラグインから出来るようになってます。
作成方法はこちらにまとめてます。色々拡張していくつもりです。
http://blog.aklaswad.com/mtplugins/writting-custom-button-plugins.html
何か作ったら教えてくださいー。
yoshi (2008年3月 3日 19:19)
こんにちは。
普段私はキーボードのみでタグ打っています。昨日はこの機能を用いてdl/dt/ddで実際使ってみましたが、かなり便利でした。
>ボタンの追加は、本体のconfig.yamlを弄らずに、別プラグインから出来るようになってます。
すいません、よく読んでおりませんでした。
熟読してトライします。
何か作ったらフィードバックしますので。
コメントする