タグ

ブックマーク / tk0miya.hatenablog.com (17)

  • Sphinx から完全に reStructuredText を追い出した話 - Hack like a rolling stone

    いくつかの記事で紹介されているとおり、 recommonmark を使うと Sphinx で markdown を使うことができます。 Software Design 2016年4月号 Markdownで始めるSphinx MarkdownでSphinxできるようになったので試してみた(前編) - 意識の高いLISPマシン Markdownで書けるSphinxの構築 - Qiita しかし、recommonmark を利用しても、ドキュメント構造(toctree)を記述するためには部分的に reStructredText を使う必要がありました。 .. toctree chapter1 chapter2 chapter3 これは、文法を拡張する仕組みを持たない markdown の (commonmark の)構造上、仕方がないのですが、せっかく markdown でドキュメントを書いてい

    Sphinx から完全に reStructuredText を追い出した話 - Hack like a rolling stone
  • Sphinx に mypy の type annotation を導入した話 - Hack like a rolling stone

    今年はアドベントカレンダーにも参加していないし、こたつに入ってだらだら過ごそうかと思っていたら、なんか書けと煽られました。年末ですね。 @tk0miya qiita の記事まだー?— Tetsuya Morimoto (@t2y) 2016年12月25日 何を書こうか思考をめぐらした結果、mypy を Sphinx に導入した話でも書くことにします。 mypy については @t2y の 紹介記事 、翻訳記事が非常に参考になりました。 ですので、この記事は @t2y へのアンサーソングです。 なお、「導入した話」と名付けてはみたものの、まだ 100% 対応したというわけではないので、試行錯誤の様子と愚痴を書き留めていきます。 Sphinx に type annotation をつけてみた Sphinx では現在、 master ブランチに対して type annotation がつけられてい

    Sphinx に mypy の type annotation を導入した話 - Hack like a rolling stone
  • schema2rst 0.9.0 をリリースしました。 - Hack like a rolling stone

    一ヶ月ほど前から schema2rst をちょこちょことメンテナンスしています。 はじめは flake8 でコーディング規約のチェックをかけてみただけだったはずなのですが、 その流れであれこれいじっているうちに一ヶ月経ってしまいました。 まだドキュメントや実装が不足している部分があるので 0.9.0 というバージョンにしましたが、 前バージョン(0.1.0)のときから使っていたので、既に使ってもらえるレベルのものだと思います。 ということで、このエントリーでは schema2rst 0.9.0 の紹介をしたいと思います。 schema2rst ってなんなの? schema2rst とはスキーマ情報から rst (reStructuredText) 形式のドキュメントを生成するツールです。 いわゆるリバースエンジニアリングをしてくれます。 開発者向けのドキュメントとしてデータベース定義書や

    schema2rst 0.9.0 をリリースしました。 - Hack like a rolling stone
  • 2013.12 版 python2.4-3.3 までのテストツール対応状況 - Hack like a rolling stone

    ここしばらく python 2.5 に対応した python コードを書いていなかったので気にもとめませんでしたが、 diff-highlight を書くときに python 2.4, 2.5 対応でハマったことについてまとめます。 ちなみに diff-highlight を python 2.4, 2.5 に対応させたのは、 連携先である mercurial が python 2.4-2.7 をサポートしているので、それに合わせたためです。 ちなみに、タイトルに python2.4-3.3 とありますが、この記事では 3.0 と 3.1 は対象としていません。 python 2.4, 2.5 パッケージを手に入れる (Ubuntu) 私がテスト実行環境として使っている drone.io では ubuntu (おそらく 10.04)を使っていますが、 ubuntu の python2.4

    2013.12 版 python2.4-3.3 までのテストツール対応状況 - Hack like a rolling stone
    heavenshell
    heavenshell 2014/01/05
    2.4 のサポートは苦行っぽい…。
  • Chef Cookbook の管理に librarian を使う - Hack like a rolling stone

    みなさん chef してますか? (挨拶) 今回は chef を使う時の要、cookbook を管理するツールである librarian を紹介します。 Opscode Community のサイトには、有志によってアップロードされた 800 以上の cookbook が公開されており、 また、様々な人が github で自身が作成した cookbook を公開しています。 これまでは、これらの cookbook を使う際には手動でダウンロードして利用していましたが、 librarian を使うことで、ダウンロードの部分を自動的に行なってくれるようになります。 また、cookbook 間の依存関係も考慮してくれるため、必要な cookbook も一緒にダウンロードしてくれます。 RubyBundler や、Python の pip + requirements.txt をイメージする

    Chef Cookbook の管理に librarian を使う - Hack like a rolling stone
  • 続・PHP のドキュメントを Sphinx で書いてみる (phpautodoc を作ってみた) #sphinxjp - Hack like a rolling stone

    去年の12月にPHP のドキュメントを Sphinx で書いてみる (phpautodoc を作ってみた) #sphinxjpという記事を書きました。 その時に、PHP からドキュメントを抽出する phpautodoc というのを作ったのですが、 その後他の作業に夢中になっていたので自分でも使わないまま放置されていました。 ですが、最近ドキュメントを書く時間を作ったので、作りかけの phpautodoc に手を入れて使えるようにパッケージングしてみました。 tk.phpautodoc を使う phpautodoc は gist に貼りつけたままで自分でも使いづらかったので、 あらためて tk.phpautodoc という名前で公開することにしました。 来であれば、sphinxcontrib-phpautodoc とかにすべきなんでしょうが、 実験的要素がまだ残っているのでちゃんとした名前

    続・PHP のドキュメントを Sphinx で書いてみる (phpautodoc を作ってみた) #sphinxjp - Hack like a rolling stone
    heavenshell
    heavenshell 2013/06/01
    グレート!!
  • vagrant 1.0系から 1.2系にアップグレードしてハマった話。 - Hack like a rolling stone

    vagrant box list では box があるというのに、vagrant up するとそんな box 知らないって言われる問題にぶち当たったので、 まだ vagrant 1.0 系で様子見をしてる人向けにメモっておきます。 ちなみにこの内容は Fixing “The box … could not be found” in the new Vagrant (1.1+) | WizOne Solutions を咀嚼して書きなおしたものです。 目新しいものではないのであしからず。 ついさっき、久しぶりに新しい VM を作るために vagrant up をしたら、こんなエラーが出てきました。 $ vagrant up There were warnings and/or errors while loading your Vagrantfile. Your Vagrantfile was

    vagrant 1.0系から 1.2系にアップグレードしてハマった話。 - Hack like a rolling stone
  • vagrant ユーザよ、その VM は安全なのか? (veewee のすゝめ) - Hack like a rolling stone

    タイトルは単なる煽りなので、気にせず先に進みましょう。 最近 chef や puppet、fabric などの自動化ツールの流行を受けて、 その実験環境として vagrant もかなり使われているようです。 vagrant は virtualbox の CLI ラッパーとして非常に良くできており、実験環境を構築するのに非常に便利なツールです*1。 そして、多くの vagrant 紹介記事が書かれているのですが、そこで気になったことがひとつあります。 それは vagrant を利用する際に vagrantbox.es に用意されている VM を利用しようと紹介されていることです。 vagrantbox.es は各々が作った VM イメージ(通称 box)を持ち寄って共有しあうサイトです。 新しくリリースされた distro. のイメージや、ツール(chef, puppet, guest ad

    vagrant ユーザよ、その VM は安全なのか? (veewee のすゝめ) - Hack like a rolling stone
  • 迷いながらも勉強会に参加していくひとつのやり方。 - Hack like a rolling stone

    最近、勉強会やコミュニティの入口で迷子になっている方とお話しました。 その方曰く、勉強会やコミュニティに対してこんなイメージを持っているそうです。 技術力/知識がないので、自分が参加してもよいのか悩むことがある 基礎がわかってないと「そんなのもわかってないの?」と言われてしまいそう エキスパート(モヒカン)たちはなんでも知ってる どこまで勉強したらコミュニティに参加しても恥をかかないんだろうか 今の発表、よく分からなかったけど、周りの人達は理解してるんだろうな… 忙しくて勉強する時間がとれないと、どんどん置いていかれてしまう気がする あるタイミングで勉強会で何度かお会いした別の方も、表現は違えど似たようなことをおっしゃっていました。 おそらく、僕は勉強会によく出没して発表などもしているので、 彼らの言うエキスパート(モヒカン)に該当しているかと思う*1ので 1エントリー書いてみることにしま

  • Re: Chefに挫折したあなたへ。Fabricのすすめ - Hack like a rolling stone

    Chefに挫折したあなたへ。Fabricのすすめ という記事を読んだので、呼ばれてもいないのに勝手に返事を書いてみます。 追記(3/13 10:00): タイトルを typo していたようなので訂正しました。 ちなみに僕のポジションとしては chef 推進派です。 仕事の空き時間や自分の時間で、開発環境の自動化を模索する趣味 chef 使いです。 これまで他の自動化ツールはこれまでほとんど使っておらず、 ミスや手順書のボリューム削減のためにシェルスクリプト化を進めるぐらいでした。 ちなみに、chef を使いはじめる際に、比較検討のために puppet や fabric などのいくつかのツールについて ドキュメントやブログを読みあさった経験はあります。 あと、chef と組み合わせて使うために capistrano を最近使っています。 学習に時間がかかる 同意します。chef のもっぱらの

    Re: Chefに挫折したあなたへ。Fabricのすすめ - Hack like a rolling stone
  • 開発サーバに chef を入れるときの 11の方法 - Hack like a rolling stone

    タイトルは釣りです。11個もやり方をしらないまま書き始めます。 最近 chef が流行っていますが、みなさんどうやって各サーバに chef をインストールしていますか? ここでは僕がいままで紆余曲折していた方法を紹介します。 列挙だけするとこんな感じです。 vagrant の VM イメージに入っているもの omnibus installer を使う knife solo を使う OS の ruby 環境に chef を入れる RVM 環境を作って chef を入れる rbenv 環境を作って chef を入れる roundsman を使って chef を入れる vagrant の VM イメージに入っているもの vagrant の VM イメージには、大抵 ruby と chef がインストールされています。 veewee を使ってあたらしい VM イメージを作成すると必ずインストールさ

    開発サーバに chef を入れるときの 11の方法 - Hack like a rolling stone
  • PHP のドキュメントを Sphinx で書いてみる (phpautodoc を作ってみた) #sphinxjp - Hack like a rolling stone

    この記事は Sphinx アドベントカレンダーの 26日目(相当)を勝手に書いたものです。 Sphinx の autodoc Sphinx には autodoc という機能があります。 未だにうまく使う方法を理解できていないのですが、ちゃんと使うと Python コードに書かれた docstring を元に Sphinx 文書にリファレンスを埋め込むことができるそうです。 Javadoc や Doxygen のようなことができるということですね。 「Sphinx 文書に埋め込む」というスタイルをとっているため、 コードに記述しづらいシステムの概要やミドルウェアの話、 運用における注意点などは通常どおり Sphinx 文書として記述して、 コードに関する説明などは docstring に書くという書き分けができそうです。 ただ、あまり詳しい説明が書いていないこともあり、 また Python

    PHP のドキュメントを Sphinx で書いてみる (phpautodoc を作ってみた) #sphinxjp - Hack like a rolling stone
  • 2012年1月時点で日本語でSphinxを使う時のストレスを減らす拡張機能 - Hack like a rolling stone

    最近 Twitter を見ていたら というのを見かけました。 この Sphinx 拡張は @shibukawa の渋日記: 日語でSphinxを使う時のストレスを減らす拡張機能 をベースにして、 ディレクティブなどへの対応を行ったもののようです。 当初、@shibukawa はこの Sphinx 拡張の目的をこんな風に説明をしていました。 Sphinxで日語を書くときに、日語の途中で改行を入れると、そこに空欄の文字が入ってしまい、 ブラウザで見るときにちょっと見た目が悪くなったりします。 まぁ、これはSphinxのせいというよりも、ブラウザのせいですが。 どういうことでしょうか。見てみるとわかりやすいので、実際に試してみます。 Sphinx に以下の文章を与えて HTML 化してみます。 改行を含んだ日語を 使ってみると Sphinx では改行の部分に 空白が含まれてしまいます。

    2012年1月時点で日本語でSphinxを使う時のストレスを減らす拡張機能 - Hack like a rolling stone
  • (7日目) Sphinx 拡張を作ってみよう (sphinxcontrib.nicovideo) - Hack like a rolling stone

    昨日の記事ではさまざまな Sphinx 拡張を紹介しました。 その中で YouTube の動画を埋め込む Sphinx 拡張を紹介しましたが、 その中には日の誇るおもしろ動画サービス、ニコニコ動画用の Sphinx 拡張が見当たりませんでした。 ということで、今日は sphinxcontrib.youtube に対抗して sphinxcontrib.nicovideo を作りながら、 Sphinx 拡張の作り方を紹介したいと思います。 使い方 まずは sphinxcontrib.nicovideo の使い方から紹介します。 sphinxcontrib.nicovideo は easy_install でインストールできます。 $ easy_install sphinxcontrib-nicovideo 次に conf.py で sphinxcontrib-nicovideo モジュールを

    (7日目) Sphinx 拡張を作ってみよう (sphinxcontrib.nicovideo) - Hack like a rolling stone
  • (11日目) Sphinx から PDF を生成してみよう (LaTeX 編) - Hack like a rolling stone

    今日のアドベントカレンダーは再び PDF 生成の話です。 前回は rst2pdf を使って PDF 生成を行いましたが、今日は LaTeX 経由で PDF 生成する方法を紹介します。 どちらも PDF 形式のドキュメントを生成することができますが、 それぞれで使い方や仕上がりが異なっているので、どちらかお好きな方で試すのがよいと思います。 TeXLive 2011 のインストール まずは LaTeX をインストールします。 Sphinx では日語の文字コードとして UTF-8 を利用しているため、 利用する LaTeXUTF-8 に対応したものである必要があります。 ここでは TeX 系統合パッケージのひとつである TeXLive を利用します。 なお、TeXLive 2009 までは収録されている pLaTeX は EUC-JP ベースとのことなので、 ここでは最新版の 2011

    (11日目) Sphinx から PDF を生成してみよう (LaTeX 編) - Hack like a rolling stone
  • (24日目) schema2rst と Sphinx でお手軽データベース定義書作り - Hack like a rolling stone

    ここ数日 blockdiag の話が続いていましたが、久しぶりに Sphinx の話に戻ります。 僕は Sphinx を使ってお仕事のドキュメントを書いているので、 ドキュメントのひとつとしてデータベース定義書を書くことがあります。 このデータベース定義書、みなさんはどうやってメンテナンスしていますか? 以前、僕のチームでは Excel で定義書を作っていたのですが、 定義書と実際に稼動しているスキーマが異なることが稀にあり、 混乱が生したり、ちょっとしたトラブルの元になることがありました。*1 よく考えてみると、データベース定義書とスキーマを二重に管理しなくてはならないので、 どこかで同期に失敗すると(更新忘れなど)そこに差ができてしまうのは自明なことです。 一部の企業では Excel から DDL を書きだすようなマクロを持っているそうですが、 差分更新ができないなどでうまくメンテナン

    (24日目) schema2rst と Sphinx でお手軽データベース定義書作り - Hack like a rolling stone
    heavenshell
    heavenshell 2011/12/25
    おーこれはいいなぁ。
  • (19日目) blockdiag を Pukiwiki で使ってみよう - Hack like a rolling stone

    昨日の記事では Trac の Wiki に blockdiag の図を埋め込む方法をご紹介しました。 今日は他のドキュメントツールである Pukiwiki に blockdiag の図を埋め込む方法をご紹介しましょう。 Pukiwiki は PHP で動作する Wiki クローンのひとつで、現在は開発が止まっていますがそれでも強い人気を誇っています。 Pukiwiki 用の blockdiag プラグインは @hekyou さんが開発されたものです。 @hekyou さんは他にも複数人で blockdiag の図を編集できる Interactive shell live!! を開発されるなど、 blockdiag にいろいろ貢献されています :-) インストール Pukiwiki のインストールを行います。 Pukiwiki はアーカイブをダウンロードして設定ファイルを書き換えるだけで動く

    (19日目) blockdiag を Pukiwiki で使ってみよう - Hack like a rolling stone
    heavenshell
    heavenshell 2011/12/20
    おー。pukiwiki と連携できるのか!
  • 1