2009-11-27 Fri

Query Cutter - URL の余計なクエリを削除 はてぶ

- FeedBurner「より強力なアクセス解析機能が提供されたよ、デフォルトでオンにしておいたから!」 - 金利0無利息キャッシング - キャッシングできます - subtech

ということで,
FeedBurner で発行される RSS には utm* なクエリがついて邪魔なので,
自分用 Ref Cutter [2008-08-12-1] を書き換えて
utm* を削除するようにしてみた.
# ついでに,正規表現をまとめたり,
# YouTube の "feature=player_embedded" を削除するようにした.

ref=rss だけでなく,&utm* 等のクエリも削除するので,
名前も Query Cutter に変更.
# こういう名前にするなら,削除するクエリの設定ができた方がいいんだろうけど
# とりあえず,自分用ということで気にしない.


- ?ref=rssを 取る Greasemonkey スクリプト Ref Cutter を自分用に書き換えてみた [2008-08-12-1]

Referrer (Inside):
[2010-04-05-2] chalow の item page に rel="canonical" をつけた

2008-08-12 Tue

twitter_reply_notifier の書き換え はてぶ

インストールしたものの,ほとんど利用していない
小野マトペさんの twitter_reply_notifier ですが,
うまく動作していないことに気付いたので修正してみました.

まず,どのようにうまく動作していないかということですが,
username をうまく取れていないため,Twitter 検索で "@" を
検索してしまっている,という状態です.

で,username を取得部分を見てみると,

for(var a in links){
    if(links[a].text=="your profile"){
        username=links[a].href.substr(19);
        //alert(username);
        break;
    }
}


となっていて,日本語インターフェイスになっているせいで,
"your profile" ではなく"プロフィール"になっているのが原因っぽい.

ということで,以下のように修正してみました.文字コードは UTF-8 で保存.

for(var a in links){
    if(links[a].text=="your profile" || links[a].text=="プロフィール"){
        username=links[a].href.substr(19);
        //alert(username);
        break;
    }
}


これで,"@(自分の username)" なものが表示されます.

- 2007-10-22 - 小野マトペの業務日誌(アニメ制作してない篇)
  Twitter関連Greasemonkeyアップデート3本+Twitter_time_japanizer作ったよ!
  http://d.hatena.ne.jp/ono_matope/20071022#1193049261

ググってみたら,
- hxxk.jp - Twitter の日本語インタフェースを英語に戻す方法 & Twitter_reply_notifier を日本語インタフェースに対応させる方法
  http://hxxk.jp/2008/04/26/0106
というのがひっかかり,望月真琴さんがすでに対応していた.

Referrer (Inside):
[2008-08-12-4] 意外と JavaScript もいけるんじゃ……

2008-08-12 Tue

?ref=rssを 取る Greasemonkey スクリプト Ref Cutter を自分用に書き換えてみた はてぶ

- ?ref=rssを取るGreasemonkeyスクリプト - さそり
  http://d.hatena.ne.jp/tzk/20051101/1130823771

の Ref Cutter を自分用に書き換えてみました.
今回,初 greasemonkey いじりです.
ソース見て,こんな感じで書けばいいんでしょ?って感じで
書き換えたので,間違ってたらすみません.
とりあえず,期待通りには動いているようです.

変更点は
- @include の追加
- 正規表現をまとめる
- 正規表現は URL の末尾にマッチするように変更
  ないとは思うけど,
  http://www.example.com/foo.html?rel=rss&bar=baz
  なんて URL が
  http://www.example.com/foo.html&foo=bar
  にならないように.
- http://www.barks.jp/ 用に Cnet 向けの正規表現を変更.
- http://japan.internet.com/ 用に "?rss" の削除を追加.

変更後のものは以下の通り.

// ==UserScript==
// @name          Ref Cutter
// @namespace     http://tzk.net/userscripts
// @description   Cut '?ref=rss', and so on
// @include       http://japan.cnet.com/*
// @include       http://slashdot.jp/*
// @include       http://japan.linux.com/*
// @include       http://bb.watch.impress.co.jp/*
// @include       http://*zdnet.com/*
// @include       http://www.barks.jp/*
// @include       http://*impress.co.jp/*
// @include       http://japan.internet.com/*
// ==/UserScript==
(function (){
    var newUrl = location.href;

    newUrl = newUrl.replace(/(\?|\&)(ref=|from=)?rss$/ig, ''); //Cnet Japan, barks, etc
    newUrl = newUrl.replace(/\?topic=[0-9]*/ig, '');    //japan.linux.com

    if ( newUrl != location.href ) location.href = newUrl;

})();
//.user.js


Referrer (Inside):
[2009-11-27-2] Query Cutter - URL の余計なクエリを削除
[2008-08-12-4] 意外と JavaScript もいけるんじゃ……

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

2007-12-06 Thu

ちょっとだけ LDRize に対応 5 はてぶ

また otsune さんにコメントされた
アイテムページ(個別ページ)が hAtom になっていなかった件.

アイテムページのテンプレートを変更せずに,
item のテンプレート(複数 item を持つページでの item のテンプレート)だけを
変更していたため,アイテムページは hAtom 化していなかったので,
アイテムページのテンプレートを変更して対応.

1. <div class="day"> を <div class="day hentry"> に変更
2. <TMPL_VAR name=header> を <div class="entry-title"> で囲む
3. <div class="section"> を <div class="section entry-content"> に変更
4. permalink に rel="bookmark" をつける

これで,chalow の hAtom 化は大丈夫なら,週末にでもまとめなおす.

- ちょっとだけ LDRize に対応 [2007-11-28-2]
- ちょっとだけ LDRize に対応 2 [2007-12-03-2]
- ちょっとだけ LDRize に対応 3 [2007-12-04-2]
- ちょっとだけ LDRize に対応 4 [2007-12-05-1]

Referrer (Inside):
[2007-12-09-1] chalow を hAtom に対応させる

2007-12-05 Wed

ちょっとだけ LDRize に対応 4 はてぶ

ちょっとだけですまなくなってしまいましたが,続き.

今日の課題は
はてぶで otsune さんに

hAtomはISO8601形式の"updated"とhCardな"author"がrequired(必須)だから、ちょっと足りない
とコメントされた件.

まずは ISO8601 形式の時間を扱うために chalow に手を入れる.

feed で使うために JST な ISO8601 形式の時間が $dcdate という変数に
保存されているので,これを html の生成時に渡してやれば,
template で ISO8601 形式の時間を使える.

--- /usr/bin/chalow~	2006-10-10 05:36:46.000000000 +0900
+++ /usr/bin/chalow	2007-12-05 22:46:09.000000000 +0900
@@ -691,6 +691,7 @@
             $t->param(cl_name => $changelog_name);
             $t->param(css_file => $css_file);
             $t->param(lastupdate => $what_time_is_it_now);
+            $t->param(dcdate => $dcdate);
             $t->param(signature => $signature);

             $t->param(cat_name => $catname);
@@ -777,6 +778,7 @@
 	    $t->param(cl_name => $changelog_name);
 	    $t->param(css_file => $css_file);
 	    $t->param(lastupdate => $what_time_is_it_now);
+            $t->param(dcdate => $dcdate);
 	    $t->param(signature => $signature);

 	    $t->param(ymd => $ymd);
@@ -834,6 +836,7 @@
 	$t->param(cl_name => $changelog_name);
 	$t->param(css_file => $css_file);
 	$t->param(lastupdate => $what_time_is_it_now);
+	$t->param(dcdate => $dcdate);
 	$t->param(signature => $signature);

 	$t->param(ymd => $ymd);
@@ -887,6 +890,7 @@
 	$t->param(cl_name => $changelog_name);
 	$t->param(css_file => $css_file);
 	$t->param(lastupdate => $what_time_is_it_now);
+	$t->param(dcdate => $dcdate);
 	$t->param(signature => $signature);

 	$t->param(ym => $ym);
@@ -932,6 +936,7 @@
     $t->param(cl_name => $changelog_name);
     $t->param(css_file => $css_file);
     $t->param(lastupdate => $what_time_is_it_now);
+    $t->param(dcdate => $dcdate);
     $t->param(signature => $signature);

     $t->param(ymd => $ymd);	# 最新エントリの日付




template の編集

各ページのテンプレートの更新時間部分

<p>最終更新時間: <TMPL_VAR name=lastupdate></p>



<p>最終更新時間: <abbr class="updated" title="<TMPL_VAR name=dcdate>">
<TMPL_VAR name=lastupdate></abbr>
By <span class="vcard author"><span class="fn">ftnk</span></p>


のように変更.

以上で,大丈夫だと思うんだけど,一度,時間をとって
- hatom - Microformats
  http://microformats.org/wiki/hatom#Entry_Updated
を読んだほうがいい.

- ちょっとだけ LDRize に対応 [2007-11-28-2]
- ちょっとだけ LDRize に対応 2 [2007-12-03-2]
- ちょっとだけ LDRize に対応 3 [2007-12-04-2]

Referrer (Inside):
[2007-12-09-1] chalow を hAtom に対応させる
[2007-12-06-1] ちょっとだけ LDRize に対応 5
[2007-12-04-2] ちょっとだけ LDRize に対応 3

2007-12-04 Tue

ちょっとだけ LDRize に対応 3 はてぶ

LDRize 対応はやっておいたら便利だし,ちょうど otsune さんの
- 「LDRizeのxFolk対応」と「カトゆー家断絶テストページやfooo.nameがxFolk化」が合わさるだけで、いろんなWebページがものすごく便利になるのもmicroformatsの大きな利点のひとつ
  http://www.otsune.com/diary/2007/11/08/1.html#200711081
を見たのでやってみたんですが,microfomats でも
- xfolk; bookmark 用
- hatom: blog 用
ということなので,hatom に変更してみました.

やったことは,
1. entry を <div class="section hentry"> ... </div> で囲む
2. entry のタイトルを <div class="entry-title"> ... </div> で囲む
3. entry の本文を <div class="entry-content"> ... </div> で囲む
4. permalink に rel="bookmark" をつける

一応,microformats を表示する Tails という Firefox 拡張で,
blog posts として認識されることを確認.

- xFolk って自分のブログに付けるものなのかな? - Study - Forest.Kの徒然日記
  http://blog.livedoor.jp/forestk/archives/50387860.html
- xfolk - Microformats
  http://microformats.org/wiki/xfolk
- hatom - Microformats
  http://microformats.org/wiki/hatom
- ちょっとだけ LDRize に対応 2 [2007-12-03-2]
- ちょっとだけ LDRize に対応 [2007-11-28-2]

(追記)
はてぶで otsune さんに

hAtomはISO8601形式の"updated"とhCardな"author"がrequired(必須)だから、ちょっと足りない
とコメントされているので,あとで追加([2007-12-05-1] で追加).

Referrer (Inside):
[2007-12-09-1] chalow を hAtom に対応させる
[2007-12-06-1] ちょっとだけ LDRize に対応 5
[2007-12-05-1] ちょっとだけ LDRize に対応 4

2007-12-03 Mon

ちょっとだけ LDRize に対応 2 はてぶ

[2007-11-28-2] の「ちょっとだけ LDRize に対応」に,
otsune さんがはてぶ

これはdiv class="section xfolkentry" でOk。あとpermalinkにtaggedlinkが必要
とコメントされていたので直してみました.otsune さん,ありがとうございます.

# item のテンプレート
$item_template = << "EACHITEM"
<!-- start:<TMPL_VAR name=ymdi> -->
<div class="section xfolkentry">
    :
    :
    :
<a class="taggedlink" href="<TMPL_VAR name=url>">固定リンク</a> |
<a href='./kuttukibbs.cgi?id=<TMPL_VAR name=ymdi>'>コメント</a>
]</div>
<div class="commentshort">
<script language="JavaScript" type="text/javascript"
 src="kblog/<TMPL_VAR name=ymdi>.js"></script>
</div>
</div>
	<!--<TMPL_VAR name=id>-->
</div>
<!-- end:<TMPL_VAR name=ymdi> -->
<!-- ReplaceOnce -->
EACHITEM


元のテンプレートからは,

<div class="section">



<div class="section xfolkentry">


に変更し,

<a href="<TMPL_VAR name=url>">固定リンク</a> |



<a class="taggedlink" href="<TMPL_VAR name=url>">固定リンク</a> |


に変更しています.

Referrer (Inside):
[2007-12-09-1] chalow を hAtom に対応させる
[2007-12-06-1] ちょっとだけ LDRize に対応 5
[2007-12-05-1] ちょっとだけ LDRize に対応 4
[2007-12-04-2] ちょっとだけ LDRize に対応 3

2007-11-28 Wed

ちょっとだけ LDRize に対応 はてぶ

- 「LDRizeのxFolk対応」と「カトゆー家断絶テストページやfooo.nameがxFolk化」が合わさるだけで、いろんなWebページがものすごく便利になるのもmicroformatsの大きな利点のひとつ
  http://www.otsune.com/diary/2007/11/08/1.html#200711081

を見て,Chalow で生成されるページを
j, k での移動だけ対応してみました.

各アイテムのテンプレートの section を

<span class="xfolkentry"> ... </span>


で囲めばいいので,

# item のテンプレート
$item_template = << "EACHITEM"
<!-- start:<TMPL_VAR name=ymdi> -->
<span class="xfolkentry">
<div class="section">
    :
    :
    :
<!--<TMPL_VAR name=id>-->
</div>
</span>
<!-- end:<TMPL_VAR name=ymdi> -->
<!-- ReplaceOnce -->
EACHITEM


というふうにすれば OK っぽい.

- LDRize - Userscripts.org
  http://userscripts.org/scripts/show/11562
- chalow - CHAngeLog On the Web
  http://chalow.org/

Referrer (Inside):
[2007-12-09-1] chalow を hAtom に対応させる
[2007-12-06-1] ちょっとだけ LDRize に対応 5
[2007-12-05-1] ちょっとだけ LDRize に対応 4
[2007-12-04-2] ちょっとだけ LDRize に対応 3
[2007-12-03-2] ちょっとだけ LDRize に対応 2
ChangeLog 最新ページ