読者です 読者をやめる 読者になる 読者になる

clock-up-blog

go-mi-tech

Filydoc:技術メモを公開するための何か

ツール ドキュメント PHP オープンソース

Filydoc というものを作りました

公開場所

特徴

  • シンプルに Markdown ファイルを公開するためだけの Web フレームワーク
  • フォルダ分けすると、それがそのままツリー構造として公開される
  • アイテムの順番は名前順になるのでファイル名をうまく付けて運用
  • PHP 駆動なので、フツーのレンタルサーバで動く (しかし実は全文検索grep 呼んでるので、ここは環境依存かも。さくらのレンタルサーバでは動いた)

使い方

  • Filydoc の zip か tgz を http://filydoc.net/ から入手、解凍。
  • data フォルダ内の .md ファイルを編集。書式は Markdown。
    必要に応じてファイル増やしたりフォルダ増やしたり。日本語ファイル名も使えます。
  • Filydoc のフォルダをそのまま Web サーバへアップロード。
  • tmp フォルダのパーミッションは 777 にする。

以上。昔ながらの Web システムって感じですね。MySQLRubyPython もいらないところがミソです。ApachePHP があれば良い。

経緯

溜まるノウハウを公開する暇がなかった

数年間に渡り個人的にため込んでいた雑な技術メモが、ファイル数にして 600 ほどになっていました。
ブログ記事として公開するにはやや手間がかかる。かといってそのまま個人で抱えているのももったいない。

ブログシステムではいろいろ不得手だった

ファイルが数百ともなると、HTTP通信のレイテンシさえ作業の支障になるものです。
やはりガリガリネイティブで情報整理したい。エディタを使ったテキスト編集もさることながら、フォルダ分け等もバリバリ何百回も試行したい。情報整理ってそういうものでしょ?

初めから決まりきった情報をアウトプットする分にはブログシステムでも十分かもしれない。
でも大量の雑多な情報を系統だった方向へ向けて整理するためには、編集の試行回数が多すぎて、Webインターフェースでは力不足だった。

情報整理の効率はネイティブ最強、しかし不恰好

そんなわけで、僕の仕事の合間等の情報整理は主にネイティブ上で行われた。
ネイティブ上に溜まったファイル達はあまりにも不恰好すぎて Web に公開するには適さなかった。

テキストファイルをそれっぽく公開するための何か

なんとなくそれっぽい形でテキストファイルを公開するためのフレームワークとして、Filydoc が誕生した。

Filydoc の成熟度

やっと昨日今日でバージョン初版的なものができあがったばかりで、まだまだいろいろ拙い。
実際にドッグフード的に自分自身でヘビーに使い倒してみながら改善を進めていこうと思います。

まずは主に clock-up-memo のメモ数を随時増やしていきます。
手元のメモを一気に公開可能かというと、内容を精査する必要があるのですぐには無理なわけでして、随時チェックを進めながら少しずつ公開メモを増やしていきます。たぶんその過程で Filydoc 自体のバージョンアップも必要に駆られて進むことになると思う。

類似システムに妥協する選択もあった

Filydoc と同じようなシステムは当然ながらある。

これらはなんとなく眺めてみたものの、微妙に「これじゃない」感があった。

なんとなく類似のツールに妥協しても良かったのだろうけど、他のツールはともかく、今回の類のツールについては今後密に長く付き合う衣服のようなものになるであろう予感があったため、微妙な「これじゃない」感でさえ妥協してはいけない、と、僕の中のゴーストが囁いていた。

そんなわけで Filydoc は誕生した。

ドキュメント

今のところへぼい。実はいろいろと工夫を凝らした機能や思想がドキュメントに反映されていない。僕の脳内とソースコード上にのみ記録されている機能がいくつかある。追々ドキュメントは整備する。

労力とか

こんなシンプルに見えるシステムの構築に優に100時間くらい費やしてしまった。

途中、MediaWiki の一括ダウンロードツールとか、MediaWiki から Markdown に変換するコンバータとか、そういう寄り道ツール作成にも時間をけっこう使っていた気がする。

あと、AngularJS の習得に時間がかかってしまった記憶がある。AngularJS についてはいまだにうまく使いこなせていないし、たぶん間違った使い方とかしてるような気がする。変なところには優しくツッコミとかいただけると嬉しい。

ところで、とりあえず動けばいいや的な感じで突貫でグローバル変数とかももりもり使っている。汚い。
これについてはトレードオフを鑑みた上での判断なので、「あぁ、うん、はい」って感じでスルーいただきたい。そのうち掃除する。
「綺麗なものしか認めない」という潔癖な価値観は、プログラムを始めてから数年で芽生え、そのまた数年後に捨てた。

ようこそ Filydoc。よろしくお願いします Filydoc

生まれてくれてありがとう。
しばらくの間、手をかけて育てていきたいと思います。

});