2010年10月11日(月)
ウェブログのスキンを改変中
ここAXXISS land.toの無料レンタルサーバでは広告が上下に付き、かつ、teeter totterがHTMLをメインコンテンツ -> サイドバー(ナビゲーション)の順に静的生成するため、結論から言えば、マルチカラムでリキッドレイアウト(多段組で可変幅のレイアウト)を組むのが非常に難しい。
そこで、我がウェブログでは主にスキン(テンプレート)のCSSを弄り、リキッドレイアウトの2カラムから1カラムへデザインを改変中である。
まず、land.toの下部広告の背景は白色なので、デザインも白色を基調にせざるを得ず、背景色を#FFFにした上で、背景画像をヘッダーにのみ適用させた。
次に、ナビゲーションを横から下に移動、つまり、段組のためのposition・margin・widthをすべて削除した上で、ナビゲーションの各項目を下部の中でfloatさせた。
基本これでおしまいだが、デザインをちょこっと変えただけで印象が大きく変わって驚いた。
個人的な目標は自動挿入される広告をいかにデザインに馴染ませるかにあり、これからも背景画像等をちょこっとずつ改変させていこうと思う。
なお、1カラムにしたため下部広告がずーっと下のほうに行ってしまったのは意図したものではなく、たまたまであるwww
2010年9月11日(土)
iswebライトでの最後のエントリー
インフォシークiswebライトのサービス終了に伴い、このウェブログを移転します。
今後は移転先でウェブログを続けようと思うので、今後ともご愛読のほどよろしくお願いします。
移転元: http://hiro04267.at.infoseek.co.jp/
移転先: http://ventura.pv.land.to/
先ほどインフォシークiswebから通知メールが来た。
遅ぇよ。
---------------------------------------------------------------------
本メールは2010年9月10日時点で
・インフォシーク iswebライト
・インフォシーク iswebライト 広告非表示オプション
をご利用の皆さまへ大切なお知らせとしてお送りしています。
---------------------------------------------------------------------
平素は、Infoseek をご利用いただきまして誠にありがとうございます。
インフォシークでは、2001年より、
・インフォシーク iswebライト (無料ホームページサービス)
・インフォシーク iswebライト 広告非表示オプション (有料版)
を提供してまいりました。
しかしながら、昨今のインターネット環境の変化を受け、弊社内にて慎重に
検討を重ねた結果、誠に勝手ではございますが、サービスを終了させていた
だくこととなりました。
「インフォシーク iswebライト」、および「インフォシーク iswebライト
広告非表示オプション」を長年ご愛顧いただいたみなさまに、ご迷惑を
おかけすることを深くお詫びします。
※サービス終了に関するお知らせ
http://plaza.rakuten.co.jp/usersupport/diary/201008250000/
[サービス終了概要]
■サービス終了予定日
2010年10月31日(日) (11月1日に終了作業を行います)
■終了対象サービス
・インフォシーク iswebライト (無料サービス)
・インフォシーク iswebライト 広告非表示オプション (有料サービス)
※インフォシーク iswebベーシック (有料サービス)は今後もサービスを継続します
■ホームページデータの移行について
「インフォシーク iswebベーシック」(有料)にて、ホームページを
継続される場合は、専用の移行ツールをご利用ください。
※移行手続きに関するヘルプを参考にしてください
http://portal.faq.rakuten.co.jp/app/answers/detail/a_id/13880
※ツール提供前に、広告非表示オプションの契約期限を向かえる方は
下記URLページからお問い合わせください
http://portal.faq.rakuten.co.jp/app/home
■なぜホームページサービスを終了するのか
「インフォシーク iswebライト」のサービス開始当初におきましては、
ホームページスペース提供サービスがインターネットにおける情報発信
ツールとして大きな役割を担ってまいりました。
しかしながら、インターネットの発展に伴い情報発信ツールも多様な進化
を遂げており、無料のホームページスペース提供サービスとして運営して
きた「インフォシーク iswebライト」は当初の役割を終えたものと判断い
たしました。長年に渡りますに皆様のご愛顧に深く感謝しております。
皆様にはホームページ移行等で、お手数をおかけいたしますが、前述状況
を踏まえたサービス終了でありますことを、何とぞご理解いただき、ご了
承くださいますようお願い申し上げます。
ご利用いただき誠にありがとうございました。
※サービス終了、データ移行についてのお問い合わせは下記URLページ
より受け付けております。
お問い合わせの際には、ご自身のiswebID(又はURL)のご記入を必ず
お願い申し上げます。
[FAQ & お問い合わせフォーム]
http://portal.faq.rakuten.co.jp/app/home
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
isweb運営事務局 http://isweb.www.infoseek.co.jp/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【重要】インフォシーク iswebライト 終了のお知らせ
2009年2月16日(月)
sitemap.xmlにXSLTスタイルシート適用
前回記事のとおりteeter totterを改造して生成させたsitemap.xmlに、XSLTスタイルシートを付ける事にした。
sitemap.xmlへダブリン・コアで各記事のタイトルやカテゴリ等を忍ばせたのはこのため。
まず、前回改造したmt_archive.plのサイトマップ生成サブルーチン(sub xml_archive)に次の太字部の一行を追加した。
# -------------------------------------------------------------------------
# パブリッシュ (sitemap.xmlファイル) 非UTF-8用はコメントアウト
# -------------------------------------------------------------------------
sub xml_archive {
open(OUT,">$set_data1[2]sitemap.xml") || &error("Write Error: sitemap.xml");
# if ($set_data2[41] eq "0" && $jc_check eq "pm") {
print OUT "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n";
# $code ="utf8";
# } elsif ($set_data2[41] eq "1") {
# print OUT "<?xml version=\"1.0\" encoding=\"euc-jp\" ?>\n";
# $code ="euc";
# } else {
# print OUT "<?xml version=\"1.0\" encoding=\"shift-jis\" ?>\n";
# $code ="sjis";
# }
print OUT "<?xml-stylesheet href=\"./sitemap.xsl\" type=\"text/xsl\"?>\n";
print OUT "<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\"";
print OUT " xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n";
~以下略~
次に、過去記事で習得したXSLTスタイルシート(sitemap.xsl)をBOMなしUTF-8N・LF改行で作成し、ルートディレクトリにアップロード。
最後に、ルートディレクトリに「サイトマップ用CSSファイル名」とあるファイルを自作してアップロードすれば、人間が見てもわかるサイトマップになる。
問題は、利用規約違反にならないようインフォシーク iswebライトの広告をどうやって入れるかだ。
この問題に対しsitemap.xslでいろいろ試してみたが、今のところ失敗 (・∀・)
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:site="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xml:lang="ja"
exclude-result-prefixes="xsl site dc"
version="1.0">
<xsl:output
indent="yes"
method="xml"
media-type="text/html"
omit-xml-declaration="no"
doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
encoding="UTF-8"/>
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja">
<xsl:apply-templates select="site:urlset"/>
</html>
</xsl:template>
<xsl:template match="site:urlset">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta http-equiv="Content-Style-Type" content="text/css"/>
<meta http-equiv="Content-Language" content="ja"/>
<meta name="classification">
<xsl:attribute name="content"><xsl:value-of select="site:url[1]/dc:subject"/></xsl:attribute>
</meta>
<meta name="author">
<xsl:attribute name="content"><xsl:value-of select="site:url[2]/dc:creator"/></xsl:attribute>
</meta>
<title><xsl:value-of select="site:url[1]/dc:title"/> | 全記事一覧</title>
<link rel="start">
<xsl:attribute name="type"><xsl:value-of select="site:url[1]/dc:format"/></xsl:attribute>
<xsl:attribute name="title"><xsl:value-of select="site:url[1]/dc:title"/></xsl:attribute>
<xsl:attribute name="href"><xsl:value-of select="site:url[1]/site:loc"/></xsl:attribute>
</link>
<link rel="index" type="application/xml">
<xsl:attribute name="href"><xsl:value-of select="concat(site:url[1]/site:loc, 'sitemap.xml')"/></xsl:attribute>
</link>
<link rel="stylesheet" type="text/css">
<xsl:attribute name="href"><xsl:value-of select="concat(site:url[1]/site:loc, 'サイトマップ用CSSファイル名')"/></xsl:attribute>
</link>
<link rel="alternate" type="application/rdf+xml" title="RSS 1.0">
<xsl:attribute name="href"><xsl:value-of select="concat(site:url[1]/site:loc, 'index.rdf')"/></xsl:attribute>
</link>
</head>
<body>
<div id="banner">
<h1 id="top">
<a>
<xsl:attribute name="href"><xsl:value-of select="site:url[1]/site:loc"/></xsl:attribute>
<xsl:value-of select="site:url[1]/dc:title"/>
</a> | <a>
<xsl:attribute name="href"><xsl:value-of select="concat(site:url[1]/site:loc, 'sitemap.xml')"/></xsl:attribute>全記事一覧
</a>
</h1>
<p class="description">
Last modified: <xsl:value-of select="substring-before(site:url[1]/site:lastmod, 'T')"/><br/>
Posted: <xsl:value-of select="site:url[2]/dc:creator"/>
</p>
</div>
<div class="blog">
<div class="blogbody">
<dl>
<dt>
<a>
<xsl:attribute name="href"><xsl:value-of select="site:url[1]/site:loc"/></xsl:attribute>
<xsl:value-of select="site:url[1]/dc:title"/>
</a>
</dt>
<dd>
<ul>
<xsl:apply-templates select="site:url[position() > 1]"/>
</ul>
</dd>
</dl>
<p class="top">▲<a href="#banner">Top</a></p>
</div>
</div>
</body>
</xsl:template>
<xsl:template match="site:url">
<li>
<span class="monospace">
<xsl:value-of select="substring-before(site:lastmod, 'T')"/>
</span>:
<a rel="bookmark">
<xsl:attribute name="href"><xsl:value-of select="site:loc"/></xsl:attribute>
<xsl:value-of select="dc:title"/>
</a>
[<xsl:value-of select="dc:subject"/>]
</li>
</xsl:template>
</xsl:stylesheet>
追記: "site:url[position() > 1]"
となっている部分については、"site:url[position() &gt; 1]"
(&は半角)が正 <- teeter totterが勝手に変換しやがる...orz
2009年2月10日(火)
teeter totterでサイトマップXMLを出力
SEO的にはSitemaps.org準拠のサイトマップXMLが欲しいところ。
しかし、teeter totterにはその機能がない。
そこで、過去記事のとおり自前でRSS2.0を出力しているため、不要だったteeter totterのRSS2.0を出力するサブルーチン(mt_archive.plの"sub xml_archive")を次のとおり書き換え、sitemap.xmlを出力するようにした。
# -------------------------------------------------------------------------
# パブリッシュ (sitemap.xmlファイル) 非UTF-8用はコメントアウト
# -------------------------------------------------------------------------
sub xml_archive {
open(OUT,">$set_data1[2]sitemap.xml") || &error("Write Error: sitemap.xml");
# if ($set_data2[41] eq "0" && $jc_check eq "pm") {
print OUT "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n";
# $code ="utf8";
# } elsif ($set_data2[41] eq "1") {
# print OUT "<?xml version=\"1.0\" encoding=\"euc-jp\" ?>\n";
# $code ="euc";
# } else {
# print OUT "<?xml version=\"1.0\" encoding=\"shift-jis\" ?>\n";
# $code ="sjis";
# }
print OUT "<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\"";
print OUT " xmlns:dc=\"http://purl.org/dc/elements/1.1/\">\n";
print OUT "<url>\n<loc>$set_data1[3]</loc>\n<priority>1.0</priority>\n";
$rss_title = $set_data1[1];
# &$jcnv(\$rss_title, $code, "utf8");
print OUT "<dc:title>$rss_title</dc:title>\n<dc:language>ja</dc:language>\n";
print OUT "<dc:subject>Weblog</dc:subject>\n<dc:format>text/html</dc:format>\n";
open(IN,"$set_data1[6]") || &error("Open Error : $set_data1[6]");
$top = <IN>;
$i=0;
$flag=0;
while (<IN>) {
($no,$exno,$reno,$category,$year,$mon,$mday,$wday,$time,$name,$title,$comment,$url,
$mail,$host,$pw,$tail,$w,$h,$ws,$hs,$skin,$album,$copy) = split(/<>/);
if (!$exno && !$copy) { $i++; }
if ($i < 1) { next; }
if (!$exno && !$copy) {
if ($name eq "99") { $name = $set_data1[0]; }
# &$jcnv(\$name, $code, "utf8");
# &$jcnv(\$title, $code, "utf8");
$xml_item = "$xml_item<url>\n<loc>$set_data1[5]$year\_$mon\_$mday\_$no.$set_data2[32]</loc>\n";
$xml_item = "$xml_item<priority>0.9</priority>\n<dc:title>$title</dc:title>\n";
($d_hour,$d_min) = split(/&/,$time);
$mon = sprintf("%02d", $mon);
$mday = sprintf("%02d", $mday);
if ($category eq "" || $set_data5[$category] == 0) {
$category = "";
} else {
$category = "$set_data6[$category]";
# &$jcnv(\$category, $code, "utf8");
}
$xml_item = "$xml_item<dc:creator>$name</dc:creator>\n<dc:language>ja</dc:language>\n";
$xml_item = "$xml_item<dc:subject>$category</dc:subject>\n<dc:format>text/html</dc:format>\n";
$xml_item = "$xml_item<lastmod>$year-$mon-$mday\T$d_hour\:$d_min\:00+09:00</lastmod>\n</url>\n";
if ($flag == 0) {
$lastupdate = "$year-$mon-$mday\T$d_hour\:$d_min\:00+09:00";
$flag=1;
}
}
}
close(IN);
print OUT "<lastmod>$lastupdate</lastmod>\n</url>\n";
print OUT "$xml_item</urlset>\n";
close(OUT);
chmod (0666,"$set_data1[2]sitemap.xml");
&indexjs_archive;
}
Perlを弄るのはもうコリゴリだと思っていたが、見てのとおりちょこっと書き換えただけで動作したから不思議。
まぁカテゴリ別ファイルや月別ファイルが抜けているのは、ご愛嬌という事で。
本当はその問題点をクリアするためにarchivesディレクトリのHTMLファイルを再帰的に一覧取得して出力する別プログラムを作ろうとも思ったが、途中まで書いてて動作しないから諦めた。
ローカルで試した時は動作したのに...orz
Tags: SEO teeter totter サイトマップ Perl
2008年7月28日(月)
AIM WIMZIウィジェットを外す。
全然利用されていなかったブログパーツ、AIM WIMZIウィジェットを当ブログから外して、メール送信フォームのページに移換した。
ついでに、当ブログでスキン(テンプレート)に直接書いていたJavaスクリプトのコードの一部を、外部ファイル(fuho_denpa.js)に移換した。
これで少しは軽いブログになったかな。
そりゃ外部ファイルに移換したJavaスクリプトはたった24行で内容も大したものではないけれど、ブログって同一ページ内で記事が繰り返されるから、おそらくそれだけでも重くなるのではないのかと。
あと、綺麗で動的なブログパーツが増えたけど、個人的にはその類のパーツを張りまくってやたら重いサイト・ブログは即座に閲覧を中断するぐらいだから、自分のサイトに2つも置くのは気が引けていたし。
2008年6月30日(月)
teeter totterのRSS 1.0の改造
teeter totterのRSS 1.0にはDublin Coreのdc:subuject要素によるカテゴリの記述がない。
フィード中のカテゴリについては、テクノラティをはじめとするウェブログ向けのウェブサービスでは重要な位置を占めている、に違いない。
だから絶対に弄らないという己の掟を破り、teeter totterのコードを弄ることにした。
弄りはじめるとキリないから嫌なんであって、mt_archive.plを少し弄って最後にしよう。
#808行目からコード(太字部)を挿入、非UTF-8用はコメントアウト
if ($category eq "" || $set_data5[$category] == 0) {
$category = "";
} else {
$category = $set_data6[$category];
# &$jcnv(\$category, $code, "utf8");
}
$item = "$item<dc:creator>$name</dc:creator>\n<dc:date>$year-$mon-$mday\T$d_hour\:$d_min\:00+09:00</dc:date>\n<dc:subject>$category</dc:subject>\n</item>\n";
このちょっと上にprint OUT "<dc:creator></dc:creator>\n";
とかいう無意味な行があったので、ついでにprint OUT "<dc:subject>Weblog</dc:subject>\n";
に訂正。
http://www.technorati.jp/tag/rss?from=hiro04267.at.infoseek.co.jp/とかすると、テクノラティで「RSS」のタグについてサイトを絞ったブログ記事の検索ができるらしいが、何をやっても当サイトがヒットしない…。
2008年2月1日(金)
teeter totterをUTF-8版に差替え
teeter totterをShift-JIS版からUTF-8版に差し替えた。
これからの時代、UTF-8の方が上手く立ち回れそうだけど、UTF-8版はもう配布されてないんで、ダウンロードしといてつくづく良かったと思う。
Greymatterはきちんとアップデートしてていいな。
で、差替方法は、スクリプトを過去に配布されてたUTF-8版に上書きでアップロードし、これまでのログやら設定やらスキンやらのファイルをFTPダウンロードし、UTF-8Nで保存してからアップロードしただけ。
しかし、時間はかかんなかったけど、今のところその効果も特になさげ。
それだけでは何となくつまらないんで、インフォシークiswebライト謹製のカウンタ(ページ右上)のデザインを変えてみた。
こちらはホントに効果ないけど。
Tags : teeter totter UTF-8 インフォシーク isweb
2008年1月26日(土)
TrackBack Technical Specification
トラックバックの技術的な仕様について、TrackBack Technical Specificationという文書がシックス・アパート社から公表されてる。
その中で気になったのは、RDF形式でDublin Coreやトラックバックモジュールを利用してHTMLにトラックバックPingのURLを埋め込む方法の所。
いわゆるTrackback Auto Discoveryに関する部分だが、試しにteeter totter等に埋め込んだ結果、teeter totterは独自タグを繰り返して使用できないんで、埋め込めなかった。
しかし、大抵のブログウェアは独自タグを繰り返して使用できるんで、これを埋め込めば…誰が得すんだ?
一方、これにdc:description、dc:date、dc:creator、dc:rights及びdc:relation要素なんかを追加して、PerlモジュールのXML::TreePPで読み込んでXML::FeedPPに渡せば、簡単にRSS 1.0、2.0やAtom 0.3、1.0が生成できそうだ。
Plaggerでやるとどうなんだろう、弄った事ないんでわからんが。
そもそもdc:description等を追加することが、文法的に正しいかどうかって問題もあるし。
2007年11月21日(水)
テンプレート変更
当ブログのテンプレート(スキン)を大幅に変更した。
Movablestyle(英語、現在閉鎖中)がMovableType 2.x向けに配布していたテンプレートをteeter totterのスキンへ移植し、こちら(インデックス用・エントリー用スキン)のように原型がわからなくなるくらいグチャグチャに弄ってやった。
このテンプレートの名前が"Mac Stripe"だなんて、誰も思わないだろう。
ついでに、ファビコン(favicon.ico)も勝手にエイリアスされてた楽天謹製のものから、teeter totterのものに変更してやった。
ただし、問題を一つ発見。
teeter totterは原則として静的生成なため、MovableTypeと同様にテンプレートを更新する毎に再構築しなければならないのだが、"サイトすべて"を選択して再構築しても、古いエントリーページが再構築されない。
古いエントリーページは、"エントリーページ(51件から100件)"を選択して再構築しなければならないのだ。
う~ん日本語は難しい、ってそんなんわかるかっ!
Tags : teeter totter テンプレート スキン ファビコン 静的生成
2007年10月30日(火)
RSS 1.0とRSS 2.0
先日ふと、このサイトをFTPで覗いてたら、teeter totterがRSS 1.0とRSS 2.0を生成してるのに気が付いた。
RSS 1.0を生成しているのは勿論知ってたが、RSS 2.0の方はスキン上に何のリンクもなかったので、今まで気が付かなかった。
早速、RSS 2.0の方を覗いてみたけど、大きな問題は見当たらない。
てか、書式知らないからあってもわからないwww
こういう時、Feed Analyzer等は便利だ。
しかし、前者が旧規格で後者が後継規格という意味でのバージョン番号ではないのは知ってたが、RSS 1.0がRDF Site Summary 1.0の略で、RSS 2.0がReally Simple Syndication 2.0の略だというのは初めて知った。
だから紛らわしいって (´へ`;)
ちなみに何でこんな話になったかというと、今、このサイトのRSS 1.0とRSS 2.0がバグってる。
原因はUTF-8で出力してる筈が、EUC-JPで出力されてるからだ。
XMLで「encoding="utf-8"」と宣言してるのにEUC-JPで出力されちゃ、infoseek RSSリーダーも読めねぇ罠。
しかもこのサイトだけじゃなく、最近CGIからUTF-8でRSSを配信した他のinfoseek iswebライト内のサイトでも、同様の現象が発生してるみたい。
Tags : teeter totter RSS インフォシーク isweb