Blank File

LinuxとかPythonとかVimとか、趣味でいじる感じで

MarkdownとreStructuredTextを単一ファイルに混ぜ書きできるM2Rの紹介(Sphinx拡張対応)

MarkdownとreStructuredText (rst) を混ぜ書きしてrstを出力できるM2Rというツールを (1年ほど前に作っていたのですが今さら) 紹介します。

rstで出力するのでSphinx拡張としても使えます。 Markdownのテーブルや脚注にも対応しています。

続きを読む

Python3 の async/await/yield from

お題「シンタックス・ハイライト機能で対応してほしい言語」

マイお題への回答ってブログに書けばいいんでしょうか? よくわからない・・・

とりあえず、Python3で追加された yield from 文と 3.5 で追加された async/await が正しくハイライトされないようなので、対応していただけると嬉しいです!

import asyncio

async def a():
    await asyncio.sleep(1)

def b():
    yeild from asyncio.sleep(1)

# yield は OK っぽい
def i_loop(n: int) -> int:
    for i in range(n):
        yield i

他に、async withasync for も追加されました。 (サンプルコードはpythonのドキュメントより)

async for TARGET in ITER:
    BLOCK
else:
    BLOCK2

async with EXPR as VAR:
    BLOCK

8. 複合文 (compound statement) — Python 3.5.1 ドキュメント

WDOMのテーマ機能と起動オプションの紹介

先日紹介したWDOMの開発者向け機能の紹介です。 CSSフレームワークを使ったテーマ機能と起動オプションについて紹介します。

基本的な機能は前回の記事をご参照ください。

WDOMに色々更新を行ったので、ぜひ最新のバージョンでお試し下さい。 まだPyPIに登録してない&バージョン番号をきちんと管理していないので、pip install -Uだと更新されません。 お手数ですが一旦アンインストールしてインストールし直してください。

pip uinstall -y wdom && pip install git+http://github.com/miyakogi/wdom

前回の記事を見なおしてみると、色々夢は語っていましたが、ほとんど実現できていないですね・・・悲しい・・・ 前回はテキストオンリーで寂しい感じだったので、今回は視覚に訴える感じを目指して書きます。

  • [2016/05/03 追記]: デフォルトのテーマのimport方法を変更しました
  • [2017/08/11 編集]: 最近のアップデートを反映
続きを読む

GitLabでドキュメントのビルドとホスティング

完全に思いつきで、GitLabでドキュメントをgit管理してCIでビルドしてGitLab Pagesで表示する、というのをやってみました。

GitLabはGitHubみたいなサービスです。 (というかGitHubクローンで、以前はあまりにも似過ぎてたためになんか色々あったらしい、というウワサをどこかで目にしたような・・・?) (そのせいかわかりませんが、プルリクエストはMerge Requestという名前のようですね・・・)

GitHubでも似たようなことはできますが、

  • Travis CI(などのCIサービス)を使ってgh-pagesブランチにプッシュする
  • Read the Docsを使ってそっちでビルド&表示

などいずれにしろ別サービスとの連携が必要になってしまいます。 ローカルでhtmlを作って自分でpushすることもできますが、それは何か少し負けた気がするので却下です。

GitLabはCIもGitLab上で回せるので、

まで一つのサービスで完結できました。

GitLabのアカウントはGitHubの認証で簡単に作れるので、例えば英語ドキュメントの翻訳プロジェクトなどでは使ってみるのもありではないでしょうか。

ということで簡単に手順を紹介します。

ちなみに、思いついてからGitLabのアカウントを作るような状態でしたが、一時間足らずでリポジトリを作ってページを表示するまでできました。

続きを読む

PythonでブラウザベースのGUIアプリを作るライブラリ、WDOMの紹介

WDOMというPythonでブラウザベースのGUIアプリを作るためのライブラリを作っています。 ちょっとしたGUIツールを作ろうと思った時に満足できるものがなかったので作りました。

miyakogi/wdom: DOM manipulation library for python

WDOMのターゲットは、あくまでブラウザベースのデスクトップGUIアプリです。 ローカルにWebサーバを立ち上げてブラウザ上に表示しますが、Webフレームワークではありません。 ちなみに、拙作LiveMark.vimもこれを使っています。

まだ開発中なので細かいバグはあると思いますし、後方互換性を崩すような変更が入る可能性もありますが、そろそろ試してもらえるくらいにはなってきたので使い方を中心に紹介します。

もしバグを発見したらGitHubのIssueに報告していただけると助かります。

続きを読む