bk2siteドキュメントの読書メモ

これは bk2site のmanpage を読みながら書いたメモである。

僕には判りきっている部分とか、必要としない機能とか、意味が判らない場所とかは適当に読み飛しているので注意

options
Quick Start
SUMMARY
ドキュメントのセクション
フォルダの設定
ディレクティブ
Netscape Navigator Comments
Using Aliases
Setting Private Folders
Sorting Bookmarks
Output of Bookmark file
Merging Bookmark Files
Using a HTTP proxy.
Generating extra files.
Displaying channels
Dealing with other character sets
search.pl program
Counting the Hits

options

-f1 basetemplate
-f2 othertemplate
-d directory

Quick Start

~/.bk2siterc に最低で、以下の項目をセットすればとりあえずは動く。
destdir ~/public_html
search ~/public_html/cgi-bin/urls.db
extrafilebase /etc/bk2site/newbase.html
extrafilename new.html

SUMMARY

以下の、3つのファイルで出力を制御する。
indexbase.html
index.html のテンプレート
otherbase.html
トップ以外のファイルのテンプレート
~/.bk2siterc

ドキュメントのセクション

folder
ブックマークのフォルダ
url
URL
newadd
最近追加された url
news
urls from the newstopfolder, sorted by most-recently-created.
tophits
よく参照する url

フォルダの設定

<!--bk2site:begin folder-->
<!--bk2site:top <table width="100%"><tr><td><ul>-->
<!--bk2site:template <li><a href="%URL"><b>%TITLE</b></a> <i>(%LEAFS)</i> %NEW %CONDDASH <small>%LONGCOMMENT</small></li>-->
<!--bk2site:separator </ul></td><td><ul>-->
<!--bk2site:bottom </ul></td></tr></table><hr>-->
<!--bk2site:cols 2-->
<!--bk2site:maxnum 0-->
<!--bk2site:end-->
top
フォルダの頭につけるタグ
template
cols
フォルダいくつごとにセパレタを挿入するか
separator
次の欄を開始する前に入れるセパレタ
bottom
すべてのフォルダを出力後に出力
maxnum
一度に表示するフォルダの上限
daysold
作ってから15日以上経過したフォルダを出力しないオプション
between
エントリの間に挿入するパターン
startnum

これ以外に、以下のコメントを追加することが出来る

<!--bk2site:navigatebar-->
ナビゲータバーに置換
<!--bk2site:title-->
タイトルに置換
<!--bk2site:include /home/me/myfile.html-->
<!--bk2site:include:search /home/me/myfile.html-->
<!--bk2site:date-->
現在日時と置換
<!--bk2site:path-->
otherbase として他のファイルを指定?

http://www.multiagent.com/otherbase.html に全てを使った例が示されている

ディレクティブ

テンプレート中に使えるディレクティブ
%URL
the URL
%NOACCENTURL
URL より アクセント記号トカ ASCII じゃない文字をリプレースしたもの
%TITLE
タイトル
%NOACCENTTITLE
タイトルよりアクセント記号とかを置換したもの
%COMMENT
コメント
%FILLCOMMENT
80桁で行揃えしたコメント
%NOACCENTCOMMENT
コメントよりアクセント記号とかを置換したもの
%SHORTCOMMENT(x)
コメントの最初のx字分
%LONGCOMMENT
コメントより改行を除去したもの
%NHCOMMENT
コメントより <と > の間にある奴を除いたもの
%FSCOMMENT
コメントの第一文
%JSCOMMENT
特殊文字をエスケープ、javascript 用、
%JSFSCOMMENT
コメントの第一文、ただし特殊文字をエスケープ javascript用
%DAYCRE
the day created
%DAYVIS
the day last visited
%DAYMODM
the day last Modified
%MONTHCRE1
the month created, in number
%MONTHCRE2
the month created, in English
%MONTHVIS1
the month visited, in number
%MONTHVIS2
the month visited, in English
%MONTHMOD1
the month modified, in number
%MONTHMOD2
the month modified, in English
%YEARCRE
last two digits of the year created
%YEARFCRE
the year created, including all digits (the full number).
%YEARVIS
last two digits of the year visited
%YEARFVIS
the year visited, including all digits (the full number).
%YEARFMOD
last two digits of the year modified
%YEARMOD
the year modified, including all digits (the full number).
%LEAFS
the total number of leafs under it (for folders only)
%NEW
the new.gif, if the time is right.
%TIMEFCRE
the time created in full Wed Jun 30 21:49:03 1993
%TIMEFMOD
the time modified in full Wed Jun 30 21:49:03 1993
%TIMEFVIS
the time visited in full Wed Jun 30 21:49:03 1993
%CONDDASH
prints a dash "-" if the comment is not null
%IFCOMHAS(string)(html)
下のように書いてあったがよく判らん
    if the comment has "string" then insert "html" at point. also eliminate "string"
    from comment. e.g. %IFCOMHAS(*coolsite*)(<img src="/images/cool.gif">) or
    %IFCOMHAS(-neat-)(<font color="red">Neat Site</font>) If you use it, you must use
    it for ALL templates
%HITS
the number of hits this url has receives, as gathered from urllogfile

関数は1 又は複数の、引数をとり、ディレクティブ同様に置換される。

&FILL[arg|cols]
&NOHTML[arg]
&REPLACE[arg|from|to]
&CUT[arg|chars]
&NOLINEBREAKS[arg]
&NOACCENTS[arg]
&FS[arg]
&HASH[arg]

これら関数は次のように入れ子に出来る

&CUT[&NOHTML[%COMMENT]|500]

引数文字列には [,],| が含まれていてはならない。

Netscape Navigator Comments

詳しくは、~/.bk2site の %IFCOMHAS へのコメントを見よ

コメント中に "HREF=" と書くとブックマークを破壊してしまう。 そうしたい場合は コメント中に "href =" とかならずスペースを入れること。

Using Aliases

トバス

Setting Private Folders

bk2site に無視してほしいものは、コメント欄に と書く

Sorting Bookmarks

フォルダ中のエントリを整順することができる

こうするには、コメント中に以下のように書く。

<sort order=normal>title</sort>
タイトルを辞書式順序でソート
<sort order=inverse>title</sort>
タイトルを辞書式順序の逆でソート
<sort order=normal>creation</sort>
生成時刻でソート
<sort order=inverse>creation</sort>
生成時刻の逆
<sort order=normal>modified</sort>
last modified 時刻でソート
<sort order=inverse>modified</sort>
last modified 時刻でソート
<sort order=normal>visit</sort>
last visited time でソート
<sort order=inverse>visit</sort>
last visited time でソート
<sort order=normal>hits</sort>
ヒット数でソート
<sort order=inverse>hits</sort>
ヒット数でソート

Output of Bookmark file

トバス

Merging Bookmark Files

トバス

Using a HTTP proxy.

トバス

Generating extra files.

extrafilebase をつかってトップヒットや、新しいエントリだけのページを生成することができる
extrafilebase
生成するファイルのベース
extrafilename
出力ファイル名 次のように書く。(順番には意味がある)
extrafilebase  /etc/bk2site/newbase.html
extrafilename  new.html
生成するファイルは html に限らない。

Displaying channels

~/.bk2siterc で、以下の変数を設定して、他のサイトのチャンネルを講読できる。
channelname
チャンネルの名前
channelurl
チャンネルのダウンロード元
channelfile
チャンネルのローカルキャッシュみたいなファイル
channelname slashdot
channelurl http://slashdot.org/slashdot.rdf
channelfile /tmp/slashdot-channel

さらに、これを表示させるには basefile に以下のように書く。

<!--bk2site:begin slashdot-->
<!--bk2site:top <a href="http://www.slashdot.org">Slashdot News</a><ul>-->
<!--bk2site:bottom </ul>-->
<!--bk2site:template <li><A HREF="%URL">%TITLE</A> %CONDDASH %COMMENT-->
<!--bk2site:cols 1-->
<!--bk2site:maxnum 10-->
<!--bk2site:end-->
上のような、チャンネルのテンプレートで使えるディレクティブは、以下の5つだけ。 これ以外のディレクティブを使った結果は不定である。
%TITLE
%URL
%COMMENT
%CONDDASH,
%HITS

※ 僕の環境では、これはうまく動かない。

Dealing with other character sets

※URL とかフォルダ名に非アスキー文字を使うときの注意が書かれているが、laten1 とか向けで、日本語を使うときには、ちょっと違うと思うのでトバス。

search.pl program

検索用 cgi スクリプト search.pl は、bk2site が作る urls.db を検索する。

この cgi は、以下の引数を取る

q
クエリ
num
一ページ当りに表示する結果の数
stq
上に同じ?
db
ruls.db ファイルの名前

search.pl を動作させる為には、cgi-bin に、以下のファイルがなくてはならない。

search.pl
urls.db
searchbase.html
また、search.pl の最初の方にある以下の個所を適当なパスに書換えないといけない。 $searchprog = "/cgi-bin/search.pl"; ※ debian では、searchbase.html が下のように search.pl にハードコードされちゃっているので、
$otherbase  = "/etc/bk2site/searchbase.html"
urls.db
searchbase.html

Counting the Hits

トバス

以上


連絡先:webadmin.itsumi@gmail.com このページは muse.el で作成しています。 Emacs