Blogger の歴史

インターネットで Blogger について検索してみると、「Blogger」、「Blogger in Draft」、「新 Blogger」、「Blogger beta」、「旧 Blogger」という風に、Blogger 自体の呼び方がたくさん出てきます。これは、Blogger のサービスの変化が激しいことを表しています。

ヒットしたページの中で、どの情報が現在の Blogger に利用できるものなのか判別できるように、Blogger の変遷について簡単な表にしてみました。

1999.8   Blogger…  最初の Blogger。Pyra Labs が開始。当時のトップ画面は Internet Archive で見られる。

2000.11     Blogger Pro beta  高機能の有償版、広告つきの無償版というビジネスモデルを画策。高機能版の beta が始まり、招待者がテスターに。

2002.1   Blogger Pro有償高機能版 Blogger が正式に開始。現在の Blogger Help にもたまに説明が出てきてびっくりする。当時のトップ画面から機能面が確認できる。

2003.2   BloggerPyra Labs を Google が買収。Blogger Pro サービスを停止し、その一部機能を無償版へ継承。当時のニュースは japan.internet.com で。

2006.8   Blogger betaGoogle アカウントに結び付けられた新 Blogger のベータ版。Blogger と平行して存在し、希望するユーザーのみが移行。変更された機能の詳細はこちらで確認。

2006.12   Bloggerいわゆる「新 Blogger」。beta 移行済みユーザーは自動的に新 Blogger へ。「旧 Blogger」ユーザーは新 Blogger に移行しないとブログを更新できなくなる。くわしくはこちら

2007.6   Blogger in Draft新機能を実験的に導入している Blogger。新機能はテスト期間を経て Blogger に正式採用される。くわしくはこちら

現在    

表を見てもらえると分かるとおり、現在の Blogger は Blogger beta と直接つながっているので、インターネット上の「Blogger beta で○○する方法」というような記事は、そのまま現在の Blogger にも有効(なはず)です。

一方、2006 年以前の「Blogger でも□□する方法」というような記事は、基本的には現在の Blogger には通用しません。

Blogger 関連の過去記事を参考にする際には、こんな風に Blogger の歴史やその時々の「Blogger」という言葉の違いを意識して、使える情報と使えない情報とを見分けてもらえたらと思います。

Blogger の 12 時間表記

Blogger では投稿やコメントの時刻に 12 時間表記を使うことが出来ますが、この 12 時間表記は日本人が一般的に考えている 12 時間表記とは異なります。

特に、投稿の時刻を 12 時間表記で指定するときに間違えてしまうと、投稿の順序が変わってしまうこともあるので、注意が必要です。


Blogger の 12 時間表記
違うのは日本人の感覚での「0 時台」です。Blogger の投稿エディタでの 12: 17 AM は、24 時間表記にすると 00: 17 のことを指します。

日本人は 12 時間表記でも 0 時から 11 時までを想像してしまいますが、Blogger の 12 時間表記だと 0 時台はありません。日本人が「0 時」と書くべきところを、AM / PM を変更せずに、そのまま「12 時」に換えるという感じ。なんだかややこしいですね。

表にしてみたのがこちらです。

24時間表記 日本的 12 時間表記 Blogger 12時間表記
00:00 .. 00:59  0:00 AM ..  0:59 AM 12:00 AM .. 12:59 AM
01:00 .. 11:59  1:00 AM .. 11:59 AM  1:00 AM .. 11:59 AM
12:00 .. 12:59  0:00 PM ..  0:59 PM 12:00 PM .. 12:59 PM
13:00 .. 23:59  1:00 PM .. 11:59 PM  1:00 PM .. 11:59 PM

投稿日付に 0 時台を指定するときには、気をつけてくださいね。

Blogger の投稿タイトルと URL

Blogger ブログの新規投稿のタイトルが、その記事単独ページの URL にどう反映されるのかをまとめておきます。


ディレクトリ
記事単独ページ(アイテムページ)の展開されるディレクトリは、記事を投稿する日付(※正確には記事に設定する日付。以下同じ)で決まります。
このディレクトリは (ブログトップ URL)/(4ケタの年)/(2ケタの月)/ という形になります。
たとえばこのサイトに 2007 年 8 月中に投稿される記事なら、ページが書き出されるディレクトリは http://www.kuribo.info/2007/08/ です。
記事単独ページの URL は、このディレクトリにファイル名を加えたものです。


基本ファイル名
みなさんご存知のとおり、ファイル名の基本的な部分は、その記事につけられたタイトルによって決まります。

1.タイトルに半角英数字が含まれる場合
(1) タイトルに半角英数字が含まれる場合はその半角英数が抽出され、大文字は小文字に変換されます。半角スペースもしくはハイフン(-)で区切られているものは、単語間に一つずつハイフンが挿入されたファイル名になります。例えば、記事タイトルが Firefox ブックマークに動く Favicon を だとファイル名は firefox-favicon.html に、Blogger に新機能 Comment Moderation だと blogger-comment-moderation.html になります。
半角スペース・ハイフン以外の記号や日本語は無視されて、そのまま単語間が詰められてしまうので注意が必要です。半角スペースなしの BloggerはBlogなのだbloggerblog.html に、全角スペースを使った Blogger Helpを活用するbloggerhelp.html になります。

(2) 基本ファイル名は .html を除いて数えると必ず 39 文字以内になります。単語の区切りがあるものは 39 文字に収まるように単語の数が調整され、区切りがなく 40 文字以上続く場合(記号や日本語が詰められる場合も)には 39 文字に切り取られることになります。

2.タイトルに半角英数字が含まれない場合
一律に blog-post.html となります。要約がヌルッと出てくる「最近の投稿」リストコメントカウンターについて も、ファイル名は blog-post.html です。


ファイル名が重複するとき
普通は上で説明した基本ファイル名がそのまま URL に適用されるんですが、ファイル名が重複する場合には重複防止の数値が追加されます。

1.同月の重複
同じ月のディレクトリに同名のファイルがすでにある場合には、後の記事のファイル名の拡張子 .html の前に _(2ケタ日付) という形で、記事投稿の日付が挿入されます。たとえば 3 日に はてな Blogger リング、10 日に Blogger にもカレンダー というタイトルの記事を書けば、ファイル名はそれぞれ blogger.htmlblogger_10.html となります。

2.同日の重複
日付が付加されるものがさらに重複するとき、上の例でいえば 10 日にさらに Blogger の魅力 というような記事を投稿した場合、3 つ目の記事のファイル名には、日付でなく記事の ID ナンバーが付加され blogger_123456789012345678.html のようになります。

以上の条件で、記事の単独ページ URL が決まっているように思います。他にもあれば教えて下さいね。次に、投稿を削除する際のアドバイスを少し。


投稿の削除は慎重に
たとえば、Blogger Status をチェックしよう というタイトルの投稿 blogger-status.html を削除し、次に別の Blogger Status が見られない という記事を投稿しても、再び blogger-status.html という URL にはならずに、blogger-status_05.html のように日付が付加されてしまいます。同様に、重複防止のために付加された日付は、その記事を削除して次の投稿をしても引き継ぐことはできません。投稿を削除すると永久欠番のように、どこかに URL データが保存されるようです。

投稿の URL を引き継がせたいときには、投稿を削除して新たに投稿するのではなく、編集で中身をごっそり換えた方がいいということですね。

Blogger のフィード URL とパラメータ

Blogger ブログで利用できるフィードの種類と、パラメータについてまとめておきます。


フィードの種類
Blogger で利用できるフィードは次のとおりです。
  • ブログ投稿フィード
  • ブログコメントフィード
  • 投稿別コメントフィード
  • ラベルフィード


ブログ投稿フィード

http://YOURBLOG.blogspot.com/atom.xml
http://YOURBLOG.blogspot.com/rss.xml
旧 Blogger でメインだったフィードがこちら。新 Blogger でも利用可能。FTP 公開ブログでは今も atom.xml がメインです。

http://YOURBLOG.blogspot.com/feeds/posts/default
新 Blogger のメインフィード。default の部分は full(全文)、summary(要約)に変更可能です(以下、他のフィードの default についても同様)。

http://www.blogger.com/feeds/YOURBLOGID/posts/default
上記フィードと全く同じですが、ブログ ID でアクセスすることが可能。FTP 公開ブログで利用するのに重宝します(atom.xml では使えないフィードのパラメータが使えるため)。www は今のところ www2 でも beta でもOK(以下、別のフィードの www も同様)。


ブログコメントフィード

http://YOURBLOG.blogspot.com/feeds/comments/default
ブログ全体のコメントが掲載されるフィード。レイアウトテンプレートではフィードウィジェットに通すことで、「最近のコメント」欄を表示するのに利用できます(参考:@aka さんの記事)。

http://www.blogger.com/feeds/YOURBLOGID/comments/default
上記と同じもの。FTP 公開ブログやクラシックテンプレートブログでも Feed2JS(参考記事)に通すことで「最近のコメント」を表示することができます。


投稿別コメントフィード

http://YOURBLOG.blogspot.com/feeds/YOURPOSTID/comments/default
指定した投稿についたコメントを掲載するフィード。たとえば「Blogger 質問コーナー」みたいな投稿を作って、そこについたコメントを別のページ(トップページがいいかな)で表示する、といったこともできます。

http://www.blogger.com/feeds/YOURBLOGID/YOURPOSTID/comments/default
上記の、FTP 公開ブログでもアクセス可能なバージョンです。


ラベルフィード

http://YOURBLOG.blogspot.com/feeds/posts/default/-/YOURLABEL
ラベル別の投稿を掲載したフィードです。ラベル名は URL エンコードする必要があります(参考記事:)。このフィードは、URL 末尾に /YOURLABEL2 とつけ加えていくことで、ラベルの絞り込みも可能。ラベルウィジェットにフィード URL へのリンクを貼り付けるなんてのも、以前やりましたね(参考記事)。

http://www.blogger.com/feeds/YOURBLOGID/posts/default/-/YOURLABEL
上記のフィードの、FTP 公開ブログでも利用可能なバージョンです。あまり利用することがない気がします(FTP 公開ブログ=クラシックテンプレートでは、ラベルはつけられるものの、ラベル一覧を表示する機能がないため)。


パラメータ
FTP 公開ブログの atom.xmlrss.xml 以外のフィードは、URL の末尾にパラメータを付け加えることで、いくつかのオプションが利用できます。

※ パラメータは、一つ目は ?param1=value1 というように ? でつないで追加し、二つ目以降は &param2=value2&param3=value3& でつないで追加していきます。

パラメータの種類は次のとおりです。
  • フォーマット
  • 期間
  • ソートキー
  • 項目数
  • 開始番号


フォーマット

alt=atom
Atom 1.0 形式で書き出し。パラメータなしだと自動的にこれになるので、このパラメータ自体は書くことがなさそう。

alt=rss
RSS 2.0 で書き出し。RSS しか受け取らないというサービスに登録するときには、このパラメータをつけます。

alt=json
JavaScript などで利用するのに便利な JSON 形式(参考記事)。異なるドメイン間でのデータのやり取りはできません。

alt=json-in-script&callback=FUNCTION
フィードの JSON を読み込む JavaScript が書き出されます。script 要素の src に直接指定することで、異なるドメインからもデータが取得可能。コールバックパラメータで、データの取得後に呼び出す関数名を指定します。


期間

updated-min=2007-01-01T00%3A00%3A00%2B09%3A00
updated-max=2007-01-31T23%3A59%3A59%2B09%3A00
min から max まで、指定した期間中に更新された項目を表示。それぞれ updated-min=2007-01-01T00:00:00+09:00updated-max=2007-01-31T23:59:59+09:00 を URL エンコードしたもの。エンコードなしだとエラーが出ます。

published-min=2007-01-01T00%3A00%3A00%2B09%3A00
published-max=2007-01-31T23%3A59%3A59%2B09%3A00
指定した期間中に投稿された項目を表示。パラメータ orderby=published と併用します。


ソートキー

orderby=updated
項目を更新された順に並べます。パラメータなしだと自動的にこれになるので、あまり書きません。

orderby=published
項目を投稿された順に並べます(参考記事)。


項目数

max-results=NUMBER
フィードに掲載する項目数を指定します。パラメータなしの場合は 25 個。フィードの場合、501 以上を指定しても 500 個までしか掲載されません。


開始番号

start-index=NUMBER
何番目の項目から掲載するかが指定できます。パラメータなしの場合は 1。項目数のパラメータと合わせて max-results=100&start-index=101 のような使い方をします。


リダイレクトの有無

redirect=BOOLEAN
フィードをリダイレクトするかどうかです。BOOLEAN 部分には、truefalse を指定。フィードへのアクセスを FeedBurner など外部のフィードにリダイレクトするように設定している場合、redirect=false を加えることで一時的にリダイレクトを解除することができます。パラメータなしの場合は true


クリボウが知っているのは、今のところこれだけ。新しいのを見つけたら追加していきます。他にもご存知の方は、教えて下さいね。

レイアウトテンプレートのエラーメッセージ一覧

Blogger でレイアウトテンプレートをカスタマイズしているときに表示される、恐怖のエラーメッセージ。

に、エラーメッセージについての素晴らしい記事があったので、早速翻訳してみました。

エラーメッセージ自体は、Blogger ダッシュボード表示言語を「日本語」にした場合のものに差し替えてあります。テンプレート作成で注意すべき点がいくつか紹介されているので、これから Blogger のレイアウトテンプレートをいじってみようと思っている人は、目を通しておくといいかもしれません。エラーが出てパニックになったときにも、読み返してもらえるとうれしいです。

ということで、翻訳開始…。

 

Blogger のレイアウトテンプレートは XML を基にした XHTML でコード化されています。XHTML は HTML より厳しい言語なので、レイアウトテンプレートを操作すると以前(クリボウ注:クラシックテンプレート)よりエラーに出会う可能性が高くなっています。


旧 Blogger テンプレートの使用
最も一般的な失敗は、旧 Blogger の HTML テンプレートをテキストボックスに貼り付けるという行為です。「テンプレートを保存」や「プレビュー」ボタンを押すと表示されるエラーメッセージがこちらです。

テンプレートの形式が適切でないため、解析できませんでした。 すべての XML 要素が適切に閉じられているかどうかを確認してください。
XML エラー メッセージ: The content of elements must consist of well-formed character data or markup.

このエラーメッセージは、HTML テンプレートの「形式が適切でない」ために表示されます。クラシックテンプレートを選択していない限り、旧 Blogger 用 HTML テンプレートとは互換性がありません。


タグの閉じ忘れ
XHTML では、全てのタグに対応する終了タグ必要です。終了タグが欠けていると、次のようなエラーメッセージが出ます。

テンプレートの形式が適切でないため、解析できませんでした。 すべての XML 要素が適切に閉じられているかどうかを確認してください。
XML エラー メッセージ: The element type "div" must be terminated by the matching end-tag "".

<div> タグに対応する終了タグは </div> です。全てのタグは、スラッシュのついた終了タグで閉じられなければなりません。空要素のタグは、スペースとスラッシュを入れてタグを閉じます(例:<br />)。空要素とは開始タグと終了タグの間に何も含まない要素のことです(例:<img src="valid.gif" />)。


& の使用
属性値でアンパサンド(半角の&)を使用する場合は、そのまま & という文字を使用するのではなく、&amp; を使用するべきです。& という文字をそのまま使用した場合には、次のようなエラーメッセージが表示されます。

テンプレートの形式が適切でないため、解析できませんでした。 すべての XML 要素が適切に閉じられているかどうかを確認してください。
XML エラー メッセージ: The reference to entity "key" must end with the ';' delimiter.

(または)

テンプレートの形式が適切でないため、解析できませんでした。 すべての XML 要素が適切に閉じられているかどうかを確認してください。
XML エラー メッセージ: The entity name must immediately follow the '&' in the entity reference.

間違った例: <title>Boys & Girls</title> → 正しい例:<title>Boys &amp; Girls</title>


スクリプトやスタイルの使用
XHTML では、スクリプト要素とスタイル要素は CDATA を持つとされています。そのため <& は、XML プロセッサによってそれら <& という文字そのものの実体として認識されます。スクリプト要素やスタイル要素の中身は、CDATA セクションで囲むことで、実体の表示を避けることが出来ます。

例:
<script language="JavaScript" type="text/javascript">
  <![CDATA[
    document.write("<b>Hello World!</b>");
  ]]>
</script>



属性値の不足
全ての属性には値がなければいけません。属性値は全て ' でくくって下さい。そうしないと、次のようなメッセージが表示されます。(クリボウ注:ウィジェットやセクションのタグでエラーが出ます。)

セクションの中に必須の ID 属性がないものがあります。 セクションにはそれぞれ固有の ID が必要です。


不適切なネスト(入れ子)
要素は、最後に開始したタグから閉じていく必要があります。間違った例:<em><strong>なんとかかんとか</em></strong> → 正しい例:<em><strong>なんとかかんとか</strong></em>


大小文字の混在したタグ名
XHTML では、大文字小文字は区別されます。もし <HTML> という開始タグを使っていれば、</html> ではなく </HTML> で閉じる必要があります。そうしないと、次のようなエラーメッセージが表示されます。

テンプレートの形式が適切でないため、解析できませんでした。 すべての XML 要素が適切に閉じられているかどうかを確認してください。
XML エラー メッセージ: The element type "HTML" must be terminated by the matching end-tag "".


変数の未定義
Blogger のレイアウトテンプレートでは、テンプレートのフォントや色の設定を簡単に変更できるように、変数が使われています。これらの変数は、「Variable definitions(変数定義)」部分で定義されており、CSS コード内で使用されます。

変数の定義例:

<variable name="bgColor" description="Page Background Color" type="color" default="#efefef" value="#ffff66">

body 要素についての CSS では次のように変数が使われます。例:

body {
  background: $bgColor;
}

たとえば、CSS で変数($rightSbColor)を使用しながら、Variable definitions(変数定義)部でそれを定義していなかった場合には、次のようなエラーメッセージが表示されます。

ページ スキンで無効な変数が宣言されています: 定義されていない変数が使用されています。入力: rightSbColor。


ウィジェット ID の重複
もし、テンプレートにすでに存在しているウィジェットと同じ ID を持ったウィジェット(ページ要素)を追加しようとすると、次のようなエラーメッセージが表示されます。(クリボウ注:セクションも同様です。)

ID: LinkList1 のウィジットが複数見つかりました。 ウィジット ID は固有である必要があります。


Includable 外のコード
Includable 要素以外にコードを書くと、次のようなエラーメッセージが表示されます。

ID "Blog1" のウィジットに要素 "b:if" を含めることはできません。 ウィジットには、b:includable 要素のみ含めることができます。

これを避けるには、b:includable id='main' 要素内にコードを記述してください。


セクション外のウィジェット
ウィジェットはつねにセクション内に書く必要があります。セクション外にウィジェットを書くと、次のようなエラーメッセージが表示されます。

ID HTML1 のウィジットは、セクション内にありません (実際の親要素は div です)。ウィジットはセクション内に存在する必要があります。

これを避けるには、b:section class='sidebar' id='sidebar' のようなセクション要素内に、ウィジェットを記述してください。


データタグの表記
テンプレートの形式が適切でないため、解析できませんでした。 すべての XML 要素が適切に閉じられているかどうかを確認してください。
XML エラー メッセージ: The value of attribute "href" associated with an element type "a" must not contain the '<' character.

このエラーメッセージは、次のようなコードを書いたときに起こります。

<a href="<data:post.url/>">Read more!</a>

正しい例:

<a expr:href='data:post.url'>Read more!</a>

同様に、

<span class="<data:post.author/>">
  <data:post.body/>
</span>

というコードも、エラーが出ます。正しい例はこちらです:

<span expr:class='data:post.author'>
  <data:post.body/>
</span>

(クリボウ注:データタグは、タグに囲まれて使用される場合と、タグ自体の属性値として使用される場合とで表記の仕方が変わる、ということ。)


クォートなしの属性値
属性の値はクォートで囲む必要があります。そうしないと、次のようなエラーメッセージが表示されます。

テンプレートの形式が適切でないため、解析できませんでした。 すべての XML 要素が適切に閉じられているかどうかを確認してください。
XML エラー メッセージ: Open quote is expected for attribute "width" associated with an element type "img".

たとえば img 要素の width 属性は width=56 ではなく width='56' と書く必要があります。クォートはシングルクォート(')でもダブルクォート(")でもかまいません。


複数のスキン
スタイルシートを記述するための b:skin 要素を、テンプレート中に2つ以上含むと、このようなエラーメッセージが出ます。

テンプレートにはスキンが 1 つだけ存在する必要があります。スキン 2 が見つかりました。

 

以上、翻訳終了。…長かったですね。

途中から読み出した人(そんな人いるかな?)に改めて説明しておくと…、この記事は上記リンクの記事を日本語訳して紹介したものです。この記事が役に立ったという場合には、元記事の作成者に感謝のお礼を言ってください。