SlideShare a Scribd company logo
コマンドライン使いもLibreOffice


     Kiwamu Okabe
私は誰?
☆ Twitter: @master_q
☆ ミラクル・リナックス勤務
☆ 前はコピー機のOSをNetBSDで作ってた
☆ デジタルサイネージのソフト開発してます
☆ OSSに興味のある{エンジニア,インターン}
募集中です!
最近よくWebページ作るんです
ややこしい表現には図が効きます
☆ でも世の中良いドローソフトが不足
☆ tgifとかにはもう耐えられないんです
☆ コネクタも使えないドローソフトって...
☆ LibreOfficeをドローソフトとして使おう
でも図を貼り付けるの面倒...
☆ LibreOfficeで描く
☆ png化
☆ Webブラウザで見た目チェック
☆ ...なんかうまくない...
☆ 最初に戻る
こんなことできますか?
つまり一発で変換したい
$ tree ./draw # ビフォワー
./draw
|-- 2012-12-22-jhc_compile.odg
|-- 2012-12-27-arafura_design.odg
|-- 2012-12-27-compile.odg
|-- 2013-01-09-sequence_diagram.odg
`-- 2013-01-25-jhc_compile_flow.odg

↓↓ 変換 ↓↓

$ tree ./draw # アフター
./draw
|-- 2012-12-22-jhc_compile.odg
|-- 2012-12-22-jhc_compile.png
|-- 2012-12-27-arafura_design.odg
|-- 2012-12-27-arafura_design.png
|-- 2012-12-27-compile.odg
|-- 2012-12-27-compile.png
|-- 2013-01-09-sequence_diagram.odg
|-- 2013-01-09-sequence_diagram.png
|-- 2013-01-25-jhc_compile_flow.odg
`-- 2013-01-25-jhc_compile_flow.png
できました!
make一発でdrawディレクトリにあるodgファイ
ルをpngファイル化
ODGS   :=   $(wildcard   draw/*.odg)
PNGS   :=   $(patsubst   %.odg,%.png,${ODGS})

all: ${PNGS}

%.png: %.odg
        unoconv -n -f png -o $@.tmp $< 2> /dev/null     ||   
          unoconv -f png -o $@.tmp $<                   ||   
          unoconv -n -f png -o $@.tmp $< 2> /dev/null   ||   
          unoconv -f png -o $@.tmp $<
        convert -resize 640x $@.tmp $@
        rm -f $@.tmp

clean:
            rm -f draw/*.png draw/*.tmp

.PHONY: clean
なんで4回もunoconv呼ぶの?
☆ libreofficeが既に起動している場合には-n
オプションを付ける必要がある
☆ unoconvがなぜかエラー終了する...
この2つを防止するために成功するまで最大4
回呼びます。
将来後者は改善されるといいなー(他力本願)
ところでjekyllとかHakyllとか
☆ http://jekyllrb.com/
☆ http://jaspervdj.be/hakyll/
を使うと静的はWebページを少ない労力で作
れます。
図の貼り付けも楽したい!
応用: unoconv + Hakyll
ODGS   :=   $(wildcard   draw/*.odg)
PNGS   :=   $(patsubst   %.odg,%.png,${ODGS})

all: build ${PNGS}

%.png: %.odg
        unoconv -n -f png -o $@.tmp $< 2> /dev/null     ||   
          unoconv -f png -o $@.tmp $<                   ||   
          unoconv -n -f png -o $@.tmp $< 2> /dev/null   ||   
          unoconv -f png -o $@.tmp $<
        convert -resize 500x $@.tmp $@
        rm -f $@.tmp

hakyll: hakyll.hs
        ghc --make -Wall -Werror hakyll.hs -o hakyll

build: hakyll
        ./hakyll build

server: build
        ./hakyll server
応用色々おいしいunoconv
TeXと組み合わせてもいいかもしれませんね!
PR:関数型言語の同人誌書きました
立ち読みしてして!

More Related Content

PPTX
俺と LightSail 概要と使ってみた
PDF
レガシーシステムのDBマイグレーションし始めた話
PPTX
俺と今年請けた仕事のテック分布
PDF
西区勉強会用スライド
PPTX
俺とモデリング
PPTX
俺とホットキー
PDF
NUTハッカソン2014成果報告
PPTX
俺とサーバレスアーキテクチャ Aws cognito + s3 + ses + lambda編
俺と LightSail 概要と使ってみた
レガシーシステムのDBマイグレーションし始めた話
俺と今年請けた仕事のテック分布
西区勉強会用スライド
俺とモデリング
俺とホットキー
NUTハッカソン2014成果報告
俺とサーバレスアーキテクチャ Aws cognito + s3 + ses + lambda編

What's hot (20)

PDF
ちゃんとWeb会議スライド『Coffee script』
PDF
Nodeにしましょう
PDF
自動化ツール「Grunt.js」について
PDF
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
PPTX
俺と2016コミュニティ活動振り返り
PDF
PDF
コミケの取りまとめをしたので
PDF
ソースコードをAAに変換するやつやってみた
PDF
Simplest API Server "miq"
PPTX
Ruby と C# をつなぐ
PDF
CLR/H第54回勉強会 ライトニングトーク
PPTX
俺と Ha4go と さくらクラウド
PDF
Webページで学ぶJavaScript2013 第5回
PDF
What's Sketch.app
PDF
K初めてのstylus
PDF
202003 functiontalkinnotesknowsworkshop20th
PPTX
Hexo + Github + CircleCI + Netlifyでブログ運用
PPTX
Shell で制限付き並列処理をしよう
PDF
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
PDF
OSC 2013 .Enterprise
ちゃんとWeb会議スライド『Coffee script』
Nodeにしましょう
自動化ツール「Grunt.js」について
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
俺と2016コミュニティ活動振り返り
コミケの取りまとめをしたので
ソースコードをAAに変換するやつやってみた
Simplest API Server "miq"
Ruby と C# をつなぐ
CLR/H第54回勉強会 ライトニングトーク
俺と Ha4go と さくらクラウド
Webページで学ぶJavaScript2013 第5回
What's Sketch.app
K初めてのstylus
202003 functiontalkinnotesknowsworkshop20th
Hexo + Github + CircleCI + Netlifyでブログ運用
Shell で制限付き並列処理をしよう
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
OSC 2013 .Enterprise
Ad

Viewers also liked (20)

PPTX
Reported speech
PPTX
2011.12 marketing principles
PPTX
Learning3.0 chicago oct_11
PDF
Manual estimulacion-prenatal-1210563942438206-9
PPTX
CBE Ltd Seamus Mc Hugh
PPS
18 canh dep mua thu tren the gioi (25 nov 11)
PDF
MedCAHPS Analysis & Plan_May 14 2012
PDF
What is Metasepi?
PDF
Teens&Technology
PDF
Convocation
PDF
Mind Mapping: Walking Notes, Urban Awareness Diary, Barcelona
PPTX
The Power of Stickers
PPTX
Patient Centered
PPT
Eli leadership principles 7-10-13
PPTX
Transformed by You
PPTX
South Korea - The Big Leak (Personal Data leak of Credit Card Companies)
PPTX
Algemene presentatie The Next Level
PDF
clu2cの動態保存とはなんでしょう?(東海道らぐ 初オフ会 in オープンソースカンファレンス 2012 Kansai@Kyoto 資料)
PPT
Online Campaign
Reported speech
2011.12 marketing principles
Learning3.0 chicago oct_11
Manual estimulacion-prenatal-1210563942438206-9
CBE Ltd Seamus Mc Hugh
18 canh dep mua thu tren the gioi (25 nov 11)
MedCAHPS Analysis & Plan_May 14 2012
What is Metasepi?
Teens&Technology
Convocation
Mind Mapping: Walking Notes, Urban Awareness Diary, Barcelona
The Power of Stickers
Patient Centered
Eli leadership principles 7-10-13
Transformed by You
South Korea - The Big Leak (Personal Data leak of Credit Card Companies)
Algemene presentatie The Next Level
clu2cの動態保存とはなんでしょう?(東海道らぐ 初オフ会 in オープンソースカンファレンス 2012 Kansai@Kyoto 資料)
Online Campaign
Ad

Similar to コマンドライン使いもLibreOffice (20)

PDF
スタート低レイヤー #0
PDF
サーバーサイドな人がフロントエンド技術と仲良くするはじめの一歩
PDF
とある Perl Monger の働き方
PDF
Xbyakの紹介とその周辺
KEY
今さら始めるJavaScript
PDF
PHPとJavaScriptの噺
PDF
静的サイトどこにする?
PPTX
Inside of excel 方眼紙撲滅委員会 #pyfes
PDF
C・C++用のコードカバレッジツールを自作してみた話
PDF
Djangoのススメ
PDF
RubyConfの話の続きのおはなし
KEY
ゆるかわPhp
PPTX
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
PDF
ngx_small_lightで動的サムネイル生成 #yapcasia2012
PDF
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
PDF
Introduction to Favmemo for Immature Engineers
PDF
ビビッド・パワポ・オペレーションβ ~エンジニアのための、ゆるふわパワポ術~(qpstudy 2013.01 LT)
KEY
Webサイトのようには作れない!Webアプリ設計の考え方
PDF
らくちん Go言語
PDF
思い通りにいかないのがWebなんて 割り切りたくないから (Gunma.web #4 2011/02/12)
スタート低レイヤー #0
サーバーサイドな人がフロントエンド技術と仲良くするはじめの一歩
とある Perl Monger の働き方
Xbyakの紹介とその周辺
今さら始めるJavaScript
PHPとJavaScriptの噺
静的サイトどこにする?
Inside of excel 方眼紙撲滅委員会 #pyfes
C・C++用のコードカバレッジツールを自作してみた話
Djangoのススメ
RubyConfの話の続きのおはなし
ゆるかわPhp
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
ngx_small_lightで動的サムネイル生成 #yapcasia2012
大規模ソーシャルゲームを支える技術~PHP+MySQLを使った高負荷対策~
Introduction to Favmemo for Immature Engineers
ビビッド・パワポ・オペレーションβ ~エンジニアのための、ゆるふわパワポ術~(qpstudy 2013.01 LT)
Webサイトのようには作れない!Webアプリ設計の考え方
らくちん Go言語
思い通りにいかないのがWebなんて 割り切りたくないから (Gunma.web #4 2011/02/12)

コマンドライン使いもLibreOffice