Aozora
aozoraはダミーテキストを生成するライブラリです。Web製作時など、作成中のHTMLに何でも良いから文章を書き込んで、完成時のサイト雰囲気を確認したいという場合がよくあります。そういった時に便利なのがダミーテキストです。aozoraは、青空文庫などの著作権フリーなテキストをもとにダミーテキストを生成するライブラリです。
インストール方法
gemコマンドでインストールして下さい。
$ gem install aozora
使い方
Aozoraクラスのインスタンスをputsすると、夏目漱石の『こころ』から冒頭の100文字が出力されます。
puts Aozora.new
#=> "私はその人を常に先生と呼んでいた。だからここでもただ先生と書くだけで本名は打ち明けない。これは世間を憚かる遠慮というよりも、その方が私にとって自然だからである。私はその人の記憶を呼び起すごとに、すぐ「"
Aozora.newに第一引数、第二引数を渡すと、生成されるテキストの種類や長さを変更できます。
puts Aozora.new(:bocchan, 23)
#=> "親譲りの無鉄砲で小供の時から損ばかりしている。"
puts Aozora.new(:hashire_merosu, 1000)
#=> "メロスは激怒した。必ず、かの邪智暴虐の王を除かなければならぬと決意した。メロスには政治がわからぬ。メロスは、村の牧人である。笛を吹き、羊と遊んで暮して来た。けれども邪悪に対しては、人一倍に敏感であった。きょう未明メロスは村を出発し、野を越え山越え、十里はなれた此のシラクスの市にやって来た。メロスには父も、母も無い。女房も無い。十六の、内気な妹と二人暮しだ。この妹は、村の或る律気な一牧人を、近々、花婿として迎える事になっていた。結婚式も間近かなのである。メロスは、それゆえ、花嫁の衣裳やら祝宴の御馳走やらを買いに、はるばる市にやって来たのだ。先ず、その品々を買い集め、それから都の大路をぶらぶら歩いた。メロスには竹馬の友があった。セリヌンティウスである。今は此のシラクスの市で、石工をしている。その友を、これから訪ねてみるつもりなのだ。久しく逢わなかったのだから、訪ねて行くのが楽しみである。歩いているうちにメロスは、まちの様子を怪しく思った。ひっそりしている。もう既に日も落ちて、まちの暗いのは当りまえだが、けれども、なんだか、夜のせいばかりでは無く、市全体が、やけに寂しい。のんきなメロスも、だんだん不安になって来た。路で逢った若い衆をつかまえて、何かあったのか、二年まえに此の市に来たときは、夜でも皆が歌をうたって、まちは賑やかであった筈だが、と質問した。若い衆は、首を振って答えなかった。しばらく歩いて老爺に逢い、こんどはもっと、語勢を強くして質問した。老爺は答えなかった。メロスは両手で老爺のからだをゆすぶって質問を重ねた。老爺は、あたりをはばかる低声で、わずか答えた。「王様は、人を殺します。」「なぜ殺すのだ。」「悪心を抱いている、というのですが、誰もそんな、悪心を持っては居りませぬ。」「たくさんの人を殺したのか。」「はい、はじめは王様の妹婿さまを。それから、御自身のお世嗣を。それから、妹さまを。それから、妹さまの御子さまを。それから、皇后さまを。それから、賢臣のアレキス様を。」「おどろいた。国王は乱心か。」「いいえ、乱心ではございませぬ。人を、信ずる事が出来ぬ、というのです。このごろは、臣下の心をも、お疑いになり、少しく派手な暮しをしている者には、人質ひとりずつ差し出すことを命じて居ります。御命令を拒めば十字架にかけられて、殺されます。きょうは、六人殺されました。」聞いて、"
テキストとして使用できる作品の一覧とSymbolの対応表は下記の通りです。
| 作品 | symbol | id |
|---|---|---|
| 『こころ』夏目漱石 | :kokoro | 0 |
| 『坊っちゃん』夏目漱石 | :bocchan | 1 |
| 『吾輩は猫である』夏目漱石 | :wagahaiwa_nekodearu | 2 |
| 『三四郎』夏目漱石 | :sanshiro | 3 |
| 『走れメロス』太宰治 | :hashire_merosu | 4 |
| 『パンドラの箱』太宰治 | :pandorano_hako | 5 |
| 『ヴィヨンの妻』太宰治 | :viyon | 6 |
| 『女生徒』太宰治 | :joseito | 7 |
| 『人間失格』太宰治 | :ningen_shikkaku | 8 |
| 『檸檬』梶井基次郎 | :lemon | 9 |
| 『山月記』中島敦 | :sangetsuki | 10 |
| 『私の個人主義』夏目漱石 | :watashino_kojinshugi | 11 |
| 『倫敦塔』夏目漱石 | :london | 12 |
| Lorem ipsum | :lorem_ipsum | 13 |
| The Happy Prince | :happy_prince | 14 |
| A Christmas Carol | :christmas_carol | 15 |
シンボルの代りにidで指定することもできます。
puts Aozora.new(1, 23)
#=> "親譲りの無鉄砲で小供の時から損ばかりしている。"
タイトルを指定するためのシンボルと番号の一覧はAozora.titlesを呼ぶと確認できます。
irb(main):001:0> Aozora.titles
+--+-------------------------+
| n| symbol |
+--+-------------------------+
| 0|:kokoro |
| 1|:bocchan |
| 2|:wagahaiwa_nekodearu |
| 3|:sanshiro |
| 4|:hashire_merosu |
| 5|:pandorano_hako |
| 6|:viyon |
| 7|:joseito |
| 8|:ningen_shikkaku |
| 9|:lemon |
|10|:sangetsuki |
|11|:watashino_kojinshugi |
|12|:london |
|13|:lorem_ipsum |
|14|:happy_prince |
|15|:christmas_carol |
+--+-------------------------+
Aozoraクラスにはto_sが実装されており、呼び出されるとダミーテキストを返すようになっています。Aozora#textを使っても良いです。これは単なる別名です。
str1 = Aozora.new.text
str2 = Aozora.new.to_s
puts str1 #=> "私はその人を常に先生と呼んでいた。だからここでもただ先生と書くだけで本名は打ち明けない。これは世間を憚かる遠慮というよりも、その方が私にとって自然だからである。私はその人の記憶を呼び起すごとに、すぐ「"
puts str2 #=> "私はその人を常に先生と呼んでいた。だからここでもただ先生と書くだけで本名は打ち明けない。これは世間を憚かる遠慮というよりも、その方が私にとって自然だからである。私はその人の記憶を呼び起すごとに、すぐ「"
その他の機能
全角半角の変換やパラグラフの分割などができます。詳細はRDocをご覧ください。
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request