2010-04-05 Mon

chalow の item page に rel="canonical" をつけた はてぶ

utm_* 付きの url でブクマされていたので,
chalow の item page の header に,
以下のような rel="canonical" を追加してみた.

<link rel="canonical" herf="$clog_url<TMPL_VAR name=ymdi>.html">


これで,ここは utm_* とかが付いた url でブクマされても,
はてブなら分散しないようにるはず.

この現状を受けて、はてなブックマーク側でも、ブックマークレットでブックマークするときに canonical URL をチェックし、ブックマークしようとしている URL が異なる場合、ナビゲーションによる正規化された URL を提示するようなインターフェイスの作成を行いました。

ブックマークレットでの URL の正規化に対応しました - はてなブックマーク日記 - 機能変更、お知らせなど


自分がブクマする際には,
Query Cutter - URL の余計なクエリを削除 [2009-11-27-2]
という greasemonkey を書いて使っているので問題ない.

念をいれて,utm_* 付きのアクセスは
サーバ側で正規化して redirect させるなりした方がいいんだろうか?

- Query Cutter - URL の余計なクエリを削除 [2009-11-27-2]

2010-03-17 Wed

Vimeo Movie 埋込 chalowプラグイン はてぶ

- Vimeo Movie 埋込 chalowプラグイン - memo.xight.org
  http://memo.xight.org/2010-03-09-2
から.

######################
# embed vimeo movie
# usage: {{vimeo('id','width','height')}}
sub vimeo {
    my ($id,$width,$height) = @_;
    return qq(<object width="$width" height="$height">
    <param name="allowfullscreen" value="true" />
    <param name="allowscriptaccess" value="always" />
    <param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=$id&amp;serve	r=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;fullscreen=1" />
    <embed src="http://vimeo.com/moogaloop.swf?clip_id=$id&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="$width" height="$height">
    </embed>
    </object>);
}


2009-11-12 Thu

ChangeLogメモからHTML生成するツールまとめ はてぶ

http://memo.xight.org/2009-11-09-3

作った本人さえ使ってない rchalow も入ってました.

chalow のソースを読みながら,適当に class を作ったりしつつ
書いていので,いろいろと微妙なんですよね.

[2005-11-09-1]に作りだして,その後,放置.
[2009-02-12-1]頃に akapy さんから連絡があったので,
ちょっと修正して公開.

放置期間が長過ぎです.

記法を増やしたり,いろいろとやりたいことはあるので,
ちょこちょこ手を入れていきます.
そのうち,一から書き直ししたくなりそうだけど.

- rchalow を読み直してみた [2009-02-14-1]
- rchalow - chalow の Ruby 実装 [2009-02-12-1]
- Ruby 版 chalow 作成中 [2005-11-09-1]

2009-03-20 Fri

ASIN入りアマゾン商品画像URLリダイレクトCGIの雛形を Ruby で はてぶ

- [を] ASIN入りアマゾン商品画像URLリダイレクトCGIの雛形
  http://chalow.net/2009-03-18-1.html
を Ruby で書いてみた(特に書き直す意味もないけど,
Amazon Web Services を使ったことがないので,試しに).

#!/usr/bin/ruby

require 'cgi'
require 'open-uri'

AWS_ID = "key"

q = CGI.new
asin = q["a"]
size = q["s"].empty? ? "s" : q["s"]

aurl = "http://webservices.amazon.co.jp/onca/xml?" +
  "Service=AWSECommerceService&" +
   "AWSAccessKeyId=#{AWS_ID}&" +
   "Operation=ItemLookup&ItemId=#{asin}&ResponseGroup=Images"
res = open(aurl).read

url = ""
case size
when "s"
  url = res.scan(/<SmallImage><URL>(.+?)</)[0].to_s
when "m"
  url = res.scan(/<MediumImage><URL>(.+?)</)[0].to_s
when "l"
  url = res.scan(/<LargeImage><URL>(.+?)</)[0].to_s
end

url = "http://...1x1.jpg(1x1画像のURL)" unless url

puts "Location: #{url}\n\n"


(※たつをさんの「雛形」同様、セキュリティとかエラー処理とかはご自分で)

まあ,これはどうでもよくて,Rewrite の方.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^img/([A-Z0-9]+)-([sml])\.jpg$ /amaimg.cgi?a=$1&s=$2 [L]


RewriteCond でリクエストされたファイルが存在しなければ,
rewrite を行ない cgi に飛ばし,画像をキャッシュする.

なので,chalow の Amazon のイメージ付きリンクの作成 plugin は以下のように,
http://..../img/[ASIN]-[SIZE].jpg を表示するようにすればいいはず
(まだ試してない).

sub amazon_img {
my ($asin, $str) = @_;
my $prefix = "http://www.amazon.co.jp/exec/obidos/ASIN";
my $imageprefix = "http://.../img/"; # 画像を cache したディレクトリ
my $suffix = "ftnk1221-22/ref=nosim"; # アソシID使用時
$str =~ s/(\s|^)(\S+\.(jpg|jpeg|png|gif))/$1<img src="$2">/gi;
$str =~ s/$/<br>/gm;
$str =~ s/<br>\Z//m;
my $image = "<img src=\"$imageprefix/$asin-m.jpg\">";
return qq(<a href="$prefix/$asin/$suffix">$image</a><a href="$prefix/$asin/$suffix">$str</a>);
}


(すでに使用している plugin を変更するのは面倒なので,サイズは m で固定)

2009-02-12 Thu

rchalow - chalow の Ruby 実装 はてぶ

最近,3 年ほど前につくって放置していた chalow の Ruby 実装に興味を持ってくれた人がいたので,plugin 機能をつけて公開してみます.

rchalow-0.0.2.tar.bz2

名前は適当なのが思い付かないので,とりあえず,Ruby の r をつけて,
rchalow ということで.

chalow との違いは,設定ファイルを
- 設定ファイル
- テンプレート
- プラグイン
に分けたことくらいです.
他は,ほぼ perl のコードを ruby に置き換えていっただけのはずです
(3 年以上放置してたので,よく覚えてない.ChangeLog の操作用ライブラリは作った).

また,
- 自分の環境しか考慮してない
- 実装してない機能が多い
- plugin が少ない
- plugins ディレクトリが pwd 以下にあると仮定している
- コードが汚ない
等,色々と問題があると思いますが,
興味を持った方は試してみてください.

あとは,chalow をいじりたいけど,perl わからねぇと言う人もどうぞ.
Ruby の標準ライブラリしか使ってないのでお手軽です(たぶん).

# そのうち,CodeRepos とか,どこかにアップします(たぶん).

今後さらにいじるとしたら
- コードの整理
- 記法の追加
 - h4 や h5 とか

あと
- [を] chalow version 2 へ向けての大改造
  http://chalow.net/2008-01-26-1.html

最大の変更ポイントは、
月別ページ、日別ページ、カテゴリ別ページの廃止です。
記事ページとトップページ以外は CGI で動的生成します。
といっても検索 CGI の日付周りのオプションを強化するだけですが。
あとは、まだ着手していませんが検索 CGI も含めた完全 UTF-8 化。
出力は UTF-8 に統一しようかと。
これはどうなっているんだろう?

- chalow - CHAngeLog On the Web
  http://chalow.org/
- App::Chariot という簡易ブログツールをつくった - TokuLog 改めB日記
  http://d.hatena.ne.jp/tokuhirom/20080527/1211892818
- Corno 作成中 - A More Beautiful day
  http://d.hatena.ne.jp/gtaka555/20081028/p1
- Ruby 版 chalow 作成中 [2005-11-09-1]

(追記)
http://twitter.com/at_aka/statuses/1200402445

@ftnk あ、どうも。rchalow のリポジトリー公開、楽しみにしています。

さて,リポジトリはどこが使いやすいんだろう?

手元で公開してもいいかと思ったけど
http://twitter.com/at_aka/status/1200548887

@ftnk 「自分の開発環境が死んだ時」->「自分の開発 PC が死んだ時/盜まれた時/トラブった時」
ということで,どこか外部を利用する方向で.

Referrer (Inside):
[2009-11-12-1] ChangeLogメモからHTML生成するツールまとめ
[2009-02-14-1] rchalow を読み直してみた

2008-11-16 Sun

こことメモの履歴 はてぶ

- [を] 「たつをの ChangeLog」が8年目に突入してた
  http://chalow.net/2008-11-14-2.html
に影響されて,ここの状況を確認してみる.



local 時代 [2001-03-22][2004-11-22]頃まで

local で ハイパー日記システムや tDiary でメモを書いてた時代.

[2004-11-22] には no-ip.com を利用しているようなので,
それくらいには local でのメモ時代は終了.



public 時代 [2004-11-22]頃〜

サーバを外部に公開して,メモを晒している時代.

しばらくは tDiary を使っていて,
[2005-07-26]頃には chalow に移行.

ということで,chalow ユーザになって 3 年は経っているみたい.

で,最近気になっているのが,
changelog memo としての読み易さと
chalow を通して html に変換したときの見易さのバランス.

chalow を使っている人はこのあたりのことをどう考えているんだろう?

2008-08-27 Wed

chalow 用ケータイサイトマップ生成スクリプト はてぶ

clkeitai.cgi に AdSense をつけたついでに,
google 向けケータイサイトマップ生成 script を書いてみた.
といっても,cli2sitemap.pl を書き換えただけ.

[ Read More... ]

2008-08-27 Wed

clkeitai.cgi に AdSense をつけてみた はてぶ

chalow の携帯用ゲートウェイ clkeitai.cgi で
モバイルコンテンツ向け AdSense を表示するようにしてみました.

- 携帯サイト専用アクセス解析ツール 「うごくひと」 と chalow の「うごくひと」対応 [2008-08-10-4]
- フィード向け AdSense を試す [2008-08-19-2]

2008-08-10 Sun

携帯サイト専用アクセス解析ツール 「うごくひと」 と chalow の「うごくひと」対応 はてぶ

http://nakanohito.jp/stage/ugokuhito/

なかのひとから携帯サイト向けアクセス解析サービス「うごくひと」が公開されました.

この「うごくひと」では、携帯サイトへのアクセス数や検索キーワード分析といった通常の Web アクセス解析機能のほか、年齢・性別の傾向などのユーザー層分析、アクセスしてきた携帯端末の機能や画面サイズの分布などの端末分析、どんな携帯機種がいつアクセスしてきたかが時系列で分かる足あと機能などを提供します。

ということで,早速 chalow の clkeitai.cgi を対応させてみました.
と言っても,タグを追記しただけですが.

--- clkeitai.cgi~	2005-09-03 18:31:54.000000000 +0900
+++ clkeitai.cgi	2008-08-10 20:04:39.000000000 +0900
@@ -29,7 +29,9 @@
 	for (my $i = 1; $i < 10; $i++) {
 	    print qq(<a href="clkeitai.cgi?date=$date-$i">$date-$i</a>, );
 	}
-	print "...</body></html>\n";
+	print "...</br>";
+       	print "<a href=\"http://m.nakanohito.jp/ugokuhito/\"><img src=\"http://m.nakanohito.jp/an/?u=000000&h=000000&guid=ON&t=&type=m\" border=\"0\" width=\"72\" height=\"16\" alt=\"携帯アクセス解析\" /></a>";
+	print "</body></html>\n";
 	exit;
     }
     output_an_item($date);
@@ -50,7 +52,9 @@
     } elsif (-e "$ym.html") {
 	$fn = "$ym.html";
     } else {
-	print "<body>No Entry $ymdi</body></html>\n";
+	print "<body>No Entry $ymdi";
+       	print "<a href=\"http://m.nakanohito.jp/ugokuhito/\"><img src=\"http://m.nakanohito.jp/an/?u=000000&h=000000&guid=ON&t=&type=m\" border=\"0\" width=\"72\" height=\"16\" alt=\"携帯アクセス解析\" /></a>";
+	print "</body></html>\n";
     }

     open(F, "< $fn") or die "Can't open $fn : $!\n";
@@ -94,7 +98,9 @@
     }

     $outstr = jcode($outstr)->sjis;
-    print "<body>$ymdi<p>$outstr</p></body></html>\n";
+    print "<body>$ymdi<p>$outstr</p>";
+    print "<a href=\"http://m.nakanohito.jp/ugokuhito/\"><img src=\"http://m.nakanohito.jp/an/?u=000000&h=000000&guid=ON&t=&type=m\" border=\"0\" width=\"72\" height=\"16\" alt=\"携帯アクセス解析\" /></a>";
+    print "</body></html>\n";
 }

 ### アイテム一覧表示
@@ -142,7 +148,7 @@
 <body>
 $outstr
 <a href="clkeitai.cgi?from=$last">&lt;&lt;</a>
-</body></html>
+<a href="http://m.nakanohito.jp/ugokuhito/"><img src="http://m.nakanohito.jp/an/?u=000000&h=000000&guid=ON&t=&type=m" border="0" width="72" height="16" alt="携帯アクセス解析" /></a></body></html>
 HTML
     ;
 }


で,携帯でアクセスして,うごくひとのロゴがでることを確認.

あと,
- [を] このブログをケータイで見たときのリダイレクトと「はてブ」リンクの修正
  http://chalow.net/2008-07-13-3.html
の .htaccess の設定

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} (J-PHONE|SoftBank|Vodafone|DoCoMo|KDDI)
RewriteRule ^([0-9]+-[0-9]+-[0-9]+-[0-9]*)\.html$ /~fumi/cl/clkeitai.cgi?date=$1 [R,L]


をして,携帯から 200X-XX-XX-X.html にアクセスされたら,
clkeitai.cgi?date=200X-XX-XX-X.html にリダイレクトされるようにしておく.

- foxmeter ふぉくすけ版を貼ってみた [2008-06-29-3]
- なかのひと ベータ版 - 公共機関、会社、学校など組織からのアクセスに特化した超絶!アクセス解析 [2007-04-18-3]

Referrer (Inside):
[2008-08-27-2] clkeitai.cgi に AdSense をつけてみた

2008-07-06 Sun

Disqus をつけてみた はてぶ

http://disqus.com/

以前はくっつき BBS を使っていたけど,スパムが多いので,停止していました.

で,今回,
- Lifehacking.jp V2 に移行しました! | Lifehacking.jp
  http://lifehacking.jp/2008/07/lifehackingjp-ver2/
を見て,Disqus を試してみることに.

[ Read More... ]

2008-06-18 Wed

chalow で同じ記事が生成されていることがある はてぶ

[2007-06-18] のように同じ記事が 2 つ生成されていることがある.
もちろん,オリジナルのメモでは 1 つしか書いていない.

chalow は適当に書き換えたりしているので,それが悪いのか?

2008-06-04 Wed

chalow にパンくずリストをつける はてぶ

以下のような感じで,
パンくずリストを chalow で生成するページにつけてみました.

[ Read More... ]

2008-05-24 Sat

chalow の個別ページ以外で記事タイトルをリンクにする はてぶ

chalow 自体の書き換えが必要.
以下のように書き換え.

--- /usr/bin/chalow~    2008-04-22 23:50:03.000000000 +0900
+++ /usr/bin/chalow     2008-05-24 12:03:41.000000000 +0900
@@ -1435,7 +1435,8 @@
}

# タグで囲む
-    $ih = qq($ihb<span class="clitemheader">$ih</span>);
+    my $day_url = datestr2url($ymdi);
+    $ih = qq($ihb<span class="clitemheader"><a href="$day_url">$ih</a></span>);
# 後ろに足すもの
if ($item_header_style == 0 or $item_header_style == 2) {
$ih .= ":";


さらに,リンクの下線を消すために,css に

#primaryContent h3 a { text-decoration: none; }


を追記.

2008-05-18 Sun

リンク書式内での自動文字列置換を抑止したい はてぶ

chalow のリンク書式内に自動文字列置換の対象文字列があり,
それが link に置き換えられる場合,
リンク書式がうまく機能しなくなるので,
リンク書式内での自動文字列置換を抑止したい.

文字列を link に置き換える自動文字列置換を使わない方がいいのかな?

2008-04-22 Tue

chalow で rel-tag に対応するための覚え書き はてぶ

以前,とりあえずの rel-tag 対応として,
カテゴリページへのリンクに

rel="tag"


をつけるように chalow を書き換えた [2007-12-11-3] が,
これだけでは不十分なので,それを解消するための覚え書き.

microformats の rel-tag は,
リンク先 URL の最後の単語をタグとして認識する.

http://www.ftnk.jp/~fumi/cl/Chalow


のような URL なら,Chalow がタグとして認識されるが

http://www.ftnk.jp/~fumi/cl/clsearch.cgi?key=cat%3AChalow


のような URL では,clsearch.cgi がタグとして認識されてしまう.

それなので,chalow で生成する HTML の各カテゴリのリンクを

http://www.ftnk.jp/~fumi/cl/Chalow


のようにして,Apache 側で

RewriteRule ^([^\.]+)$ /~fumi/cl/clsearch.cgi?cat=$1


のような感じでリライトさせればよさそう.

chalow の書き換えはたいしたことないけど,
見た目を整えるために clsearch.cgi もいじろうと思うと時間がかかりそう.

- rel-tag-ja - Microformats
  http://microformats.org/wiki/rel-tag-ja

2008-04-21 Mon

Chalow の AutoPagerize 対応 はてぶ

いまさらながら,chalow で生成しているこのメモを
AutoPagerize に対応してみました.



個別ページ

やったことは item_page_template の
AutoPagerize で次を読ませたい部分に

<!-- for  AutoPagerize -->
 <TMPL_IF name=back><a href="<TMPL_VAR name=back>.html"rel="next"> </a></TMPL_IF>
<div class="autopagerize_insert_before"></div>


を書いて,読み込ませたい次の部分(<div class="body"> のあたり)を

<div class=autopagerize_page_element> ... </div>


で囲んだだけ.



カテゴリページ

カテゴリページのテンプレートは次のように.

<div class=autopagerize_page_element>
<TMPL_LOOP name=entries>
<div class="day"><h2><span class="date"><TMPL_VAR name=eh></span></h2>
<div class="body"><TMPL_VAR name=cont></div></div>
</TMPL_LOOP>
</div>
<!--<TMPL_VAR name=ym><TMPL_VAR name=day_list>-->
<div class="autopagerize_insert_before"></div>


- chalow - CHAngeLog On the Web
  http://chalow.org/
- AutoPagerize (swdyh)
  http://swdyh.infogami.com/autopagerize
- AutoPagerize - Userscripts.org
  http://userscripts.org/scripts/show/8551

2008-02-28 Thu

Chalow に AddClips を設置する 2 はてぶ

[2008-02-26-1] でアイテムページに AddClips を設置したので,
今回は,index.html など複数のアイテムを含むページの場合.

[2008-02-26-1] でも書いたけど,AddClips は登録する URL・タイトルを

AddClipsUrl    = location.href;
AddClipsTitle  = document.title;


で取得しているので,複数の記事を含むページはこの部分を変更する必要がある.

AddClipsUrl は "$clog_url<TMPL_VAR name=url>" という形でテンプレートから指定できる.

AddClipsTitle はテンプレートから各アイテムのタイトルを扱うことができないので,
chalow 自身を書き換えて,テンプレートから扱えるようにする必要がある.

書き換えるのは,mkae_item_html 内のテンプレートにパラメータを渡す部分で,

$t->param(header_text => $e->{$i}{h});


を追記する.

次にテンプレートの方.

アイテムのテンプレートの entry-title の辺りを

<div class="entry-title">
<h3 class="subtitle"><TMPL_VAR name=header> <TMPL_VAR name=cat>
<!-- AddClips Code START -->
<script type="text/javascript">
AddClipsUrl    = "$clog_url<TMPL_VAR name=url>";
AddClipsTitle  = "<TMPL_VAR name=header_text>";
AddClipsId = '****************';
AddClipsBcolor='#78BE44';
AddClipsNcolor='#D1E9C0';
AddClipsTcolor='#666666';
AddClipsType='5';
AddClipsVerticalAlign='middle';
</script><script type="text/javascript" src="http://js.addclips.org/v2/addclips.js" charset="utf-8"></script>
<!-- AddClips Code END -->
<span class="hatesta"><a href="<TMPL_VAR name=ymdi>.html"></a></span>
</h3>
</div>


のように変更する.

以上で,index.html,月・日別ページ,カテゴリページの
各アイテムのタイトル横に AddClips が設置できる.

ref.
- AddClips 設置 [2008-02-26-1]

2008-02-26 Tue

chalow に AddClips を設置 はてぶ

- AddClips ソーシャルブックマークボタン統合サービス
  http://www.addclips.org/

Add Clipsはいっぱいあるソーシャルブックサイトのブックマーク追加ボタンを1つに統合して、どのソーシャルブックマークを使っているユーザーにも対応できるブックマークボタンを提供するサービスです。
ということで,設置してみました.

<!-- AddClips Code START -->
<script type="text/javascript">
AddClipsUrl    = location.href;
AddClipsTitle  = document.title;
AddClipsId = '****************';
AddClipsBcolor='#78BE44';
AddClipsNcolor='#D1E9C0';
AddClipsTcolor='#666666';
AddClipsType='5';
AddClipsVerticalAlign='middle';
</script><script type="text/javascript" src="http://js.addclips.org/v2/addclips.js" charset="utf-8"></script>
<!-- AddClips Code END -->


というスクリプトを貼るだけで設置できるので,
とりあえず,アイテムページに設置してみました.

アイテムページのテンプレートのタイトルの横に表示するようにしたいので,

<a href="<TMPL_VAR name=ymd>.html"><TMPL_VAR name=ymd> / <TMPL_VAR name=header></a>
<TMPL_VAR name=cat>
<!-- AddClips Code START -->
<script type="text/javascript">
AddClipsUrl    = location.href;
AddClipsTitle  = document.title;
AddClipsId = '****************';
AddClipsBcolor='#78BE44';
AddClipsNcolor='#D1E9C0';
AddClipsTcolor='#666666';
AddClipsType='5';
AddClipsVerticalAlign='middle';
</script><script type="text/javascript" src="http://js.addclips.org/v2/addclips.js" charset="utf-8"></script>
<!-- AddClips Code END -->


登録する URL・タイトルを

AddClipsUrl    = location.href;
AddClipsTitle  = document.title;


で取得しているので,
複数の記事を含むページはこの部分を変更する必要がある.
これはあとでやる.

via: AddClips ソーシャルブックマークボタン統合サービス - 睡眠してません2 (2008-02-22)
     http://d.tnh.jp/20080222.html#p06

Referrer (Inside):
[2008-02-28-1] Chalow に AddClips を設置する 2

2008-01-17 Thu

Amazon へのリンクを画像つきに はてぶ

文字だけだと寂しいので,画像を表示するようにしてみた.
bookmusic がちょっと華やかになったかも.

ついでにアソシエイトを始めてみました.

- Amazon プラグインの拡張、画像表示
  http://www.pochi.cc/~sasaki/chalow/2005-03-30-4.html

2007-12-11 Tue

chalow を microformats に対応 - rel-tag はてぶ

各記事のタグ情報を示す microformats,rel-tag を chalow で使えるようにする.

この記事なら,

chalow を microformats に対応 - rel-tag [Chalow][microformats]


の "[]" で囲われた Chalow と microformats の部分のリンクに
rel="tag" をつければいいので,chalow を次のように書き換える.

--- /usr/bin/chalow~	2006-10-10 05:36:46.000000000 +0900
+++ /usr/bin/chalow	2007-12-11 23:11:28.000000000 +0900
@@ -1446,7 +1451,7 @@
 	if ($output_cat_pages) {
 	    $catstr =
 		join("", map
-		     {"[<a href=\"".get_category_filename($_)."\">$_</a>]"}
+		     {"[<a href=\"".get_category_filename($_)."\" rel=\"tag\">$_</a>]"}
 		     @$catp);
 	} elsif ($cat_page_cgi eq "") {
 	    $catstr = join("", map {"[".$_."]"} @$catp);


これで,Firefox の Tails 拡張などで確認すると,
各 hAtom にタグ情報として表示される.

(追記)
上の変更だけでは,アイテムページでタグが重複してしまうので,
アイテムページのテンプレートを変えるなりする必要がある.

関連
- rel-tag - Microformats
  http://microformats.org/wiki/rel-tag
- chalow を hAtom に対応させる [2007-12-09-1]

Referrer (Inside):
[2008-04-22-5] chalow で rel-tag に対応するための覚え書き
ChangeLog 最新ページ / カテゴリ最新ページ / 1 2 3 / page 1 (3)