BlogTop > MovableType Archive

MovableType Archive

2 of 7

< Previous PageNext Page >

すべてのページ

タグリストのXMLファイルを作ってみる

  • Posted by: maRk
  • MovableType
  • はてなブックマークに追加

Movable Typeで単にタグの一覧をXMLで出力するテンプレートを作成してみました。

<?xml version="1.0" encoding="UTF-8"?>
<tagcloud><MTTags sort_by="name">
<items>
    <tagName><$MTTagName encode_xml="1"$></tagName>
    <tagCount><$MTTagCount$></tagCount>
    <link><$MTTagSearchLink$></link>
    <tagRank><$MTTagRank max="10"$></tagRank>
</items></MTTags>
</tagcloud>

何かのカスタマイズとか、特にどうっていうものもないのですけれど、これをベースにちょっと学んでみようかなと考えています(わりとテキトウです)。

MT:PubSubHubbubプラグインについて

Movable Typeのプラグイン、PubSubHubbubの紹介と導入について書きます。

「PubSubHubbub」って何?といわれてもよくわかってなかったりしますが、RSSの更新情報の反映をRSSリーダーなどでの時差を解消しようとするものです。

説明不足でアレなので、PubSubHubbubについては、以下のページを参考リンクとして示します。

追記:livedoor reader については、記事投稿のときのPing送信先に、http://rpc.reader.livedoor.com/ping を指定されたほうが早いとおもわれます。

PubSubHubbubプラグイン

PubSubHubbubプラグインは、miyagawa(Tatsuhiko Miyagawa)氏の提供するMovable Type用プラグインです。Movable Type4以降で利用可能のようです。プラグインの入手は以下からダウンロードすることができます。

導入について

ダウンロードしたファイルを解凍し、フォルダごとMTシステムのディレクトリのpluginsディレクトリ内にアップロードします。アップロード後に、プラグインの設定画面にて設定をおこないます。なおプラグインはブログ単位で設定をおこなうようになっています。

以下のキャプチャはMT5.0ベータ1によるものです。

mt_pubsubhubbub-01.gif

設定画面にて、pingを打つ先のURLを入力して、設定を完了します。今のところ、「http://pubsubhubbub.appspot.com/」が利用可能のようです。

設定が済んだら、「最新記事のフィード(feed_recent)」(atom.xml)テンプレートの<link rel="self" ... />以下に<$mt:PubSubHubbubLinks$>を埋め込み、保存・再構築をおこないます。

mt_pubsubhubbub-02.gif

再構築後のフィードのソースを見ると、<link rel="hub" href="..." />というコードが追加されています。 W3C Feed Validation Service で確認すると、Recommendationsとして、「Unregistered link relationship」が指摘されるのですが、御愛嬌ということで。

あとは、記事を更新するのみです。以上です。

Continue reading

Movable Type5.0ベータ1、InstaMTにインストールしたよ、のメモと注意点

Movable Type 5 のベータテストが始まりました。そこでInstaMTにて構築してみました。少しだけ注意する部分があります。

追記:【2009・12・01】Movable Type 5が正式リリースされました。これに伴い、本記事内容を凍結とさせていただきます。なお、InstaMTについてまとめたページについては時間をみて更新させていただきます。

InstaMTはMovable Typeの環境を簡易的に構築するためのツールです。Movable Type 5(beta)での最低限の動作環境は満たしているようなので、インストールしてみることにしました。

「InstaMT」については、手前味噌ですが、以下のページにてまとめておきました。

環境としましては、InstaMTにMT4.2以降のヴァージョンにアップし、ユーザの利用環境を日本語に設定しておいたうえでのアップグレードという形です。プラグインについては、初期の状態とします。なお、使用したMT5のヴァージョン表記は、「Movable Type Pro version 5.0b1 」。

Movable Type 5 のベータテスト開始に関する情報およびベータ版ダウンロードについては以下を参照します。

InstaMTでのヴァージョンアップの方法ですが、簡単におさらいしておくと、

  1. /cgi-bin/mt/ 以下に新しいほうの/cgi-bin/mt/ のmt-staticを除いたフォルダをコピーして上書きする
  2. /www/にmt-staticフォルダのコピーを上書きする
  3. 新しいほうのMTの各CGIファイルを開き、パスを#!C:/InstaMT/perl/bin/perl -wに書き換えておく
  4. 書き換え済みのCGIファイルを含めたフォルダ以外のファイル群をmtフォルダに上書きする
  5. InstaMTを起動させるとアップグレードの動作がはじまる

以上の作業後のアップグレードの流れは以下のようにおこなわれました。

upgrage50b1.jpg

次に注意する点ですが、Movable Type5よりウェブサイト単位の管理というものが設けられましたので、そのあたりでの設定です。

アップグレード後の状態でブログを再構築すると、エラーで止る現象がおこりました。これはブログの公開パスの設定が正しくないことによるものです。

そこで「システム」のメニューからウェブサイト一覧を開き、「Generic Website」と書かれた(初期状態でそのような名称になっています)サイトの設定画面に移動します。以下のキャプチャのようにルートの公開パスを設定しておきます。

ちなみにルートのサイトパスはC:\InstaMT\www\となります。

conf_whole_mt50b1.gif

設定後にGeneric Websiteの管理画面にいきます。上のメニューのうぐいす色のところにGeneric Websiteと書かれている状態です。この時点では1つもテンプレートが登録されていない筈です。ここでインデックステンプレートを1つだけ作成しておきます。

作成するのは、InstaMT起動時に「Sending you to the InstaMT dashboard...」のメッセージのでるジャンプページで、/www/直下のindex.htmlのソースをそのままコピーして貼り付けします。ファイルの出力はindex.htmlとしておき登録します。これで、Generic Websiteのほうの設定は完了です。

今度はInstaMTにはじめから登録されているブログ(My MT Blog)のほうの設定に移動します。ブログの全般の設定にいき、サイトパス、アーカイブパスを正しいものにすれば完了です。設定後に全再構築してエラーがでていなければあとは弄り倒しに、という流れです。以上です。

はてブ:エントリーページのURI変更にあわせたEntryPermalinkの書き方なのだが。。

  • Posted by: maRk
  • MovableType | net
  • はてなブックマークに追加

はてなブックマークでエントリーページのURIが変更とのこと。既に張られていた旧URI からは全てリダイレクトされるようです。

URI変更については、はてなブックマーク日記の記事を参照します。

「http://」がURIに含まれない形になるということと、rel="canonical"により正規化されたURIを指定、また既存のURIについては永続的にリダイレクトをおこなうようであります。

ということから、Movable Typeでの「↑B」ボタン設置のリンクについてはこれまでどおりで問題はなさそうです。

で、もしこの変更にあわせた形とするのですと、以下のような感じになるかと。テスト用の簡素なものですから運用レヴェルのものではないです。

<ul>
<mt:Entries lastn="5">
<li><MTEntryTitle>
<a href="http://b.hatena.ne.jp/entry/<$MTEntryPermalink regex_replace="/http:///",""$>" rel="nofollow">
<img src="←「↑B」画像までのパス→" width="16" height="12" alt="このエントリーを含むはてなブックマーク" title="このエントリーを含むはてなブックマーク" />
</a>
</li>
</mt:Entries>
</ul>

例のごとく(?)でregex_replaceによる置換です。スラッシュが続いてヘンテコな感じですが期待どおり(何?)な結果がでます。いちおう、nofollowつきで。

んー、あまりスッキリしないですね。リダイレクトしてくれるというのですから、こちらがわざわざ合わせる必要もないのですけれども。

追記:2013/02/24 http スキームを取り除くグローバルモディファイアをつくりました。

以下のようにつかいます

 <a href="http://b.hatena.ne.jp/entry/<$mt:EntryPermalink RemovehttpScheme="1"$>">

MT:アーカイブインデックスにAjax検索を取り入れて改造した

Movable Typeのアーカイブインデックスを改修してみました。Ajax JSON Searchの検索用テキストを再利用することでアーカイブリストを表示します。

Ajax JSON Searchって何よ、というかたは以下のページをご覧ください。で、設置した上でのハナシとして以下進めさせていただきます。

この検索で利用するテキストデータ(search_data.txt)なのですが、実はやってることが全アーカイブリストの出力。コレが意味するのは、コアの部分はアーカイブインデックスとほぼ同一内容のリストを作っているようなもの、ということになるのでは。。

それと、Ajax検索で検索ボックスに何も検索語をいれずに実行すると、全エントリが出力されるようになってます。入力されていないことをアラートで警告することもできるのでしょうが、恐らく敢えてやっていないのだと思われます。

以上のことをふまえて、search_data.txtを使い回ししてアーカイブ全出力するテンプレートをおもいついたというわけです(#くだらないけど)。

まずは、その元となるテンプレートを作ってみました。ページを開いて、ボタンを押すとエントリの検索が実行されて全エントリのリストが表示されます。

しくみは簡単です。blog_ajax_json_search.jsは本来、検索することが目的ですので、検索に関わる出力部分を少し改造します。具体的には、「○件ヒット」とかを表示しないように、build_search_result_html関数のところを書き換えます。

あとは、blogAjaxJsonSearch関数の第二引数を「,''」にして検索語のない状態として実行するだけです。

余談で、show_all_backnumbersみたいなのがあるのですけど、多分全リストを表示させるようなものだと思うのですがコレ動くんですかね。試してないですが。

てすとページでは、ボタン押下でblogAjaxJsonSearchを実行してますが、body要素のonload属性を使って実行のようにもできます。あえてやっていないのは、ナヴィゲーションリンクとかから、現在見ているページに流し込みできるんじゃね、みたいなハナシがしたかったからとか(#...ブツブツ)。

実際のページは、テンプレートのグローバルナビの「Archives」より確認できます。あとおまけでタグ検索の検索窓もつけてみました。以上です。

今月のいらんことしい(2009年5月)

今月(2009年5月)、テンプレートなどをカスタマイズしたところをまとめておきます。

Movable Typeをアップグレードさせたこともあって、あれこれ弄ってた気がするのですが主な変更箇所等は以下のとおりです。

  1. 「タグアーカイブページ」で関連タグがでるようにした
  2. 4.25にアップグレードとコメント認証のサービスを追加
  3. ダッシュボードのウィジェットを作成してみた
  4. 検索をmt-search.cgiからAjax+JSONによる全文検索に変更した。
  5. スタイルシートのファイル構成の変更
  6. フッター(#footer)の背景色・リンクカラーを変更

TagSupplementals PluginおよびMT-XSearchによるタグアーカイブですが、MTRelatedTagsを利用した、関連タグをサイドカラムに表示するようにしました。

関連

以下のページ等で確認できます。

Movable Typeのヴァージョンを4.25にしました。これまで、コミュニティ機能なしのMovable Type Commercial を利用していましたが、今回よりmotion等コミュニティ機能つきのProとしました(今のところコミュニティ機能の使い道が無いんですけど)。

アップグレードについては、いつものように圧縮ファイルアップロード、SSH接続でunzipと、pluginsフォルダ、/mt-static/plugins/ 内のフォルダ等のコピー、configファイルのコピー、cgiファイルのパーミッション設定といった手順です。

アップグレードにともない、認証サーヴィスの追加をおこないました。確認できているものでgoogle、yahoo、livedoor、はてな等が利用可能です。

ダッシュボードウィジェットは、プラグインという形で現在、最近の記事で使われている、「カスタムフィールドの内容」を出力するウィジェットを作成して使っています。(後日紹介のつもり)

Movable Typeの全文検索ですが、以下のページを参照しました。

参考ページ

導入方法についても解説されているままです。あと、記事ページに1カラムレイアウトを採用している関係で、検索結果をページ内に流し込む方法だと検索窓をページ上部にもってこないと不都合だったりするので専用ページを設けることにしました。これについては、WolaWola(author:oscarさん)さまのテンプレートを参考につくりました。

検索ページを見た限りですと、ページ遷移すると検索が始まるようでしたので、たぶんパラメタの値でもってごにょごにょやってるのだろうと思い、自分なりの解釈で作ってみました。

スタイルシートの構成については先日書きました。

フッターの背景を黒系にしてヘッダーとあわせるとしました。ソースは以下のとおり。

div#footer {
   color: <em>#CCCCCC</em>;
   background-image: none;
   background-color: #000000;
   padding: 1px 0;
}

div#footer ul.support {
    color: #CCCCCC; /* + maRk */
    margin: 0em 10px;
    text-align: right;
}

/* + maRk */
div#footer ul.support li a:link {
    color: #0198CA; }

div#footer ul.support li a:hover,
div#footer ul.support li a:active {
    color: #00B8FD; }
/* + maRk */

RenameLabel Pluginを使って編集画面のラベルを漢字表記にしてみた

エムロジック放課後プロジェクト提供のRenameLabel Pluginは、Movable Typeの編集画面のフィールド名を任意の名称に変更するためのプラグインです。ためしにこれを使って漢字のラベルにしてみました。

プラグインを入手する

プラグインは、エムロジック放課後プロジェクト(エムロジック株式会社)さまの以下のページからダウンロードできます。

説明のHTMLファイル等も同梱されていましたので、導入方法などはそちらを参考にします。

ラベル表記を変更する

プラグインが導入できますと、ブログのプラグイン設定の画面にRenameLabel Pluginが表示されているはずですので、そこから「設定のタブ」を表示させると、設定画面が表示されます。

利用の状況に応じて適切なラベル名を付ける、というのがこのプラグインの本来の目的なのですが、今回は昨今の漢字ブームにあやかって(?)ラベルを漢字にしてみました。漢字訳ですが、かなりテキトーです。漢字訳については、いちおう以下のサイト等を利用しています。#ネタですいません(汗;

スクリーンショットを示します。

rename_fieldlabel_conf.gif

管理画面は以下のようになりました。ちょっとやばいカンジです。

rename_fieldlabel.gif

Click to Enlarge

今回ためした件のラベルとその値の対応は以下のファイルとなってます。訳はコチラのイメージとかによるので、妥当ではないとおもいます。「トラックバック/言及通知」とか。

Download

今月のいらんことしい(2009年4月)

今月(2009年4月)テンプレートカスタマイズの箇所をまとめた記事です

  1. タグ検索のテンプレートをキーワード検索と分離した
  2. hAtomを各テンプレートに仮導入

今月はテンプレートを少しだけカスタマイズしてます。最初のほうは、TagSupplementalsプラグインのバージョンアップに伴うものです。内容等は以下記事にて

あと、VicunaのmicroformatsのhAtom対応をおこないました。いちおう仮対応ということであとで変わるかもしれないし放置するかもというところです。Vicunaでは、アーカイブリストページと記事ページが構造が変わる点があったりで、microformatsのための要素追加するかどうかで迷う部分はあります。対応については、Microformats Wikiのサンプルを参考にしたらよいかと。

Index of all entries

BlogTop > MovableType Archive

Feeds
Elsewhere

Action Streams

logo

Comment powered by DISQUS

Return to page top