Home > MTカスタマイズ Archive

MTカスタマイズ Archive

Select Pages:

DeliciousリニュにつきActionStreamsのconfig.yamlを修正

Deliciousがリニューアルして、ドメインもdelicious.comに変わりました。ActionStreamsプラグインのconfig.yamlファイルのdeliciusを新しいドメインにあわせてみました。

リニューアルについては、delicious blogにて記事があがっています。

はじめにひとこといっておきますと、今の時点では特に変更してなくても、フィードのURLやユーザのページURLなどは今までのドメイン(del.icio.us)からdelicious.comのほうに表示されるようになってます。従いまして以下に示す変更をおこなわなくてもActionStreamsは稼動しているようです(2008/08/01確認)。
改変については自己責任ということでお願いします。

1. 変更された箇所について

先にdelicious.comになって変更になったURLをあげておきます。

ユーザのブックマークページ
  • リニューアル前:http://del.icio.us/<USER>
  • 新:http://delicious.com/<USER>
ユーザのフィード
  • リニューアル前:http://del.icio.us/rss/<USER>
  • 新:http://feeds.delicious.com/v2/rss/<USER>

2. config.yamlの変更箇所

ローカルにあるpluginsフォルダのActionStreamsフォルダ内にあるconfig.yamlファイルを開き、以下のように変更してみました。

140行目付近

    delicious:
        name: delicious
        url: http://delicious.com/%s/

*nemeのdeliciousの先頭は小文字にしておきました。

316行目付近

            url: 'http://feeds.delicious.com/v2/rss/{{ident}}'

書き換えが終わったら、config.yamlをサーバに上書きします。反映をすぐに確認したいときは、ブラウザからMTシステムのログフィードを読みこんでみたらよいかと。

あとこのままでは、Elsewhereのプロフィールページが前の状態のままですので、変更をすべて反映するには以下のようになります。

既存のdel.icio.usをプロフィールから削除する

  1. 管理ページの「こんにちは○○さん」のリンクをクリック
  2. Other Profilesのリンクをクリック。del.icio.us Profileだけチェックを入れ、削除を実行
  3. Add Profileから新たにdeliciousのプロフィールを追加(*)
  4. Elsewhereがモジュールになっている場合、特に変更せずに保存したのち、すべてを再構築して完了(再構築の必要がある場合のみ)

(*)2.で示したように変更されていれば、プロフィールのプルダウンメニュー内は「delicious」という名称にかわっています。

なお、delicious.com用として(単独に)config.yamlを作る手も考えられるのですが、どの道既存のdel.icio.us profileを削除する必要はありそうなので、オリジナルのconfig.yamlを変更でいいのではと思ってます。
追記:タイトルがおかしな感じなので変えました。

今月のいらんことしい(2008年7月)

今月(2008年7月)テンプレートを弄った箇所を中心にまとめたエントリです

  • フィード登録のリンクをRSS2.0(/rss.xml)からAtomフィード(/atom.xml)に変更
  • 秘かに(?)記事エントリをautopagerize対応
  • サイトトップ(http://www.markdiary.com)をPathtraq(パストラック)の定番記事がでるように変更。

今月の主な変更などはこのようなところです。

autopagerizeの対応への方法はNot renewalさまの以下の記事を参考におこないました。

PathtraqのAPIを利用して、定番の記事を出力するようにしてみました。

APIの具体的な使い方は、ステップ・バイ・ステップで Pathtraq の API を使ってみよう - IT戦記にてまとめられているようです。

定番記事のフィードを利用しています。読み込みには、SimpleXML使ってみたです。気が向いたら他の方法とかいろいろ試したいなーとか思ってます。

テキストエリアのAYCの件

mt.VIcunaテンプレートで、textareaの初期値にAdd Your Commentを書いてフォーカス時に初期値がクリアされるという動作についてです。

ネタ元は、mt.Vicuna フォーラムのトピック、「コメントプレビュー表示時の Add Your Comment 表示について」です。

コメントを入力して -> プレビュー すると、プレビュー画面下のコメント欄には、自分で入力したコメントではなく Add Your Comment が表示されてしまい、そのままPOSTすると Add Your Comment がコメント投稿されてしまいます。

動作としては、textarea要素の初期値は、「Add Your Comment」として、フォーカスされたとき(onfocus)に初期値が消えるというものです。キーワード検索のテンプレートにおける動作と同じようなもので、基本は以下のような形となります。

*見やすくするために適当な箇所で改行してます

<textarea id="comment-text" class="inputField" name="text" rows="8" cols="50"
 onfocus="if (this.value == 'Add Your Comment') this.value = '';"
 onblur="if (this.value == '')
 this.value = 'Add Your Comment';">
Add Your Comment
</textarea>

で、自分のところでは、上のような処理をいれているのですが、コメントフォームのテンプレートモジュールがシステムテンプレートの場合も兼ねているために、システムテンプレートであったときの処理も併記する必要があるために、以下のような形で使っています。

*実際は改行せずに一行です。

<textarea id="comment-text" class="inputField" name="text" rows="8" cols="50"
<MTIf name="tempName" like="individual"> onfocus="if (this.value == 'Add Your Comment') this.value = '';" onblur="if (this.value == '') this.value = 'Add Your Comment';"</MTIf>>
<MTIf name="tempName" eq="system_comment_preview">
<$MTCommentBody autolink="0" sanitize="0" convert_breaks="0" encode_html="1"$>
<MTElseIf like="individual">Add Your Comment</MTIf>
</textarea>

MTIf name="tempName" eq="system_comment_preview以降の処理がコメントプレビューだったときに、テキストエリアに書き込まれた内容を表示させるためのものです。

MTCommentBodyタグで、コメントの内容をテキストエリアに表示させます。この処理にもちょっと不満なところもあって、コメントに何もかかれない状態でプレビューしますと、Add Your Commentになっちゃいます。ま、あまりありえないんですけど。

<MTElseIf like="individual">Add Your Commentと書いた部分についてですが、「コメントプレビューテンプレート」以外のときに初期値を書くためのものです。もともとは、MTElseIfのところは、MTElseだけで書いていたような気がしたのですが、多分MTElseだけで処理してよさそう(のはず)。

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

今月のテンプレートで弄った箇所など中心に列挙してみるエントリです。今月はどちらかといえば部分的な修正のほうが多くなってます。

  1. コメントのフィードを、10件としContentモジュールを使うのをやめてdescription要素に
  2. 1.について、フィードで配信するコメントの文字数を255文字までとした
  3. 「あとで読む」ボタンの位置を変更
  4. /web/の一覧ページで最終更新日(Last Modified)と概要を表示するようにした
  5. システムテンプレートのときにグローバルナビを表示しように変更
  6. 背景のストライプ画像を色違いのものに変更
  7. ブローク(Blork)のmy ブログネットワークに参加
  8. del.icio.usでブックマークした記事リストを表示するページを作成

といったところです。コメントフィードのほうは、前は5件でやってたのですけど、もう少し多くてもいいのかなと思って10件にしました。文字制限はコメントが長かった場合への措置です。指定文字数を超えた部分はフィードでは非表示となります。続きはエントリのほうにて読んでいただくという形とします。

今現在、item要素の子要素、description要素は以下のようにしています。


<description>
<$MTCommentBody remove_html="1" encode_xml="1" convert_breaks="0" trim_to="255"$>
</description>

ブロークは、よくわからないのですけどキーワードからネットワークを形成できるようなサービスです。ネタフルさんで紹介されているみたいですね。

myownでやってみたら、自分しかいなかったので、myというキーワードで参加することにしました(myブログネットワーク)。

背景画像のことですが、月ごとで変えていこうかと思ってます。今月は新緑のイメージのつもり。配色センスをもう少し勉強せんといかんな、と思う今日この頃です。

メモ:記事ごとに違う処理したいときのカスタムフィールド

特定記事のみで読み込むコードとかがある場合に、条件処理させたいと思い、カスタムフィールドを使ってやってみました。

1.カスタムフィールドの設定

カスタムフィールドを新規作成します。以下のような感じで、Yes,Noをラベルに使ったラジオボタンを作成します。

  • 名前: 任意
  • 説明: 任意
  • 種類: ラジオボタン
  • オプション: Yes,No
  • 必須?: チェック(チェックにすることで、記事作成画面に常に表示されます)
  • 規定値: NoまたはYesのラジオボタンにチェック

ここで作成されたタグの出力結果は、ラジオボタンにチェックを入れたほうの値となります。

Yes,Noでなくても自分でわかりやすい変数っぽいものでもいいでしょう。

2.ブログ記事テンプレートに変数を定義

Checkboxという名前でできたカスタムフィールドですと以下のような形となります。

場所は、ブログ記事テンプレートの上の辺りにでも

<MTIfNonEmpty tag="Checkbox">
<MTSetVarBlock name="check"><MTCheckbox></MTSetVarBlock>
</MTIfNonEmpty>

MTIfNonEmptyタグは念のため記述してありますが、「必須」にしてあるのでもしかしたら要らないかもしれません。

3.処理を行いたい箇所のコード

条件分岐したい場所に以下のようにeq=...にて判断をおこないます。この場合は、Yesにチェックが入っていた場合の条件での処理になります。MTElseなどを入れることも考えられるでしょう。

<MTIf name="check" eq="Yes">
do something...
</MTIf>

カスタムフィールドと条件分岐についてはだいたいこのような感じです。

MT:トップページのパンくずリストについて

MT4でパンくずリストをMTIfタグで分岐させていることかと思いますが、トップページについての条件式をはずすというのをやってみました。

以下の方法は好みの問題でもありますので、自分はこうやるということで紹介しておきます。

1. トップページのパンくずは直書きに

たいていは、パンくずリストを一元管理するため、共通のテンプレートとしてインクルードさせることが多いようです。

ブログのトップページのパンくずリストは、プログのトップページへのリンクのみとなっていますから相対パスを利用すれば、トップページ(メインインデックス)ではパンくずリストのテンプレートはインクルードせずに、以下のようなものを直接埋め込むことで済むのではないでしょうか


<p class="topicPath><a href="./">HOME</a></p>

パンくずリストのテンプレートからトップページかどうかの条件式をはずす


<MTUnless name="main_index">
<p class="topicPath"><a href="">HOME</a>
do something...
</MTUnless>

のような形であったとしますと、先述したとおりメインインデックスページで直接かいてあれば、name="main_index"のようにメインインデックスかどうかを判断する条件式をはずすということができるというわけです。

Index of all entries

Home > MTカスタマイズ Archive

Search
Feeds
Elsewhere

Action Streams

logo

Mozilla Firefox ブラウザ無料ダウンロード

Movable Type

TypePad AntiSpam

Return to page top