Estonteco EverQuest II

playing guides, columns, and tips

EQ2用語検索自動linkのご案内

EQ2の用語・略語集を外部のweb log等のscriptから容易にlinkを張る為の方法を提供します。

用語や略語は、それを使うと便利だから広まった経緯があります。game中は限られた時間でchatを行う必要がある場面も少なくないため、用語や略語は“必要悪”という位置付けで使われることもあります。しかしせめてgame外のblog等では、そうした用語や略語を極力使わずに丁寧に文章を書きたいという方も少なくないと思います。

かといって、例えば「HoT」を毎回毎回説明するとなると、逆に大変と言えます。用語の解説や言い換えに労力を使ってしまって、本来表現したい物を書く労力が削がれてしまう可能性もなきにしもあらずです。

そんな場合には用語の解説を用語集に全部投げてしまうという方法を採ることがお勧めです。このweb siteでは、用語毎に用語集へのlinkをinlineで埋め込んでいただくという一つの方法をご紹介しています。ところが、用語毎に<a href="http://www.estonteco.com/guides/glossary/test.html">test</a>等というURLをごりごり書くことも、また労力が要るものです。

であればやることは決まっています。systemに任せられることはお任せして、人間は楽をしましょう。即ち、意識せずに書いた文章が、きっちりとした体裁で出力されるというblogの機能の一つに、(EQ2用語集内の)用語毎の解説へのlinkを自動生成する機能を付けてみましょう。勿論、blog以外でも、どのようなscriptにも汎用的にお使いいただくことも出来ます。

Movable Typeの場合

方法はとっても簡単です。今回はMovable Type日本語版 3.151を例にとってみましょう。

MTのdirectory以下、lib/MT/util.pmというscript fileがあります。これに1行を加えるだけです。

264行目からsub html_text_transformという関数が始まりますが、271行目の「$p = "<p>$p</p>";」という行の後ろに、1行だけ以下の内容を挿入します。

$p =~ s/\{(.*?)\}/<a href=\"http:\/\/www.estonteco.com\/guides\/glossary\/\1-p.html\">\1<\/a>/g;

すると、例えば

「今日は{AQ}のため、{SH}で{camp}しました。」と入力するだけで、「今日はAQのため、SHcampしました。」と自動で出力されるというあんばいです。

今回は用語集への自動linkのために{}を使いましたが、勿論括り文字はその他のものでも全く問題ありません。また、Movable Type以外のblog等のsystemでもお使いいただける手段です。例えば、掲示板(BBS)のCGIなどにも、簡単に組み込んでいただける内容です。

「この括り文字で使えるようにはどうしたらいい?」「自分のblogはMTじゃないけど、この自動linkはどうやったら使える?」「この掲示板で用語への自動linkをしたい!」等のご質問やご要望等をお寄せいただければ、可能な限り支援を致します。

備考

動かない場合は、上記の記述を以下のように差し替えてみてください。

$p =~ s/\{(.*?)\}/<a href=\"http:\/\/www.estonteco.com\/guides\/glossary\/${1}-p.html\">${1}<\/a>/g;

あと何かをするとしたら、本当に書き方の好みの問題になります。

sbの場合

/lib/sbcms.plの591行目に同様の内容を記述します。

手許で確認せずにpiyo chiyo EQ2 diaryさんの記事で提案のcommentをしましたが、Chiyoさんのご指摘の通り、MTで$pと書くところは勿論sbでは$textとなります。

rental式のblogではお使いいただけません

世にはLivedoor blogやDRECOM Blog等々の数多くの「間借り式」blogのserviceが存在します。しかし、そのようなblog(すなわち、自分でscript fileをいじれないblog=IDとpassword等々の登録をするだけですぐに使えるblog)では、ここで紹介した自動linkをお使いいただくことは出来ません。ごめんなさい。

こうしたblog多くの方が利用されていて、それだけに敷居が低いとは言えるのですが、ちょっとした工夫を行おうと思ってもそれが適わないこともあるのが辛いところですね。

Web Forumの場合

定番どころのBBSにも組み込めます。例えば、KentWebさん配布のWeb Forum v4.5でも試してみましょう。

wforum.cgiの744行目(auto_link関数の内部)に、

$_[0] =~ s/([^=^\"]|^)(https?\:\/\/[\w\.\~\-\/\?\&\=\;\#\:\%\+\@]+)/$1<a href='$2' target='_blank'>$2<\/a>/g;

という記述の後に(前ではいけません)

$_[0] =~ s/\{(.*?)\}/<a href=\"http:\/\/www.estonteco.com\/guides\/glossary\/${1}-p.html\">${1}<\/a>/g;

という記述を追加します。

これだけだと動かないので、同様にwforum.cgiの273行目で、

$v_msg =~ s/"/"/g;

という記述の後に(前ではいけません)

$v_msg =~ s/"(http:\/\/www\.estonteco\.com\/guides\/glossary\/.*)"/\"${1}\"/g;

という記述を追加します。

単に744行目で、「"」を「'」として書いておけば、273行目に追加しなくてもいいのですが、まぁ、それはそれ、一応文法を気にしてみました。

Ethelbert @ Sebilis (2005年06月02日 00時07分)

category
Guides
固有名詞の読み方 (2004年12月29日)
固有名詞の読みは千差万別です。判断に迷うような用語は音声合成に頼って一般的な解を得ることも可能でしょう。
EQ2用語集の作成に着手 (2004年12月28日)
専門的な用語・略語が多用されるEQ2について、playerに資するための用語・略語集の作成を始めました。
EQ2用語検索bookmarkletのご案内 (2005年03月21日)
EQ2の用語・略語集を外部のweb siteからも検索する為のbookmarkletを提供します。

感想

すばらしいですね。早速導入させて頂きました。

trackbackも送ったのですが、エラーになってしまいました。

Fujimaru (2005年06月02日 23時38分)

初めまして。導入をしてくださり、どうもありがとうございました。書き手と読み手の双方が喜べる、楽しいblogが増えることをとても期待しています。

こうした変換は初歩のものとはいえ効果はなかなかあるようでして、例えばspoiler siteへの積極的なlinkを行うような場合は、違う括弧でmobの名前を括ったら、その名前をOGamingのDBに投げる等といった応用も簡単に出来ると思います。

なお、trackbackのerrorは色々な要素が原因となり得ますが、何にせよお詫び致します。

Ethelbert (2005年06月03日 00時37分)

あなたの感想等をお寄せください

handle name, URLの記入は任意です。

権利表記等

EverQuest IIの権利表記

EverQuest is a registered trademark of Sony Computer Entertainment America Inc. in the United States and/or other countries. © 2004-2005 Sony Computer Entertainment America Inc. All Rights Reserved. SOE and the SOE logo are registered trademarks of Sony Online Entertainment Inc. All other trademarks or trade names are properties of their respective owners. All rights reserved. "Where Adventure Comes Alive" is a trademark of Sony Computer Entertainment America Inc.

一般的な権利表記

本websiteに記載されている会社名・製品名・system名等は、各社の登録商標、もしくは商標です。

二次著作物の二次著作権を含むその他全ての文書・画像等

Copyright © 2004-2005 <Estonteco>. info@estonteco.com

web site構築に援用したscript等

Powered by Movable Type Version 3.15-ja Copyright © 2001-2005 Six Apart. All Rights Reserved.