descjop

Clojureのドキュメント生成にmarginaliaを使う

Doccoというツール

Doccoというツールがあります。

これは、CoffeeScriptで書かれたツールで、JavaScriptで書かれているソースコードとそのコメントを整形して非常に見やすいHTMLとしてドキュメント化してくれるものです。

Clojureにはmarginaliaがある

Doccoはいろいろな言語用に移植されたりしていますが、Clojure用のものもmarginaliaという名前で存在します。

こんな感じでdescjopのコードもHTMLになりました。

marginaliaのコード自体、このツールでHTML化しているので見てみると面白いです。

ポイントは、ソースコードにシンタックスハイライトがされ、コードとコメントが1対1で左右に並ぶところでしょうか。一枚のHTMLとして生成されるので、扱いも楽です。

marginaliaの利用方法

利用方法はいたって単純で、ホームディレクトリにある.leinディレクトリ(このディレクトリにprofiles.cljなどとプロジェクトファイルに書くようにプラグインとして指定すると、全プロジェクト共通で使えるようになる)にて設定したら、あとは

[lein-marginalia "0.8.0"]

などと設定します。

ちなみに僕のprofiles.cljは今のところこんな感じです。

{:user {:plugins [[lein-idea "1.0.1"]
                  [lein-typed "0.3.5"]
          [lein-marginalia "0.8.0"]
                  [lein-kibit "RELEASE"]
                  [cider/cider-nrepl "0.8.2"]
                  ]
        :aliases {"slamhound" ["run" "-m" "slam.hound"]}
        :dependencies [[slamhound "RELEASE"]
                       [org.clojure/tools.trace "RELEASE"]]}}

設定を終えたら、ドキュメントを生成したいプロジェクトのディレクトリに移動し、下記コマンドを実行します。

$ lein marg

すると、プロジェクト内の直下に、docsディレクトリというものが出来、その中にuberdoc.html というHTMLファイルが生成されるので、これをブラウザで開きます。

という感じで設定とかもほぼいらず、ワンコマンドのみでドキュメントを生成できるので、おすすめです!

Read More

第1回Electron勉強会でClojureでElectronアプリを作るネタを発表してきた

4/24に行われた、Electron勉強会にて発表してきました。

僕の発表内容は、ClojureScriptベースでElectronアプリを作るというもので、ここずっとこのブログでも取り上げていたdescjopの仕組みやClojureScriptでElectronを使った場合のはまりポイントなどを解説しました。

Clojureってそもそもなによ?っていう人も多いため、前半はそもそもClojureってどういうものか、ClojureScriptとの関係などをメインで話しました。

なので、スライドを見ると、Clojureのこともちょっとわかったりします。

Clojureミニミニ入門資料としてもどうぞ。

   

参加してくれた方、どうもありがとうございました。

Read More

descjopのマイクロサイト裏側&GitHubトレンドに載ったなど

descjopのサイトをオープンした

descjop 0.1.2のサイトをさくっとオープンさせました。 ドメイン取得からちょっとした作業、そしてサーバの公開まで数時間足らずです。

まだ基本情報以外何もないですが、成長わずかな小さいライブラリのサイトはこれくらいシンプルなところからやっていってもいいかもしれないと思っています。

余談ですが、今後、ブログでライブラリのサイトを作っていくこと件についていろいろ思索したことを書いていこうと思っています。

さくっとオープンさせるための初期構成

とりあえず立ち上げるにあたって、UIフレームワークはFoundationをえらびました。

理由は単純で、IntelliJ IDEAのStaticなWebプロジェクトとしてはじめから用意されているからです。

Foundationの他に使ったものは、コードハイライト用のhighlight.jsくらいでしょうか。

構成としては、ドメインをAmazon Web ServiceのRoute53にてホスティングし、それをAmazon EC2にて運用しています。

とくになにもサーバー側アプリケーションは作っていないのでApacheのみです。

今後はClojureベースで作っていこうとおもいますが、まあそれは別の話。

何故すぐにサイトを作るのか

ライブラリに関して、GitHub上にあるドキュメントやソースコードが本質的な価値だとすると、独自ドメインでサイトとしてやるのはもっと広報的な価値としての意味合いが強くなります。

世界観を伝えたり、人がとりあえず来る場所、まず紹介される場所としてサイトがあることは強いです。

これらは、おそらくライブラリの成長とともに充実していくようなものだろうと考えています。

なので、ライブラリのバージョンが0.1.2なのと同様に、サイトのバージョンもまだ0.1.0くらいです。

手っ取り早く世界観を表現できるものとしては、ドメイン名というのがあります。

例えば、hoge.ioというドメインなら、何かしらの入出力に強そうという印象がありますし、hoge.orgならコミュニティドリブンな開発スタイルを重視してそうという印象があります。

ということで、現時点では個人開発だし、最後まで個人開発かもしれませんが、心持ちとして開かれた開発スタイルでありたいという願いをこめてdescjop.orgというドメインにしました。

流行りのGoogleのモバイルフレンドリーテスト

これは余談ですが、Googleのウェブマスター向けモバイルガイドにモバイルフレンドリーテストなるものがあります。ここでは、URLを入力して、判定をみることができます。

特にモバイルのことを考慮しないでつくると、赤いアラートと共にモバイルフレンドリーではないですと出るでしょう。

descjopは、最低限の対応をしているので、一応のモバイルフレンドリーとなりました。

GitHubトレンドに載った

さらに余談ですが、GitHubトレンドってのがありまして、これはGitHubの特定のプログラミング言語ごとに、注目されているものを一覧で出力してくれるサービスがあります。

ここのClojureの一覧で 8位 になりました。

まあちっぽけなライブラリですし、瞬間風速的にランクインしたので来週には圏外へ行ってしまうでしょう。

ただ、著名なオープンソースライブラリと共に一覧に載ったので記念に残しておきます。

Read More