Edited at

でかい表をmarkdownで作るのに疲れたら、、、

More than 5 years have passed since last update.

ちょっと大きめの表を markdown形式で作成する機会がありました。



  • |の数を合わせるのが面倒!

  • 追加・変更が大変!

となったので、

https://github.com/arches/table_print

という gemを使いました。

以前のバージョンだと、 ヘッダー行の下に|がなく、

若干面倒だったので、Pull requestを送ったところ見事マージされました!

ということでちょっと使い道を


インストール

適当に rubyをインストール(私は2.0系)

gem install table_print


コード

追加・変更が必要だったので、コードがしました。


sample.rb

require 'table_print'

require 'ostruct'

x = []
x << OpenStruct.new(title: "たいとる1", description: "せつめいぶん", photos: %w(しゃしんa-1 しゃしんa-2 しゃしんa-3).collect{|o| {name: o}})
x << OpenStruct.new(title: "たいとる2", description: "せつめいぶん", photos: %w(しゃしんb-1 しゃしんb-2).collect{|o| {name: o}})
x << OpenStruct.new(title: "たいとる3", description: "せつめいぶん", photos: %w(しゃしんc-1 しゃしんc-2 しゃしんc-3 しゃしんc-4).collect{|o| {name: o}})

# ここで出力
tp x, :title, :description, 'photos.name'



実行結果

実行結果は以下のようになります。

TITLE     | DESCRIPTION  | PHOTOS.NAME

----------|--------------|------------
たいとる1 | せつめいぶん | しゃしんa-1
| | しゃしんa-2
| | しゃしんa-3
たいとる2 | せつめいぶん | しゃしんb-1
| | しゃしんb-2
たいとる3 | せつめいぶん | しゃしんc-1
| | しゃしんc-2
| | しゃしんc-3
| | しゃしんc-4

コレをコピペすると以下のようになります。

ヘッダーとかの文字を適宜修正して、完成。

ちょっと楽になりましたとさ。

TITLE
DESCRIPTION
PHOTOS.NAME

たいとる1
せつめいぶん
しゃしんa-1

しゃしんa-2

しゃしんa-3

たいとる2
せつめいぶん
しゃしんb-1

しゃしんb-2

たいとる3
せつめいぶん
しゃしんc-1

しゃしんc-2

しゃしんc-3

しゃしんc-4