2007年08月18日(土曜日)

携帯からのアクセス [ Blogツール, MovableType, 携帯電話 ]

たまにFlickr経由で携帯電話から日記を書くのだが、ちゃんと更新されているか心配だったりする。以前のdocomoの携帯(SH902i)のブラウザからは見ることができたのだが、SoftBank 705NK (Nokia N73) に変えてからは、何故か見ることができなくなった。携帯用のブラウザ (WAPブラウザ) では、ワタシの日記が読めないのだ。所謂PCサイトブラウザ、たとえば Opera Mini を使えば見ることはできるのだが、いかんせん、接続ポイントが変わってしまい、パケット定額の対象外になってしまうのだった。SoftBankもケチだよな、まったく。

ということで、ちょっと調べた結果、MT4i というものをインストールしてみた。これは、MovableTypeで作ったサイトを携帯ブラウザからアクセスできるように変換するプログラムで、携帯に最適化された HTML を生成するものらしい。URL が変わってしまうのが難点だが、とりあえず、これで携帯からのチェックができる。要するに自分だけ見れれば良いのさ~(笑)。おそらくは、.htaccess に適当な記述をすれば、携帯からアクセスしたとき、つまり、ブラウザの種類(User Agent)に応じてリダイレクトとかすればURLを同じにできるのだろうなあ、と漠然と思うが、知識がないので具体的なことは一切分からないのであった。

ふと、そういえばQRコードとか貼ってあるサイトって、けっこうあるよな、と気づく。調べてみると、URLを入力するとQRコードを生成してくれるサイトがあちらこちらにある。そこで、携帯用のURLをQRコードにしたものを貼ってみた。

ちゃんと機能するかどうか調べるために、携帯で読み取ろうとするのだが、ノキアのN73にはQRコードを読み取る機能がデフォルトでは入ってない。しかし、そこは手のひらコンピュータ。ちゃんとQRコードを読み取るプログラムが配布されている。Scanlifeというプログラムをノキアの台湾のサイトから入手してインストールする。ちゃんとURLが読み取れたみたいなので、ひと安心である。って、何が安心なのか?(苦笑)

投稿者 sukarabe : 20:14 | この記事の固定URI | コメント (0) | トラックバック (0)

2006年05月31日(水曜日)

トラックバックスパム [ MovableType ]

コメントスパムは応急処置のためか今のところ無くなった模倣。ところがトラックバックスパムの方は相変わらず。暇なときにまとめて削除しているのだが,これがけっこう面倒なんだな。ということで,こっちも応急処置を施してみた。

use CGI;
my $q = new CGI;
my $txt = $q->param('excerpt');
if( $txt ) && ($txt !~ m/[\x80-\xff]/) ) 
  { die MT::App::Trackback->errstr; }

これを適当なところ(今回は mt-tb.cgiにした)に入れて概要がアルファベットのみの文字列の場合をはじく。あんまり良い対処法とは思えないがなあ。

投稿者 sukarabe : 10:10 | この記事の固定URI | コメント (0) | トラックバック (0)

2006年05月14日(日曜日)

コメントスパム [ MovableType ]

この数日,コメント・スパムが多い。プログラムが直接 mt-comment.cgi を呼び出しているらしく,タチが悪い。応急処置として半角文字だけ(つまり日本語を含まない)コメントはエラーになるようにしてみたが・・・どうだろうか。

投稿者 sukarabe : 23:51 | この記事の固定URI | コメント (0) | トラックバック (0)

2005年11月03日(木曜日)

mt-mimetexの修正 [ MovableType, TeX, プログラミング ]

このところ自家製のmt-mimetex.plを使ってmimetexによる数式表示をやっている。案の定というかバグが露呈。別組数式の部分で,改行文字がマッチしないものだから複数行に渡って書いた数式が変換されない。オプションとして「s」を付けると任意の1文字が改行でもマッチするという説明を見つけたので,置換部分を
$_=~s/(\\\[.+\\\])/&latex2mimetex($&)/seg;
と変更してみた。すると何と最長マッチになってしまい大失敗。うーむ,困った。あれこれ調べて,
「.+?」とすれば1個以上の任意の文字でしかも最短マッチになるらしい。ということで,
$_=~s/(\\\[.+?\\\])/&latex2mimetex($&)/seg;
に修正。何とかうまく行っているみたい。しかし正規表現は難しい。

投稿者 sukarabe : 22:21 | この記事の固定URI | コメント (0) | トラックバック (0)

2005年10月08日(土曜日)

MT用mimetexプラグイン [ MovableType, TeX, プログラミング ]

誰かが作ってくれているはずだとGoogleで検索したのだが,結局見つけることができなかった。mimetexのサイトには誰かプラグイン作ってくれ〜と書いてある始末(笑)。

ということで仕方なくMovableType用のmimetexプラグインを自作することにした。 しかし,本当に無いのかなあ・・・。PukiWiki用とかHatenaダイアリーとかWordPressとか主だったブログツールにはあるのだから,MovableType用が無いとはにわかには信じがたいのだが。

ともかくMovableTypeのプラグインの仕様を知らねばならぬ。ということで,itex2MMLのソースを読んでプラグインのインターフェースを学ぶ。肝心の変換部分だが,以前,LaTeX文書をHTMLに変換するPerlプログラムを自作したことがあるので,そのコードを流用することにした。

どうせ自作なのだから自分好みにしてみた。PukiWikiなどのプラグインでは,&mimetex(数式)と書けば数式が画像で表示されるようになっている。&記号がプラグインのトリガーになっているのかも知れないが,できれば普通のLaTeX文書と同じく, ドル記号ではさんで$\frac{1}{\sqrt2}$などとする方が好みだ。ということで,そのようにしてみた。ついでに,\[ と\]ではさめば別組数式になるようにした。その場合,できれば数式をセンタリングしたいのだが,どうすれば良いのか分からなかったので,とりあえず一定のマージンを左側にとることで妥協。

では実験。

mimetexは数式をその場で画像に変換するcgiである。美しさではLaTeXRenderに劣るが,サーバーにLaTeXやImageMagickなどがインストールされてなくとも,スタンドアローンで動作するのがメリットだ。簡単に\frac{1}{\sqrt{2}}とかx=\frac{-b\pm\sqrt{b^2-4ac}}{2a}などと数式が書ける。別組数式(display math)も
e^x=\lim_{n\to\infty}\left(1+\frac{x}{n}\right)^n
のように書ける。

投稿者 sukarabe : 08:16 | この記事の固定URI | コメント (0) | トラックバック (0)

2005年02月16日(水曜日)

itex2MMLのテスト [ MovableType, TeX, コンピュータ&インターネット, 数学 ]

とりあえずテストをしてみる。ソースコードはこれ。

\frac{1}{2}+\frac{1}{3}+\frac{1}{7}+\frac{1}{42}=1

それで出力結果は,次の通り。 1 2 +1 3 +1 7 +1 42 =1

WindowsのIEで見るには,MathPlayerをインストールする。Firefoxならデフォルトで見れるが,数式フォントが無いと表示がおかしくなるので,Mozilla/MathML/FontsあるいはMITが配布している数式フォントを一式ダウンロードしてインストールしたほうが良いのかな?

投稿者 sukarabe : 17:19 | この記事の固定URI | コメント (0) | トラックバック (0)

itex2MML Plugin for MovableTypeを導入する [ MovableType, TeX, コンピュータ&インターネット, 数学 ]

itex2MMLはLaTeX風に書いた数式表現をMathMLに変換してくれるプログラムである。現時点ではJacques Distlerという方が開発・保守されているようだ(最初は別の人だったみたいだが)。そして,このitex2MMLをMovableTypeで使うためのText Filter Pluginもある。これを導入してみた。

itex2MML Plugin for MovableTypeの導入手順

まずJacques DistlerさんのWebLogにあるitex2MML Pluginのページに行く。Source distribution とあるところをクリックして一式をダウンロードする。解凍すると,itex2MMLのソース・コードとMacOSX用にコンパイルしたバイナリー,それからMovableTypeで使うための itex2mml.pl がある。自分でコンパイルできる人はそうすればよいが,そうでない場合(つまり僕の場合)はバイナリーをどこかで調達する必要がある。

ローカルで使うのではなく,サーバー上で使いたいわけだから,サーバーのOSに合わせる。ここのようにLINUXであれば,James GrahamさんのところにLinux/x86用のバイナリーがあるので,そこからダウンロードさせてもらう。それから,自分のサイトのサーバー上でのフルパスを調べておく。ロリポップだと,
/home/sites/lolipop.jp/users/....../web/
のようになっていると思う。以上で準備はOKだ。

準備ができたら作業に入る。

  • itex2MMLの本体,つまり実行ファイルを適当な場所にアップロードする。僕の場合は,自分のサイトのホーム直下にbinというフォルダーを作ってそこに入れた。そして,属性を755などの実行可能なものに変更する。

  • MovableType用のプラグインであるitex2MML.plをテキスト・エディターで開く。ここで,/usr/local/bin/itex2MMLと書かれているところが2カ所ある。これを自分がアップロードした場所に変更する。僕の場合だと,
    /home/sites/lolipop.jp/users/......../web/bin/itex2MML ということになる。

  • 編集が終わったitex2MML.plをMovableTypeのプラグイン・フォルダーにアップロードする。

  • MovableTypeのエントリー編集画面で,テキスト・フォーマットの選択肢に,itex to MathML と itex to MathML with parbreaks の2つが増えているはず。

以上で作業は終了,と言いたいのだが,MozillaがMathMLを表示するには,HTMLではなくXMLにしておかねばならないらしい。ここいらになると良く分かってないので困るのだが,付属の解説やWeb上の説明を読むと,ページの情報みたいな所に,Content-Typeはapplication/xhtml+xml だよ,ということを書いておけということらしい。

良くは分からないなりに,XHTML1.1+MathML2.0の文書という宣言をすることにした。とりあえずトップページだけだが。そして,Content-Typeをtext/htmlからapplication/xhtml+xmlに変更する。W3Cに行ってチェックすると,いきなりNOT VALIDと表示されてしまう。対処療法で,駄目と言われたところをコメントアウトする。(検索のフォームが文法違反と言われたので,現在削除中です。)とりあえずなんとかValid XHTML1.1+MathML2.0をクリアーする。

さあ,実験だ,ということで,簡単な数式を書く。

 \frac{1}{2}+\frac{1}{3}+\frac{1}{7}+\frac{1}{42}=1 
というLaTeXコードでテストしてみる。これがMathMLに変換されると, 1 2 +1 3 +1 7 +1 42 =1 と表示されるはず。 これが全然駄目。いろいろ試みるうちに,ファイルの拡張子を.htmlから.xhtmlに変更すれば,ちゃんとレンダリングされることを発見した。しかしなあ・・・.htmlのままでもMathMLが表示されているページはいくつもあるのになあ・・・。このページも.htmlのままだから,多分表示されないだろう。あー,疑問だらけだ!

さらに具合の悪いことに気づく。出力をindex.htmlからindex.xhtmlに変更し,古いindex.htmlを削除したところ,フォルダーのURLでアクセスした場合に,ファイルが存在しません,というエラーメッセージが出てしまう。え~index.phpとかindex.cgiはOKなのになあ・・・。ということで,これも見よう見まねで,.htaccessファイルを書く羽目になる。
DirectoryIndex index.xhtml と設定する。index.htmlにアクセスされたときのために,リダイレクトもした方が良いだろうか。うーむ。

これだけ頑張ったのだが,十分とは言えないなあ。もう少し勉強しないと。それに,Mozilla系はちゃんとMathMLをレンダリングするが,Internet Explorerが全然サポートできてないので,大多数の人はそのままでは数式が見れない。WindowsであればDesign Science社からInternet Explorer用のMathMLレンダリング・プラグイン MathPlayer が無償で配布されているから,それをインストールすれば見られるんだけどね。

追記

結局,ブロッグのトップのディレクトリーで .htacess に次のように書き加えることで一応の解決を見た。これは,Jacques Distlerさんの解説にあったものをほとんどコピーしたものだが,一カ所だけ変更してある。それは,index.shtml とあったところを index.html と変えたところ。だって,shtmlファイルはうちにはないから。それから RewriteBase のところは,ドメイン名というかサイトの直下をルートと考えたときのパスを書くと良いみたい。うちは直下に mt フォルダーを作って,そこにブロッグのトップがあるので,そのパスを書いた。

RewriteEngine On
RewriteBase /mt/
RewriteRule ^$ index.html
RewriteCond  %{HTTP_USER_AGENT} Gecko|W3C.*Validator|MSIE.*MathPlayer
RewriteRule \.html$|\.shtml$   - [T=application/xhtml+xml]
RewriteCond  %{HTTP_USER_AGENT} Chimera|Camino|KHTML
RewriteRule \.html$|\.shtml$   - [T=text/html]
RewriteCond  %{HTTP_USER_AGENT} Camino.*MathML-Enabled
RewriteRule \.html$|\.shtml   - [T=application/xhtml+xml]

ちなみにドル記号は itex2MML を使うときは数式の始まりと認識されてしまうので,全角文字の$で表記した。使うときは半角に。というかドル記号の実体参照ってないのかな?

投稿者 sukarabe : 15:50 | この記事の固定URI | コメント (2) | トラックバック (0)

2005年02月06日(日曜日)

コメント・スパム [ MovableType ]

先日からちょくちょくやられていたが、今日になって50個も付いていた。せっせと削除するが、これが100個とかになるとなあ・・・。ということで、なんとか対策を。

プラグインをアップロードするだけ、というシンプルな対処法を導入してみた。
鵺的:想空間: mt-spamstop_20041217
で公開されている mt-spmstop.pl というプラグインをダウンロードさせてもらい、pluginsディレクトリーにアップロードするだけ。これは、<a>タグ、つまりリンクなどのアンカー・タグがあると受付ないというもの。

しかし、導入後数時間で、襲来される(苦笑)。見てみると、たしかに<a>タグはない。うーん、どうしようかな。ひらがな、句読点が無いと拒否する、という対処法があったような気がする。ちょっと探してみようか・・・。やれやれ、なんでこんなことに時間を使わなきゃならないんだ。

投稿者 sukarabe : 12:22 | この記事の固定URI | コメント (0) | トラックバック (0)

2005年01月17日(月曜日)

MTの編集画面を広く [ MovableType ]

MovableTypeの編集画面は初期状態では,かなり狭く設定してある。日本語でしかも文字の大きさを読みやすく大きくすると,幅が狭くて使いづらい。幸い画面設定はスタイルシート(CSS)で変更できるようになっている。同じ事を感じている人がいるはずだと思って検索してみると,案の定次のページを見つけた。
SecretSchool.BLOG/MTの編集画面を広くする
および,これに触発されて画像入りで分かりやすく解説してある
喜怒哀楽/エントリー投稿画面の横幅を広げる!

これらを参考にして,横幅を150px広げることにした。これだけで印象が随分と変わる。いつものことながら,先達はありがたきものかな。感謝しつつ。

ちなみに,うちではこんな感じになっている。
2005-01-17-mt_editor_screenshot.html

投稿者 sukarabe : 08:56 | この記事の固定URI | コメント (5) | トラックバック (0)

2005年01月13日(木曜日)

ectoを使ってみる [ Blogツール, MovableType ]

ブロッグの投稿をブラウザを経由せずに行えるというブロッグ専用の文書エディターがあるらしい。今この文章もectoという,そういったエディターで書いている。MovableType標準の,やや貧弱な編集画面に比べて確かに快適だ。複数カテゴリーも一度に選択できるし,これは良い!ただ,これはフリーではない。試用期間があと8日らしいので,その間に購入するだけの価値があるか考えてみよう。

[composed and posted with ecto]

投稿者 sukarabe : 10:55 | この記事の固定URI | コメント (0) | トラックバック (0)

2005年01月11日(火曜日)

MT画像アップロードのときにalt属性を [ MovableType ]

MTにささやかな改造を施してみた。画像をアップロードするとき,埋め込みを選択すれば, <img alt="hoge.jpg" src="http:hogehoge.com/mt/archives/images/hoge.jpg" /> などのように alt属性として画像ファイル名を付けてくれる。ファイル名を alt属性にするのが良いのかどうかは議論の余地があるが,とにかく自動でここまでやってくれる。ところが,(サムネイルを作るときはこうすることが多いのだが)ポップアップを選択すると何故かalt属性がつかない。alt属性がなくても表示はされるが,ValidなHTMLにはならないので毎回手書きで追加する羽目になる。これをなんとかしたかった。

例によってPerlまったく知らずに見よう見まねでやっているので,とりあえず動いているものの不安だ。なにをやらかしたのか後で分からなくなると困るので,記録だけはしておこう。

[MT Root]/lib/MT/App/CMS.pm というファイルを開く。Version 3.121-ja だと1862行目に process_post_upload なるサブルーチンらしきものがある(sub process_post_upload とある)。この関数が画像アップロードの処理をしているみたい。下をずっと見ていくと,1946行目に次のような箇所がある。

my $link = $thumb ? qq(<img src="$thumb" width="$thumb_width" height="$thumb_height" />) 

ここが imgタグを作っているところだと推測される。この部分を変更すればよいだろう。この少し下の方を見ると,埋め込みの場合の処理が書いてある。埋め込みの場合はちゃんとalt属性がついているので,その部分を参考にしてみる。埋め込みの場合のコードはこうだ。

    } elsif ($q->param('include')) {
        (my $fname = $url) =~ s!^.*/!!;
        if ($thumb) {
            return <<HTML;
<a href="$url"><img alt="$fname" src="$thumb" width="$thumb_width" height="$thumb_height" /></a>

これを見ると,$fname という変数にURLから切り取ったファイル名を代入しているらしいことが想像される。そこで,1946行目に戻って,その一行上に同じ処理を追加して,さらに imgタグを出力する際に alt属性をつけてみる。結果は次のようになる。

        (my $fname = $url) =~s!^.*/!!;
        my $link = $thumb ? qq(<img alt="$fname" src="$thumb" width="$thumb_width" height="$thumb_height" />) : "View image";

修正したファイルをアップロードすれば完了。

投稿者 sukarabe : 22:22 | この記事の固定URI | コメント (0) | トラックバック (0)

2005年01月08日(土曜日)

サイト内検索の代替案 [ MovableType ]

MTにも一応サイト内検索があるが,お世辞にも素晴らしいとは言えない出来である。ということで素敵なものを発見した。
Ogawa::Memoranda: mt-search.cgiを捨てて簡単メタサーチにしてみよう

ここのレシピに従って,検索用に msearch.php というファイルを生成するテンプレートを作ってみた。phpファイルにすることで,検索のたびに動的にページを作ることができるようだ。試してみるとなかなか快適だ。

投稿者 sukarabe : 23:17 | この記事の固定URI | コメント (0) | トラックバック (0)

MTでWiki風の書式が使える [ MovableType ]

sukeroku(助六)プラグインなるものを偶然見つけた。
ささやかなる実験場の開発室(HSJ.jp): MovableType用TextFormatプラグイン mt-sukeroku-plus.pl Ver.1.00公開

メモ代わりに別サイトで使っている PukiWiki の書式も使えるようで,これは便利そうだ。

実はMovableTypeでプラグインを作るにはどうしたらいいのかと検索中に見つけたのだった。というのもmimeTeXを使うにあたり,毎回CGI呼び出しのコードを書くのが億劫でなんとかならないかと思案している最中なのだ。とりあえずできることとして,先日のDecodeボタンを参考にしたmimeTeXボタンを作ってみた。これはこれで,それなりに満足できるのであるが,よくよく考えてみると,直接ハード・コーディングするよりも,MovableTypeのタグを拡張して,例えば,
<MTDisplayMath>ここに別組数式を書く</MTDisplayMath>
と書けば,MovableTypeがこれをHTMLに変換する際にmimeTeXの呼び出しのコードに直す,といったことが可能であればその方が便利だな,と思った。というか,TeXユーザーとしては,それくらいのことができないなんて我慢ならない(笑)。そのためには,MovableTypeのプラグインを書かねばならないが,参考になるものはないかと検索していたのだった。それはともかく,これはこれで便利そうなので,導入してみようと思う。ついでにプラグイン作成のヒントでもあればよいのだが。

投稿者 sukarabe : 15:13 | この記事の固定URI | コメント (0) | トラックバック (0)

2005年01月05日(水曜日)

編集画面にDecodeボタンをつける [ MovableType ]

MovableTypeのヴァージョン 3.121-ja を結局の所最初からインストールする羽目になったため,以前施していた改造箇所がすべて白紙に戻ってしまった。あまり改造するとヴァージョンアップのときに困るのだが,そのときのための備忘録として記録しておこう。

編集画面にDecodeボタンをつける改造は,以前と同様にNoelさんのブログの記事を参考にした。

MovableTypeに限らないと思うがHTMLを記述するためのエディターでは編集支援のための便利なツールが備え付けてあることが多い。例えばある文字列(ここでは ほげほげ としよう)にハイパーリンクを付けたいときは,その文字列を選択し(画面上では反転する)ハイパーリンクというボタン(アイコン)をクリックするとURI(URL)入力のウィンドウがポップアップし,それに例えば http://www.hogehoge.com などと入力すれば,エディター画面では <a href="http://www.hogehoge.com">ほげほげ</a> というなる。この程度だったらそのまま入力しても苦にならない。ところが,このHTMLコードをこの日記に記述するとなると(HTMLコードをそのまま書けばブラウザへの命令になってしまうから!),例えば,「<」なら「&lt;」のように書かねばならない。これはさすがにうんざりだ。

という訳で,それを支援してくれるDecodeボタンが欲しくなるというものだった。改造手順は次の通り。

デコードボタンの画像をアップロードする

画像というかアイコンでなくとも文字でもいいのだが,これも以前どこからかもらってきた Decode Button (ファイル名は decode-button.gif)を使う。これをmt直下のimagesディレクトリーにアップする。

mt.js を編集する

mt直下にある mt.js というファイルを編集する。いざというときには元に戻せないと困るので,バックアップをとっておく。僕の場合は改造するファイルはディレクトリー構成も含めて別の場所に保管することにしている。例えばmt-modifiedというフォルダーをmtを解凍したところに作って,その直下に mt.js のコピーを作り,それをテキスト・エディターで開く。(どこでもいいとは思うが) formatStr という関数の次あたりに,新たに Decode という関数を作る。

function Decode(e) {
    if (!canFormat) return;
    var str = getSelection(e);
    if (!str) return;
    str = str.replace(new RegExp("&","g"), "&amp;");
    str = str.replace(new RegExp("<","g"), "&lt;");
    str = str.replace(new RegExp(">","g"), "&gt;");
    str = str.replace(new RegExp('"',"g"), "&quot;");
    str = str.replace(new RegExp('  ',"g"), "&nbsp;&nbsp;");
    str = str.replace(new RegExp('&nbsp; ',"g"), "&nbsp;&nbsp;");
    setSelection(e, str);
    return false;}

edit_entry.tmpl などを編集する

tmpl/cms/ にある edit_entry.tmpl と bm_entry.tmpl のコピーを mt-modified/tmpl/cms/ に作り,テキスト・エディターで開く。 ItalicとかBoldとか書いてあるところを探すと次の行と似たような行がいくつも並んでいる箇所がある。edit_entry.tmpl だと本文用のテキストエリアと追記部分の2カ所あることに注意。

write('<a title="<MT_TRANS phrase="Decode">" href="#"
onclick="return Decode(document.entry_form.text)">
<img src="<TMPL_VAR NAME=STATIC_URI>images/decode-button.gif"
alt="<MT_TRANS phrase="Decode">" width="24" height="18" border="0" />
</a>');

まず本文入力部(最初にある方)に上記のコードを挿入する。ここでは見やすさを考えて何行かに分けているが実際には一行にする。次に,追記の部分のテキストエリアにボタンを付ける際には, return Decode(document.entry_form.text_more) のように一カ所を text_more に変更する。これは周りの行に書いてあることを観察すれば分かる。

改造したファイルをアップロードする

変更を施した mt.js, edit_entry.tmpl, bm_entry.tmpl をそれぞれあるべきディレクトリーにFTPソフトでアップロードする。以上で終了。

投稿者 sukarabe : 17:21 | この記事の固定URI | コメント (0) | トラックバック (0)

MovableType画像アップロードの改造 [ MovableType ]

先日サイトを壊滅させたばかりなので多少ためらったが,Lintで100点をとるために(笑),MovableTypeの(テンプレートではなく)本体の改造に踏み切った。

といっても大した改造ではない。そもそもPerlを全然知らないのだから見よう見まね,おっかなびっくりである。

今回行った事は,画像をアップロード(サムネイルを作る場合)する際に生成されるHTMLコードの中に,onkeypress属性とalt属性を追加しようというものだ。

改造をするのは,lib/MT/App/CMS.pm というファイル。まずはバックアップをとる,というか,改造したファイルは別のディレクトリーに置く。ちなみにMTのバージョンは 3.121-ja です。

1948行目に onclick= うんぬん というコードがあるので,この直後に onkeypress= うんぬん というコードを追加する。うんぬんの部分は同一で良いかな?また,1946行目の border="0" の直後に alt="" を追加する。

本当はアップロードする際にサムネイルのサイズなどを設定するところがあるのだが,そのときにalt属性を入力できればなお良いとは思うのだが。これは今後の課題。

投稿者 sukarabe : 01:27 | この記事の固定URI | コメント (0) | トラックバック (0)

2004年12月28日(火曜日)

復旧作業(最近のコメント) [ MovableType ]

復旧作業の手始めにサイドバーに最近のコメントを表示できるように変更。以前お世話になったcheebowさんのサイトからそのまま転用させてもらう。出典は以下のページ。

Techknow Weblog: サイドバーに最近のコメントを表示する

良くは分からないながらに少しだけ変更してみた・・・。

<br />(改行を指示するHTML命令)の位置をちょっとだけ変えてみた。元の通りだと,各々のコメント表示の「後」に改行が入るようになっている。そうすると最後のコメント表示の後にも改行が入る。最後の改行はない方が好ましいかな,と思ったんだけど・・・うーんどうでしょうねえ。出力されたHTMLを読んでもう一度考えてみよう。

というか書きながら考えたんだけど,改行じゃなくてリスト構造にする方が論理的には好ましいのかな?その代わりスタイルシートも書かないといけないけど・・・。うーむ。また今度考えよう。

<追記>
そんなことよりもコメントしてくれた人のメールアドレスが表示されていた!やばい。なんでデフォルトで非表示になってないんだ~。少なくともコメントの設定のところに表示するか否か選べるようになっているべきだ。探したけどそんなものはなかった。そう言えば崩壊する前のサイトの時も同じ事を感じたんだっけ?で解決策は次の通り。個別エントリーのテンプレートなどにある<$MTCommentAuthorLink>を探して,show_email="0"という記述を追加する。前もこれをやったなあ,と今頃になって記憶が甦った。あーびっくりした。というか,すみませんでした。

投稿者 sukarabe : 08:09 | この記事の固定URI | コメント (0)

2004年12月26日(日曜日)

とりあえずBlog再開します [ MovableType ]

なんとかコメントもできるようになった。というか,mt.cfgで設定したパスが間違っていた(汗)。あーあ,まったく何をやっているんだか。情けない。

これから暇を見つけて元の状態に戻していきたいと思います。とりあえずやるべき事は,

  • index.htmlのテンプレートとStyle Sheetを修正。文字を読みやすい大きさにする。デフォルトは小さすぎる。
  • サイドバーを以前に近い形にする。
  • 曜日を自動的に表示できるようにする。
  • 写真をアップロードする
  • Decodeボタンを追加する

投稿者 sukarabe : 22:53 | この記事の固定URI | コメント (2) | トラックバック (0)

コメントが機能しない [ MovableType ]

とりあえずログを修復したけで,コメントできるかテストしてみたら,ドメインが見つからない,と表示されてしまった。DNSエラーじゃないよね・・・。どっか設定がおかしいのかなあ。あー年末の忙しいときにまったく・・・。

投稿者 sukarabe : 11:15 | この記事の固定URI | コメント (4) | トラックバック (0)

サイト壊滅しました(泣) [ MovableType ]

ああ自己責任という言葉がこんなに身につまされるとは思わなかった。MovableTypeを3.12にアップグレードしようと思ったのだが,結局のところ大失敗。CSSなど少しずつ変更していたものが全て失われてしまった。

まあログ本体はバックアップ取っていたので最悪の事態は免れた訳だが,サイト全体のバックアップが取れてなかった・・・(泣)。FFFTPの馬鹿・・・というか確認しなかった自分が悪いのだけど。

という訳で,なさけないことにMovableType(日記システム)インストール直後のなんにも設定してない状態からの再出発です。はあ~。

投稿者 sukarabe : 08:47 | この記事の固定URI | コメント (0) | トラックバック (0)

2004年12月05日(日曜日)

MTの解説記事など [ MovableType ]

Movable Type 3 解剖学《其ノ一》 : styletype.jp

偶然 styletype.jp というHTML(XHTML+CSS)についてのサイトを見つけた。ここでも使っているMovableTypeのテンプレートなどの解説に期待したい。自分でもあちこち変えてはいるのだが,実のところ,ちゃんとした解説書を読んだことはなく見よう見まねで適当にやっているのだ。

投稿者 sukarabe : 10:57 | この記事の固定URI | コメント (1) | トラックバック (0)

2004年10月03日(日曜日)

サイドバーに疑似フレームを [ MovableType, コンピュータ&インターネット ]

サイドバーというかサイドメニューに,BlogPeopleとかMyBlogListとかを入れているのだが,増えてくると縦に長くなってしまう。いろんなブロッグサイトを見ていると,スクロール・バーが付いているものがけっこうある。これって難しいんだろうなあ,と導入をあきらめていたところ,実はとっても簡単であることが分かった。

要は,スタイルシートで,overflow という属性を定義すればよいのだった。このことは,以下のサイトから学んだのだが,それほど高級テクニックというわけではないらしい。検索すると,山ほど情報が出てくる。

そこで,さっそくやってみた。スタイル・シートに次のような内容を記述して,たとえば,frameなるクラスを定義する。

.frame {
  overflow : auto;
  height : 300px;
  width : 100%;
}

そして,インデックス・テンプレートの方には,次のように書く。

<div class="frame">
ここに,リストの一覧あるいは,それがインクルードされるようなコードを記述する。
</div>

投稿者 sukarabe : 17:36 | この記事の固定URI | コメント (0) | トラックバック (0)

2004年09月29日(水曜日)

Blog以外をMovableTypeで [ MovableType ]

MovableTypeを利用して,日記ではなく,普通の(?)サイトを構築することはできないだろうか。いろいろ調べたが,情報は少ない。英語なのだが,次は参考になる。また,コメントやトラックバックにも有益な情報がある。

MTを使ったNon-Weblog Siteがいろいろと挙げてあるが,その中からいくつかをリストアップしてみる。

結論?

実は,特定のカテゴリーだけ抽出したり,表示させなかったり,といったことを,CatEntryとかFilterCategoriesとかいったプラグインでやってみたのだが,エントリーの表示順番のところで行き詰まっている。日記なら最新のエントリーが上にきて良いのだが,読み物の類では,新しいものほど下に来なくては読めないだろう。カテゴリー別にエントリーの順番を指定できるようなものがあればよいのだが。なお,日付を逆順にする,といった姑息な手段はこの際排除したい(笑)。

上で引用したサイトを読んだ結果,やはり「別のブロッグ」として作成するのが,一番すっきりするように感じる。やはりそうか。いちいち移るのめんどうなんだけどなあ。

投稿者 sukarabe : 07:42 | この記事の固定URI | コメント (0) | トラックバック (0)

2004年09月27日(月曜日)

サイトマップのテンプレート [ MovableType ]

日記ではない記事の書き方を探していたら,次を見つけた
PenPenPalm: サイトマップのテンプレートを作る

求めているものとは違うが,これはこれで便利なので,さっそく真似をしてみたい。

テンプレートの主要部分は次のようになっている。以下引用。

【カテゴリーラベル表示部分】
<MTCategories>
<a href="#<$MTCategoryLabel$>">
<$MTCategoryLabel$></a>
</MTCategories>
【カテゴリー別のエントリーリスト】
<MTCategories>
<a name="<$MTCategoryLabel$>"></a>
<h3><$MTCategoryLabel$></h3>
<MTEntries><$MTEntryID pad="1"$>.shtml: <$MTEntryDate format="%y.%m.%d %H:%M"$>,
C: <$MTEntryCommentCount$>, 
T: <$MTEntryTrackbackCount$>,
<a href="<$MTEntryPermalink$>">
<$MTEntryTitle$></a>
</MTEntries>
</MTCategories>

ただ,個別記事へのリンク部分は,自分のサイトの設定に合わせて変更しなくてはならないようだ。

投稿者 sukarabe : 00:14 | この記事の固定URI | コメント (0) | トラックバック (0)

2004年09月25日(土曜日)

MyBlogListを導入 [ Blogツール, MovableType ]

MyBlogListというものを導入してみた。WebLogサイトなどで見かけるもので,なんだろうと思っていた。要するにWebLog限定のブックマークといったところだろうか。無料なのだが登録しなくてはならない。設定を済ませてコード生成というボタンを押すと,よくは分からないが,JavaScriptとおぼしきコードが吐き出されるので,それをMovableTypeのテンプレートに貼り付ける。するとページが読み込まれるたびに,そのコードが実行されて,その時点での最新情報が表示されるというものだ。うーむ,賢いなあ(笑)。今までただのHTMLしか知らなかったので,このように動的に表示が変わる仕組みというのが不思議だった。

ついでに,MyClipというのも入れてみた。こちらは気になるニュース記事やトピックへの永久的リンクに使用すると便利みたいだ。

ちなみに自分のWebLogも登録されるのだが,PINGの送信というのをやっていない。ということは更新しても人に知られないということだ。本当は登録もしたくないところなのだが,それは許されないらしいので・・・。

投稿者 sukarabe : 08:16 | この記事の固定URI | コメント (0) | トラックバック (0)

2004年09月21日(火曜日)

target="_blank"はタコ [ MovableType ]

リンク関係に自動で target="_blank" が付くように改造した記事があちこちにあるので,これはいったいどういうことなのか,と思って検索したところ,PLAYNOTE : target="_blank"はやめた,という記事に逢着した。なんでもW3C非推奨なんだそうだ。僕自身は信奉者ではないが,一応まともなHTMLを書きたいとは思っている(このページも多分,XHTML1.0でVALIDになっていると思う)。おまけに,target="_blank" はリンクを別窓で開けることだと分かってあきれた。別窓でリンクが開くと,いつもうぜーと思っていたのだ(笑)。別窓で開けたいときは,自分でそうするさ。勝手に窓開くなよ,てな感じだ。おまけにMozillaしか使ってないから,新しいタブで開けることはあっても,別窓で開けることはほとんどない。ということで,個人的には諸悪の根元ですらある。

この記事の筆者は面白い人だ。ページの右下隅に,W3C Fanatic というアイコンがあるので,何だろうと思ってクリックすると,
PLAYNOTE: W3C信者アイコン(ちまちまボタン)
という記事があった。アハハ,これは可笑しい。XHTMLの仕様書が新約聖書で,HTML4.01の仕様書が旧約聖書だというのは言い得て妙である。実は,このページもXHTMLはVALIDなのだが,Another HTML-LINT を通すと,80点ぐらいしかない。これでもテンプレートを修正して点数を上げてきたのだ。減点部分は,MovableTypeを使っている限り,改善は難しいのではないかと思う。うーん,困ったね(笑)。

投稿者 sukarabe : 15:10 | この記事の固定URI | コメント (0) | トラックバック (1)

2004年09月20日(月曜日)

MovableTypeにHTMLAreaを組み込む [ MovableType ]

このような記事を見つけた。
Going My Way: MTの編集画面にHTMLエディター機能を組み込む
HTMLAreaというのはブラウザ上で動くHTMLエディターなのだが,これをMovableTypeに組み込むことができるらしい。これはぜひ導入したい。

他にも導入記事がいくつかある。よかろうもん:HTMLAreaの導入では,HTMLAreaで記事を書くと,画像へのリンクが相対パスになってしまい,アーカイブから画像が表示されない問題点と,解決策(コードの一部をコメントアウトする)が示されている。

投稿者 sukarabe : 01:53 | この記事の固定URI | コメント (0) | トラックバック (0)

2004年09月19日(日曜日)

Quick Post (=Bookmarklet) [ MovableType ]

Orbium -そらのたま-: 引用元を自動生成するBookmarklet
こんなのを見つけた。Bookmarklet というものらしい。ブックマークの親戚かと思ったら違うようだ(笑)。良くは分からないが便利という話なので,さっそく設定してみた。そのままだと特別便利というわけでもない,と書いてあったが,やってみると,そのときに見ていたページのタイトルとリンクが自動的にエントリーに書かれていて,しかもTrackbackまで自動でしたようだ。うーん,便利すぎる(笑)。でもTrackbackしたくないときはどうするんだろう。もっと勉強しよっと!

ところで,上の記事はBookmarkletの解説ではなかった。Bookmarkletをさらに便利に改造しよう,という趣旨なのだ。だからトラックバックしたのは不適切だったかも知れない(^^;;)。

投稿者 sukarabe : 17:08 | この記事の固定URI | コメント (3) | トラックバック (1)

2004年09月17日(金曜日)

コメント欄でメールを非公開に [ MovableType ]

コメントのテストをやってみたら,メール・アドレスが表示されている。スパム対策としてメール・アドレスを必須にする方が良いらしいが,公開されてしまうのも問題ありだ。そこで,アドレスを非公開にする方法を調べてみた。
<$MTCommentAuthorLink spam_protect="1" show_email="0"$>
と,show_email="0" というオプションを付ければよいらしい。

投稿者 sukarabe : 16:29 | この記事の固定URI | コメント (1) | トラックバック (0)

FireFox0.9ならDecodeボタン有効! [ MovableType ]

実はFireFoxは0.8のままでヴァージョンアップしてなかった。Mozilla1.6でDecodeボタンがちゃんと機能したので,0.9に上げてみた。1.0のPre Releaseがでたばかりで,そちらにしたかったのだが,何故だかうまくインストールできなかった。さて,結果は・・・。やっほー!ちゃんと変換される。

投稿者 sukarabe : 16:06 | この記事の固定URI | コメント (0) | トラックバック (0)

2004年09月15日(水曜日)

FireFoxだけDecodeボタンが働かない [ MovableType ]

いろいろ調べて,コードも読んだが,どこがIEとMozillaで違うのか全く分からない。そこで,念のためにFireFoxでないMozillaつまりメーラーとかも入っている普通のMozillaの方を起動してみた。な,なんとちゃんと変換するじゃあないですか・・・。すると,Mozillaが悪いのではなく,FireFoxだけが悪いのかな。まさかうちのFireFox,Javascriptが入ってなかった,とかいうオチじゃないよな・・・(笑)。もしそうだったら,mt.jsに入っている関数が全部動かないはずだしね。

投稿者 sukarabe : 16:36 | この記事の固定URI | コメント (0) | トラックバック (0)

編集画面にDecodeボタンを [ MovableType ]

検索していたら,こんな便利なものを作っておられる先達を発見した。初出(?)はTrivial Blogさんの「管理画面にDecodeボタンをつける」という記事のようだ。これを参考にしようと思ったが,うちのはVersion3.01なのでプログラムの組み方が違うようで,当該部分を発見できなかった。検索するとVersion3用の改造法として,ノエルさんのPC Blog@Noel Cafeと,これを参考にしたらしい ぐーたら on MTさんの「MTの編集画面にdecodeボタンを」を見つけることができた。最後の記事が一番具体的に指示されていたので,これをそっくり真似て(ありがとうございます),編集画面のエントリーと追記(extended)の2カ所にボタンを付けることができた。気を付けることは,&は最初に変換しておかないと,2重に変換されておかしくなることだ。ここだけ要注意。では,さっそく実験してみよう・・・。あれ,おかしいな。変換されないぞ・・・。

うーむ。何度やっても変換されないなあ。ふと,Trivial Blogさんの記事で,Mozillaだと変換できないよ,というコメントがあったのを思い出した。いかん,うちのはFireFoxだ(笑)。試しに,IEでやってみた(IE起動するの,何ヶ月振りだろうか)。え~,ちゃんと変換されるじゃないかあ~。くそうー(失礼)。でもなあ,Trivial Blogさんのは,Version 2.6という前のバージョン用のコードで,しかもdocument.writeというのが,Mozillaでは機能しないのが原因と書いてあったと思う。今回のノエルさんのコードでは,document.writeは使ってないのになあ。可能性として,正規表現が組み込まれていないなんてあるだろうか?しかしなあ,いまさらIEに戻りたくないよなあ。トホホ。

投稿者 sukarabe : 08:46 | この記事の固定URI | コメント (0) | トラックバック (0)

2004年09月14日(火曜日)

短縮形での曜日表示 [ MovableType, プログラミング ]

日付のフォーマットを調べてみた。例えば,2004年09月14日(火)のように出力させたいとする。年号は,%Y, 月は%m, 日は%dとすればよい。ところが,曜日の短縮形がうまくでない。%aで良いはずなのだが記号らしき変なものがでるだけだ。%Aとすれば一応火曜日ときちんと出るので用は足りるのだが,ちょっとしゃくだ(笑)。きっと同じように感じる人がいると思って検索してみた。きゃんころ:MovableType曜日問題に原因を含めて詳しく書いてある。解決策も書いてあるので,ありがたくちょうだいすることにした。うちのUtil.pmでは,112行目あたりに当該のコードが書いてあるので,指示された3行を追加した。おかげさまで,日本語でも曜日の短縮形が表示されるようになった。

(2004年9月15日に追記)
念のためW3CのValidation Serviceに行ってみたら,WARNINGを出されてしまった。reference not terminated by REFC delimiter とか書いてある。どうも,曜日の出力の部分で #&xxxxxx がいけないらしい。セミコロンで終わるべし,と。やれやれ,きびしいですね!(苦笑)。Util.pmを修正して,最後にセミコロンを出力させるようにすれば良いのだろうか。しかし,Perlの文法を知らない(汗)。

Perl, 文字列の結合,というキーワードで検索してみた。ふーん,Perlって文字列の結合はドットで表すのか。プラスじゃないんだ。文の終わりにセミコロンが必要なことも知らなかった(やれやれ・・・)。何度かコンパイルエラーを出したが(だって変数は宣言しなくてもいいって書いてあったのに・・・くすん),なんとかセミコロンと結合させて出力させることができた。良かった良かった。

(更に追記)
もう一度,きゃんころさんの記事を読んでみると,何のことはない。7バイト拾ってくるところを8バイトに変更すれば,ちゃんとセミコロンまで出力されるではないか!ということで,たった一文字変更するだけでよかった。


if ($lang eq 'jp') {
$f{a} = substr $L->[0][$f{w}] || '', 0, 8;
}

投稿者 sukarabe : 19:15 | この記事の固定URI | コメント (0) | トラックバック (0)