Skip to content

応用的な使い方

whiteleaf edited this page Mar 26, 2015 · 22 revisions

応用的な使い方

HOME > 使い方 > 応用的な使い方

変換時の挙動を制御する

narou convert コマンドは、ダウンロードした小説を 縦書き用に整形及び EPUB/MOBI に変換するコマンドです。update 及び download コマンドで内部的に呼び出される コマンドですが、直接呼び出すことで自分で変換をすることが可能です。

EPUB/MOBIの出力を抑制する

# EPUBを出力しない
narou convert 0 --no-epub

# MOBIを出力しない
narou c 0 --no-mobi

--no-epub 及び --no-mobi オプションで EPUB/MOBI それぞれの出力を抑制出来ます。小説をカスタマイズするで 説明する convert.rb や replace.txt を使う場合のデバッグとして、とりあえず変換されたテキストデータを確認したい 場合などに使えます。

MOBIデータのstripをしない

narou c 0 --no-strip

MOBIデータはデータの中にEPUBデータを丸ごと持っています。そのデータを削除し、ファイルサイズを縮小させる kindlestrip 機能を抑制させます。

デフォルトではONになっていますが、KDP出版時にはstripをするとまずいので、このオプションが搭載されています。 convert で直接自身のテキストファイルを変換して、KDPで出版する場合は --no-strip を有効にして下さい。


コマンドの設定を変更する (setting)

narou setting コマンドは、narou コマンドの各挙動を変更することが出来るコマンドです。

変換時の挙動を制御するで説明した --no-* オプション系などを常時有効にしたり することが可能です。

Usage: narou setting [<name>=<value> ...] [options]

NOTICE
設定出来る変数名は narou setting で表示することが出来ます。

一部を抜粋して説明します。全ての設定を確認する場合は narou setting の Usage を参照して下さい。

変換時のオプションを恒常化

narou s convert.no-epub=true
narou s convert.no-strip=true
narou s convert.no-open=true

のように、convert コマンドのオプションを設定として恒常化させることが出来ます。これによって、 narou download や update 時には直接指定できないオプションも有効にすることが出来ます。

デフォルトの挙動では、変換時に保存フォルダをファイラで開くかどうかを毎回確認されますが、 それが鬱陶しい場合には narou s convert.no-open=true としておくことで抑制出来ます。

変換、送信対象の端末を設定する

narou s device=kindle
narou s device=kobo
narou s device=reader
narou s device=ibunko
narou s device=ibooks

現在は kindle 及び koboreaderibunkoibooks の指定に対応しています。

  • kindle を指定した場合、出力電子書籍データとして .mobi が出力され、Kindleを自動送信対象として認識します。
  • kobo を指定した場合、出力電子書籍データとして .kepub.epub が出力され、Koboを自動送信対象として認識します。
  • reader を指定した場合、出力電子書籍データとして .epub が出力され、Sony Readerを自動送信対象として認識します。
  • ibunko を指定した場合、青空文庫形式のテキストと画像ファイルがひとまとめになった .zip が出力され、 convert.copy-to で設定されたフォルダに zip ファイルがコピーされるようになります。自動送信は行われません。
  • ibooks を指定した場合、出力電子書籍データとして .epub が出力され、iBooksに登録もしくは管理フォルダに展開を行います。自動送信は行われません。
  • device を指定しなかった場合は、 .epub を出力し、自動送信は行われません。

変換終了時に電子書籍データを特定のフォルダにコピーする

device で指定した端末への送信とはまた別に、変換終了時にデータを自動コピーさせることが出来ます。

narou s convert.copy-to=C:/dropbox/mobi

convert.copy-to にコピーさせたいフォルダを指定することで、有効になります。

この機能を使って、変換時にDropboxが共有しているフォルダにコピーさせ、あとからWiFi経由でDropboxから書籍データを 端末へダウンロードする、ということが簡単にできるようになります。

設定を削除する

例えば convert.copy-to で設定したフォルダにもうコピーさせたくなくなった場合、

narou s convert.copy-to=

と = の後ろを空にしてコマンドを入力すると、 convert.copy-to の設定が削除されます。(他の設定も同様に右辺を空で削除出来ます)


更新された小説の変更点を表示する (diff)

Narou.rb は各小説が更新された場合に古いデータを差分として保存しています。それによって 更新された小説のどこが変更されたのかを簡単に表示する narou diff コマンドが用意されています。

diff使用時のイメージ

差分を表示する

narou diff 0

このコマンドで ID:0 の小説の差分を表示します(差分があれば)。もし、直前に更新された小説の差分を表示したいなら、

narou diff

と、小説IDを省略して差分が表示可能です。

表示する差分を指定する

narou diff 0 として表示した差分は、直近の更新の差分を表示します。それよりも遡って差分を表示したい場合は、

narou diff 0 -n 2
もしくは
narou diff 0 -2

と指定します。-n 2-2 も全く同じ意味です。直近の差分は -1 を指定した場合と同じで、これがデフォルトです。 -2 と指定した場合は、2個前の差分を表示することを意味しています。

差分の履歴を表示する

narou diff 0 --list

と指定することで、差分の履歴を表示することが出来ます。-l (小文字のエル)と短縮することが出来ます。

> narou diff 0 -l
無職転生 - 異世界行ったら本気だす - の差分一覧
2013.03.02@13.23.22   -1
   第48部分 第四十三話「聖剣街道」
2013.02.28@20.05.42   -2
   第26部分 第二十三話「信用の理由」
   第30部分 第二十七話「冒険者の宿」
   第31部分 第二十八話「人の命と初仕事」
   第34部分 第三十一話「子供と戦士」
   第35部分 第三十二話「失敗と混乱と決意」
2013.02.22@19.11.19   -3
   第9部分 第八話「鈍感」
   第39部分 第三十五話「すれ違い・前編」
   第42部分 第三十七話「船の中の賢者」
   第44部分 第三十九話「獣族の子供たち」
   第47部分 第四十二話「ドルディアの村のスローライフ・後編」
   第57部分  間話「ロキシーの帰還」
2013.02.17@21.48.14   -4
   第41部分  間話「すれ違い・番外編」
2013.02.17@19.39.07   -5
   第54部分 第四十九話「ミリシオンでの一週間」

2013.02.22@19.11.19 は差分オブジェクト名で、そのまま日付・時刻で表されます。その横にある -3 は、その数字を diff コマンドに渡すことで、指定した差分を表示することが出来ます。

NOTICE
直接差分オブジェクト名を渡すことも出来ます。

narou diff 0 2013.03.02@13.23.22

外部差分表示プログラムを登録する

Narou.rbではそのままでも十分に見やすい差分を表示しますが、普段使い慣れた差分ソフトや、GUIを搭載しているソフトを使いたい場合もあるでしょう。

そのために外部プログラムを登録する方法も用意されています。

ここではOSをWindows、差分表示プログラムを WinMerge として説明します。

narou setting difftool="C:\Program Files\WinMerge\WinMergeU.exe"

と、setting の difftool にパスを設定することで、narou diff コマンドに外部プログラムの存在を教えてやります。

NOTICE
difftool=diff と指定することで、コマンドライン版 diff なども設定出来ます。

外部差分表示プログラムにオプションを指定する

difftool を設定しただけでは使いづらいので、外部差分表示プログラムのオプションを指定します。

narou setting difftool.arg='-e -x -ub -dl "OLD" -dr "NEW" %OLD %NEW'

と、 difftool.arg を設定することで、 difftool に設定した外部差分プログラムの引数を設定出来ます。

difftool.arg を指定した場合は、自動で差分ファイルのパスを渡さなくなるので、 %NEW 及び %OLD 変数を使って、 差分ファイルのパスも指定して下さい。

NOTICE
%NEW : DLした最新データの差分用ファイルパス
%OLD : 古い方の差分用ファイルパス

差分履歴を削除する

差分が溜まりすぎて --list が見づらくなったりした場合は、

narou diff 0 --clean

で削除出来ます。


小説のIDに紐付けた別名を作成する (alias)

各コマンドで小説を指定する時に使うIDはただの連番で、管理する小説が増えた場合には 把握することが難しくなってきます。それを解決するために narou alias コマンドを 使うことでIDに覚えやすい名前を付けることができます。

narou alias musyoku=0

これで musyoku という別名を作成することが出来ます(IDは narou list コマンドで取得)。 この musyoku という別名は、convert や diff 等、全てのコマンドで使用することが可能です。

# 別名を使ったコマンド使用例
narou convert musyoku
narou diff musyoku
narou download musyoku -f

小説を削除する (remove)

ダウンロードした小説を削除するには narou remove コマンドを使います。

narou remove 0

ただし、このコマンドでは管理小説のリストから削除するだけで、変換したデータや設定ファイルが保存されているフォルダ 自体はそのまま残ります。これは次回以降再度ダウンロードする場合にそのまま引き継がれます。

小説の保存フォルダも一緒に削除したい場合は、

narou remove 0 --with-file

--with-file オプションを使います。


小説の凍結設定を行う (freeze)

WEB小説は出版されるとダイジェスト版に差し替えられたり、まるっと削除されてしまうことがよくあります。

そんな時に、削除される前に小説の更新を止めたくなります。そのためには narou freeze コマンドを使用して小説を凍結します。

narou freeze 0

小説を凍結することで、下記の動作が禁止されます。

  • ダウンロード(download)
  • アップデート(update)
  • 削除(remove)

convert による変換は行えますので、設定変更等をして再変換したい場合には支障はありません。

また、凍結した小説がある場合、narou list コマンドのIDの横にマークが付きます。

> narou l
  ID |  更新日  |     タイトル
   3 | 13/02/28 | リアデイルの大地にて
   5 | 13/03/02 | ログ・ホライズン
   6 | 13/03/02 | 無職転生 - 異世界行ったら本気だす -
  *7 | 13/02/07 | 俺と蛙さんの異世界放浪記~八百万ってたくさんって意味らしい~
   8 | 13/02/20 | 詰みかけ転生領主の奮闘記
   9 | 13/02/12 | 理想のヒモ生活

凍結した小説だけの一覧を表示するには --list オプションを付けます。

> narou fr --list
凍結中小説一覧
 ID |     タイトル
  7 | 俺と蛙さんの異世界放浪記~八百万ってたくさんって意味らしい~

凍結を解除するには、再度同じ小説を narou freeze コマンドで指定して下さい。

更新を追いかける必要がなかったり、すでに完結している小説を読みたい場合もよくあります。その場合はアップデートの対象からは外したいと思いますので、ダウンロードと同時に凍結するオプションが用意されています。

narou download n9078bd --freeze
もしくは
narou d n9078bd -z

download コマンドに -z オプションを付加することで、freeze コマンドを実行した場合と同じ状態になり、手間が省けます。