2003年05月08日

HTML로 일본어와 한글의 혼재

実体参照を使うと日本語のWebページにハングルを表記する事が出来ます。
<span lang="ko">&#47196;</span>
などとタグを使うと
HTML로 일본어와 한글의 혼재
という表示になります。
ハングルfontが無いと表示できないです。

Posted by otsune at 05:11 | Comments (3) | TrackBack

2003年03月15日

Mac OS XにMTをインストール

Install MovableType on OS X Serverを読んでみると、Mac OS X ServerはDBI Bundleを入れれば稼働するみたいです。
普通のMac OS XだとMySQLを入れたりする必要がありそう。

Posted by otsune at 20:30 | Comments (3) | TrackBack

2003年03月14日

記事urlを連番ではなく文字列にするTips

Permalinkを変更
に解説が有ります。
キーワードってのはこういう風に使うのか。

Posted by otsune at 23:35 | Comments (2) | TrackBack

2003年02月22日

Milano::Monolog MT2.6.2日本語化パッチ

いままで手動での日本語化の修正方法が提示されていましたが。あるていど自動的に行うツールが公開されています。

Windowsの実行形式で配付されています。

UNIXのシェル権限がつかえる人は、単純にpatchコマンドで適用できるdiffファイルがあれば良いので、すぐに公開されそう。
Mac OS 9は、考えないとまずいでしょうけど。

Posted by otsune at 16:25 | Comments (0) | TrackBack

2003年01月23日

blogrollingの日本語タイトル文字化け対策

BLOG質問箱という素晴らしいMTのノウハウサイトがあるのですが。
blogrollingにそのまま登録すると文字化けしてしまいます。
その場合は「質問箱」を実体参照に変換して

&#36074;&#21839;&#31665;

と書き換えると文字化けしません。
半角カナ実体参照生成ではJavaScriptを使って実態参照に変換するフォームを作っています。
ソースを見て自サイトのhtmlに設置すれば、ローカルでも使えます。

Posted by otsune at 17:59 | Comments (3) | TrackBack

2003年01月22日

tDiaryテーマ

tDiaryテーマを適用できるようにMain Indexの改造中

とりあえずざっとできた。
tDiaryのCSS構造今日のなんでMovableTypeやねんを参考にしてテンプレートをIndexだけ改造しました。
Main Index (tDiaryテーマ)を保存してください。
使い方は、ほぼ同じで。MTを設置したところにthemeというディレクトリを作って、その中にtDiaryのテーマを入れます。(今はcloverを設置しています)
<MTSetVar name="Theme" value="clover">
のvalueの名前をテーマ名に書き換えれば使えます。

ただtDiaryのテーマの中には、作者のライセンスとしてtDiary以外で使用をしてほしくないものも有ります。
はてな日記もtDiaryテーマを使えるように作られていますが、同様の問題のため一部テーマはつかえません。
tDiary-theme MLに、選択できないようにしているテーマの一覧があります。ただ、Nanaさんのテーマはその後GPLに変えた様子です。最新情報はtDiary.orgのテーマ集をダウンロードして、READMEを確認してください。
movabletypeでもこれらのテーマを使用しないようにしましょう。

Posted by otsune at 23:52 | Comments (0) | TrackBack

メールを使って日記更新

MTを設置しているサーバーがqmailを使っていて「.qmail-localaddress」などで転送が出来るか。
もしくはsendmailを使っていて「.forward」によるメール転送を許可している場合は、前に説明したqmail2mt.plでメールによる日記更新が出来るのですが。
メール転送を許していない場合でも方法がありました。
www.y4su0.com 日記 その5に説明があります。
簡単に言うと、Perlを使いPOP3でメールを読むスクリプトを設置して、専用メールアドレスにきたメールを更新用スクリプト(前述のqmail2mt.plなど)に渡すという動作をします。

Posted by otsune at 00:09 | Comments (0) | TrackBack

2003年01月20日

movabletypeの動作に必要な機能

MTを使ってみたい。というときに実際に有った誤解などを解消するためにメモしておきます。

この機能があるサーバーで無いと動作しない必須項目


  • Perl5以上が動く
  • ユーザー設置のCGIが動く
  • ftpなどでHTMLを設置できる


これだけです。DTIみたいなCGIを許可していないプロバイダだとだめですね。

この機能があったほうが便利な推奨項目


  • 日本語文字コードの変換にJcode.pmというPerlモジュール
  • サムネールの生成にImageMagickとImage::Magick Perlモジュール
  • サムネールの生成にNetPBM。(橋渡し用にIPC::Run Perlモジュール)
  • Perl CGIがsuExecで動作する。(パーミッション設定が楽です)
  • MySQLが使えると楽(無くても全然Okです)
  • Telnet(SSH)が使えるシェル権限


サーバーがどの機能をサポートしているかどうかは最初にmt-check.cgiだけを設置してチェックするとわかります。
サムネール生成のImageMagickとNetPBMはどっちかがあれば良いです。MTはImageMagickを標準として想定されていますね。IPC::Runはユーザー権限でインストールできるのでサーバーにはいりません。
シェル権限の有無は、UNIXやコマンドラインの扱いに慣れている人にありがたいだけです。無くても全然困りません。
MySQLまで使える貸しサーバーだったら、管理者は相当のスキルを持っているでしょう。ImageMagickやJcode.pmや必要なものが出てくるたびにリクエストしましょう。
MySQLが使えなくても、ファイルにデータを保存するので大抵は問題ないです。(ファイルをデータベースに使うBerkleyDBという方法を使う)

CSSやHTMLによるWeb制作のスキルもあったほうがいいです。
文字コード変換機能の付いた日本語エディターも設定を書き換えたりするのに便利です。必須では有りません。Macであれば「miエディタ」がおすすめです。

Posted by otsune at 18:41 | Comments (2) | TrackBack

2003年01月11日

はてなアンテナにmovabletypeを登録するときは

index.rdfをチェック先URLに指定すると、はてなアンテナもサーバーも負荷が低いし、デザインにも左右されないのでお勧めです。
大抵のmovabletype使用サイトで「Syndicate this site (XML) 」としてリンクされているところです。
ここだったら
http://www.otsune.com/mt/index.rdf
です。

はてなアンテナの「チェックするページのURL」に「http://チェックしたいサイト/ディレクトリ/index.rdf」を入力して登録。
そのままだと使いにくいので、はてなアンテナの編集メニューから詳細を選択し「リンクURL」の欄をindex.htmlに書き換えると良いでしょう。
はてな詳細編集の設定例

また他のmovabletype以外のサイトでも、RSSを提供しているばあいは、それを更新チェックに使うと確実で楽です。
日本で配布されているRSS(RDF Site Summary)ファイルの一覧も参考に。

Posted by otsune at 03:40 | Comments (0) | TrackBack

アンテナや更新チェックからの負荷軽減

はてなアンテナやWWWC、WWWDなどの更新チェックツールからアクセスがある場合。
index.htmlをチェックされるとサーバーの負荷が大きくなります。
まぁWWWDなどはHEADリクエストに、ちゃんとLast-modifiedで更新時間をサーバーが答えれば、コンテンツの本文は転送しないので、それほど神経質になる必要は無いと思いますが。
サーバーがapacheを使用していて、mod_rewriteが使える場合、.htaccessに以下のように記述すれば任意のURLに書き換えることが出来ます。


RewriteEngine on
RewriteBase /mt #ディレクトリ指定
RewriteCond %{HTTP_USER_AGENT} ^WWWC/.*
RewriteRule ^$ index.rdf [L]

HTTP_USER_AGENTに、更新チェックツールのUAを指定して、index.rdfを読み込ませるようにしています。

Posted by otsune at 03:37 | Comments (0) | TrackBack

2002年12月27日

メールによるMTの新規Entry

もっと良い方法があったみたい(携帯で更新)
とか
Clouder::Blogger: qmail2mt.pl part 3
とかで話題になっているPerlスクリプトを使えば、メールからMTに投稿することが出来ます。
つまり携帯から更新が可能に。
Joi Ito's Web - JP: mail2entry for posting images from mail to MT
にはPythonスクリプトで、画像添付のメール。つまり携帯の写真メールから更新する方法が公開されています。
ただ、Pythonが使えてJcodeも使えて……などという日本の貸しサーバーはそれほどないというのがネック。
Perlだけ動きます。というサーバーでも使えるようにするのが普及の鍵だと思います。

MTを動作させているサーバーに、メールアドレスがあり、かつ貸しサーバーがqmailでメール配信を行っていれば非常に簡単にqmail2mt.plは動かせます。
ホームディレクトリに.qmail-hogehogeなどというテキストファイルを設置します。


"| /usr/home/自分のID/cgi-bin/qmail2mt.pl"

という中身にします。(実際にはサーバーによって絶対パス表記が変わります。blogの設定からLocalSite Pathをチェックして、qmail2mt.plを設置した場所を記入してください)

また、メール配信がsendmailだというサーバーもまだ多いと思います。
その場合は.forwardに


自分のID, "| /usr/home/自分のID/cgi-bin/qmail2mt.pl"

などと書いて、アドレスを共用にする必要があったり。ちょっとめんどくさいです。

参考URL:
hns のメールによる日記の更新

Posted by otsune at 03:47 | Comments (0) | TrackBack

2002年12月18日

日本のmovabletype一覧

Dejimah 詣で。w
日本語でmovabletypeを使ってサイト運営しているサイトをわかる限り集めてみました。
という記事。

meshの人たちが入っていないのはなんででしょ?
総本山だからみんな知っているってことかも。

Posted by otsune at 02:24 | Comments (1) | TrackBack

2002年12月13日

Perl 2 EXE

Linux Magazineを読んで知ったのだが、Perl2Exeというソフトが有るようだ。
PerlでかかれたスクリプトをWindowsの実行形式である.exeに変換するコンバーター。
実際にインストールしてみた。
C:\perlというフォルダに各種ライブラリが入り、Perlが実行できるように。

Windows環境で実行ファイルを配ろうとすると、J BuilderとかDelphi Personalなどの手段が有るけど。
これはPerlに慣れた人ならば使いやすいかもしれない。
ちなみに完全に何でも動作するわけではないみたい。
mt.cgiとかをコンバートしてみたが、上手く動作させることは出来なかった。
もしmovabletypeを改造して、Windowsのローカル環境でindex.htmlやらarchivesやらを生成できるのなら、ftpしか使えないプロバイダでもblogが公開できるねぇ。
(他のローカル起動のblogツールを使ったほうがよさそうだけど)

また単にWindowsでperlを実行させるだけならば、ActivePerlCygwinをインストールするという手段も有る。
特にUNIXの環境が手に入るCygwinはおすすめ。cygwin日本語化を参考に。

Posted by otsune at 01:19 | Comments (1) | TrackBack

2002年12月11日

NN4.xにだけCSSを読ませない方法


NN4.xにだけCSSを読ませない方法

MacでNetscape4を使ってブラウズすると表示レイアウトがそろわない。
この方法で回避する。

追加。
あとUser-Agent Netscape4.xへの対応のように、LINK RELにmediaを指定するだけでも対処できるみたい。

Posted by otsune at 21:49 | Comments (0) | TrackBack

2002年12月03日

iBlog

::Lifli Software::
.Macの領域を使ってblogを公開するツール。
Mac OS X向け。

Posted by otsune at 02:19 | Comments (0) | TrackBack

2002年12月02日

サーバー設定変更

どうもxreaの設定が変わったらしく、/work/アカウント名/のsite pathを/virtual/アカウント名/に変える必要があるみたい。
blogの設定でLocal site pathとLocal archive pathを変更。

Posted by otsune at 07:29 | Comments (0) | TrackBack

2002年11月28日

Trackbackテスト

テスト

Posted by otsune at 20:04 | Comments (0) | TrackBack

画像のアップロードテスト

killerdomo.jpg
サムネールの変換も問題なし。

Posted by otsune at 01:05 | Comments (0) | TrackBack

xrea.comへのインストール

日本語化patchに関しては自動化するツールが出来ました。それを使って下さい。

How to BLOG日本語を参考にxrea.comへのインストールをしてみる。
おまけにBerkleyDBを使わずにMySQLをデータベースにすることにも挑戦。

xrea.comのperlパスやパーミッションなどはスペックを参照。

インストール自体はmovabletype本家のここを参照。

xrea.comへのインストールで気をつけるのは、*.cgiのパーミッションがrwx---r-x(705)もしくはrwx------(700)じゃないとダメだということ。
mt-check.cgi単独でチェックしたところ、必要なモジュールはインストール済み。MT2.51のダウンロードは、ライブラリの無いバージョンでかまわない。
あらかじめxrea.comの登録メールに載っていたユーザー管理用urlから、MySQLとSSHを有効化しておく。(SSHは必須ではない)

mt.cgiなどは、公開するものではないので、広告が入らないようにpublic_html/x/ディレクトリ以下に設置することにする。(コメント感謝)
参考
public_html/x/以外でも、とりあえずpublic_html/cgiを置いたフォルダ/.htaccessに


LayoutIgnoreURI *.cgi*

と書いて対処する方法もある。
その場合、StaticWebPathディレクトリ(public_html/mt/.htaccess)に

LayoutIgnoreURI *.rdf
LayoutIgnoreURI *.xml

と書く。(情報提供noirさん)

●mt.cfgがブラウザから見えてしまうので、パーミッションを600(所有者のみ読み書き可能)に変える
もしくは上記のpublic_html/x/.htaccessかpublic_html/mt/.htaccessに追加する


<Files mt.cfg>
Order allow,deny
Deny from all
</Files>

(情報提供milanoさん)

●ftpで自分の登録したxrea.comにログインし、public_htmlの下に「mt」(コンテンツを置くフォルダ)と「x」(.cgiを置くフォルダ)というフォルダを作る。「archives」フォルダもここで作っておいてもかまわない。

●ローカルでMT-2.51.tar.gzを解凍してmt.cfgを以下のように設定する。解凍にはWinRARなどの解凍ソフトを使う。

14:


CGIPath http://アカウント名.サーバー名.xrea.com/public_html/x/
CGIPath http://アカウント名.サーバー名.xrea.com/x/

21:

ObjectDriver DBI::mysql
Database アカウント名
DBUser アカウント名
DBSocket /var/lib/mysql/mysql.sock

35:


StaticWebPath /virtual/アカウント名/public_html/mt/

StaticWebPath /mt/


2002年12月からworkじゃなくてvirtualディレクトリに変わったみたい。

115:


HTMLUmask 0072
UploadUmask 0072
DirUmask 0072

↑xreaはグループのパーミッションが0のほうがいいみたい。

198:


NoHTMLEntities 1

252:

PublishCharset EUC-JP

●x(cgiをおいた)ディレクトリに.htaccessを設置する

●mt-db-pass.cgiにMySQLのパスワード(xreaの場合はアカウントパスワードと同じ)を書き込む。

Japanease Language Packをダウンロードしてくる。
lang-jaをimagesフォルダの下に移動する。
ja.pm.euc-jpをja.pmと名前を変えてextlib/MT/L10N/の下に移動する。

さまよえる Movable Typeスレッド その1にも日本語化について記述あり。
まず
lib/MT/App.pm

47:


if (my $charset = $app->{cfg}->PublishCharset) {

に。

●あらかじめデフォルトテンプレートのcharsetをEUC-JPに変更しておく。下記のテンプレート修正のようにヘッダーを変更しておくと楽。
lib/MT/default-templates.pl


<?xml version="1.0" encoding="euc-jp"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp" />

●検索用テンプレートも修正が必要かも?
search_templates/comments.tmpl
search_templates/default.tmpl
ここによると、headタグを閉じていない模様。
上記ヘッダーと置き換えて、</head>を<body>の前の行に入れる。

●Macintoshブラウザの管理画面が文字化けするのを修正する。
MT-2.51.tar.gzを解凍した直下にあるstyle.cssを修正。
font-familyの行頭に#をいれてコメントアウトするか、font-family:にOsakaを入れたりする。

ここまで出来たら、xreaのftpサーバーのpublic_html/x/フォルダ以下に転送する。(容量を少しでも削りたいときは、不要なファイルをあとで削除する)
imagesフォルダ,docsフォルダ,style.cssは、StaticWebPathで指定したmtフォルダに転送する。

●アップロードできたらパーミッションを設定する。
SSHを使う場合。自分のxrea.comにログインし、chmod 705 public_html/x/*.cgiを実行する。(xreaは、このパーミッション以外ではCGIを実行できない)
またMySQLのパスワードが見えてしまうのでchmod 600 public_html/x/mt-db-pass.cgiを実行する。

ftpから操作するときは右クリックで、プロパティを実行する。
mt*.cgiの9個のファイルを設定します。
所有者は「読み取り、書き込み、実行」の全部をチェック。
グループは全てオフ。
すべてのユーザーは「読み取り、実行」だけチェック。
mt-db-pass.cgiは所有者の「読み取り、書き込み」だけチェック。

●ブラウザから「http://アカウント名.サーバー名.xrea.com/x/mt-load.cgi」にアクセスし、成功したらpublic_html/x/mt-load.cgiを削除する。
失敗した場合はパーミッションやディレクトリ、ftpのアスキー/バイナリーモードなどをチェックする。

●mt.cgiでMelody,Nelsonでログインし自分のアカウントを設定します。
「Japanese」の設定も忘れずに。

●mtの下か、おなじ階層にarchivesフォルダを忘れずに作ります。

●管理画面からTemplateの編集を選び、Main Index、Master Archive Index、Category Archive、Date-Based Archive、Individual Entry Archive、下の「その他のTemplate」のヘッダーが


<?xml version="1.0" encoding="euc-jp"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp" />

に成っているかどうかを確認する。charset=iso-8859-1だったら、上記のように修正する。

●管理画面からTemplateの編集を選び、RSS 1.0 IndexとRSS 0.9 Indexの一行めを変更する。


<?xml version="1.0" encoding="euc-jp"?>

そして途中の行のen-usを

<dc:language>ja</dc:language>

に設定する。

●設定用cgiに広告を出さない設定をする。
公開しないcgiのテンプレートに<!--nobanner-->を入れる。
tmpl/cms/の下にあるファイルをいじる。

TrackBack文字化け対策
lib/MT/App/TrackBack.pmを修正。

53:


sub no_utf8 {
require Jcode;
for (@_) {
next if !defined $_;
$_ = pack 'C0A*', $_;
$_ = Jcode->new($_)->euc;
}
}

2chスレのpatchだと
lib/MT/App/Trackback.pm

16:


use Jcode;

116:

if ($app->{cfg}->PublishCharset eq 'SHIFT_JIS') {
$title = Jcode->new($title)->sjis;
$excerpt = Jcode->new($excerpt)->sjis;
$blog_name = Jcode->new($blog_name)->sjis;
} elsif ($app->{cfg}->PublishCharset eq 'EUC-JP') {
$title = Jcode->new($title)->euc;
$excerpt = Jcode->new($excerpt)->euc;
$blog_name = Jcode->new($blog_name)->euc;
} else {
$title = Jcode->new($title)->utf8;
$excerpt = Jcode->new($excerpt)->utf8;
$blog_name = Jcode->new($blog_name)->utf8;
}

Bookmarkletの文字化け対策
lib/MT/App/CMS.pmの修正。

584:


if ($q->param('is_bm')) {
require Jcode;
$param{selected_text} = $param{text};
$param{text} = sprintf qq(<a title="%s" href="%s">%s</a>\n\n%s),
Jcode->new(scalar $q->param('link_title'))->euc,
Jcode->new(scalar $q->param('link_href'))->euc,
Jcode->new(scalar $q->param('link_title'))->euc,
Jcode->new($param{text})->euc;

patch修正したらpublic_html/x/以下の該当するファイルと置き換える。

文字コード宣言は行いましょう(CSS)
によると、styles-site.css(Stylesheetテンプレート)の先頭に


@charset "euc-jp";

を追加。font-familyに日本語書体名を使いたい場合はあったほうがいいみたい。

●style-sheet.cssを管理画面からカスタマイズ。
これは個人のデザインの好みで。
ただfont-sizeをポイント指定やsmall指定などにすると、Internet Explorerでは読める大きさでもNetscape7などで小さすぎるという現象があります。
movabletype-Stylesheet 002を参考に。
配色を決めるのも個人の好き好きに。
配色ツール(Mari's IROEMPITSU)が便利です。
また男性の20人に1人は色覚異常で見えにくい色の組み合わせがあるそうです。
カラーバリアフリーガイド Ver.1.01を参考に。

メール文字化け対策
lib/MT/Mail.pmに追加

22:


require Jcode;
$body = Jcode->new($body)->jis;
$hdrs->{Subject} = Jcode->new($hdrs->{Subject})->mime_encode;
$hdrs->{'Content-type'} = "text/plain; charset=\"ISO-2022-JP\"";

●Atsushi Sanoさんの翻訳ドキュメントも参考にしてください。

Templateローカライズのためのplugin

もっと良い方法があったみたい(携帯で更新)
携帯からmovabletypeを更新するスクリプト。


NN4.xにだけCSSを読ませない方法

手動挿入広告タグの書き換えについて
XREAの自動挿入される広告が、XHTML 1.0 Strictではないので、手動でタグを作り違反しないように設定する方法。

Posted by otsune at 00:47 | Comments (16) | TrackBack