narou.rbをWindows環境へインストールする 

# 目的
1. 正式対応となっているAozoraEpub3-1.1.0b46を使用すること
2. 読書端末はKindle PaperWhiteとする
3. Javaを除き可能な限り最新版をインストールする
4. [無職転生　- 異世界行ったら本気だす -](https://ncode.syosetu.com/n9669bk/) の変換がEPUBとMOBI形式で完了すること

:::note warn
2025/03/04 小説家になろうのページ変更への対応としてパッチ当て手順を追加
2025/01/23 通常手順だとWEB UI起動時にエラーが発生するので、それを回避する手順を追加
:::


## 公式の手順をおさらい
公式ページは以下のサイトにあり、手順として参照したのはWikiページ。

GitHub: https://github.com/whiteleaf7/narou
GithubのWiki: https://github.com/whiteleaf7/narou/wiki

## 公式サイトの推奨環境
* ruby2.7以上 RubyInstaller からダウンロードしたもののみ対応
* AozoraEpub3
* Java8以上
* kindlegen 2.8以降(Kindleを使うなら)

## 2024/11/01時点で採用したバージョン
* [RubyInstaller](https://rubyinstaller.org/downloads/)から Ruby+Devkit 3.4.1-2 (x64)
* [改造版AozoraEpub GitHub](https://github.com/kyukyunyorituryo/AozoraEpub3)から [AozoraEpub3-1.1.0b46.zip](https://github.com/kyukyunyorituryo/AozoraEpub3/releases/download/1.1.0b46Q/AozoraEpub3-1.1.0b46.zip)
* [Oracle Java公式](https://www.oracle.com/jp/java/technologies/downloads/#java8)から Java Version 8 Update 441
* [Kindle Previewer3](https://kdp.amazon.co.jp/ja_JP/help/topic/G202131170)から Windows版

## 実際のインストール手順

### Javaのインストール
 [Oracle Java公式](https://www.oracle.com/jp/java/technologies/downloads/#java8)からWindows用のインストーラー(jdk-8u441-windows-x64)をダウンロードする
![narou_001b.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21516/6c665429-5f41-ead2-b7d3-82c82fda9dd6.png)
※画像は使い回しているのでjdk-8u431-windows-x64のままです

jdk-8u441-windows-x64をダブルクリックしてインストール
特にオプション等の設定変更する必要はなく完了します。インストールが完了したらコマンドプロンプトを開き直しコマンド実行出来るか確認

``` shell
> java -version
java version "1.8.0_441"
Java(TM) SE Runtime Environment (build 1.8.0_441-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.441-b07, mixed mode)
```

### Rubyのインストール
[RubyInstaller](https://rubyinstaller.org/downloads/)から Ruby+Devkit 3.4.1-2 (x64)をダウンロード
rubyinstaller-devkit-3.4.1-2-x64.exeをダブルクリックしてインストール

:::note info
画像は変化ない限り使い回しています。
:::

Install for me only (recomended)をクリック
![narou_002.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21516/81198441-c0e2-2c3e-4176-27b333f5737c.png)
"I accept the License"をクリックして"Next"をクリック
![narou_003.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21516/ea7f3b07-8460-e998-3350-3c2cf7c1c515.png)
変更する箇所なく、"Install"をクリック
![narou_004.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21516/4a884a39-da64-6790-0273-1c4ea8a49df6.png)
ここも変更する箇所なく、"Next"をクリック
![narou_005.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21516/a1b3d0e6-f8c8-7d53-afd0-6a471ba9f1d6.png)
以下の画面が出力されたら、"Finish"をクリック
![narou_006.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21516/bf34d79a-b795-2084-1625-4e3cc1729a9e.png)
自動的にコマンドプロンプト画面が出現するので、そのまま"ENTER"を押す
![narou_007.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21516/49da8b23-71c2-0e65-50af-fb724894a4c2.png)
以下、色々処理が進み再度入力を求められるので、そのまま”ENTER"を押して完了
![narou_008.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21516/35514389-2847-25b5-9d1f-d8168f3ab012.png)
インストール後にコマンドプロンプトを開き直し、コマンドが実行出来るか確認

``` shell
> ruby --version
ruby 3.4.1 (2024-12-25 revision 48d4efcb85) [x64-mingw-ucrt]
```
### AozoraEpub3のインストール
AozoraEpub3-1.1.0b46.zip をc:\直下にAozoraEpub3として解凍する

### KindleGenをコピーする
[Kindle Previewer3](https://kdp.amazon.co.jp/ja_JP/help/topic/G202131170)から Windows版をダウンロードする
KindlePreviewerInstaller.exe をダブルクリックしてインストール。
エクスプローラーのアドレスバーに以下をコピペすると、kindlegen.exeがあるのでそれをAozoraEpub3を解凍したフォルダーへコピーする
%LOCALAPPDATA%\Amazon\Kindle Previewer 3\lib\fc\bin\Amazon\Kindle Previewer 3\lib\fc\bin

:::note info
7zipをインストールしてあれば、KindlePreviewerInstaller.exeを右クリック -> 7-zip -> 開くとクリックすることでインストールせずに7-zipで開けます。ファイルはlib\fc\bin\以下にkindlegen.exeがあるので抜き出す事が可能
:::


### narou.rbをインストールする
エクスプローラーからC:\直下で右クリック -> 新規作成 -> フォルダーとクリックし"MyNovel"というフォルダーを作成する。”MyNovel"をダブルクリックし移動したらアドレスバーへ"cmd"と入力する。

:::note info
"MyNovel"の命名は任意で問題ないが、全角文字やスペース等が無い名称を推奨します
:::


コマンドプロンプトのウィンドウが出現するので以下のコマンドを入力して"ENTER"を押して実行する
``` shell
> gem install tilt -v 2.4.0
> gem install narou
```

:::note warn
正式対応までの暫定手順として、gem install tilt -v 2.4.0 を追記
この対応でWEB UI起動時のエラーを回避可能
:::

#### パッチの適用

:::note info
この作業は2025/03/04時点で必要、公式にマージされれば不要になるのでいずれ削除するかも
:::

以下のパッチファイルをダウンロードする。
https://github.com/kokotaro/narou/releases/download/PR446/narou_PR446.zip

zipに含まれる **ncode.syosetu.com.yaml** と **novel18.syosetu.com.yaml** を以下のディレクトへ上書きコピーする
C:/Ruby34-x64/lib/ruby/gems/3.4.0/gems/narou-3.9.1/webnovel

:::note info
コマンドプロンプトから gem which narou を実行することでnarou-3.9.1のフォルダー場所を把握出来る
:::

#### narou.rbの初期化作業
gemコマンドを実行したコマンドプロンプトへ以下を入力して"ENTER"を押し実行する
``` shell
> narou init
```

AozoraEpub3のフォルダ場所の入力を求められるので"C:\AozoraEpub3"と入力するか、公式Wikiの通りエクスプローラーからフォルダをドラッグしてください。
``` shell
.narou/ を作成しました
小説データ/ を作成しました
------------------------------
AozoraEpub3の設定を行います
                            !!!WARNING!!!
AozoraEpub3の構成ファイルを書き換えます。narouコマンド用に別途新規インストールしておくことをオススメします

AozoraEpub3のあるフォルダを入力して下さい:
(未入力でスキップ)
>
```
次の入力箇所はそのまま"ENTER"を押して継続します
``` shell
>C:\AozoraEpub3

行間の調整を行います。小説の行の高さを設定して下さい(単位 em):
1em = 1文字分の高さ
行の高さ＝1文字分の高さ＋行間の高さ
オススメは 1.8
1.6 で若干行間狭め。1.8 だと一般的な小説程度。2.0 くらいにするとかなりスカスカ
(未入力で 1.8 を採用)
>
```

``` shell
(未入力で 1.8 を採用)
>

(次のファイルを書き換えました)
C:/AozoraEpub3/chuki_tag.txt

(次のファイルをコピーor上書きしました)
C:/AozoraEpub3/AozoraEpub3.ini
C:/AozoraEpub3/template/OPS/css_custom/vertical_font.css
AozoraEpub3の設定を終了しました
初期化が完了しました！
現在のフォルダ下で各種コマンドが使用出来るようになりました。
まずは narou help で簡単な説明を御覧ください。
```
ここまでの出力があれば初期化は完了です

### 無職転生のダウンロードと変換
以下のようにePUBの変換もMobiの変換もエラーがなければ完了
``` shell
> narou download n9669bk
……
ID:0　無職転生　- 異世界行ったら本気だす - の変換を開始
小説状態の調査結果を 調査ログ.txt に出力しました（エラー：0件、警告：43件、INFO：0件）
縦書用の変換が終了しました
AozoraEpub3でEPUBに変換しています......変換しました
kindlegen実行中..............................変換しました
kindlestrip実行中
[理不尽な孫の手] 無職転生　- 異世界行ったら本気だす -.mobi を出力しました
MOBIファイルを出力しました
小説の保存フォルダを開きますか (y/n)?:
```

:::note warn
* AozoraEpub3-1.1.0b46は確認した範囲で ~~Oracle Java8じゃないと動作しない~~ Java8に加えて23でも動作しているように見える
* Adoptium OpenJDKだと8, 11, 17, 21の全てのバージョンで無職転生のEpub変換時にエラーが発生する
:::

:::note info
* 改造版AozoraEpub3のGitHubページにて再配布用としてダウンロード可能になっていた
:::