久しぶりにCustomEditorButtonプラグインのボタンを作成してみました。今回のボタンは本文中の選択テキストを概要フィールドに入れてしまうというものです。
小粋空間さまにて、ExcerptRichText プラグインが公開されています。記事投稿画面の概要フィールドを、本文や追記のようにタブで選択してリッチテキストを使えるようにするというプラグインです。
そこでワタくシもアイデアを頂戴いたしまして、テキスト中の選択部分を概要フィールドにいれてしまおう、というのを考えました。
思いつきで作ったのでいまいとつなのですが、スクリプトのコードのみ掲載しておきます。あ、その前にまずはCustomEditorButtonプラグインを導入しておきます。 blog.aklaswad.comさまの以下のページから入手できます。
コードは以下のようなものです。*注:初期バージョンのものです
buttons:
utl_excerpt:
title: excerpt field
image: images/excerpt.png
code: |
function ceb_utl_excerpt ( text ) {
var removetext = 0; // If you remove a select text, removetext= 1;
var show_excerpt_field = 0; // Display Excerpt field, show_excerpt_field = 1;
var cid = document.getElementById('excerpt');
if(cid==null) return;
if(show_excerpt_field==1){
var node = document.getElementById('excerpt-field');
node.className = "field";
}
var vl = text;
document.getElementById('excerpt').value = vl;
if(removetext==1){ return '';
} else {
return undefined;
}
}
現時点の気づいた点は以下のとおりです。
- テンプレートタグや(X)HTMLタグの除去機能はないですのでタグがついたまま放り込みます。
- フィールドに内容があるとき、選択しない状態でボタンを押すと、概要フィールドの内容が消えます。
- IEで動作が怪しいかもですのでFirefoxのほうをおすすめしておきます。
- Firefox3のCtrlを使った複数選択には対応できてません。
おまけ的な機能ですが、removetext の値を1にすると、ボタンを押したとき選択テキストをカットします。show_excerpt_fieldの値が1のときは、「表示オプション」で概要フィールドの表示のチェックの有無に関係なくボタンが押されたら、概要フィールドを表示します。
追記:2009/03/06 プラグインのファイルを置いておきます。
2009/09/05 プラグインをアップデートしました。主な変更点は以下となります。
- Movable Type 5(5.0 beta 1)の画面での確認をおこなった
- 概要フィールド入力時にメッセージがでるようにした
- 選択せずにボタンが押されたときにアラートがでるようにした
- remove_textの機能を使用したとき、テキストを半角スペースで返す動作に変更した
- 2009.09.05 update ver. 0.2.0
- Newer: ユーザースタイルシート:Analyticsでtableの行をハイライト
- Older: ブロックタグとファンクションタグと書式のこと
- jQuery For MTプラグインをいれてみました
- Custom Editor Buttonプラグイン関連まとめページ
- Movable Typeで分割ページのTITLE要素にページ数を入れるお話
- MTPaginateプラグインのMTPaginatePreviousPageLink等について
- DeliciousリニュにつきActionStreamsのconfig.yamlを修正
- メモ:特定カスタムフィールドの値は提供されたタグで
- ウェブページのページごとでカラムレイアウトを替える
- 今月のいらんことしい(2009年12月)
- カスタムボタンまとめのページを作成。
- メモ:タイトルに角形括弧が含まれる記事に何かするテンプレート