2011-01-01から1年間の記事一覧

(25日目-1) blockdiag が目指すもの

みなさん、メリークリスマス!今日は 12/25、クリスマスの日です。 長かったこの Sphinx & blockdiag アドベントカレンダーも今日で最終日です。今日は最終日ということで、"blockdiag が目指すもの" というタイトルで書いてみたいと思います。 誰のためのツ…

(25日目-2) 僕の考えた Sphinx が目指すもの

このアドベントカレンダーは Sphinx & blockdiag アドベントカレンダーなので、 最終日のネタとしてもう一本、"僕が考えた Sphinx が目指すもの" としてまとめてみます。 ちなみに僕は Sphinx の開発者ではないので、あくまで "僕が考えた" なのでご注意くだ…

(23日目) blockdiag の便利な使い方(サンプル集)

いま現在、blockdiag.com には使い方の例は書いてありますが、 どんな図が書けるのかというサンプルがほとんどありません。 これは単に僕の努力不足なのですが、たまには書きこまれた図をお見せしてみたいと思います。 画面遷移図 最初にご紹介するのは画面…

(24日目) schema2rst と Sphinx でお手軽データベース定義書作り

ここ数日 blockdiag の話が続いていましたが、久しぶりに Sphinx の話に戻ります。僕は Sphinx を使ってお仕事のドキュメントを書いているので、 ドキュメントのひとつとしてデータベース定義書を書くことがあります。 このデータベース定義書、みなさんはど…

(22日目) blockdiag 拡張の紹介(ノードレンダラ)

今日は blockdiag を便利にする blockdiag 拡張をご紹介します。 blockdiag では標準の機能に加え、あとから機能を追加するための拡張フレームワークを持っています。blockdiag 拡張には 2つのタイプがあります。 ハンドラプラグイン(handler plugin) ノード…

(21日目) Interactive shell for blockdiag の紹介

今日は blockdiag の強力なパートナーである interactive shell for blockdiag の紹介をします。 とはいえ、interactive shell は blockdiag のデモとしていろんな所でお見せしているので、 ご存じの方が多いかもしれません。もともと interactive shell は …

(20日目) blockdiag の中を見てみよう

今日は blockdiag の構造について紹介していきたいと思います。 blockdiag は大きく分けて 4つのモジュールから構成されています。 parser テキストファイルを解析するモジュール builder 解析した図をレイアウトするモジュール drawer 図を描画するモジュー…

(19日目) blockdiag を Pukiwiki で使ってみよう

昨日の記事では Trac の Wiki に blockdiag の図を埋め込む方法をご紹介しました。 今日は他のドキュメントツールである Pukiwiki に blockdiag の図を埋め込む方法をご紹介しましょう。Pukiwiki は PHP で動作する Wiki クローンのひとつで、現在は開発が止…

(18日目) blockdiag を Trac wiki で使ってみよう

Sphinx & blockdiag アドベントカレンダーに戻って 18日目です。 もう少しでクリスマスですね。この荒行のような毎日が終わると思うと心も弾みます。今日は blockdiag を Trac 上の Wiki で動かしてみます。 Trac は Python で記述されたプロジェクト管理ツ…

(17日目) わがままドリブン

昨日は次にやろうと考えている blockdiag シリーズの話でしたが、 今日はそこに至る源泉であるわがままドリブンという考え方について紹介します。 わがままドリブン って? ユーザの要望や希望だけではなく "わがまま" まで聞いて開発を行おう、という blockd…

(Python3 アドベントカレンダー/18日目) Python3 で blockdiag を動かしてみたかった。

Python 界の芸人、@tk0miya です。 突然ですが今日は Python3 Advent Calendar のエントリを書きます。 昨日 Python mini hack-a-thon で @terapyon に強制されるまで Python3 なんて全く触ったことがなかったのになぜか参加する羽目になりました。ぼやいて…

(16日目) 平行世界の blockdiag シリーズ(2)

今日のアドベントカレンダーはおとといに引き続き、未だ見ぬ blockdiag の紹介をしたいと思います。 フローチャート 最初の図はフローチャートです。プログラムの流れを可視化するための図ですね。フローチャート自体は blockdiag でも書くことができますが…

(15日目) ぼくが Sphinx ハンズオンをはじめたわけ

今日は昨日行われたばかりの Sphinx ハンズオンについて触れたいと思います。Sphinx ハンズオンでは 16人の参加者を 3つのチームに分かれて それぞれ課題に取り組むということをしました。 Sphinx をインストールしてない: 5人 ちょっとだけ Sphinx を使った…

(14日目) 並行世界の blockdiag シリーズ(1)

今日はちょっと毛色の違う話をしてみようと思います。 blockdiag はこれまで 5つの図に対応しています。 ブロック図 シーケンス図 アクティビティ図 論理ネットワーク図 ラック構成図 blockdiag シリーズはひとつのツールでひとつの図をサポートしているので…

(12日目) blockdiag の class 機能を使ってみる

今日は blockdiag の class 機能を紹介します。class 機能も最近できたばかりの機能で、シンプルでわかりやすい機能が多い blockdiag の中で 少し変わった位置にある機能です。 blockdiag ではノードやエッジ(矢印)、グループなどを書く際に、 label や colo…

(13日目) Jenkins + bitbucket.org で Sphinx で作られた Web サイトを自動公開する

12日目の記事をかいてからまだそんなに時間が経っていませんが、 勢いで 13日目の記事も作ってしまいました。 今日は Jenkins + bitbucket.org + Sphinx の組み合わせで、Web サイトを自動的に公開する仕組みをご紹介します。 この仕組みは実際に blockdiag.…

(11日目) Sphinx から PDF を生成してみよう (LaTeX 編)

今日のアドベントカレンダーは再び PDF 生成の話です。前回は rst2pdf を使って PDF 生成を行いましたが、今日は LaTeX 経由で PDF 生成する方法を紹介します。 どちらも PDF 形式のドキュメントを生成することができますが、 それぞれで使い方や仕上がりが…

(10日目) blockdiag のフォントを切り替える

今日は最新の blockdiag で搭載されたフォント切り替え機能について紹介します。 かんたんなフォント指定 blockdiag は文字を描画する際に TrueType フォントを利用しています。blockdiag は起動時にオプションを指定しない場合、 TrueType フォントがインス…

(10日目/番外編) SVG とフォントについて愚痴る。

blockidag で SVG 形式を使っている人はよく文字がはみ出る場面に遭遇します。これは SVG が HTML のように「表示時にフォントが決定する」仕組みであるためです。 つまり、SVG ファイルを出力したときはどのようなフォントが用いられるかわからないのです。…

(9日目) sphinxcontrib-blockdiag の desctable を使ってみる

今日は sphinxcontrib-blockdiag の強力な機能、desctable を紹介します。blockdiag シリーズはテキストから図を生成するツールですが、 ドキュメントというものは図だけで説明が完結するということは少ないです。 図に対する説明、各構成要素の説明などが図…

(8日目) Sphinx から PDF を生成してみよう (rst2pdf 編)

今日のアドベントカレンダーでは Sphinx で PDF 出力する方法をご紹介します。Sphinx から PDF を出力するには 2種類の方法があります。 ひとつは Sphinx 標準で提供されている LaTeX 経由で PDF を出力する方法です。 もうひとつは rst2pdf をインストール…

(7日目) Sphinx 拡張を作ってみよう (sphinxcontrib.nicovideo)

昨日の記事ではさまざまな Sphinx 拡張を紹介しました。 その中で YouTube の動画を埋め込む Sphinx 拡張を紹介しましたが、 その中には日本の誇るおもしろ動画サービス、ニコニコ動画用の Sphinx 拡張が見当たりませんでした。ということで、今日は sphinxc…

(6日目) Sphinx 拡張の紹介

Sphinx には Sphinx 拡張(Sphinx extension)と呼ばれるプラグイン機能があります。 Sphinx 拡張を使うとドキュメントを書くのがより便利になったり、 ドキュメントの表現がより豊富になったりします。今日はその Sphinx 拡張の中から僕がよく使うもの、便利…

(5日目) omake を使って Sphinx の自動ビルドを行う

Sphinx & blockdiag アドベントカレンダー 5日目です。 今日も Sphinx の tips についてご紹介したいと思います。Sphinx で文書を作成する際は rst ファイルを書いて、make コマンドを実行する、という繰り返しを行います。 もし rst ファイルの編集中にどの…

(4日目) Sphinx の文書を翻訳してみよう (sphinx-gettext-helper)

こんにちは。今日は昨日の続きでもっとかんたんに Sphinx の翻訳する方法を紹介します。。昨日紹介したとおり Sphinx の gettext 機能がサポートしているのは pot ファイルの生成までで、それ以降の変換処理は手動で行う必要があります。この変換処理は文章…

(3日目) Sphinx の文書を翻訳してみよう (gettext機能)

こんばんは、Sphinx & blockdiag アドベントカレンダー 3日目です。今日は Sphinx 1.1 で実装された gettext 機能をご紹介します。 gettext は多言語に対応したアプリケーションを開発するときに利用する API で、 メニューに表示される単語やエラーメッセー…

(2日目) blockdiag のインストール〜使い方 (Debian 編)

こんばんは、Sphinx & blockdiag アドベントカレンダー 2日目です。昨日は Sphinx をインストールして使ってみるという流れを紹介しました。 今度は blockdiag を試してみましょう。 blockdiag とは? blockdiag は僕こと @tk0miya が開発した画像生成ツール…

(0日目) Sphinx & blockdiag アドベントカレンダーはじまります

今日は11月30日、明日から12月がはじまります。 地震やら節電やらいろんなことがあった2011年ももう少しで終わりです。 世間では暗い話題が多かったように思いますが、 みなさんにとっての2011年はいかがだったでしょうか。さて、明日(12月1日)からは技術屋…

(1日目) Sphinx のインストール〜使い方 (Debian 編)

こんばんは、@tk0miya です。 恐れていた 待ちに待った Sphinx & blockdiag アドベントカレンダーの初日です。 12月1日になったので早速スタートします。 なにせ今夜は blockdiag リリースパーティーで書く時間がとれそうにないので…最初に紹介するのは Sphi…