Snow-Materia > Arekore-TextArea

はじめに

「あれこれテキストエリア」 と呼びます。
どっかのMTとかにある のように、 選択部分のテキストをうまい具合に整形できちゃいます。

なお、このスクリプトを使用できる環境は Windows + Internet Explorer 6.0 のみ ですので、ご了承ください。
中の JavaScript も IE6用に書いてあります。 それ以外だとたぶん動きません。
Mac + IE5.5 は持ってないので知りません。

それと、デフォルトでは、 <B><I><FONT> などの非推奨タグはつけてないです。 (つけたければご自分で)

さんぷる

おしらせ

12/21
title属性の代わりの代替属性の設定を追加。
12/12
カヤさんのアイデアを受け取り、 複数の文字を正規表現で一発置換できるようにした。
(前までは文字一個一個手作業でやってたけど、 これを文字参照への置換などに応用するとすごく楽かも)
以前紹介したカヤさんのページで、 あれこれカスタマイズする(項目を追加する)方法とか紹介されてました。
なんだかおまかせしちゃってるみたいでスミマセン。(笑)
glas-gather > MTへのArekore-TextAreaの置き方 > Download後の設定変更
12/10
メニューがウィンドウの端っこで途切れてしまうときは、 ポップアップ位置をちょっとだけ補正するようにしてみた。
12/9
行頭・行末マークでの正規表現の修正と、
選択部分に改行が入ったとき、 その改行分、変換後の選択部分が長くなるのを修正。
(Winの改行は\r\nで2文字なんだけど、 document.selection.createRange().duplicate().move() での位置的には\rは数に数えないという変な仕様w)
12/9
「すべて○○」の部分と、 画面が縦長だと、マウスカーソルの座標が違うかったのを修正。
( document.body.scrollTop [px]分 足してないの使ってた)
12/8
カヤさんが、 MTへのArekore-TextAreaの置き方 なるものを書いてくださってました。
MTへ導入してみたい方は参考になさってみてわ。
12/8
とりあえずできたっぽいので公開。
2004/12/7
思いつきで作り始めてみる。

使い方について

  1. テキストエリアの上で右クリックを押すか、テキストを選択状態にすると、 その辺にメニューがでてくると思います。
    (でてこなかったら使えないと思ってください)
  2. 代入(変換)したい項目(タグとかテキスト)を選んでクリック。
  3. 選択したテキスト部分が変わってたら成功です。

設置について

JavaScript
ArekoreArea.js (通常) or ArekoreArea2.js (日本語注釈付)
CSS-Sample
ArekoreArea.css

仕組みについて

どんな風にあれこれを設定できるかをちらっと解説。

設定は 'メニュー名' : '↓のルールに沿ったタグとか', という、連想配列のリストで。
ルールに則ってさえいれば、いくらでも好き勝手に追加・編集・削除できます。

以下は、'↓のルールに沿ったタグとか' の書き方です。
簡易的に、 A: テキスト選択部分のテキスト中の文字列-前半, B:-後半, として。

^ A で始まる場合
行頭にそのテキストを付加
B $ で終わる場合
行末にそのテキストを付加
= A で始まる場合
その部分をそのテキストに置き換える
A | B と書いた場合
A と B のテキストで挟む
/A/, B と書いた場合
A で正規表現させて B に置き換える
/A|C|E/, B|D|F と書いた場合
A, C, E で順番に正規表現させて B, D, F に置き換える
B / で終わる場合
<B> (or <B />) として、行末にそのタグを追加
A or A B の場合
テキストを <A B> ~ </A> とタグで囲む

<br><img> などの空要素のタグは、 'br /' のように設定してくれれば、
HTMLなら <br> XHTMLなら <br /> で挿入されます。
XHTML かどうかは、 <html>タグの中に xmlns属性があるかどうかで判断しています。

あとがき

s*m