<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>elanbeat's weblog: Tag google</title>
    <link>http://ja.elanbeat.com/articles/tag/google</link>
    <language>ja</language>
    <ttl>40</ttl>
    <description>Lotus Elan on the Rail</description>
    <item>
      <title>Google Calendarにlivedoor天気情報を直接取り込む</title>
      <description>&lt;p&gt;&lt;a href="http://ja.elanbeat.com/articles/2006/04/25/add-weather-forcast-to-google-calendar"&gt;Google Calendarに天気予報情報を取り込む&lt;/a&gt; [elanbeat.com]において、Google Calendarに天気予報の情報を取り込む方法を紹介しましたが、現在は紹介した方法では実現できなくなっています。&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://d.hatena.ne.jp/antipop/20060521/1148195594"&gt;livedoor Weather Hacks が iCal 形式の天気データ配布開始&lt;/a&gt; [antipop]&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;に詳細がありますが、livedoorさんから直接icalのデータが提供されるようになったことに伴いweather.subtech.orgさんのサービスが停止していますので、今後はlivedoor提供のicalデータを直接取り込む必要があります。&lt;/p&gt;


	&lt;p&gt;具体的には、&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://weather.livedoor.com/weather_hacks/ical.html"&gt;ical天気&lt;/a&gt; [weather.livedoor.com]&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;にあるリストから、取り込みたい地域の天気情報のURLを従来の方法と同様にGoogle Calendarに登録します。その際に「ical」ではデータがUTF8で直接エンコードされているためにGoogle Calendarでは化けてしまいますので、「ical(数値文字参照)」の方を選ぶ必要があります。&lt;/p&gt;


	&lt;p&gt;「ical(数値文字参照)」を選んだ場合でもタイトルは化けてしまいますので、追加後に修正します。&lt;/p&gt;</description>
      <pubDate>Sun, 21 May 2006 23:55:00 +0900</pubDate>
      <guid isPermaLink="false">urn:uuid:1acb4d0c-29b1-43f3-be57-7a6bbe7ac367</guid>
      <author>elanbeat</author>
      <link>http://ja.elanbeat.com/articles/2006/05/21/google-calendar-and-livedoor-weatherforcast</link>
      <category>blog</category>
      <category>software</category>
      <category>google</category>
      <trackback:ping>http://ja.elanbeat.com/articles/trackback/211</trackback:ping>
    </item>
    <item>
      <title>typoをGoogle Sitemapに対応させる</title>
      <description>&lt;p&gt;Googleのインデックスに自サイトのURLを効率的に登録する方法として&lt;a href="http://www.google.com/webmasters/sitemaps"&gt;Google Sitemap&lt;/a&gt; が利用できます。typoでもGoogle Sitemapを利用できるように、&lt;a href="https://www.google.com/webmasters/sitemaps/docs/en/protocol.html"&gt;Google Sitemap Protocol&lt;/a&gt; を自動で生成させてみます。&lt;/p&gt;
&lt;h2&gt;準備&lt;/h2&gt;


	&lt;p&gt;Google Sitemapについてはここでは説明しません。すでにアカウントを持っていて、操作について知っているものとします。例えば、実際の利用には自サイトの所有者の確認等の作業が必要となります。&lt;/p&gt;


	&lt;h2&gt;方針&lt;/h2&gt;


	&lt;p&gt;typoでsitemap.xmlを生成する方法は、&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://hedleyrobertson.com/articles/2006/02/07/google-sitemaps-in-typo"&gt;Google Sitemaps in Typo&lt;/a&gt; [hedleyrobertson.com]&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;で解説されています。またこの元ネタとして、Ruby on Railsのフレームワークでsitemap.xmlを生成する基本的な方法が、&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://blog.ipangels.com/blog/_archives/2005/6/18/951620.html"&gt;IP Angels :: Generating Google SiteMaps with Ruby on Rails&lt;/a&gt; [ipangels.com]&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;で解説されています。&lt;/p&gt;


	&lt;p&gt;前者の様にtypoのxml_controller.rbで生成してももちろんよいのですが、xml_controller.rbにパッチが当たることがある&lt;sup&gt;&lt;a href="#fn1"&gt;1&lt;/a&gt;&lt;/sup&gt;ため、ここでは後者の方法でcontrollerを独立させてることにします。&lt;/p&gt;


	&lt;h2&gt;TypoでのSitemap生成&lt;/h2&gt;


	&lt;h3&gt;controllerの作成&lt;/h3&gt;


	&lt;p&gt;app/controllers/sitemap_controller.rbを作成する。&lt;/p&gt;


&lt;pre&gt;
&lt;/code&gt;
class SitemapController &amp;lt; ContentController
  caches_action :sitemap
  session :off

  def sitemap
    @headers[&amp;#8216;Content-Type&amp;#8217;] = &amp;#8216;text/xml; charset=utf-8&amp;#8217;
    @articles = Article.find(:all, :conditions =&amp;gt; &amp;#8216;published=1&amp;#8217;, :order =&amp;gt; &amp;#8216;created_at &lt;span class="caps"&gt;DESC&lt;/span&gt;&amp;#8217;)
    @pages = Page.find(:all, :order =&amp;gt; &amp;#8216;created_at &lt;span class="caps"&gt;DESC&lt;/span&gt;&amp;#8217;)
  end
end
&lt;/code&gt;
&lt;/pre&gt;

	&lt;p&gt;注意: 最新のchangeset(1042～1053あたり)ではpublish関連で大幅な変更がなされています。最新版ではcreated_atの代わりにpublished_atを使うべきですが、ここではcreated_atを使っています。&lt;/p&gt;


	&lt;h3&gt;viewの作成&lt;/h3&gt;


	&lt;p&gt;app/views/sitemap/sitemap.rxmlを作成する。&lt;/p&gt;


&lt;pre&gt;
&lt;/code&gt;
xml.instruct! :xml, :version=&amp;gt; &amp;#8216;1.0&amp;#8217;, :encoding =&amp;gt; &amp;#8216;UTF-8&amp;#8217;
xml.urlset( :xmlns =&amp;gt; &amp;#8216;http://www.google.com/schemas/sitemap/0.84&amp;#8217;) do
  # First entry is the main entry to the site
  xml.url do
    xml.loc server_url_for(:controller =&amp;gt; &amp;#8220;articles&amp;#8221;)
    xml.changefreq &amp;#8216;daily&amp;#8217;
    xml.priority &amp;#8216;0.9&amp;#8217;
  end

  for entry in @articles
    xml.url do
      xml.loc article_url(entry, false)
      xml.lastmod entry.updated_at.xmlschema
      xml.changefreq &amp;#8216;weekly&amp;#8217;
      # xml.priority &amp;#8216;0.5&amp;#8217; # default
    end
  end

  for page in @pages
    xml.url do
      xml.loc url_for(:controller =&amp;gt; &amp;#8220;pages&amp;#8221;, :action =&amp;gt; page.name, :only_path =&amp;gt; false )
      xml.lastmod page.updated_at.xmlschema
      xml.changefreq &amp;#8216;weekly&amp;#8217;
      xml.priority &amp;#8216;0.5&amp;#8217;
    end
  end
end
&lt;/code&gt;
&lt;/pre&gt;

	&lt;p&gt;注意: ここでは&lt;a href="http://hedleyrobertson.com/articles/2006/02/07/google-sitemaps-in-typo"&gt;元記事&lt;/a&gt; に従って、indexの優先度を0.9に、各記事を0.5にしています。&lt;/p&gt;


	&lt;h3&gt;route.rbの設定&lt;/h3&gt;


	&lt;p&gt;config/route.rbにマッピングを追加する。&lt;/p&gt;


&lt;pre&gt;
&lt;/code&gt;
  map.xml &amp;#8216;sitemap.xml&amp;#8217;, :controller =&amp;gt; &amp;#8216;sitemap&amp;#8217;, :action =&amp;gt; &amp;#8216;sitemap&amp;#8217;
&lt;/code&gt;
&lt;/pre&gt;

	&lt;h2&gt;テーマ毎に設定する&lt;/h2&gt;


	&lt;p&gt;以上の設定でhttp://yourblog/sitemap.xmlが生成されるようになったはずです。複数のブログを運営しているなどでtheme毎に生成の仕方を変化させたい場合は、app/views/sitemap/sitemap.rxmlをtheme/your_theme/views/sitemap/sitemap.rxmlにコピーして変更します。&lt;/p&gt;


	&lt;h2&gt;パラメータのチューニング&lt;/h2&gt;


	&lt;p&gt;上記ではindexのプライオリティを0.9, 各記事のプライオリティを0.5(デフォルト)にしてありますが、私はindexを0.5, 各記事を0.9にしています。本ブログでのindexは所詮記事の冒頭部分のリストでしかありませんし、またタイムラグも発生するためです。&lt;/p&gt;


	&lt;p&gt;また、今回はアーカイブやタグ関連のURLについては生成していませんが、様子を見ながら追加していくことも必要かもしれません。本ブログの場合はindexと同様にプライオリティを下げる方向にする予定です。(sitemap.xmlにURLがなくても通常のクロールによりインデックス化されます。詳細はGoogle Sitemapのヘルプをご覧下さい。)&lt;/p&gt;


	&lt;p&gt;その他、更新頻度やクロールさせるページ毎のチューニングは、サイトのポリシーに従って設定する必要があります。&lt;/p&gt;


	&lt;h2&gt;参考&lt;/h2&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://wiki.elanbeat.com/instiki/show/TypoGoogleSitemapHowTo"&gt;TypoをGoogle Sitemapに対応させる&lt;/a&gt; [wiki.elanbeat.com]&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p id="fn1"&gt;&lt;sup&gt;1&lt;/sup&gt; 最近ではAtom Feed関連の修正など&lt;/p&gt;


	&lt;h2&gt;広告&lt;/h2&gt;


&lt;iframe src="http://rcm-jp.amazon.co.jp/e/cm?t=elanbeatswebl-22&amp;#38;o=9&amp;#38;p=8&amp;#38;l=as1&amp;#38;asins=4274066401&amp;#38;fc1=333333&amp;#38;IS2=1&amp;#38;lt1=_blank&amp;#38;lc1=0000FF&amp;#38;bc1=ffffff&amp;#38;bg1=ffffff&amp;#38;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;</description>
      <pubDate>Mon, 15 May 2006 02:00:00 +0900</pubDate>
      <guid isPermaLink="false">urn:uuid:c8556b6d-dbef-4ba1-a852-b51a8622e653</guid>
      <author>elanbeat</author>
      <link>http://ja.elanbeat.com/articles/2006/05/15/generating-sitemap-of-typo</link>
      <category>blog</category>
      <category>software</category>
      <category>typo</category>
      <category>typosphere</category>
      <category>rubyonrails</category>
      <category>google</category>
      <category>sitemap</category>
      <trackback:ping>http://ja.elanbeat.com/articles/trackback/205</trackback:ping>
    </item>
    <item>
      <title>Google Calendarに天気予報情報を取り込む</title>
      <description>&lt;p&gt;&lt;a href="http://www.flickr.com/photos/takahiro/134811134/" title="Photo Sharing"&gt;&lt;img src="http://static.flickr.com/47/134811134_f578479a4f_m.jpg" width="240" height="160" alt="Lotus Elan touring" /&gt;&lt;/a&gt;&lt;br&gt;
Ricoh GR Digital, F4.5, 1/320s, iso64, no trimming, no retouch, resized&lt;/p&gt;


	&lt;p&gt;先日の「&lt;a href="http://ja.elanbeat.com/articles/2006/04/17/google-calendar"&gt;Google Calendarを使って趣味のイベント情報を配信してみる&lt;/a&gt; 」において、クラッシックカー関連のイベントを配信する試みを紹介しましたが、古い車のイベントで気になるのはやはり天気。&lt;/p&gt;
&lt;blockquote&gt;
		&lt;p&gt;&lt;a href="http://d.hatena.ne.jp/antipop/20060424"&gt;weather.subtech.org: 天気予報を iCal で&lt;/a&gt; [antipop]&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;では、天気予報をGoogle CalendarやiCalに取り込む方法が紹介されています。&lt;a href="http://weather.subtech.org/"&gt;weather.subtech.org&lt;/a&gt; で、livedoorで提供しているXMLデータをiCal方式に変換して提供して下さっているので、必要な地方のiCalフォーマットのURLをコピーしてGoogle Calendarに追加するだけで簡単に取り込むことができました。便利なサービスの提供者の方々に感謝です。&lt;/p&gt;


	&lt;p&gt;例えば週末にイベントやツーリングがある場合、出発地と目的地の天気予報を取り込んでおけば、当日までハラハラドキドキすることができそうです。&lt;/p&gt;


	&lt;p&gt;実際古い車は錆を嫌うため、雨のイベントでは参加台数が極端に減ってしまい、単なるツーリングなどは中止になることも少なくありません。蓮車の大半はボディがFRPなので錆はそれほど気にならないとはいえ、7や26(Lotus Elan S1 &amp;#38; S2)は幌が組み立て式で取り付けも面倒なので、出来れば雨の走行は避けたいところ。&lt;/p&gt;


	&lt;p&gt;ちなみに私の場合、10年間で幌をつけて走ったのはたったの二回しかありません。レースや走行会など、割と高額な参加費を払ってしまっているときに仕方なく..。&lt;/p&gt;</description>
      <pubDate>Tue, 25 Apr 2006 22:19:00 +0900</pubDate>
      <guid isPermaLink="false">urn:uuid:c03979e8-1bce-4dad-aebf-9864e8d6c024</guid>
      <author>elanbeat</author>
      <link>http://ja.elanbeat.com/articles/2006/04/25/add-weather-forcast-to-google-calendar</link>
      <category>blog</category>
      <category>photo</category>
      <category>car</category>
      <category>software</category>
      <category>grdigital</category>
      <category>google</category>
      <category>calendar</category>
      <category>lotus</category>
      <category>elan</category>
      <trackback:ping>http://ja.elanbeat.com/articles/trackback/171</trackback:ping>
    </item>
    <item>
      <title>Google Calendarを使って趣味のイベント情報を配信してみる</title>
      <description>&lt;p&gt;巷で話題のGoogle Calendar β版を使ってみました。設定は、&lt;/p&gt;
&lt;p&gt;Gmailのアカウントを既にもっていれば非常に簡単、というか &lt;a href="http://www.google.com/calendar/"&gt;Google Calendar&lt;/a&gt; からログインするだけです。アカウントがない方は、&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;&lt;a href="http://gigazine.net/index.php?/news/comments/20060413_google_calendar/"&gt;Googleの新サービス「Google Calendar」速攻レビュー&lt;/a&gt; [GIGAZINE]&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;が大変わかりやすく参考になります。&lt;/p&gt;


	&lt;p&gt;さて、Google CalendarにはイベントをAtom形式のフィードで出力する機能があります。これを利用して、例えば趣味関連のスケジュールを公開し、興味のある人同士で共有することができそうです。&lt;/p&gt;


	&lt;p&gt;早速試してみましょう。&lt;/p&gt;


	&lt;p&gt;自分のイベントのPublicなもののみを公開してもよいのですが、今回は公開用のカレンダーを新規に作成してみます。&lt;/p&gt;


	&lt;ol&gt;
	&lt;li&gt;ログイン後の画面の左下にある「Calendars」の「My Calendars」の横の「＋」をクリックし、公開用のカレンダーを新規に作成します。&lt;/li&gt;
		&lt;li&gt;作成した公開用カレンダーの横の三角ボタンをクリックし、Calendar Setting-&amp;gt;Share this calendarのShare with everyone:の項目で「Share all information on this calendar with everyone」を選択します。これでこのカレンダーのイベントは原則全て公開となり、Googleの検索結果に含まれるようになります。(プライバシーに十分注意して下さい。)&lt;/li&gt;
		&lt;li&gt;Calendar Setting-&amp;gt;Calendar Detailsの「Calendar Address」にはAtomフィードとiCal用のボタンが表示されています。このボタンにリンクされたURLがフィードのURLとなります。&lt;/li&gt;
		&lt;li&gt;このURLを知人に知らせてRSSリーダなどで購読してもらえば、イベントの情報を共有することができます。&lt;/li&gt;
	&lt;/ol&gt;


	&lt;p&gt;Lotusやクラッシックカー関連のイベントを入力して、実験的に以下のフィードで公開してみることにしました。もしご興味があれば購読してみてください。(まだほとんどデータはありません。)&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://www.google.com/calendar/feeds/3j3g8d30hd9klot1md3407v538@group.calendar.google.com/public/basic"&gt;elanbeat&amp;#8217;s public calendar&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;&lt;span class="caps"&gt;RSS&lt;/span&gt;リーダさえあれば、最低限のイベントの情報はわかりますが、もし知人がGoogle Calendarのアカウントを持っていれば、フィードからカレンダーにアクセスして詳細を見られる他、自分のイベントとして取り込むなどの操作をすることも可能です。また場所として入力した文字列をGoogle Localで検索する機能があるので、うまく入力すればイベントの場所を地図(Google Map)と連動させて表示できます。&lt;/p&gt;


	&lt;p&gt;また、FeedBurnerのアカウントがあれば、このフィードを整形してブラウザでも見やすくすることも可能です。例えばこのようになります。&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://feeds.feedburner.jp/elanbeatcal"&gt;elanbeat&amp;#8217;s public calendar formatted by FeedBurner&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;&lt;a href="http://www.google.com/support/calendar"&gt;Google Calendarのヘルプ&lt;/a&gt; では、この他にもイベントのリマインダを自分のブログなどにボタンとして貼る方法など載っています。今後色々と便利な使い方ができそうで、期待のサービスの一つです。&lt;/p&gt;</description>
      <pubDate>Mon, 17 Apr 2006 23:13:00 +0900</pubDate>
      <guid isPermaLink="false">urn:uuid:66197d0e-f012-4c49-9660-b4e033a59f0a</guid>
      <author>elanbeat</author>
      <link>http://ja.elanbeat.com/articles/2006/04/17/google-calendar</link>
      <category>blog</category>
      <category>software</category>
      <category>lifehack</category>
      <category>google</category>
      <category>feedburner</category>
      <trackback:ping>http://ja.elanbeat.com/articles/trackback/155</trackback:ping>
    </item>
  </channel>
</rss>
