SlashViewJP

Version 1.0.5
2010 年 4 月 25 日

概要

SlashViewJP はスラシュドット・ジャパン専用のシンプルな RSS リーダです。 RSS を表示するだけでなく,邪魔な広告や画像を削除しシンプルで読みやすく整形した本文を表示できます。

また,取得した RSS を蓄積するので,最新の記事だけでなく, RSS で取得したことがある記事ならばトップページ落ちしていても読むこともできます。

現在対応しているのはスラシュドット・ジャパンのトピック記事と日記だけです。 それ以外のスラシュドット・ジャパンのコンテンツや,本家 Slashdot.org には対応しません。

[SlashViewJPスクリーンショット]

ダウンロード

以下のアドレスから最新版をダウンロードしてください。

ダウンロードした後,プロパティから「ブロックの解除」を行ってください。

インストール

動作環境

SlashViewJP は HTML Application (HTA) です。 HTA が動作する環境が必要です。 また,MDAC および WSH も必要です。

Internet Explorer 6 あるいは Internet Explorer 8 がインストールされた Windows 2000/XP/Vista/7 での動作を確認しています。

インストール

インストーラーは無いので,slashviewjp.hta を適当なディレクトリにコピーしてください。

アンインストール

アンインストールする際は slashviewjp.hta を削除し, %APPDATA% ディレクトリの yoshidam\SlashViewJP.mdb を削除してください。

通常,%APPDATA% は以下のようになります。

使い方

初回起動

初回起動時,%APPDATA%ディレクトリの下にRSS格納用のデータベースとして yoshidam\SlashViewJP.mdb を自動的に作成します。

通常 64 ビット版 Windows でも HTA は 32 ビット mshta.exe で実行されますが, 64 ビット版 mshta.exe を使用した場合でも動作します。 ただし,Jet 4.0 の代わりに SQL Server Compact 3.5 x64 が必要になります。 また,データベース名は yoshidam\SlashViewJP.sdf になります。

アンインストールして完全に削除したい場合,初期状態に戻したい場合, データベースが壊れた場合などはこのファイルを削除してください。

画面

ウィンドウの上から以下の3つの領域に分かれています

  1. コントロール領域
  2. リスト領域
  3. 文書領域

コントロール領域の高さは固定ですが, リスト領域と文書領域の境界はマウスドラッグで 移動して見やすい大きさに変更することができます。

キーボードショートカット Ctrl-Z で境界の位置を「上端」, 「下端」,「元の位置」の順に切替えることができます。 「元の位置」が上端,あるいは下端の場合は「上端」と「下端」 のトグルとなります。

コントロール領域

ボタンやチェックボックスのある領域です。

コントロール 説明
[@] RSS のリロードを行います。
ショートカットキーは Ctrl-R です。
RSSが更新されていない場合はリロードされません。
[ネスト表示] 文書領域の表示方法をネスト形式,あるいはフラット形式に切り替えます。
ショートカットキーは Ctrl-T です。
[日記表示] リスト領域に日記エントリを表示するかどうかを切り替えます。
ショートカットキーは Ctrl-N です。
[フォントサイズ] リスト領域と文書領域のフォントサイズを切り替えます。
[キーヘルプ] ショートカットキーの一覧を表示します。
[バージョン] プログラムのバージョンを表示します。
著作権情報も表示します。
[URL] リスト領域から選択されたエントリの URL を表示します。
RSS とは関係なく直接 URL を入力して文書領域に表示することもできます。この場合はキャッシュされません。

URL を直接入力した場合,スラッシュドット・ジャパン以外のサイトも簡易表示できますが, 正常に表示されないことがあります。

リスト領域

RSSのタイトル,部門名,投稿日時,コメント数が表示されます。 通常のトピックは青系,日記は紫系の色でリスト領域に一覧が表示されます。 また,データベースにだけ存在するエントリは暗い色で表示されます。

エントリ行をクリックすると本文を取得して文書領域に表示します。 選択エントリは反転表示されます。

ショートカット Ctrl-L で常に選択エントリにフォーカスが移動します。

画面区切りが下端にあって,全てリスト領域になっている場合, エントリ行を選択すると区切りが上端に移動して全て文書領域になります。 ショートカット Ctrl-L,Ctrl-Z で元のリスト表示に戻ることができます。

一度取得した本文はキャッシュされて,再度クリックしたときにはキャッシュを表示します。 RSS をリロードした時にキャッシュはクリアされます。

項目 説明
タイトル RSS の title が表示されます。
マウスオーバーで概要(RSS の description)が 255 文字まで表示されます。
部門 RSSの slash:department が表示されます。
日記エントリの場合は表示されません。
マウスオーバーでカテゴリ(RSS の dc:subject)が表示されます。
日時 RSSの dc:date が mm/dd HH:MM形式で表示されます。
マウスオーバーでカテゴリ(RSS の dc:subject)が表示されます。
コメント数 RSSの slash:comments が表示されます。
前回 RSS 取得時のコメント数より大きくなっている場合は太字で表示されます。
日記エントリの場合は表示されません。
マウスオーバーで前回 RSS 取得時のコメント数が表示されます。

文書領域

RSS の about で指定された URL の HTML を整形して表示します。 コメント数が多く,複数のページに別れている場合もすべてもページを取得して表示します。

HTML を解析してコメントの抽出を行っているため, 想定外の HTML では解析に失敗します。 また,将来スラッシュドット・ジャパンのページデザインが変わった場合は正しく動作しなくなります (→既知の問題点)。

コメント番号

すべてのコメントに投稿順にそのエントリ内での通し番号であるコメント番号が振られます。 元記事は常に 0 番になります。 コメント番号のリンクをクリックすると, Web ブラウザでそのコメントを表示することができます。 SlashViewJP からのコメント書き込み機能は実装されていませんが, この機能を使って Web ブラウザからコメントの書き込みができます。

新規コメント

コメント番号が前回 RSS 取得時のコメント数よりも大きいコメントには New! と表示されます。

スコア

各コメントのスコアによって背景色が変わります。 プラススコアは明るい色,マイナススコアは暗い色になります。 ただしデフォルトスコアのままの場合はプラスでも通常色のままです。 スラッシュドット・ジャパンのスコアは当てにならないので, マイナススコアを隠す機能はありません。

フラット表示・ネスト表示

表示形式はコメントをスレッド無視で古い順に並べた「フラット表示」と, 子コメントを入れ子にした「ネスト表示」が可能です。 フラット表示とネスト表示は[ネスト表示]チェックボックス,あるいは Ctrl-T で切り替えることができます。

フラット表示の場合,親コメントは ">>コメント番号" という形式で示されます。 マウスオーバーで親コメントのテキストを表示します。 ">>コメント番号" のリンクをクリックすると親コメントにジャンプします。

インターネット検索

マウスで領域選択するとウィンドウ右下に検索ボックスが表示されます。 検索ボタン,あるいは Ctrl-G で Web ブラウザを開いてインターネット検索を行います。 デフォルトでは Google を使うようになっています。

領域選択の監視は3秒ごとなので検索ボックスの反応が若干鈍いことがあります。

ショートカットキー

キーボードで操作しやすくなるようにショートカットキーが設定されています。

キー 説明
Ctrl-Q SlashViewJP を終了します
Ctrl-W 文書を閉じます。
このとき文書キャッシュも削除するので, 次に選択したときは必ず再取得を行います。
Ctrl-R RSSをリロードします。
[@]ボタンを押すのと同等です。
Ctrl-T 文書のネスト表示・フラット表示のトグルです。
[ネスト表示]チェックボックスをクリックするのと同等です。
Ctrl-N 日記表示・非表示のトグルです。
[日記表示]チェックボックスをクリックするのと同等です。
Ctrl-G 選択領域をインテーネット検索します。
[検索]ボタンを押すのと同等です。
Ctrl-D 文書領域にフォーカスを移動します。
Ctrl-L リスト領域にフォーカスを移動します。
Ctrl-Z 画面区切り位置を切替えます。
ESC 通信を強制的に中止します。

カスタマイズ

slashviewjp.hta ファイルを直接編集することで動作をカスタマイズできます。 お好みのテキストエディタで以下の変数を書き換えてください。

変数名 説明
RSSURL RSS の URL の配列を指定します。
スラッシュドット・ジャパンのヘッドライン RSS 日記の URL ができます。
デフォルトではトップページのヘッドラインと最新の日記エントリが指定されていますが, 特定のトピックや 特定ユーザの日記エントリも指定できます。
HTTP リダイレクトに対応していないので, リダイレクト先の URL を指定してください。
SEARCH_SITE インターネット検索の検索サイトを指定します。
デフォルトでは Google が指定されていますが, それ以外のサイトも指定できます。
DEFAULT_FONT_SIZE 起動時のフォントサイズを指定します。
デフォルトでは 12px が指定されています。 12, 14, 16, 20, 24 のいずれかを指定してください。 表示フォントそのものを変えたい場合は IE のフォント設定を変えるか, スタイルシートを直接変更してください。
DEFAULT_COMMENT_NEST 起動時にネスト表示を有効にするかどうかを指定します。
デフォルトではフラット表示です。
true(ネスト表示),false(フラット表示)のいずれかを指定してください。
DEFAULT_JOURNAL 起動時に日記表示を有効にするかどうかを指定します。
デフォルトでは日記を表示します。
true(日記を表示),false(日記を隠す)のいずれかを指定してください。

RSSデータベース管理

RSS データの管理に Jet 形式(MDB)のデータベースを使用しています。 SlashViewJP には古くなったデータの削除機能などが無いので, データがどんどんたまっていきます。 従ってある程度データがたまったら手動でデータベースを管理する必要があります。

Microsoft Access 等の Jet 形式のデータベースファイルを編集できるツールを使用すれば簡単に管理できます。 そのようなツールを持っていない場合は付属の簡単なDB管理ツール dbadm.js で管理することができます。 dbadm.js を使う場合は SQL を使いこなせる必要があります。

dbadm.jsを起動すると"SQL>"というプロンプトが表示されます。 ここで'\'で始まるコマンド,あるいはSQLを入力してください。

使用できるコマンドは以下の通りです。 Jetデータベースは自動的にコンパクションされないので, 大量のデータを削除した後などは'\r'コマンドを使うとデータベースが小さくなります。

コマンド 説明
\h コマンドヘルプを表示します。
\t [TABLE] テーブルスキーマを表示します。
テーブル名を省略するとテーブル一覧を表示します。
\p [prop] プロパティを表示します。
プロパティ名を省略すると全プロパティを表示します。
\r データベースを最適化します。
\q 管理ツールを終了する。

すべてのデータはRSSテーブルに格納されています。 RSSテーブルのスキーマは以下の通りです。

カラム名 データ型 制約 説明
about nvarchar(255) PRIMARY KEY RSS の about です。主キーになっています
title nvarchar(200)
タイトル。RSS の title です。
date datetime
日時。RSS の dc:date です。
dept nvarchar(200)
部門。RSS の slash:department です。
sect nvarchar(100)
セクション。RSS の slash:section です。
comments integer
コメント数。RSS の slash:comments です。
subject nvarchar(100)
カテゴリ。RSS の dc:subject です。
description nvarchar(255)
概要。RSS の description です。

SQLの例

既知の問題点

  1. HTA での外部 HTML の表示は本質的に危険です。信頼できるサイト以外は表示しないでください
  2. タイムアウト等でファイルが途中までしか得られなかった場合,解析に失敗することがあります
  3. 想定外の HTML で解析が失敗することがあります
  4. スラッシュドット・ジャパンのページデザインが変更された場合動作しなくなります

著作権

  Copyright (C) 2010 Yoshida Masato <yoshidam@yoshidam.net>

  This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  See the GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program.  If not, see <http://www.gnu.org/licenses/>

    

履歴

2010-04-25 version 1.0.5 表示の不具合を修正
64 ビット版 mshta.exe 対応 (Jetデータベースの代わりに SQL Server CE 利用)
ESC による通信中断機能の追加
2010-04-11 version 1.0.4 Ctrl-Z で画面区切り位置を切替える機能を追加
2010-04-06 version 1.0.3 RSS に重複があったときに主キー制約エラーになる問題を修正
dbadm.js でシステムテーブルを表示しないよう変更
2010-04-03 version 1.0.2 [SECURITY] 外部HTMLファイルから危険なタグを削除するように変更
日記非表示の際のリスト領域の表示と動作を改善
2010-04-01 version 1.0.1 日記の日時が正しく表示されない問題を修正
2010-04-01 version 1.0.0 最初のリリース

Last modified: Sun Apr 25 11:52:08 JST 2010
よしだむ (Yoshida Masato) <yoshidam@yyoshidam.net>
[an error occurred while processing this directive]

Your IPv6 Address: 54.227.72.69