<commit_before># Rubyist Magazine Kindle 化

## 改訂履歴
Oct. 26, 2016 - 初版公開    
Oct. 28, 2016 - README.md のTypo修正とLinuxでsetupfileが失敗するのを修正  
Nov. 6, 2016 - ダウンロードファイル時の保存ファイル名の変更。Issue #5 の対策

----
## Nov. 6, 2016 の変更内容
#### **1. ダウンロード時の保存ファイル名の変更について**
ダウンロードファイルのうち、'p=' および 'f=' を含むファイルは、(恐らく '=' を含むため) Windowsのコマンドプロンプトでの扱いが面倒になっているので、'p=' は 'p_' へ、 'f=' は削除したものを保存ファイル名として使用するように変更しています。  
ダウンロード済みのローカルファイルは rake download とすることで、ネットワークのアクセスなしに新ファイル名へ変更されるので、改めてダウンロードしなおす必要はありません。

#### **2. 表示デバイスの解像度の違いによる図形表示サイズの調整について(Issue #5)**  
Issue #5 にある通り、表示デバイスの解像度によって図形(png, jpg)の実際の表示サイズが小さくなり、見づらくなる場合があります。例えば Kindle HDX 8.9 は 339ppi の解像度で、写真はともかく、
31号 『るりまサーチの作り方 - Ruby 1.9 で groonga 使って全文検索』 の記事にあるスライド画像は非常に見づらい状況。
この対処として拡大率を指定したmobiファイルを作成可能にしました。  
具体的には rake MAG=2.2 のように指定します。  
拡大率は ARGV[0].to_f で  処理される。なお、1.0以下の場合は指定なしとして扱います。  
一旦作成した後に拡大率を変更したい場合は
  - rake setupfile
  - rake mobi MAG=2

などと、rake setupfile から再度実行してください。

Kindle HDX8.9(339ppi) の場合、2.2 くらいが丁度良いようです。  
文字の表示サイズとのバランスもあるので、好みの拡大率を選択してください。

#### **3. 一部の png ファイルの表示が崩れる件について(Issue #6)**  
使用されいてる png ファイルのフォーマット（色深度、カラータイプ）を Kindlegen もしくは Kindleが扱えないために発生していると推測しています。  
該当するファイルは
- p_0010-CodeReview_pukipa.png          
- p_0010-CodeReview_pukiwikiparser.png  

の2つ。Issue #6 に記載のとおり、download フォルダ内のこれらのファイルのフォーマットを変更することで正しく表示できます。私の場合はWindowsの画像変換フリーソフトで変更しました。Linux だと ImageMagick でしょうか。

----

## はじめに

Rubyist Magazine の Web ページ
http://magazine.rubyist.net/ で公開されている Rubyist Magazine をmobiファイル（Amazon Kindleの電子書籍フォーマット）へ変換するものです。

## 対象となるRubyist Magazine
- 現時点(2016年10月)では創刊号から54号まで
- 一応 index.html の読み出し結果から検索しているので、新しい号が追加されても大丈夫なはず

## 必要なもの
- Kindlegen
  - amazon のWebページからダウンロードし、PATHを通しておくこと
- gem
  - Nokogiri
  - FastImage

## 利用方法

1. コマンドプロンプトから rake を実行する  
  - 拡大率を指定する場合は rake MAG=<拡大率> のように指定する。
  - 例）拡大率 2.2 を指定する場合 => rake MAG=2.2
2. しばらくすると kindle フォルダに rubima.mobi が作成される
  - kindlegenで警告が出ますが、mobiファイルは作成されています
3. Kindle へ転送する
4. Kindle で読む


## ダウンロード時間について

- Webページからのダウンロードの際、1ファイルのダウンロード毎に1秒のウェイトを取っています。
全部で2700ファイルほどダウンロードするので、気長に待ってください。


## ライセンス

rubyスクリプトは　MIT ライセンスです。

~~~
MIT License

Copyright (c) <NAME> 2016

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
<commit_msg>bundler 利用に関する説明追加<commit_after># Rubyist Magazine Kindle 化

## 改訂履歴
Oct. 26, 2016 - 初版公開    
Oct. 28, 2016 - README.md のTypo修正とLinuxでsetupfileが失敗するのを修正  
Nov. 6, 2016 - ダウンロードファイル時の保存ファイル名の変更。Issue #5 の対策  
Nov. 23, 2016 - Gemfile の追加

----
## Nov. 6, 2016 の変更内容
#### **1. ダウンロード時の保存ファイル名の変更について**
ダウンロードファイルのうち、'p=' および 'f=' を含むファイルは、(恐らく '=' を含むため) Windowsのコマンドプロンプトでの扱いが面倒になっているので、'p=' は 'p_' へ、 'f=' は削除したものを保存ファイル名として使用するように変更しています。  
ダウンロード済みのローカルファイルは rake download とすることで、ネットワークのアクセスなしに新ファイル名へ変更されるので、改めてダウンロードしなおす必要はありません。

#### **2. 表示デバイスの解像度の違いによる図形表示サイズの調整について(Issue #5)**  
Issue #5 にある通り、表示デバイスの解像度によって図形(png, jpg)の実際の表示サイズが小さくなり、見づらくなる場合があります。例えば Kindle HDX 8.9 は 339ppi の解像度で、写真はともかく、
31号 『るりまサーチの作り方 - Ruby 1.9 で groonga 使って全文検索』 の記事にあるスライド画像は非常に見づらい状況。
この対処として拡大率を指定したmobiファイルを作成可能にしました。  
具体的には rake MAG=2.2 のように指定します。  
拡大率は ARGV[0].to_f で  処理される。なお、1.0以下の場合は指定なしとして扱います。  
一旦作成した後に拡大率を変更したい場合は
  - rake setupfile
  - rake mobi MAG=2

などと、rake setupfile から再度実行してください。

Kindle HDX8.9(339ppi) の場合、2.2 くらいが丁度良いようです。  
文字の表示サイズとのバランスもあるので、好みの拡大率を選択してください。

#### **3. 一部の png ファイルの表示が崩れる件について(Issue #6)**  
使用されいてる png ファイルのフォーマット（色深度、カラータイプ）を Kindlegen もしくは Kindleが扱えないために発生していると推測しています。  
該当するファイルは
- p_0010-CodeReview_pukipa.png          
- p_0010-CodeReview_pukiwikiparser.png  

の2つ。Issue #6 に記載のとおり、download フォルダ内のこれらのファイルのフォーマットを変更することで正しく表示できます。私の場合はWindowsの画像変換フリーソフトで変更しました。Linux だと ImageMagick でしょうか。

----

## はじめに

Rubyist Magazine の Web ページ
http://magazine.rubyist.net/ で公開されている Rubyist Magazine をmobiファイル（Amazon Kindleの電子書籍フォーマット）へ変換するものです。

## 対象となるRubyist Magazine
- 現時点(2016年10月)では創刊号から54号まで
- 一応 index.html の読み出し結果から検索しているので、新しい号が追加されても大丈夫なはず

## 必要なもの
- Kindlegen
  - amazon のWebページからダウンロードし、PATHを通しておくこと
- gem
  - bunlder

## 利用方法

1. bundle install で必要な gem をインストーする
2. コマンドプロンプトから bundle exec rake を実行する  
  - 拡大率を指定する場合は rake MAG=<拡大率> のように指定する。
  - 例）拡大率 2.2 を指定する場合 => rake MAG=2.2
3. しばらくすると kindle フォルダに rubima.mobi が作成される
  - kindlegenで警告が出ますが、mobiファイルは作成されています
4. Kindle へ転送する
5. Kindle で読む


## ダウンロード時間について

- Webページからのダウンロードの際、1ファイルのダウンロード毎に1秒のウェイトを取っています。
全部で2700ファイルほどダウンロードするので、気長に待ってください。


## ライセンス

rubyスクリプトは　MIT ライセンスです。

~~~
MIT License

Copyright (c) <NAME> 2016

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

{'fraction_non_alphanumeric': 0.08787647731605032, 'fraction_numerical': 0.03450247807853603, 'mean_word_length': 5.2913669064748206, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4833793', 'n_tokens_mistral': 3659, 'n_tokens_neox': 3306, 'n_words': 489}