2010-10-31

「Lisp脳」勉強会でEPUB関連ツールのLT発表してきました #arielarea

”ありえるえりあ勉強会〜「Lisp脳」勉強会〜”でライトニングトーク(LT)してきました。5分ほどの発表時間内で、今までやってきたEPUB関連ツールとこれから作ろうとしているEPUB生成/配信システムの説明をしました。
まずはプレゼン資料です。
前々から「そろそろ自分のEPUBに関する考えをちゃんと説明しておかないといけないな」と考えていたので、ちょうどいい機会だと思って好き勝手に話させてもらいました。アリエルさんありがとうございました! 正直言いまして、初めてのLTでUstreamで中継されている、さらに資料はその日の15時ぐらいから作り始めた、という悪いフラグ立ちまくりな中で発表したのですが、どうだったんでしょ? 発表内容はこれ以上無いぐらいシンプルに作ったので、話す内容に迷いはなかったですけども。 話した内容を思い出せる範囲で箇条書きにしておきます。
  • 野望『みんなが書いた長い文章を エディタからショートカット一発で みんなの手のひらの中に届ける』
  • 「みんなプログラムを書けるってことはエディタがあって一定量のテキストを打つことが出来て、論理的思考力がある。なぜ小説を書かないのか?」
  • 「作文を書くのが嫌いな人が多かったはずなのに”ブログ”という形式ができた途端、自発的に文章を書く人が増えた」
  • 「同じように、小説もしくは長文エッセイを流通させる形式ができたら、みんな小説を書き始めるんではないか?」
  • 「そんな野望を抱きつつ、ClojureでEPUB関連ツールを作ってます」
われながら極論だなーと思いますけど、その後の懇親会でもいろいろ反応してくれる人がいたので「関心を持ってもらい議論を巻き起こす」という効果は少しあったのかと考えてます。これからEPUB関連ツールを作っていく上で間違いなくプラスになったと思います。 まずは報告まで。ではコーディングを継続していきます。 【参考リンク】 ・L5 資料作りに使ったLT用のプレゼンツールです。ClojureのS式(テキスト)でプレゼンを書くことができて、サクっと作り始められて直前まで手直しできました。ほかにもPDF出力機能など、いろいろ出来がいい。開発者の深町さんが活発に開発しているみたいなので、進化に期待してます! ・EPUB関連ツールの記事: サルノオボエガキ: ePub このブログのEPUBタグにまとめてあります ・書いた小説:ラノベ小説(?)書きました : サルノオボエガキ この小説のテキストファイル、text2epub-cljのテストデータとして同梱してます。samplesフォルダにしれっと入れちゃったりして。 ・ Lisp脳と世代 — ありえるえりあ アリエルさん、最後の最後で空気読まない発表でさーせんしたっ! ・発表したL5のソース 深町さんにならってそのまま貼りつけときます。コピペ便利。
(ns L5.sample
  (:use L5 L5.layout)
  (:import [java.awt Color]))

(defcontext
  {:width 640 :height 480
   :font-family "Gill Sans"
   :font-size 30
   :color (Color/white)
   :background-color Color/black})

(defslides
  [(with-size 35
     (t "ClojureとEPUBと俺"))

   (with-size 15
     (lines "さいたま・無職"
            "deltam"
            "2010/10/29"
            "Powered by L5"))]

  [(title "自己紹介")
   (item "@deltam {:blog サルノオボエガキ}"
         "プログラム書くのが好き(Clojureに注力)"
         "小説書くのが好き"
         "Lisper未満、ワナビー未満")
   (with-size 20
     (item "素数腕立て伏せ愛好家"))
   (img "icon.png")]
  
  [(t "Lisp脳?")]
  
  [(t "ClojureではじめてLispを使い始めました"
      "-> Lisp脳にセルフ洗脳中?")]
  
  [(title "野望")
   (with-size 35
     (lines "『みんなが書いた長い文章を"
            "エディタからショートカット一発で"
            "みんなの手のひらの中に届ける』"))]
  
  [(t "どうやって?"
      "→これから説明します")]
  
  [(title "!注意書き!")
   (item "EPUBのことしか話しません!")
   (lines "\"電子書籍\"ってバズり過ぎてて"
          "話せません!")]
  
  [(title "EPUBってなに?")
   (item "XML(メタデータ)+XHTML+αをZip圧縮。"
         "\"枯れた技術の水平思考\"")
   (img "folder_tree.png")]
  
  [(title "つくったもの")
   (item "text2epub-clj (2010-07-02..)"
         " PlainTextをEPUBに変換するだけ"
         "feed2epub-clj (2010-08-03..)"
         " RSS2/ATOMからEPUB作る"
         "ePubcast (2010-08-28..)"
         " 作ったEPUBを流すPodcastサーバ")]
  
  [(title "こんなふうに変換できます")
   (img "epub_convert.png")]
  
  [(title "反響")
   (with-size 25
     (item "ちょっとだけ使ってくれる人がいた")
     (item "text2epub-clj"
           " MOONGIFTで紹介"
           " @kotorikoに褒められる"
           "feed2epub-clj"
           " 自分のブログをEPUBにして読むなど"
           " 数人、遊んでくれた人いた模様"
           "ePubcast"
           " とくになし(まだできないナイッス)"))]
  
  [(title "つくってみて分かった問題")
   (item "ePubを作ってもみんなの手元に届ける"
         "ルートがない!"
         "→Podcast RSSのエンクロージャに\".epub\""
         "を設定するとiBooksに自動追加される")]
  
  [
   (img "epub_system.jpg")]
  
  [(title "弱点")
   (with-size 25
     (item "無職..."
           " 時間はいっぱいあるよ!"
           "ClojureやってるのにLisp技術の勉強が追いつかない"
           "  マクロむずかしい"
           "サーバサイドの技術よく知らない"
           " GAE/J勉強中"))]
  
  [(with-size 50
     (t "べ、べつにpull requestして"
        "くれてもいいんだからねっ!"
        "http://github.com/deltam"))]

  [(title "告知")
   (item "ほぼ毎月、Tokyo.cljやってます"
         "Clojureは友だち、こわくないよ!")]
  
  [(t "おわり")]
)

2010-10-05

text2epub-clj更新、行頭"!!"でePub目次設定。

Downloads for deltam's text2epub-clj - GitHub
ここの0.0.3-alphaの更新内容のご報告です。


これまでのお話し→ サルノオボエガキ: ePub

text2epub-cljを更新しました。version 0.0.3-alphaです(もはやバージョン番号の意味が分からない)。

今回は簡易記法を導入してみました。前回までだとePubのページ分割をするのは「章ごとに複数ファイルに保存」しないとtext2epub-cljではページ分割出来ませんでした。でも書いてる最中は章ごとにファイルを分けるなんて面倒なことしたくない。だから簡単な記法をちょちょいと付けて、そのまんまtext2epub-cljに通したらページ分割できたらいいなーと思って作りました。

まずは例を見てもらうのがいいでしょう。GitHubリポジトリのsamplesフォルダにあるhello.txtから全文引用。

!title! hello
!author! hello

!! chapter 1
this is a pen.
hello world.

!! chap 2
hello! hello!
today is sunday

!! end
eof, eof!

これをtext2epub-cljに通してePubをiTunesにドラッグアンドドロップ、iPod touchに同期するとiBooksではこうなります。



こうなりました。

「!title!とか!author!ってなんやねん?」。あとで書く予定のePubメタデータ簡易記法のプロトです。あんまりカッコよくないので良い案があったらコメントください。とりあえず作っときます(あとで)。

これでしれっとSamplesフォルダにテストデータとして追加しておいた自作小説の『スウスウと砂漠の運び屋』もちゃんとePub化できたヨ。




あとCommonLisper深町さんforkしていろいろ直してくれたりMarkdown記法で書けるようにした分があるんですが、こっちをマージする前にとりあえず出しちまおうと思ってアップしときました。ちゃんと吸収しますよ!>深町さん


以上、進捗報告でした。また開発に戻る!

【リンク】
L5のver1.1.0をリリースしました - 八発白中
プレゼンツール。Clojureで書かれているので参考に読んでます。
生まれて3日目のUn-Common Lisp - 八発白中
Lisperはあるレベルを超えると自分言語を作り出すというのは都市伝説ではなかったのだなー