FC2ブログ

Filipendula

スポンサー広告

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

*    *    *

Information

雑記

*ブログ改装講座?

1ヶ月1ミリ程度の改装しか進んでいませんが
ちょこちょこと改装をしております。
ここ自体、ほぼ更新が皆無な状態ですので
改装裏事情でも書いて、なんかやってる感をアピールしようかと…

今回のテーマは普通のホームページっぽいブログをテーマにしております。

んで、それっぽいテンプレート(改造可)を探してみたら
先人さまがいらっしゃいましたので、それを流用させてもらいました。
右下にテンプレ主さまが記載されております。

で、細かいところは自分で改造あるのみです。

今回のテーマは
■最新の記事(ここではWhat's New)に特定記事を載せない!
■(あんまり更新しないので)古い記事を最新と言いはらない!
です。
ちょっと探してみたけど、対応方法を記載しているサイトさんが見つからなかったので
自分で頑張る

テンプレートで使用されている変数的なものがどういう仕組みでどうなってるのかが
イマイチわかんないので(どこかに説明書きがあるかもしれないですが、面倒)
すぐに思いつくJavaScriptで片付けます

最新記事の表示方法は

<!--recent-->
<%recent_month>/<%recent_day>&nbsp;&nbsp;<a href="<%recent_link>"
title="<%recent_body>"><%recent_title></a><br />
<!--/recent-->


のはず(テンプレートによっては変数(<%xxx>)の種類の増減はあると思います)。
では、これをJavaScriptで記載すると…

<script type="text/javascript">
<!--
document.write('<%recent_month>/<%recent_day>&nbsp;&nbsp;<a href="<%recent_link>"
title="<%recent_body>"><%recent_title></a><br />');
// -->
</script>


こんな感じ
プレビューでいつもどおり表示されれば問題なしです。

んで、カテゴリで表示/非表示の切り替えをしたいのですが
テンプレート用変数一覧の<!--recent--> ~ <!--/recent-->内で有効になる単変数に
カテゴリの変数がない!
と、云う訳で、表示したくない記事のタイトルの先頭に「*」をつけて回避する事にしました。
この記事のタイトルの先頭にも「*」がついていると思います。
まずは地道に最近の記事で表示したくないもののタイトルにせっせと「*」をつけていきます。
次にJavaScriptで先頭に「*」が付いた記事を表示しないように書き換えます。

<!--recent-->
<script type="text/javascript">
<!--
var title = "<%recent_title>";

if(title.charAt(0) != "*" ){
document.write('<%recent_month>/<%recent_day>&nbsp;&nbsp;<a href="<%recent_link>"
title="<%recent_body>"><%recent_title></a><br />');
}
// -->
</script>
<!--/recent-->


こんな感じです。
JavaScriptにはleft的なものはないのだろうか…?
まぁ、いい

ここでプレビューを実行してみると、おわかりだと思いますが
最新記事の一覧表示が寂しくなっています
(非表示対象の記事よりも、表示対象の記事の方が多い方には
実感がないかもしれないです)
ここはほぼ更新皆無のなので、いっきに表示がなくなりました…
環境設定で最新記事の表示項目数を調整して増やしてください。

さて、これで改修完了と思いきや…
最新記事一覧を良く見ると
明らかに2年くらい前の記事が最新に表示されています。
何度もいいますが、ここはほぼ更新が皆無なので
2年前の記事でも平気で上位に食い込んできます…。

最新記事詐欺だ…。

という事で、3ヶ月以上古い記事も表示対象外にします。
日付の計算方法をちらちらと調べてみましたが
add的な関数がJavaScriptにはなさげ…
しかも日付の整合性も自動でやってくれなさげ…
面倒くせぇ…
しかし、日付を時間には直してくれるそうなので
記事のエントリー時間と現在時間の差分を求めて
それを日数に換算して差分日数を出すことにします。
こんな感じ

<!--recent-->
<script type="text/javascript">
<!--
var title = "<%recent_title>";
var kijidd = new Date(<%recent_year>, <%recent_month>, <%recent_day>);
var nowdd = new Date();
var sabunMsec = nowdd.getTime()-kijidd.getTime();
var sabunDay = Math.floor(sabunMsec / (1000*60*60*24));

if(title.charAt(0) != "*" && sabunDay <= 90 )
{
document.write('<%recent_month>/<%recent_day>&nbsp;&nbsp;<a href="<%recent_link>"
title="<%recent_body>"><%recent_title></a><br />');
}
// -->
</script>
<!--/recent-->


これで古い記事は出なくなったはずです。
ってか、いっきに最新記事がなくなった…orz

その前に表示フォントのサイズをどうにかしたいなぁ…
面倒くせぇ…
*    *    *

Information

Date:2011/01/22
Trackback:0
Comment:0

Comment

コメントの投稿








 ブログ管理者以外には秘密にする

Trackback

TrackbackUrl:http://knkbookshelf.blog17.fc2.com/tb.php/21-f2852ab5
この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。