Directory: middleman

middleman v4 の collection と resources 機能を使ってみる

middlemn v4 では resources と collection というのが導入されたらしいのですが、を見てもいまいち分かりにくいです。どうやらわざわざextension で manipulate_resource_list() を使わなくても手軽にリソース操作ができるっぽいですね。公式ドキュメントresources を使ってみる。とりあえず、すべてのリソースに ‘foo’ というローカル変数を使えるようにしてみます。config.rb に resources.each{|res|...

フレームワーク構想

middleman ベースで作りたいと思ってることmiddleman-blog だとソースファイル名に日付をつけることが前提になってるのがイヤ(frontmatterに date: つければいいんだけど)hack してみたけど、あんま美しくならないgame/kancolle/event/2015-summary.html.md をつくると、自動的に game/index.html, game/kancolle/index.html, game/kancolle/event/index.html ...

middleman-akcms 文書管理拡張機能のご紹介

概要middleman のディレクトリごとのサマリーを自動生成する文書管理システムを拡張機能として作ってみました。akcms - Ataru Kodaka Content Management System - atarukodaka/middleman-akcms動作サンプルはこちら:Home - Ataru Kodaka Siteスナップショット:foo/bar/baz.html を作成すると、foo/bar/index.html, foo/index.html, index.html とい...

extension覚書

extension が new されるのはMiddleman::CoreExtensions::Extensions::ClassMethods::registerbin/middlemanMiddleman::Cli::Base.start super (Thor) Middleman::Cli::Console.console require 'middleman-core' autoload :Application 'middleman-core/applicatio...

Middleman の extensionを書くための覚書

まとめ中基本Middleman::Extension から派生させたクラスを作り(Middleman::Hello::Extension)、そこに helper 関数の追加、 resource の manipulate、hook の追加などする。そしてMiddleman::Extension.register(:hello, Middleman::Hello::Extension) した上で、config.rb で activate :hello させれば有効になる。参考Middleman カス...

cucumber で middleman extension の開発とテスト

概要テストのフレームワーク。自然言語っぽく書けるのがいいらしい。middleman extension の開発で使うことを想定。参考:https://github.com/cucumber/cucumberMiddleman カスタム拡張チュートリアル - Qiitaインストールと使い方ただ使うなら gem i cucumber だが、extension なので middleman-hello.gemspec に入れておく。% vi middleman-hello.gemspec...Gem::...

middlemanページの目次を作る

設定markdown エンジンとして redcarpet を使い、:with_toc_data を true にセットします。 % vi config.rbset:markdown_engine,:redcarpetset:markdown,:fenced_code_blocks=>true,:autolink=>true,:smartypants=>true,:tables=>true,:with_toc_data=>trueヘルパー関数ヘルパー関数を加えます...

middleman を読む

middleman を読む手順結構複雑で、難しいです。rack / middlewaremodule, extend など ruby の詳細hook の動きなどについての知識が必要になります。根幹となる機能も “core-extensions” と拡張機能扱いで実装されているので、追っていくのがなかなか大変です。手順として、まず console で触るサンプルスクリプトを書き、簡単な拡張機能を書いてみるmiddlemanのソース一式を手元に落とし、pry や printf デバッグなどでひとつず...