コマンドライン使いもLibreOffice
-
Upload
kiwamu-okabe -
Category
Technology
-
view
2.828 -
download
4
description
Transcript of コマンドライン使いもLibreOffice
コマンドライン使いもLibreOfficeコマンドライン使いもLibreOfficeコマンドライン使いもLibreOfficeコマンドライン使いもLibreOfficeコマンドライン使いもLibreOffice
Kiwamu OkabeKiwamu OkabeKiwamu OkabeKiwamu OkabeKiwamu Okabe
私は誰?私は誰?私は誰?私は誰?私は誰?
☆ Twitter: @master_q☆ Twitter: @master_q☆ Twitter: @master_q☆ Twitter: @master_q☆ Twitter: @master_q
☆ ミラクル・リナックス勤務☆ ミラクル・リナックス勤務☆ ミラクル・リナックス勤務☆ ミラクル・リナックス勤務☆ ミラクル・リナックス勤務
☆ 前はコピー機のOSをNetBSDで作ってた☆ 前はコピー機のOSをNetBSDで作ってた☆ 前はコピー機のOSをNetBSDで作ってた☆ 前はコピー機のOSをNetBSDで作ってた☆ 前はコピー機のOSをNetBSDで作ってた
☆ デジタルサイネージのソフト開発してます☆ デジタルサイネージのソフト開発してます☆ デジタルサイネージのソフト開発してます☆ デジタルサイネージのソフト開発してます☆ デジタルサイネージのソフト開発してます
☆ OSSに興味のある{エンジニア,インターン}募集中です!☆ OSSに興味のある{エンジニア,インターン}募集中です!☆ OSSに興味のある{エンジニア,インターン}募集中です!☆ OSSに興味のある{エンジニア,インターン}募集中です!☆ OSSに興味のある{エンジニア,インターン}募集中です!
最近よくWebページ作るんです最近よくWebページ作るんです最近よくWebページ作るんです最近よくWebページ作るんです最近よくWebページ作るんです
ややこしい表現には図が効きますややこしい表現には図が効きますややこしい表現には図が効きますややこしい表現には図が効きますややこしい表現には図が効きます
☆ でも世の中良いドローソフトが不足☆ でも世の中良いドローソフトが不足☆ でも世の中良いドローソフトが不足☆ でも世の中良いドローソフトが不足☆ でも世の中良いドローソフトが不足
☆ tgifとかにはもう耐えられないんです☆ tgifとかにはもう耐えられないんです☆ tgifとかにはもう耐えられないんです☆ tgifとかにはもう耐えられないんです☆ tgifとかにはもう耐えられないんです
☆ コネクタも使えないドローソフトって...☆ コネクタも使えないドローソフトって...☆ コネクタも使えないドローソフトって...☆ コネクタも使えないドローソフトって...☆ コネクタも使えないドローソフトって...
☆ LibreOfficeをドローソフトとして使おう☆ LibreOfficeをドローソフトとして使おう☆ LibreOfficeをドローソフトとして使おう☆ LibreOfficeをドローソフトとして使おう☆ LibreOfficeをドローソフトとして使おう
でも図を貼り付けるの面倒...でも図を貼り付けるの面倒...でも図を貼り付けるの面倒...でも図を貼り付けるの面倒...でも図を貼り付けるの面倒...
☆ LibreOfficeで描く☆ LibreOfficeで描く☆ LibreOfficeで描く☆ LibreOfficeで描く☆ LibreOfficeで描く
☆ png化☆ png化☆ png化☆ png化☆ png化
☆ Webブラウザで見た目チェック☆ Webブラウザで見た目チェック☆ Webブラウザで見た目チェック☆ Webブラウザで見た目チェック☆ 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
$ 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
$ 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
$ 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
$ 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ファイル化make一発でdrawディレクトリにあるodgファイルをpngファイル化make一発でdrawディレクトリにあるodgファイルをpngファイル化make一発でdrawディレクトリにあるodgファイルをpngファイル化make一発でdrawディレクトリにあるodgファイルをpngファイル化ODGS := $(wildcard draw/*.odg)PNGS := $(patsubst %.odg,%.png,${ODGS})
all: ${PNGS}
%.png: %.odgunoconv -n -f png -o [email protected] $< 2> /dev/null || \
unoconv -f png -o [email protected] $< || \ unoconv -n -f png -o [email protected] $< 2> /dev/null || \
unoconv -f png -o [email protected] $<convert -resize 640x [email protected] $@rm -f [email protected]
clean:rm -f draw/*.png draw/*.tmp
.PHONY: clean
ODGS := $(wildcard draw/*.odg)PNGS := $(patsubst %.odg,%.png,${ODGS})
all: ${PNGS}
%.png: %.odgunoconv -n -f png -o [email protected] $< 2> /dev/null || \
unoconv -f png -o [email protected] $< || \ unoconv -n -f png -o [email protected] $< 2> /dev/null || \
unoconv -f png -o [email protected] $<convert -resize 640x [email protected] $@rm -f [email protected]
clean:rm -f draw/*.png draw/*.tmp
.PHONY: clean
ODGS := $(wildcard draw/*.odg)PNGS := $(patsubst %.odg,%.png,${ODGS})
all: ${PNGS}
%.png: %.odgunoconv -n -f png -o [email protected] $< 2> /dev/null || \
unoconv -f png -o [email protected] $< || \ unoconv -n -f png -o [email protected] $< 2> /dev/null || \
unoconv -f png -o [email protected] $<convert -resize 640x [email protected] $@rm -f [email protected]
clean:rm -f draw/*.png draw/*.tmp
.PHONY: clean
ODGS := $(wildcard draw/*.odg)PNGS := $(patsubst %.odg,%.png,${ODGS})
all: ${PNGS}
%.png: %.odgunoconv -n -f png -o [email protected] $< 2> /dev/null || \
unoconv -f png -o [email protected] $< || \ unoconv -n -f png -o [email protected] $< 2> /dev/null || \
unoconv -f png -o [email protected] $<convert -resize 640x [email protected] $@rm -f [email protected]
clean:rm -f draw/*.png draw/*.tmp
.PHONY: clean
ODGS := $(wildcard draw/*.odg)PNGS := $(patsubst %.odg,%.png,${ODGS})
all: ${PNGS}
%.png: %.odgunoconv -n -f png -o [email protected] $< 2> /dev/null || \
unoconv -f png -o [email protected] $< || \ unoconv -n -f png -o [email protected] $< 2> /dev/null || \
unoconv -f png -o [email protected] $<convert -resize 640x [email protected] $@rm -f [email protected]
clean:rm -f draw/*.png draw/*.tmp
.PHONY: clean
なんで4回もunoconv呼ぶの?なんで4回もunoconv呼ぶの?なんで4回もunoconv呼ぶの?なんで4回もunoconv呼ぶの?なんで4回もunoconv呼ぶの?
☆ libreofficeが既に起動している場合には-nオプションを付ける必要がある☆ libreofficeが既に起動している場合には-nオプションを付ける必要がある☆ libreofficeが既に起動している場合には-nオプションを付ける必要がある☆ libreofficeが既に起動している場合には-nオプションを付ける必要がある☆ libreofficeが既に起動している場合には-nオプションを付ける必要がある
☆ unoconvがなぜかエラー終了する...☆ unoconvがなぜかエラー終了する...☆ unoconvがなぜかエラー終了する...☆ unoconvがなぜかエラー終了する...☆ unoconvがなぜかエラー終了する...
この2つを防止するために成功するまで最大4回呼びます。この2つを防止するために成功するまで最大4回呼びます。この2つを防止するために成功するまで最大4回呼びます。この2つを防止するために成功するまで最大4回呼びます。この2つを防止するために成功するまで最大4回呼びます。
将来後者は改善されるといいなー(他力本願)将来後者は改善されるといいなー(他力本願)将来後者は改善されるといいなー(他力本願)将来後者は改善されるといいなー(他力本願)将来後者は改善されるといいなー(他力本願)
ところでjekyllとかHakyllとかところでjekyllとかHakyllとかところでjekyllとかHakyllとかところでjekyllとかHakyllとかところでjekyllとかHakyllとか
☆ http://jekyllrb.com/☆ http://jekyllrb.com/☆ http://jekyllrb.com/☆ http://jekyllrb.com/☆ http://jekyllrb.com/
☆ http://jaspervdj.be/hakyll/☆ http://jaspervdj.be/hakyll/☆ http://jaspervdj.be/hakyll/☆ http://jaspervdj.be/hakyll/☆ http://jaspervdj.be/hakyll/
を使うと静的はWebページを少ない労力で作れます。を使うと静的はWebページを少ない労力で作れます。を使うと静的はWebページを少ない労力で作れます。を使うと静的はWebページを少ない労力で作れます。を使うと静的はWebページを少ない労力で作れます。
図の貼り付けも楽したい!図の貼り付けも楽したい!図の貼り付けも楽したい!図の貼り付けも楽したい!図の貼り付けも楽したい!
応用: unoconv + Hakyll応用: unoconv + Hakyll応用: unoconv + Hakyll応用: unoconv + Hakyll応用: unoconv + HakyllODGS := $(wildcard draw/*.odg)PNGS := $(patsubst %.odg,%.png,${ODGS})
all: build ${PNGS}
%.png: %.odgunoconv -n -f png -o [email protected] $< 2> /dev/null || \
unoconv -f png -o [email protected] $< || \ unoconv -n -f png -o [email protected] $< 2> /dev/null || \
unoconv -f png -o [email protected] $<convert -resize 500x [email protected] $@rm -f [email protected]
hakyll: hakyll.hsghc --make -Wall -Werror hakyll.hs -o hakyll
build: hakyll./hakyll build
server: build./hakyll server
ODGS := $(wildcard draw/*.odg)PNGS := $(patsubst %.odg,%.png,${ODGS})
all: build ${PNGS}
%.png: %.odgunoconv -n -f png -o [email protected] $< 2> /dev/null || \
unoconv -f png -o [email protected] $< || \ unoconv -n -f png -o [email protected] $< 2> /dev/null || \
unoconv -f png -o [email protected] $<convert -resize 500x [email protected] $@rm -f [email protected]
hakyll: hakyll.hsghc --make -Wall -Werror hakyll.hs -o hakyll
build: hakyll./hakyll build
server: build./hakyll server
ODGS := $(wildcard draw/*.odg)PNGS := $(patsubst %.odg,%.png,${ODGS})
all: build ${PNGS}
%.png: %.odgunoconv -n -f png -o [email protected] $< 2> /dev/null || \
unoconv -f png -o [email protected] $< || \ unoconv -n -f png -o [email protected] $< 2> /dev/null || \
unoconv -f png -o [email protected] $<convert -resize 500x [email protected] $@rm -f [email protected]
hakyll: hakyll.hsghc --make -Wall -Werror hakyll.hs -o hakyll
build: hakyll./hakyll build
server: build./hakyll server
ODGS := $(wildcard draw/*.odg)PNGS := $(patsubst %.odg,%.png,${ODGS})
all: build ${PNGS}
%.png: %.odgunoconv -n -f png -o [email protected] $< 2> /dev/null || \
unoconv -f png -o [email protected] $< || \ unoconv -n -f png -o [email protected] $< 2> /dev/null || \
unoconv -f png -o [email protected] $<convert -resize 500x [email protected] $@rm -f [email protected]
hakyll: hakyll.hsghc --make -Wall -Werror hakyll.hs -o hakyll
build: hakyll./hakyll build
server: build./hakyll server
ODGS := $(wildcard draw/*.odg)PNGS := $(patsubst %.odg,%.png,${ODGS})
all: build ${PNGS}
%.png: %.odgunoconv -n -f png -o [email protected] $< 2> /dev/null || \
unoconv -f png -o [email protected] $< || \ unoconv -n -f png -o [email protected] $< 2> /dev/null || \
unoconv -f png -o [email protected] $<convert -resize 500x [email protected] $@rm -f [email protected]
hakyll: hakyll.hsghc --make -Wall -Werror hakyll.hs -o hakyll
build: hakyll./hakyll build
server: build./hakyll server
応用色々おいしいunoconv応用色々おいしいunoconv応用色々おいしいunoconv応用色々おいしいunoconv応用色々おいしいunoconv
TeXと組み合わせてもいいかもしれませんね!TeXと組み合わせてもいいかもしれませんね!TeXと組み合わせてもいいかもしれませんね!TeXと組み合わせてもいいかもしれませんね!TeXと組み合わせてもいいかもしれませんね!
PR:関数型言語の同人誌書きましたPR:関数型言語の同人誌書きましたPR:関数型言語の同人誌書きましたPR:関数型言語の同人誌書きましたPR:関数型言語の同人誌書きました
立ち読みしてして!立ち読みしてして!立ち読みしてして!立ち読みしてして!立ち読みしてして!