2005年08月23日

Movable Type の カスタマイズ  (背景色)

背景色の変更

スタイルシートのテンプレートを編集して変更できます。
この時、styles-site.css (抜粋)は着色の箇所を変更しています。(色指定はカラーネームを使ってあります)

カラーコード表 ( http://www.wave440.com/wave_log/archives/image/color.html ) を作ってみました。ご参考までに。

body {
margin: 0px 0px 20px 0px;
background-color: red;

text-align: center;

}


#container {
line-height: 140%;
margin-right: auto;
margin-left: auto;
text-align: left;
padding: 0px;
width: 700px;

background-color: blue;
border: 1px solid #FFFFFF;
}

#banner {
font-family: Verdana, Arial, sans-serif;
color: #FFFFFF;
background-color: brown;
text-align: left;
padding: 15px;
border-bottom: 1px solid #FFFFFF;
height: 39px;
}

.content {
padding: 15px 15px 5px 15px;
background-color: yellow;

color: #666666;
font-family: Verdana, Arial, sans-serif;
font-size: x-small;
}

#right {
float: left;

width: 200px;
background-color: green;

overflow: hidden;
}

投稿者 ゆう : 07:17 | コメント (0) | トラックバック (0)

2005年08月26日

Movable Type の カスタマイズ  (幅)

幅の変更

スタイルシートのテンプレートを編集して変更できます。
この時、styles-site.css (抜粋)の着色の数字を変えると同色の部分の幅が変更されます。

青の幅=黄の幅+緑の幅
にしないとレイアウトが崩れます。

#container {
line-height: 140%;
margin-right: auto;
margin-left: auto;
text-align: left;
padding: 0px;
width: 700px;

background-color: blue;
border: 1px solid #FFFFFF;
}


#center {
float: left;
width: 500px;


overflow: hidden;
}


#right {
float: left;


width: 200px;
background-color: green;

overflow: hidden;
}

投稿者 ゆう : 05:02 | コメント (0) | トラックバック (0)

2005年08月28日

Movable Type の カスタマイズ  (文字)

文字の大きさの変更

スタイルシートのテンプレートの font-size 値を変える事で変更できます。
デフォルトはキーワードで指定しています。
キーワードには
xx-small
x-small
small
medium
large
x-large
xx-large
の7段階があり、medium が標準サイズです。1段階上がると1.2倍のサイズになります。
また、smaller,largerを指定すると大きさが1段階上下します。
もちろん、px (ピクセル)などで指定する事も出来ます。

僕は content の p ,h2 ,h3 タグで囲まれた部分の文字サイズをデフォルトより1段階大きくしています。
(p:本文,h2:日付,h3:タイトル 部分)

font-size 以外にもデフォルトでプロパティが設定されていますので、編集によりカスタマイズが可能です。興味がありましたら、スタイルシート関連のサイトを参考にされると良いと思います。

.content p {
color: #666666;
font-family: Verdana, Arial, sans-serif;
font-size: small;
font-weight: normal;
line-height: 150%;
text-align: left;
margin-bottom: 10px;
}

.content h2 {
color: #666666;
font-family: Verdana, Arial, sans-serif;
font-size: small;
text-align: left;
font-weight: bold;
margin-bottom: 10px;
}

.content h3 {
color: #666666;
font-family: Verdana, Arial, sans-serif;
font-size: medium;
text-align: left;
font-weight: bold;
margin-bottom: 10px;
}

投稿者 ゆう : 07:36 | コメント (0) | トラックバック (0)

2005年08月30日

Movable Type の カスタマイズ  (ファビコン)

メインページ,アーカイブなどファビコンを表示させたいページの各テンプレートの <head> ~ </head>内に以下を追加し、favicon.ico をメインページの index.html と同じ階層にアップします。
<link rel="shortcut icon" href="<$MTBlogURL$>favicon.ico" />

つまり、僕の場合 <$MTBlogURL$> は、http://www.wave440.com/wave_log/ になってます。

ファビコン(favicon): BitbizDesign/Hiroki's Weblog を参考にさせて頂きました。

僕は、favicon.ico でやっていますが、確かに他の名前の方がうまくいくような話も聞いたことがあります。ただ、この「ファビコン表示」自体が不安定ということも聞いているので、まぁ一応設置しておこうか、というような感じでやってます。(^^ゞ
一度ブラウザのお気に入りに登録すると表示されるようになりますが、急に表示されなくなったりもします。

今は、favicon を自動生成してくれるサイトがあるんですね。知りませんでした。 .jpg や .gif の拡張子を名前変更で .ico にするだけじゃうまくいかないんですよね、コレ。(笑)

投稿者 ゆう : 06:13 | コメント (0) | トラックバック (0)

2005年09月01日

Movable Type の カスタマイズ  (バナー部分)

あまり参考にならないかもしれませんが、スタイルシートテンプレートのバナー部分を貼っておきます。
主な変更点は、
1)背景色
2)フォントおよびフォントサイズ
3)リンク色
4)文字位置の微調整(position:relative;)
5)カウンタの挿入,センタリング( class="ct" 追加)
です。

3)について、
「ウェブログの名前」と「ウェブログの説明」のそれぞれのリンクに a:link a:visited a:hover a:active を設定しました。「ウェブログの説明」のリンクは文中の一部にだけリンクを付けたかったので、推奨はされていないかもしれませんが、「ウェブログの説明」の入力欄でリンクのタグを入力しています。つまり、僕の場合、

「<a href="http://www.wave440.com" target="_blank">guitar site WAVE</a> の ログ」です。「ウェブログ」とのダジャレにもなっております。(イタッ!)

と入力しています。

また、
a:link
a:visited
a:hover
a:active
の指定の順番は上記が正しいです。 デフォルトの順番は、a:hover a:active の順が逆の
a:link
a:visited
a:active
a:hover
になっているのですが、これだと a:active が効きません。
理由を詳しく知りたい方は、コチラが参考になると思います。

ただ、「ウェブログの名前」はフォントサイズが大きく、クリックした時に付く点線の枠が気になるので、javascript の onfocus="this.blur()" を使って

<div id="banner">
<h1><a href="<$MTBlogURL$>" accesskey="1" onfocus="this.blur()"><$MTBlogName encode_html="1"$></a></h1>

として点線の枠が表示されないようにしているのですが、これを使うと a:active が効かないようです。

それと、トップページからトップページへのリンクは変なので、メインページのテンプレートから「ウェブログの名前」に付いているリンクは外しました。

#banner {
background-color: #000000;
text-align: left;
padding: 15px;
border-bottom: 1px solid #FFFFFF;
height: 39px;
}

#banner h1 {
font-family: century,Verdana, Arial;
text-decoration: none;
color: #7FFFD4;
       font-weight: bold;
font-size: 40px;
position:relative;top:8px;left:0px;
}


#banner h1 a:link { text-decoration:none; color:#7FFFD4; }
#banner h1 a:visited { text-decoration:none; color:#7FFFD4; }
#banner h1 a:hover { text-decoration:none; color:#FF0000; }
#banner h1 a:active { text-decoration:none; color:#FFFFFF; }

.ct {text-align: center; }

#banner h2 {
font-family: Verdana, Arial, sans-serif;
color: #FFFFFF;
font-size: small;
position:relative;top:7px;left:0px;
}

#banner h2 a {
font-family: MS Sans Serif,Verdana, Arial;
}

#banner h2 a:link { text-decoration:underline; color:#FFFFFF; }
#banner h2 a:visited { text-decoration:none; color:#FFFFFF; }
#banner h2 a:hover { text-decoration:none; color:#FF0000; }
#banner h2 a:active { text-decoration:none; color:#FFFFFF; }

投稿者 ゆう : 06:51 | コメント (0) | トラックバック (0)

2005年09月03日

Movable Type の カスタマイズ  (検索画面)

検索画面のテンプレートは、mt.cgi が配置してあるところにある search_templates というディレクトリの中の default.tmpl というファイルになりますが、このテンプレートはデフォルトでは Movable Type の管理画面から編集できませんので、以下のようにして管理画面で編集出来るようにしています。

「管理」「テンプレート」の「アーカイブに関連したテンプレート」の「新しいアーカイブ・テンプレートを作る」をクリックして出た画面で、

テンプレートの名前:検索画面テンプレート(名前は適当に)
このテンプレートにリンクするファイル: /var/www/html/blog/search_templates/default.tmpl (環境によって異なります)

として、
「テンプレートの中身」がブランクの状態で、「保存」をクリックすると検索画面のテンプレートが読み込まれて他のテンプレートと同様に管理画面で編集が出来るようになります。

※「テンプレートの中身」がブランクの状態でないと、上書きになってしまいますので注意して下さい。
デフォルトのテンプレートは保存しておいた方がいいと思います。

また、

エラーが発生しました:
オブジェクトの保存に失敗しました: リンク先ファイル /var/www/html/blog/search_templates/default.tmpl を開けません: Permission denied

と出たら、パーミッションの変更が必要です。

僕の場合、所有者を FTP の接続ユーザにして、グループを apache にしました。そして、パーミッションは [660] にしてます。たぶん、大丈夫だと思うんですが、もしかすると何かトラブルが出るかもしれません。(--;)

# chown user:apache /var/www/html/blog/search_templates/default.tmpl

(「user」 は FTP の接続ユーザ名です)
この設定であれば、FTP で default.tmpl をローカルにバックアップとれます。


一応、デフォルトのテンプレートを貼っておきます。↓
default.tmpl (3.17-ja , 3.171-ja とも同じ)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<$MTPublishCharset$>" />
<meta name="generator" content="http://www.movabletype.org/" />

<title><MT_TRANS phrase="Search Results"></title>
<link rel="stylesheet" href="<$MTBlogURL$>styles-site.css" type="text/css" />
</head>

<body>

<div id="container">

<div id="banner">
<h1><a href="<$MTBlogURL$>" accesskey="1"><$MTBlogName$></a></h1>
<h2><$MTBlogDescription$></h2>
</div>

<div class="content">

<form method="post" action="<$MTCGIPath$><$MTSearchScript$>">

<h3><MT_TRANS phrase="Search this site:"></h3>

<p><input type="text" size="30" name="search" value="<$MTSearchString$>" /> <input type="submit" value="<MT_TRANS phrase='Search'>" /></p>

<p><input type="checkbox" name="CaseSearch" /> <MT_TRANS phrase='Match case'> <input type="checkbox" name="RegexSearch" /> <MT_TRANS phrase='Regex search'></p>

</form>

<MTSearchResults>

<MTBlogResultHeader>
<h2><MT_TRANS phrase="Search Results from [_1]" params="<$MTBlogName$>"></h2>
</MTBlogResultHeader>

<h3><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></h3>
<p><$MTEntryExcerpt$> <$MTEntryEditLink$></p>
<p class="posted"><MT_TRANS phrase="Posted in"> <$MTBlogName$> <MT_TRANS phrase="on"> <$MTEntryDate$></p>

</MTSearchResults>

<MTNoSearchResults>
<h2><MT_TRANS phrase="Searched for '[_1]'" params="<$MTSearchString$>"></h2>

<p><MT_TRANS phrase="No pages were found containing '[_1]'." params="<$MTSearchString$>"></p>
</MTNoSearchResults>

<MTNoSearch>
<h2><MT_TRANS phrase="Instructions"></h2>

<p><MT_TRANS phrase="By default, this search engine looks for all words in any order. To search for an exact phrase, enclose the phrase in quotes:"></p>

<blockquote><pre>"movable type"</pre></blockquote>

<p><MT_TRANS phrase="The search engine also supports AND, OR, and NOT keywords to specify boolean expressions:"></p>

<blockquote><pre><MT_TRANS phrase="personal OR publishing"></pre></blockquote>

<blockquote><pre><MT_TRANS phrase="publishing NOT personal"></pre></blockquote>
</MTNoSearch>

</div>
</div>

</body>
</html>

投稿者 ゆう : 07:43 | コメント (0) | トラックバック (0)

2005年09月05日

Movable Type の カスタマイズ  (カテゴリー(1))

1.並び順を指定する。
デフォルトでは「カテゴリーのタイトル」から自動で並べられます。

2.アドレスを指定する。(ディレクトリ名)
デフォルトでは「カテゴリーのタイトル」から自動で生成されます。「カテゴリーのタイトル」が半角英数ならば、だいたいその通りのディレクトリ名になりますが、日本語だと cat1 などのディレクトリ名となります。

3.カテゴリー毎のエントリー数を表示する。

1.2.について、
たとえば、僕は「自宅サーバ」カテゴリーには、
「カテゴリーのタイトル」=「!server‐自宅サーバ」
「カテゴリーの説明」=「自宅サーバ」
と入力しています。

「カテゴリーのタイトル」で、
「!」は並び順を指定しています。
「!」「"」「#」~「'」「(」「)」の順番で並びます。
記号の順番はキーボードの数字キー(テンキーじゃない方)を見るとわかりやすいです。一番優先させたいカテゴリは shift+1 の「!」、一番下に表示させたいカテゴリーは shift+9 の「)」となります。

そして、「server」はディレクトリ名になります。僕の場合だと、自宅サーバ カテゴリーのアドレスは、
http://www.wave440.com/wave_log/archives/server/index.html
となっています。

最後の、「‐自宅サーバ」は、カテゴリー名が英数だけになってしまうと投稿時などにカテゴリーの把握がしづらくなってしまいそうなので、英数の文字列の後に全角文字列でラベルとなる文字列を入れてます。

※並び順を指定する一文字目の半角記号およびラベルとなる全角文字列は、ディレクトリ名に反映されません。

デフォルトだと「カテゴリーのタイトル」が表示されるカテゴリー名となりますが、上記の1.2.を実現する為に本来のカテゴリー名を入力していません。そこで、表示させたいカテゴリー名は「カテゴリーの説明」に入力し、各テンプレートのカテゴリー名表示にあたるタグを「カテゴリーの説明」(MTCategoryDescription)に変更します。

僕の場合、「メインページ index.html」「カテゴリー・アーカイブ」「RSS 1.0 index.rdf」「RSS 2.0 index.xml」「Atomフィード atom.xml」の各テンプレートを編集しています。

RSS 関連のテンプレートでは、MTEntryCategory を MTCategoryDescription に変更しただけではエラーとなります。また、glue="/" は、複数のカテゴリに所属している場合に、それぞれのカテゴリーの表示を glue で設定した文字列(この場合"/")で区切られて表示されるとの事です(好みの文字に変更可能)。
僕の場合、該当するエントリーがないので未確認ですが…。(^^;


メインページ index.html

(上がデフォルトになります)

※カテゴリー名につくリンク色を指定する為、<span class="cate"></span> を追加しています。
MTCategoryCount でカテゴリー毎のエントリー数を表示しています。


<div id="categories">
<h2>カテゴリー</h2>

<MTSubCategories>
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<MTIfNonZero tag="MTCategoryCount">
<li><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><MTCategoryLabel></a>
<MTElse>
<li><MTCategoryLabel>
</MTElse>
</MTIfNonZero>
<MTSubCatsRecurse>
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTSubCategories>
</div>


<div id="categories">
<h2>カテゴリー</h2>

<MTSubCategories>
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<MTIfNonZero tag="MTCategoryCount">
<li><span class="cate"><a href="<$MTCategoryArchiveLink$>" title="<$MTCategoryDescription$>"><MTCategoryDescription></a></span> (<MTCategoryCount>)
<MTElse>
<li><MTCategoryDescription>
</MTElse>
</MTIfNonZero>
<MTSubCatsRecurse>
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTSubCategories>
</div>


カテゴリーアーカイブ

※アーカイブ→カテゴリーも変えています


<title><$MTBlogName encode_html="1"$>: <$MTArchiveTitle$> アーカイブ</title>


<title><$MTBlogName encode_html="1"$>: <$MTCategoryDescription$> カテゴリー</title>


RSS 1.0 index.rdf


<description><$MTEntryExcerpt encode_xml="1"$></description>
<dc:subject><$MTEntryCategory encode_xml="1"$></dc:subject>
<dc:creator><$MTEntryAuthor encode_xml="1"$></dc:creator>


<description><$MTEntryBody encode_xml="1"$></description>
<MTEntryCategories glue="/">
<dc:subject><$MTCategoryDescription encode_xml="1"$></dc:subject>
</MTEntryCategories>

<dc:creator><$MTEntryAuthor encode_xml="1"$></dc:creator>


RSS 2.0 index.xml


<guid><$MTEntryPermalink encode_xml="1"$></guid>
<category><$MTEntryCategory remove_html="1" encode_xml="1"$></category>
<pubDate><$MTEntryDate format_name="rfc822"$></pubDate>


<guid><$MTEntryPermalink encode_xml="1"$></guid>
<MTEntryCategories glue="/">
<category><$MTCategoryDescription remove_html="1" encode_xml="1"$></category>
</MTEntryCategories>

<pubDate><$MTEntryDate format_name="rfc822"$></pubDate>


Atomフィード atom.xml


<MTIfNonEmpty tag="MTEntryCategory">
<dc:subject><$MTEntryCategory encode_xml="1"$></dc:subject>
</MTIfNonEmpty>


<MTIfNonEmpty tag="MTEntryCategory">
<MTEntryCategories glue="/">
<dc:subject><$MTCategoryDescription encode_xml="1"$></dc:subject>
</MTEntryCategories>

</MTIfNonEmpty>



投稿者 ゆう : 10:11 | コメント (0) | トラックバック (0)

2005年09月09日

Movable Type の カスタマイズ  (カテゴリー(2))

エントリー毎にも所属のカテゴリー名を表示する。
以下の様に入力します。

<MTEntryCategories glue="/">
<a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a>
</MTEntryCategories>

ただし、カテゴリー名の表示を「カテゴリーのタイトル」ではなく「カテゴリーの説明」欄の内容にしている場合は、MTCategoryLabel を MTCategoryDescription に変更しないといけません。

したがって、僕の場合「メインページ index.html」は下記のようにしています。(上がデフォルトになります)

※カテゴリー名につくリンク色を指定する為、<span class="cate"></span> を追加しています。
MTCategoryCount でカテゴリー毎のエントリー数を表示しています


<p class="posted">投稿者 <$MTEntryAuthor$> : <a href="<$MTEntryPermalink valid_html="1"$>"><$MTEntryDate format="%X"$></a>
<MTEntryIfAllowComments>
| <a href="<$MTEntryPermalink archive_type="Individual"$>#comments">コメント (<$MTEntryCommentCount$>)</a>
</MTEntryIfAllowComments>
<MTEntryIfAllowPings>
| <a href="<$MTEntryPermalink archive_type="Individual"$>#trackbacks">トラックバック (<$MTEntryTrackbackCount$>)</a>
</MTEntryIfAllowPings>
</p>


<p class="posted">投稿者 <$MTEntryAuthor$> : <a href="<$MTEntryPermalink valid_html="1"$>"><$MTEntryDate format="%X"$></a>
<MTEntryIfAllowComments>
| <a href="<$MTEntryPermalink archive_type="Individual"$>#comments">コメント (<$MTEntryCommentCount$>)</a>
</MTEntryIfAllowComments>
<MTEntryIfAllowPings>
| <a href="<$MTEntryPermalink archive_type="Individual"$>#trackbacks">トラックバック (<$MTEntryTrackbackCount$>)</a>
</MTEntryIfAllowPings>
<MTEntryCategories glue="/"> | カテゴリー <span class="cate"><a href="<$MTCategoryArchiveLink$>"><$MTCategoryDescription$></a></span> (<MTCategoryCount>)
</MTEntryCategories>

</p>


投稿者 ゆう : 09:06 | コメント (0) | トラックバック (0)

2005年09月12日

Movable Type の カスタマイズ  (カテゴリー(3))

カテゴリーアーカイブにもくじを付ける。

エントリー数が増えてきたので、もくじみたいなのを付けてみました。
やった事はだいたい以下の4つです。

1.カテゴリーアーカイブにもトップページと共通の<div id="right"><div id="center"><div class="sidebar">を追加して、基本的なレイアウトなどをトップページと同じにしています。
2.エントリー,もくじ共 sort_order="ascend" を使って、古いものが上に来るようにしてあります。
3.a name を使って、もくじ→エントリーのリンクを付けてます。
4.エントリーからページの上へ戻りやすいように「」のリンクを付けてます。

ココに載せている以外にも、id や class を追加しているので、部分的に見ると div タグの数が合っていませんが…。


カテゴリー・アーカイブ

エントリー毎の「↑」表示などの部分です。上がデフォルト。


<div class="content">
<MTEntries>
<$MTEntryTrackbackData$>

<MTDateHeader>
<h2><$MTEntryDate format="%x"$></h2>
</MTDateHeader>


<div id="center">
<div class="content">
<MTEntries sort_order="ascend">
<$MTEntryTrackbackData$>
<MTDateHeader>

<a name="<$MTEntryTitle$>"></a>

<h3 class="right"><a href=#></a></h3>

<h2><$MTEntryDate format="%x"$></h2>
</MTDateHeader>


カテゴリー・アーカイブ

ページ一番下の「↑」表示部分と「もくじ」表示部分です。上がデフォルト。


</MTEntryIfAllowPings>
</p>

</MTEntries>

</div>
</div>

</body>
</html>


</MTEntryIfAllowPings>
</p>

</MTEntries>

<h3 class="right1"><a href=#></a></h3>


</div>
</div>

<div id="right">
<div class="sidebar">

<h2>【<$MTCategoryDescription$>】<br />もくじ</h2>

<ul>
<MTEntries sort_order="ascend">
<li><a href="#<$MTEntryTitle$>"><$MTEntryTitle$></a></li>
</MTEntries>
</ul>
</div>
</div>

</div>
</body>
</html>


スタイルシート styles-site.css

(「↑」用に追加した class 「right」と「right1」の部分です。)


.content h3.right {
color: #666666;
font-family: Verdana, Arial, sans-serif;
font-size: medium;
text-align: right;
font-weight: bold;
position:relative;top:53px;left:0px;
margin-bottom: 0px;
}

.content h3.right1 {
color: #666666;
font-family: Verdana, Arial, sans-serif;
font-size: medium;
text-align: right;
font-weight: bold;
position:relative;top:-15px;left:0px;
margin-bottom: 0px;
}


スタイルシート styles-site.css

(少し変えてます。上がデフォルト。)


.sidebar h2 {
color: #666666;
font-family: Verdana, Arial, sans-serif;
font-size: x-small;

text-align: center;
font-weight: bold;

text-transform: uppercase;

letter-spacing: .3em;
}


.sidebar h2 {
color: #666666;
font-family: Verdana, Arial, sans-serif;
font-size: x-small;

text-align: center;
font-weight: bold;

text-transform: none;

letter-spacing: .2em;
}


投稿者 ゆう : 10:24 | コメント (0) | トラックバック (0)

2005年09月15日

エントリーの書き出し・読み込み

ヘルプにもきちんと書かれているんですが、いろんな事が細かく書かれていて、むしろ僕はちょっと分かりにくかったので、「最低限これだけやればエントリーのバックアップがとれます。」って感じのを書いておきます。

・エントリーを書き出す
「ユーティリティー」「読み込み/書き出し」をクリックして出たページの一番下の「”ウェブログの名前” からエントリーを書き出す」のリンクを右クリックし、「対象をファイルに保存」で、適当な場所に保存して(ファイル名は mt.txt とかになると思います)書き出し終了。

・エントリーの読み込み
FTPサーバーに接続し、Movable Type をインストールしたディレクトリ(僕の場合、blog ディレクトリ)に
新しいディレクトリを作成して import と名付けます。
上記の mt.txt を、その import ディレクトリにアップロードします。
「ユーティリティー」「読み込み/書き出し」をクリックして出たページの「エントリーの投稿者を自分にする」のチェックボックスにチェックをし、「エントリーの読み込み」をクリック。
再構築して完了。

投稿者 ゆう : 09:51 | コメント (0) | トラックバック (2)

2005年09月19日

テンプレートのバックアップをとる

1. MovableType の基本設定で「ローカル・サイト・パス」に指定したパス(僕の場合、/var/www/html/wave_log)の直下に「backup」ディレクトリ(名前は適当に)を作る。

2. バックアップをとりたい各テンプレートの編集画面で「このテンプレートにリンクするファイル」欄に「backup/hogehogetmpl.txt」と記入して保存。(バックアップ・ファイル名「hogehogetmpl.txt」は各テンプレート毎それぞれに適当に。)

もし、以下のようなエラーが出たら、「backup」ディレクトリのパーミッションを変更しなければなりません。
僕の場合、777にする必要がありました。

エラーが発生しました:

オブジェクトの保存に失敗しました: リンク先ファイル /var/www/html/wave_log/backup/hogehogetmpl.txt を開けません: Permission denied

3.「backup」ディレクトリ内にテンプレートのバックアップが出来ているので、FTP でローカルへダウンロードして完了。

なお、バックアップしたテンプレートに復元する場合は、「テンプレートの中身」の記述を全て消去して、「このテンプレートにリンクするファイル」欄に、戻したいバックアップ・ファイル名を入れて、「保存」ボタンを押せば読み込まれます。


ただ、この状態だと、バックアップ・ファイルのパーミッションが 666 だったので、一応僕は下記のようにして、660 にしてあります。(「user」 は FTP の接続ユーザ名です)

4.「backup」ディレクトリ以下、各バックアップ・ファイルまでの所有者を「user」,グループを「apache」に変更する

# chown -R user:apache /var/www/html/wave_log/backup

5.「backup」ディレクトリのパーミッションを 770 ,各バックアップ・ファイルのパーミッションを 660 に変更する


参考サイト:
でるふぃたうん::でるろぐ: 各種テンプレートのバックアップ
[k]kazunoblog: MTテンプレートのバックアップ
Chitatopops: テンプレートの効率的なバックアップ/リストア



投稿者 ゆう : 13:39 | コメント (1) | トラックバック (0)

2005年10月27日

カテゴリーへのトラックバックを受けつける

まず、カテゴリーの管理画面で「トラックバックを受けつけます」を On にします。
そして、個別エントリーアーカイブのテンプレートの記述を参考にカテゴリー・アーカイブ用に編集した下記ソースをカテゴリー・アーカイブのテンプレートの適当な位置にコピーしました。
ただし、僕の場合、カテゴリー名の表示を「カテゴリーの説明」欄の内容にしているので実際には MTArchiveTitle を MTCategoryDescription に変更しています。

これで、O.K. だと思いますが、動作確認が出来ていません。もし宜しければ、このカテゴリーにでもトラックバックして下さい。(^^ゞ

<MTCategoryIfAllowPings>
<h2 id="trackbacks">トラックバック</h2>
<p class="techstuff">このカテゴリーのトラックバックURL:<br />
<$MTCategoryTrackbackLink$></p>

<MTIfNonZero tag="MTCategoryTrackbackCount">
<p>このリストは、次のカテゴリーを参照しています: <a href="<$MTCategoryArchiveLink$>"><$MTArchiveTitle$></a>:</p>

<MTPings>
<p id="p<$MTPingID$>">
&raquo; <a href="<$MTPingURL$>"><$MTPingTitle$></a> from <$MTPingBlogName$><br />
<$MTPingExcerpt$> <a href="<$MTPingURL$>">[続きを読む]</a>
</p>
<p class="posted">トラックバック時刻: <$MTPingDate$></p>
</MTPings>
</MTIfNonZero>
</MTCategoryIfAllowPings>

投稿者 ゆう : 05:33 | コメント (0) | トラックバック (0)

2006年06月10日

Spam 対策

コメントやトラックバックに対するスパム対策をしてみました。
mt-comments.cgi と mt-tb.cgi をリネームするだけの事ですが、cgi を自動検知してくるスパムには有効です。

①mt-comments.cgi と mt-tb.cgi の名前を適当に変更する
②mt.cfg を編集する( Movable Type 3.2 の場合は、mt-config.cgi )
下記は、mt-comments.cgi → comment.cgi,mt-tb.cgi → trackback.cgi に変更した時の例です。(追加

# By default, the script that Movable Type uses for comments is called
# mt-comments.cgi, the TrackBack script is called mt-tb.cgi, the
# search engine script is called mt-search.cgi, the XML-RPC server
# script is called mt-xmlrpc.cgi, and the dynamic blog view script is
# called F<mt-view.cgi>. In
# some situations--for example, if you are running MT under mod_perl, or if
# your server requires that your Perl scripts have the extension .pl--you
# may need different names for these scripts. You can set the names that will
# be used throughout the default templates and Movable Type code by changing
# these values.
#
# AdminScript mt.pl
# CommentScript mt-comments.pl
CommentScript comment.cgi
# TrackbackScript mt-tb.pl
TrackbackScript trackback.cgi
# SearchScript mt-search.pl
# XMLRPCScript mt-xmlrpc.pl
# ViewScript mt-view.pl

投稿者 ゆう : 14:46 | コメント (0) | トラックバック (0)

2006年10月10日

トラックバック・スパムのアクセス拒否

以前にコメントやトラックバックに対するスパム対策について書いたんですが、一応ファイル名の書き替えで効果はあるのですが、404エラーを返してログに残るので、アクセス解析ソフトに集計されるんですよね。
それで、このサイト、通常のアクセス数よりトラックバックスパムの方が遥かに多くて(泣)、通常のアクセスデータが埋もれちゃう。(大泣)
なので、IP アドレスを取得して iptables でアクセス拒否するようにしてみました。

IP アドレスを取得する為に、mt-tb.cgi を下記のような感じで作ってみました。
とりあえず、spamip.dat に取得した IP アドレスを溜め込んでます。
ダブって登録されないようにチェックしているのと、スパムのリファラがほとんど「http:///」になっているので、一応そのアドレスのみ取るようにしています。

#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
open(IP, "spamip.dat");
    @ip = <IP>;
    chomp @ip;
close(IP);
    $ipch = join ("/",@ip);
$SPAMREFR = 'http:///';
$REFR = $ENV{'HTTP_REFERER'};
if ( $ENV{'REMOTE_HOST'} eq '' ) { $SPAMHOST = $ENV{'REMOTE_ADDR'}; }
else { $SPAMHOST = $ENV{'REMOTE_HOST'}; }
    if ($REFR eq $SPAMREFR) {
unless ($ipch =~ /$SPAMHOST/){
    open(OUT, ">> spamip.dat");
    print OUT "$SPAMHOST\n";
close(OUT);
    }
    }
exit;

それで、spamip.sh とか名前を付けて下記スクリプトを作って、これを cron に登録して一定時間毎に実行させています。
( spamip.dat を空にするやり方がよく分からなかったので、一度削除して作り直しているんですが、他に良い方法ありますよね?)

#!/bin/bash
if [ -s /var/www/html/blog/spamip.dat ]; then
for var in `cat /var/www/html/blog/spamip.dat`
    do
        /sbin/iptables -A INPUT -i eth0 -s $var -j DROP
    done
rm -f /var/www/html/blog/spamip.dat
touch /var/www/html/blog/spamip.dat
chown apache. /var/www/html/blog/spamip.dat
chmod 666 /var/www/html/blog/spamip.dat
fi

これでは、ルールが保存されていないので再起動などすると、登録されたIPアドレスが消えてしまいますが、テスト中に自分の IP が登録されてアクセス出来なくなってしまった事があったので(おバカ)、僕はこの状態で使ってます。

投稿者 ゆう : 18:57 | コメント (0) | トラックバック (0)

2006年11月09日

検索結果の表示順を昇順(古い方から順にエントリーを表示)にする

Movable Type ディレクトリ( .cgi スクリプトを格納しているディレクトリ)にある、Movable Type の設定ファイル mt.cfg または mt-config.cgi (Movable Type のバージョンにより異なります)の ResultDisplay を ascend とする。デフォルトでは、

# ResultDisplay ascend

と、# でコメントアウトしてあり、デフォルト値: descend(降順:新しい方から順にエントリーが表示)になっている。


Movable Type の設定ファイルを編集かぁ。検索画面のテンプレート・ファイル default.tmpl にタグを追加するんじゃないのね、道理でうまくいかなかった訳だ。(^^;
Movable Type の設定ファイルって、インストールした時に CGIPath なんかを指定したファイルですね。
ちなみに、ヘルプから見れるマニュアルに、これ以外にも説明がたくさん載ってますわ。Movable Type 3.2 だと、「Movable Type 3.2 マニュアル」-「付録」-「環境設定ファイル (mt-config.cgi) 」。

投稿者 ゆう : 21:32 | コメント (0) | トラックバック (0)

2006年11月10日

検索件数を表示するタグ

<$MTSearchResultCount$> です。

検索結果の数を表示します。
<MTSearchResults>~</MTSearchResults> 内で使用します。

投稿者 ゆう : 11:15 | コメント (0) | トラックバック (0)

2008年03月17日

コメントでエラー

もう長いこと、このブログにコメントが付いていないのですが、あ、いや、もともと正常な(?)コメントは滅多に付かずに付くのはスパムばかりなのですが、それすら付かなかったんですよね。

コメントしようとするとなんかエラー出るのかなぁ、とか思っていたんですが、今まで調べてみなかったんですわ。
んで、この度、試しに自分でコメント入れようとしてみたら、

エラーが発生しました:
Unmatched ) in regex; marked by <-- HERE in m/140.109.225.239) <-- HERE / at /var/www/html/blog/lib/MT/App/Comments.pm line 208.

…だって。あら!?やっぱり。

調べたら、「禁止IP」として登録しているIPアドレスに「)」が付いちゃってて、
140.109.225.239)
こんなんなってました。
コレ、「禁止IP」から削除したら直りましたわ。

このIP、登録したの1年以上前だった。長い間コメント付けられず申し訳ありませんでした。
でも、これからまた、スパムに悩まされるだけかしら。(苦笑)

投稿者 ゆう : 14:28 | コメント (0) | トラックバック (0)

トラックバック

このカテゴリーのトラックバックURL:
http://www.wave440.com/blog/mt-trbk.cgi/66