.Text を使った blog サイトの紹介
USERS GROUP 日記
.Text を Multiple で使っていて複数の方の blog が集約されています。それぞれの方の blog へは左側にある "BLOGGERS" のところからいけます。
以下はトラックバックのテストです(^^
http://blogs.users.gr.jp/haramizu/archive/2004/01/28/966.aspx
.Text を使った blog サイトの紹介
USERS GROUP 日記
.Text を Multiple で使っていて複数の方の blog が集約されています。それぞれの方の blog へは左側にある "BLOGGERS" のところからいけます。
以下はトラックバックのテストです(^^
http://blogs.users.gr.jp/haramizu/archive/2004/01/28/966.aspx
一色さんの #BLOG
青柳臣一blogさん、「.TEXT」のトラックバック対応方法を公開
にてご指摘があったので、各個別記事の下に TrackBack URL を表示するようにしてみました。こんな感じでいかがでしょう?
# たぶんバグってないとは思うんですが...
ちなみに #BLOG さんの Movable Type も Auto-Discovery 用のコメントは入っています。なので、.Text からもちゃんとトラックバックできるはずです。
(この書き込みはそのテストも兼ねてたりします :-) )
やっぱり言葉でうまく表現できなかったので、サンプルとしてすぐ下の記事にトラックバックしてみます。
http://www.divakk.co.jp/blog/aoyagi/archive/2004/01/27/442.aspx
こんな風にリンクをはるだけです。
で、Excerpt には
と書いて POST しました。
あらためて説明しなくとも、Google あたりで 「トラックバックとは」 とかのキーワードで検索するとたくさん出てきます。なので、一般論はそちらにお任せしちゃいます。
ここでは、.Text を使っている場合のトラックバックについて書きます。
.Text でトラックバックするには?
実は何もする必要がありません。記事を書くときに単に PermaLink のリンクを含めるだけで OK です。(PermaLink っていうのは、各記事への URL のことです。たとえば、この記事だと http://www.divakk.co.jp/blog/aoyagi/archive/2004/01/27/442.aspx になります)
PermaLink が含まれた記事を POST すると、自動的にトラックバックを送ります(もちろん、相手がトラックバックを受けれる blog じゃないとダメですが。詳細は後述)。
ただ、1つだけ気をつけたほうがいいことがあります。
トラックバックのときに相手先に送る情報は、
があります。ここで、title、url、blog_name は問題ないんですが、excerpt がちょっと問題です。.Text では Excerpt が記入されていない場合は、単にタイトルを送っちゃいます(title と excerpt が同じものになります)。
じゃ、Excerpt はどこで記入するのかというと、POST のページの下のほうにある "Advanced Options" を開くと出てくる Excerpt です。なので、記事中に PermaLink へのリンクがある場合はここにコメントを書きましょう。するとこれが相手先に送られます。
トラックバックするとどうなるのか?
ここでは、トラックバックする相手も .Text だとします。
.Text では、コメントやトラックバックをひっくるめて Feedback と呼んでいます。こちらからある記事にトラックバックすると、相手の記事の Feedback のところに表示されるようになります。見た目はコメントとほとんど区別できません。ただ、Excerpt に書いた内容がコメントとして表示され、自分の記事への URL がリンクされます。(うーん、言葉で書くのが難しい(^^; )
まぁ、結局、トラックバックっていうのは 「自動コメント&自動逆リンク」 なわけです。
ところで、私はトラックバックかどうかを簡単に見分けられたほうがいいかな?と思って "(トラックバック)" と表示されるようにスキンを変更してます。
仕組みは?
ほんとうは、PermaLink の URL とトラックバック用の URL は別物です。ではなぜ PermaLink だけからトラックバックできるんでしょう?
実は各記事にはトラックバックの URL がわかるようにコメントが埋め込んであります。
HTML のソースを見ると
<!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
<rdf:Description
rdf:about="http://www.foo.com/archive.html#foo"
dc:identifier="http://www.foo.com/archive.html#foo"
dc:title="Foo Bar"
trackback:ping="http://www.foo.com/tb.cgi/5" />
</rdf:RDF>
-->
なんて感じのが見つかります。これの trackback:ping 属性がトラックバック用の URL です。
このように HTML 中にコメントとしてトラックバックの URL を埋め込んで自動的にトラックバックできるようにすることを Auto-Discovery というようです。
http://www.movabletype.org/docs/mttrackback.html#autodiscovery of trackback ping urls
.Text は記事を POST する処理の中で、
といった処理を行っています。
そんなわけで PermaLink へのリンクを含めるだけで、自動的にトラックバックしてくれるわけです。
というように、.Text 自身が Auto-Discovery を使うことを前提にしているので、どこにもトラックバック用の URL が表示されてないんですよね。これは、どっかに表示するようにしようと思います。
ところで、「おいおい 2~4 って HTTP のやり取りだろ。重いんじゃないの?」 とお思いの方もいるかとは思いますが、.Text ではこの部分はちゃんと ThreadPool を使って別スレッドで行うようになっています。
if(entry.HasDescription)
{
notify.Description = entry.Description;
}
else
{
//entry.Description = entry.Title;
notify.Description = entry.Title;
}
//string parameters = "title=" + HtmlEncode(title) + "&url=" + HtmlEncode(link) + "&blog_name=" + HtmlEncode(blogname) + "&excerpt=" + HtmlEncode(description);
string parameters = "title=" + HttpUtility.UrlEncode(Encoding.UTF8.GetBytes(title))
+ "&url=" + HttpUtility.UrlEncode(link)
+ "&blog_name=" + HttpUtility.UrlEncode(Encoding.UTF8.GetBytes(blogname))
+ "&excerpt=" + HttpUtility.UrlEncode(Encoding.UTF8.GetBytes(description))
+ "&charset=utf-8";
Milano::Monolog 「Trackbackの文字コード指定方法最終(予定)」
http://rebecca.ac/milano/mt/archives/000396.html
原水さんのところで知ったんですが、BlogX から .Text へデータをインポートするためのツール into .Text っていうのがあります。http://blogs.users.gr.jp/haramizu/archive/2004/01/20/807.aspx
しかし、残念ながら .Text 0.94 用で 0.95 だとデータベースが変わっているためにそのままでは使えませんでした。そこで、0.95 対応に修正してみました。また、ついでにカテゴリも自動的にインポートするようにしてみました。
改造版の into .Text は こちら。
ソースとバイナリが両方入っています。
オリジナルの into .Text
ソース http://postback.be/postback/posts/216.aspx
バイナリ http://postback.be/postback/posts/213.aspx