<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
    xmlns:admin="http://webns.net/mvcb/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>Travellers Tales</title>
<link>http://travel-lab.info/tech/pblog/index.php</link>
<pubDate>Wed, 03 Oct 2007 23:05:42 +0900</pubDate>
<description>
Travellers Tales - RSS 2.0 (Really Simple Syndication).
</description>
<item>
<title>iPhone/iPod touch 用 RSS/Atom フィードリーダー reader.mac.com</title>
<link>http://travel-lab.info/tech/pblog/article.php?id=156</link>
<guid>http://travel-lab.info/tech/pblog/article.php?id=156</guid>
<pubDate>Wed, 03 Oct 2007 23:05:42 +0900</pubDate>
<description>iPhone/iPod touch 専用の簡易フィードリーダー reader.mac.com


reader.mac.com でのフィード表示例

iPod touch/iPhone で RSS/Atom フィードを開くとリダイレクトされ...</description>
<content:encoded>
<![CDATA[<h4>iPhone/iPod touch 専用の簡易フィードリーダー reader.mac.com</h4>
<div class="float-right" style="text-align: center;">
<p><img style="border: 1px solid #ccc; margin: 0 1em;" src="http://travel-lab.info/tech/pblog/resources/reader-mac-com.png" height="360" width="240" alt="reader.mac.com でのフィード表示例" /></p>
<p>reader.mac.com でのフィード表示例</p>
</div>
<p>iPod touch/iPhone で RSS/Atom フィードを開くとリダイレクトされる reader.mac.com は、シンプルなフィードリーダーです。</p>
<p>フィードを表示するためだけのリーダー（ビューアの方が近い？）であって、アグリゲータ (aggregate = 集める) のように登録されたフィードを購読したり管理する機能はありません。リンク等からアクセスしたフィードを見やすいように整形して表示するのみの、その場限りのものです。その際の URL は以下のようになります。</p>
<ul>
<li>http://reader.mac.com/mobile/v1/(Feed URL)</li>
</ul>
<p>例えば、当ブログのフィード</p>
<ul>
<li><a href="http://feeds.travel-lab.info/travellers">http://feeds.travel-lab.info/travellers</a></li>
</ul>
<p>にアクセスすると、`</p>
<ul>
<li><a href="http://reader.mac.com/mobile/v1/http%3A%2F%2Ffeeds.travel-lab.info%2Ftravellers">http://reader.mac.com/mobile/v1/http%3A%2F%2Ffeeds.travel-lab.info%2Ftravellers</a></li>
</ul>
<p>に飛ばされて、フィードの内容が表示されます。（右の画像は表示例）</p>
<p>以下、reader.mac.com の表示設定をもう少し詳しく見てみます。Apple 自身による iPhone/iPod touch 用アプリケーションなので、参考になることがあると思います。
<!-- more -->#### User Agent を変更して reader.mac.com のソースを確認</p>
<p>reader.mac.com はユーザエージェントを見ているので、<a href="http://travel-lab.info/tech/pblog/article.php?id=150" title="Travellers Tales : iPhone 用 Google Reader、Google Calendar の設定を見る">過去記事で説明した user-agent を変更する方法</a>を参考に、iPhone・iPod touch を名乗ります。</p>
<p>HTML ソースの head 要素部分を見ると、もはやおなじみの(?) viewport の設定があります。iPhone/iPod touch 専用インターフェイスを作る際には、デバイスの表示領域に合わせて width を 320px にするのは常套手段です。ここでは、横幅の他にも、文字の最大拡大率が 1.6倍までに設定されています。</p>
<pre><code>&lt;meta name = "Viewport" content = "maximum-scale=1.6,width=320" &gt; 
</code></pre>
<p>その他に、外部 JavaScript や CSS が設定されています。</p>
<ul>
<li><a href="http://reader.mac.com/mobile/_staticwrz/scripts/reader.js" title="reader.mac.com のJavaScript">http://reader.mac.com/mobile/_staticwrz/scripts/reader.js</a></li>
<li><a href="http://reader.mac.com/mobile/_staticwrz/styles/reader.css" title="reader.mac.com のスタイルシート">http://reader.mac.com/mobile/_staticwrz/styles/reader.css</a></li>
</ul>
<h4>reader.mac.com のスタイルシート</h4>
<p>以下がフィードの各アイテムの HTML を簡略化して抜粋したものです。</p>
<pre><code>&lt;div class="item"&gt;
    &lt;div class="itemTitle"&gt;
        &lt;a href="javascript:updateLayout(true);displayItem(1,true);"&gt;フィードのタイトル&lt;/a&gt;
        &lt;/div&gt;
    &lt;div class="itemSubheading"&gt;&lt;div class="itemDate"&gt;Today, 10:10 PM&lt;/div&gt;&lt;/div&gt;
    &lt;div class="textTop"&gt;内容1行目&lt;/div&gt;&lt;div class="textBottom"&gt;内容2行目&lt;/div&gt;
&lt;/div&gt;&lt;center&gt;&lt;div class="hr_div"&gt;&lt;/div&gt;&lt;/center&gt;
</code></pre>
<p><code>reader.css</code> の中で、<code>#title</code> や <code>.itemSubheading</code>、<code>.textBottom</code> 等には</p>
<pre><code>text-overflow:ellipsis;
</code></pre>
<p>が設定されています。</p>
<p><code>text-overflow</code> が <code>overflow</code> になっているので、テキストが領域に収まらない場合、三点リーダ「…」が表示されます。（<code>text-overflow</code> は FIrefox 等 Mozilla 系ではサポートしておらず、<abbr title="Internet Explorer">IE</abbr> ではサポートされていますが、Safari 3 系でもサポートされたようです。）</p>
<pre><code>img {
    max-width: 280px !important;
    display : block;
}
</code></pre>
<p>画像がインラインではなくブロック要素として表示されるように指定されています。また、最大の横幅を 280px までに制限しています。iPod touch/iPhone の小さな画面（320×480）を考慮した結果なのでしょう。</p>
<h5>WebKit 独自の CSS プロパティ</h5>
<p><a href="http://webkit.org/" title="The WebKit Open Source Project">WebKit</a> 特有（もしくは先取り実装）のプロパティがいくつか見られます。</p>
<p>.itemSubheading</p>
<pre><code>display: -webkit-box;
-webkit-box-align:baseline;
-webkit-box-orient:horizontal;
-webkit-user-select:ignore;
</code></pre>
<p>.itemSource</p>
<pre><code>-webkit-box-flex:20;
</code></pre>
<p>各プロパティについては、このあたりが参考になるでしょうか。</p>
<div class="exref">
<ul>
<li><a href="http://www.w3.org/TR/css3-layout/">W3C - CSS Advanced Layout Module</a></li>
<li><a href="http://www.w3.org/TR/2000/WD-css3-userint-20000216#user-select">W3C - User Interface for CSS3</a></li>
<li><a href="http://firefox.geckodev.org/index.php?CSS%2FXUL%E7%94%A8%E7%8B%AC%E8%87%AA%E6%8B%A1%E5%BC%B5CSS#m4bcc8b5">display:-moz-box用 - CSS/XUL用独自拡張CSS - Mozilla Firefox まとめサイト</a></li>
<li><a href="http://developer.mozilla.org/en/docs/CSS:-moz-box-align">CSS:-moz-box-align - MDC</a></li>
<li><a href="http://developer.mozilla.org/en/docs/CSS:-moz-box-orient">CSS:-moz-box-orient - MDC</a></li>
<li><a href="http://developer.mozilla.org/en/docs/CSS:-moz-box-flex">CSS:-moz-box-flex - MDC</a></li>
<li><a href="http://developer.mozilla.org/ja/docs/CSS:-moz-user-input">CSS:-moz-user-input - MDC</a></li>
</ul>
</div>
<p>以下は <abbr title="XML User Interface Language">XUL</abbr> についての解説ですが、こちらも参考になるのでは。</p>
<div class="exref">
<ul>
<li><a href="http://developer.mozilla.org/ja/docs/XUL:box">XUL:box - MDC</a></li>
</ul>
</div>
<blockquote cite="http://developer.mozilla.org/ja/docs/XUL:box" title="XUL:box - MDC">
<p>複数の子要素を含むコンテナ要素。 <code>box</code> の <a href="http://developer.mozilla.org/ja/docs/XUL:Attribute:orient" title="XUL:Attribute:orient">orient</a> 属性が <code>horizontal</code> にセットされていると、子要素はbox内で左から右の順に配置される。 <a href="http://developer.mozilla.org/ja/docs/XUL:Attribute:orient" title="XUL:Attribute:orient">orient</a> が <code>vertical</code> だと、子要素は上から下の順に配置される。 子要素が重なることはない。 デフォルトの配置方向は <code>horizontal</code>。
</p>
</blockquote>
<div class="exref">
<ul>
<li><a href="http://developer.mozilla.org/ja/docs/XUL:Attribute:align">XUL:Attribute:align - MDC</a></li>
</ul>
</div>
<blockquote cite="http://developer.mozilla.org/ja/docs/XUL:Attribute:align" title="XUL:Attribute:align - MDC">
<dl><dt>align
</dt><dd> 型: one of the values below
</dd><dd> align属性は、boxのサイズが中の合計サイズより大きいときのboxの子要素の並び方を定義します。 boxが水平のとき、子がどのように垂直に並ぶのかを定義します。boxが垂直のときは、子がどのように垂直に並ぶかを指定するために使われます。 The <a href="/ja/docs/XUL:Attribute:pack" title="XUL:Attribute:pack">pack</a> attribute is related ot the alignment but is used to specify the position in the opposite direction.  You can also specify the value of align using the style property <a href="http://developer.mozilla.org/ja/docs/ja/docs/index.php?title=CSS:-moz-box-align" class="new" title="CSS:-moz-box-align">-moz-box-align</a>.
</dd></dl></blockquote>
<div class="exref">
<ul>
<li><a href="http://developer.mozilla.org/ja/docs/XUL:Attribute:orient">XUL:Attribute:orient - MDC</a></li>
</ul>
</div>
<blockquote cite="http://developer.mozilla.org/ja/docs/XUL:Attribute:orient" title="XUL:Attribute:orient - MDC">
<dl><dt>orient
</dt><dd> 型: 下記の要素のうちひとつ
</dd><dd> ある要素の子要素が縦方向なのか、横方向なのを判別するのに使われる。デフォルト値はその要素に依存する。<a href="/ja/docs/index.php?title=CSS:-moz-box-orient&amp;action=edit" title="CSS:-moz-box-orient">-moz-box-orient</a>というCSSの属性も同じように使えます。
</dd></dl>
<ul><li> <code>horizontal</code>:ある要素の子要素が、XULのソースの中で、お互いが横に並んでいる。
</li><li> <code>vertical</code>:ある要素の子要素が、XULのソースの中で、お互いが縦に並んでいる。
</li></ul>
</blockquote>
]]>
</content:encoded>
</item>
</channel>
</rss>