hello-world
webエンジニアのメモ。とりあえずやってみる。

[mac][ruby]「文学フォルダ」のつくりかた

公開日時

いつか一緒に作りたいと思っていた 佐藤ねじプロジェクトで、「 文学フォルダ」 という作品をつくりました。

フォルダ名でこっそり読書をするというこれまでにない読書法を提案しています。

サイトには20作品が公開されていますが、「自分が読みたい文学作品がない」という方もいらっしゃると思いますので、文学フォルダのつくりかたを書いておきます。

rubyスクリプトを使うので黒い画面に抵抗のある方は、そっ閉じでお願いします。

コードは hilotter/bungaku-folder にあります。

folder

mac環境であればインストールは以下でできます。

gem install bundler
git clone [email protected]:hilotter/bungaku-folder.git
cd bungaku-folder
bundle install --path vendor/bundler

次に、 青空文庫 にアクセスして読みたい文学作品を探します。

読みたい作品が見つかったら、その作品のXHTMLファイルのURLをコピーしておきます。

folder2

最後に、文学フォルダを作成します。URLと保存フォルダ名を指定して以下のコマンドを実行

# 例:bundle exec ruby ./aozora_directry.rb create -d {保存したいフォルダ名} -u {コピーしておいたXHTMLファイルのURL}

bundle exec ruby ./aozora_directry.rb create -d ame -u http://www.aozora.gr.jp/cards/000081/files/45630_23908.html

上記コマンドを実行すると、ameフォルダが追加されるので、こっそり『雨ニモマケズ』を読むことが可能になります。

folder3

他の作品も上記の方法で文学フォルダにすることができます。

そもそもの仕組みとしては青空文庫のHTMLをパースして、まず改行区切りで分解。

その後、さらに句読点(, or . or 。or 、)区切りで分解。

分解した文章をフォルダとしてひたすら作っていっている、というシンプルなものになっています。

ただし、フォルダのみだとzip化できない問題が発生したので、公開中の文学フォルダは中にフォルダ名の内容を含んだテキストファイルを作成するように修正しました。

それでは、文学フォルダで快適な読書生活をお過ごしください。


Related #Ruby

[Rails]find_or_create_byとfind_or_initialize_by

Rails4で確認。

capistranoで世代管理する際の注意点

最近、デプロイツールに capistranoを使っているのですが、世代管理の設定を勘違いしていたのでメモを残しておきます。

[rails]unicornでpryを使う

先日、pryでデバッグする という記事を書きましたが、こちらはrails server(フォアグランド)でアプリを立ち上げた際のデバッグ方法でした。