昨年より熱くなって帰ってきた
OSC2017 Hokkaido

No Comments
このエントリーをはてなブックマークに追加

2017年7月14日-15日の2日間にわたって今年も札幌コンベンションセンターで
OSC2017 Hokkaidoが開催されました。
30度以上の真夏日となった2日間、猛暑のなか多くの団体がオープンソースの
「今」を熱く伝えました。

▼札幌コンベンションセンター

そんなOSC2017 Hokkaidoの様子を

  • あるねこ(@aruneko99)
  • けんつ(@lrf141)
  • Gunzi(@Gunzi_d)
  • てまー(@Tkon_sec)
  • なかさん(@chikuwa_IT)
  • わんちゃん(@kinkedoudid)

のレポート班メンバー6人でお伝えします。

開催概要

=ポスター=

OSC2017 Hokkaido版のポスターは「参加者がOSSに親しみ、お祭りのように楽しめるイベント!」というコンセプトで札幌在住のデザイナー、コモモさんが作成してくださいました。
「臨場感あるイラスト」「賑わうブース」と方向性が決定し、イラストでのデザインとなりました。
コモモさんは、このポスターの他に北海道企画のカレーカンファレンスポスターや懇親会参加証のデザインも手掛けてくださいました。

=1日目=

1日目は7月14日(金)13時より、セミナーのみ1トラックで5名の登壇者による発表が行われ、約80名の方々にお越しいただきました。

セミナーはログ解析に始まり、Docker、自動化、サーバー仮想化・ストレージの運用管理、データベースなどインフラ系を中心とした内容で行われました。
セミナータイムテーブル(1日目)

セミナーの裏では、毎年恒例の資料の袋詰め作業(通称:蟹工船)や設備備品チェックなどの作業が行われていました。

▼袋詰めされた資料

今年は例年より多くのスタッフの協力があり、予定より早く準備を終えることができました。

=2日目=

■展示

展示は2日目の10時から16時まで行われ、今年も全国から集まった様々な展示ブースが
賑やかに出展されていました。
展示一覧


その中から3つのブースを紹介します。

▼ET ロボコン北海道地区実行委員会

ET ロボコン北海道地区実行委員会さんではETロボコンで使用する自律走行ロボットの機体展示やロボコンとはどういったものなのかなどといった紹介を行っていました。
その他にもロボコンに関するよろず相談や質問の受付なども行っており、ロボコンに関して幅広い展示となっていました。

▼Java Do

Java Doさんでは札幌を中心に北海道で活動してきたこれまでのイベントや勉強会についての紹介を行っていました。
展示の中では、これまで行われたイベントを動画で紹介したり、ステッカー配布なども行っていました。

▼株式会社サムライズム

株式会社サムライズムさんのブースではIntelliJ IDEAやPhpStormなどJetBrains社の開発ツールとJIRAをはじめとするAtlassian社のコラボレーションツールの紹介を行っていました。
紹介の中で、最近話題のKotlinを使ってIntelliJ IDEA上にある既存のJavaプロジェクトを書き換えていくライブコーディングなども行っていました。

■セミナー

2日目に行われたセミナーの中から北海道企画を含めた4セッションをレポートします。
セミナータイムテーブル(2日目)

(たぶん)世界初!?おっさんでも美少女になれる
「VRリモートプレゼンシステム」

担当:株式会社インフィニットループ
講師:松井健太郎さん 山口直樹さん あいえるたん

このセミナーでは世界初(?)のVRリモートプレゼンシステムを紹介していました。

このシステムは遠隔地からプレゼンを行うためのシステムです。登壇者である松井健太郎さんの3Dモデルがスクリーンに出現し、システムを実際に使用しながらセッションが行われました。この3Dモデルはスタジオで写真撮影したもので、後日セミナーで実演に使用した松井健太郎さんの3Dモデルが公開される予定です。

セミナーは松井健太郎さんとインフィニットループマスコットのあいえるたんの2人で進行され、このシステムの持つ機能をいくつか説明していました。
まずはカメラの切り替え機能です。これは、任意の位置に置いた定点カメラからの視点に切り替えることができます。
次に、ペイント機能です。これは画面上に2Dでペイントすることができる機能です。
最後に、モデルの切り替え機能です。セミナーではあいえるたんをUnityのマスコットに切り替える実演をしていました。

セミナーの最後には、聴講者の方2名が実際にこのシステムを体験しました。
マスコットのあいえるたんと実際におしゃべりしてみるといった、面白い試みがなされていました。

Linuxインストールが難しいPC(Asus E200HR)に
Linuxをインストールする方法

担当:小江戸らぐ
講師:羽鳥 健太郎さん

オークションで購入したAsus製モバイルノートにLinuxをインストールしようとすると、内蔵無線LANが認識しなかったり、スリープ・サスペンドできなかったり、microSDリーダーが認識しなかったりなどの問題により、Linuxのインストールが困難な端末であることが判明したそうです。
小江戸らぐ(LUG:Linux Users’ Group)の仲間と共に試行錯誤し、実際にLinuxがインストールできるまでの問題とその解決法についてお話していました。
セミナーでは実際にそのインストール難なLinuxマシンを使用。途中Wi-Fiが繋がらなくなるトラブルもありましたが、そんなトラブルも楽めるのはLinuxユーザーの特権かなと思える楽しいセミナーでした。

また、LinuxのインストールUSBを作成する際の便利な方法も紹介されました。
普段はddコマンドを利用することが多いと思いますが、実はcpコマンドで作成することができます参考
Debianのインストールガイドではこの方法が推奨されていて、これだけ覚えて帰って欲しいと紹介されていました。

純国産の軽量ハイパーバイザ「BitVisor」でOSを弄んでみる

担当:公立はこだて未来大学 システムソフトウェア研究室
講師:松原克弥先生

このセミナーでは国家プロジェクトで開発された国産ハイパーバイザーのBitVisorを紹介していました。

このソフトウェアはクライアント端末の情報漏洩対策として高セキュリティ機能を組み込んだ仮想マシンで実装し、OSに依存することなく基盤レベルでのセキュリティ強化を実現しています。
主な機能としてデバイスをセクタ単位で暗号化や各種I/Oの隠蔽、ネットワークをVPN接続へ強制フォワードなどの紹介をしていました。

また、セミナー後半ではタイトルにある「OSを弄ぶ」の実演として、BitVisorでキー入力を監視して画面表示をハックして愛を叫ぶといった面白い試みがなされていました。

北海道企画カレーカンファレンス2017 HelloWorld

担当:OSC2017北海道実行委員会
講師:seigo(カレー番長)

▼カレーカンファレンスのポスター

夜に開催される懇親会だけでなく昼にもOSC参加者と交流をする場として今年で3度目の開催となったカレーカンファレンス。今年も受付開始後すぐに完売となりました。

会場内にあるレストランSORAさんのカレーをいただきながら、ランダムに決めたグループの中でお題について語り合いました。今回のお題は次のようなものでした。

⚪︎自己紹介
 -名前(HN)
 -今の属性
 -好きなこと(言語など)

⚪︎おすすめのカレー屋さん

⚪︎セミナーについて
 -午前に見たセミナーについて
 -午後から見たいセミナーについて

まず、みんなで手を合わせて「いただきます!」

お肉が柔らかくなるまで煮込まれたビーフカレーで、とても美味しかったです。

一緒のテーブルになった人たちと話も盛り上がりました。
テーブルは興味があるセミナーごとに分けているのでカレーを食べながらセミナーについて話し合いました。
各テーブルでは十勝地方で有名なカレー屋さんやおすすめのスープカレー・インドカレー店さんの情報を交換していました。

そんなこんなでみんな食べ終わって最後はみんなで手を合わせて

「ごちそうさまでした!」

楽しく美味しい一時を過ごしました。

■展示ツアー

「出展者にいろいろ話を聞きたいけど、OSCは初参加なので何から聞いたらよい
のかわからない。」そんな参加者のために「展示ツアー」が開催されました。

実際に希望者の方と展示ブースを周り出展者から各ブースで紹介している最新の
トピックや見どころを紹介していただきました。
今回の展示ツアーではコミュニテブースとスポンサーブースを周り、ジャンルも
ハード・ソフト問わず幅広く周りました。

■ライトニングトーク大会 & 閉会式

OSCの締めを飾る、毎年恒例のライトニングトーク大会と閉会式が開催されました。
昨年のネタを発展させたLTが発表されて一層盛り上がりを見せたり、
高校生も登壇したりして、若さあふれるLTを披露していました。

なお今回は8人のエントリーがありました。
エントリー一覧

閉会式では一部立ち見が出るほど会場がいっぱいになり、あまりの暑さに冷房を
強くしてもらうようお願いするシーンもありました。
たくさんの皆様のご参加、ありがとうございました。

▼OSC2017 Hokkaido実行委員長 池田さんによる閉会挨拶

なお、ライトニングトーク&閉会式の様子をYoutubeにアップロードしています。
こちらも併せてご覧ください。
ライトニングトーク&閉会式 (動画)

=懇親会=

OSC終了後は札幌全日空ホテルにて、今年初めての試みとなるビュッフェ形式の
懇親会が行われました。まず全員で乾杯が行われた後、懇親会スポンサーのうち
日本仮想化技術株式会社の宮原社長と株式会社インフィニットループの松井社長
のお2人による鏡割りがあり、参加者に枡で日本酒が振る舞われました。

今年の懇親会は156名もの方にご参加いただき、どのテーブルでも今年のOSCを
振り返ったり、新たなコラボレーションが生み出されたりなど、話題の尽きない
賑やかな時間となりました。
また例年通り、懇親会LTやグッズをかけたじゃんけん大会もあり、最後まで参加
者全員が楽しむことができました。

最後の挨拶では、OSC事務局の宮原さんが「枡を持って帰るまでがOSCです!」と
宣言し、乾杯をして締めくくりました。

=終わりに=

今年も無事にOSC2017 Hokkaidoを締めくくることができました。
昨年に引き続き多くの方にご来場していただき感謝しています。

来年は2018年7月6日(金)-7日(土)の開催を予定しております。
皆様のご来場をお待ちしております。

OSPN Press 第81号 (2017/07/19発行)

No Comments
このエントリーをはてなブックマークに追加

■次回の開催は「OSC京都(8/4-5)」と「ODC東京(8/19-20)」です!
■[特別インタビュー] OSC京都の出展者紹介&見どころのご案内!
■[開催報告]OSC沖縄、OSC北海道、無事に終了
■ITニュース・総合
■ITニュース・オープンソースリリース情報
■オープンソースカンファレンス開催レポート
-OSC2017 Okinawa
■オープンソースコミュニティ紹介 〜from OSS コミュニティ辞典〜
-CoderDojo 札幌 & 札幌東
-RIM友の会
■「オープンソース」を使ってみよう!
第46回:Mautic
第47回:Pandoc
More

[特別インタビュー]OSC京都(8/4-5) 出展者の紹介やセミナー・展示の見どころ紹介!

No Comments
このエントリーをはてなブックマークに追加

8月4日、5日に京都で「OSC2017 Kyoto」を開催します。今回は、OSC京都に出展される企業とコミュニティ団体の担当者の方にお話を伺いました。展示やセミナーの見どころを紹介いただいた他、来場者の方へのメッセージもありますので、ぜひご覧ください。

当日は、それぞれのブースやセミナーに参加していただき、ブログのインタビュー見ました!と声をかけてみてください。


日程:2017年8月4日(金) 10:00-17:00(展示は11:00~17:00)
        5日(土) 10:00-17:50(展示は10:00~16:00)
会場:京都リサーチパーク(KRP)東地区 [OSC受付:アトリウム]
   (JR嵯峨野線(山陰線)「丹波口駅」徒歩5分) 
費用:無料
内容:オープンソースに関する最新情報の提供
   ・展示 – オープンソースコミュニティ、企業・団体による展示
   ・セミナー – オープンソースの最新情報を提供

→ OSC2017 Kyotoイベントトップページ
→ 展示ブース一覧
→ セミナータイムテーブル(1日目)
→ セミナータイムテーブル(2日目)


■出展者に聞いてみました!

Q:OSC参加歴は?
Q:参加のきっかけ、理由は?
Q:OSCに参加しての印象は?
Q:今回の見どころは?
ご来場予定の方にひと言!

■お話をおうかがいした出展企業・コミュニティ団体

Oracle Corporation (MySQL Community Team)
NEC
フューチャーアーキテクト株式会社
株式会社ウェブチップス
Linux-HA Japan Project
株式会社 デージーネット
株式会社サードウェア


 

 

Oracle Corporation (MySQL Community Team)
http://www-jp.mysql.com/

Q:OSC参加歴は?
A:「オープンソースカンファレンス2008 Tokyo/Fall」から毎年、複数回参加しています。OSCに参加しはじめた当時は、サン・マイクロシステムズ株式会社のソフトウェア部門として出展していました。

Q:OSCに参加したきっかけは?
A:オープンソースコミュニティへの貢献の一環、ならびに製品の開発動向をご紹介させていただく機会として、OSCのイベントに参加することにしました。

Q:OSCに参加しての印象は?
A:PostgreSQLなどのオープンソースデータベースのユーザーグループ間での交流が活発なので、OSCに参加すると色々な情報交換ができています。

Q:今回の見どころは?
A:ブース展示とセミナー開催を予定しています。
セミナー(1日目16:15〜)では、現在開発中のMySQL 8.0の新機能、MySQLの新しい高可用性構成であるMySQL InnoDB Clusterなど、MySQLの最新情報をご紹介します。
ブースでは、MySQLユーザ会、MySQL入門書籍、MySQL商用版などのご紹介や、MySQLに関するよろず相談を行いますので、MySQLに関する疑問などがあれば、お気軽にお声がけください!

ご来場予定の方にひと言!
データベース、MySQLに興味がある方は、是非ブースにお立ち寄りください!
また、他の地域でも開催しているMySQLユーザ会のイベントを、京都でも開催できればと考えています。ユーザ会のイベントに興味がある方も、是非ブースでお声がけください!!

http://www-jp.mysql.com/

 

NEC
http://jpn.nec.com/linux/

Q:OSC参加歴は?
A:2005年から参加して、一時期出ていない期間がありましたが、断続的に参加しています。

Q:OSCに参加したきっかけは?
A:当初はLinux全体の普及・啓発のために参加していました。現在は「OSSライセンスの啓発」のために参加しています。

Q:OSCに参加しての印象は?
A:各地のOSCを回っていますが、学生スタッフなど、ボランティアの方がよく手伝ってくれているイベントだなと思います。

Q:今回の見どころは?
A:OSSは開発した人の著作物です。
過剰に反応する必要はないですが、「GPLは宗教」とか「GPLは契約」とか根拠に基づかない世迷い事を信用して、理解した気になっていませんか?急がば回れ。著作権から学んでいきましょう。

ご来場予定の方にひと言!
朝一からのセミナー(1日目 10:00~)になりますが、早起きしてご来場いただければ幸いです。

http://jpn.nec.com/linux/

 

フューチャーアーキテクト株式会社
http://www.future.co.jp/architect/

Q:OSC参加歴は?
A:2015年 東京春開催から参加しています。

Q:参加のきっかけは?
A:普段から業務でもOSSのお世話になっている我々も、かねてよりOSSコミュニティに何かしらの貢献をしたいと考えてました。

最近では弊社でもOSSとして公開しているものがあり、知的好奇心旺盛なエンジニアに弊社のOSSへの取り組みをアピールし、実際に利用していただき、フィードバックを得たいと考えたのがきっかけです。

Q:OSCに参加しての印象は?
A:週末にもかかわらず、情報収集、情報交換を行いたいという、技術が大好きな人が集まっている印象があります。
ビジネス系のカンファレンスとは異なり、技術メインのフランクな雰囲気がよいですね。

Q:今回の見どころは?
A:2016年に注目を浴びたVulsのデモはもちろんのこと、エンタープライズ向けSQL開発環境のuroboroSQL、レガシーブラウザ対策から生まれたSPAライブラリのUrushiも実際に触って頂ける環境をご用意してお待ちしております。

Vulnerability scanner for Linux/FreeBSD, agentless, written in Go
Urushi
uroboroSQL

ご来場予定の方にひと言!
セキュリティ対策でお悩みの方、自社でのSQL開発で悶々としている方、エンタープライズ領域でSPAは使えるのかと思っている方など、是非ブースにお立ち寄り頂き、気軽にお話できればと思います。(セミナーは、2日目 13:00〜

 

株式会社ウェブチップス
http://ss-proj.org/

Q:OSC参加歴は?
A:2014年より各地のOSCに参加しています。

Q:参加のきっかけは?
A:「シラサギ」を多くの方に知っていただき、さらに活用していただくために、OSCに参加して紹介しよう思ったのがきっかけです。

Q:OSCに参加しての印象は?
A:開発者やユーザー、企業、学生などOSSに関係する幅広い方が参加されており、非常に活気あるイベントです。

Q:今回の見どころは?
A:「シラサギ」は、Ruby、Ruby on Rails、MongoDBで動作する中・大規模サイト向けCMSです。特徴の1つとしてマルチテナントに対応しているため1システムで複数のサイトを運用できます。

セミナー(1日目 13:00〜)ではこのマルチテナントの活用方法に加え、シラサギの持っている多様なCMS機能、複数の県に導入実績を持つオープンデータ機能、同パッケージに組み込まれている、グループウェア、Webメールもご紹介します。

ご来場予定の方にひと言!
CMSやグループウェア、Webメールにご興味のある方は是非、ウェブチップスのブース、セミナーへお立ち寄りください。

http://ss-proj.org/

 

Linux-HA Japan Project
http://linux-ha.osdn.jp/

Q:OSC参加歴は?
A:2010年 東京春開催から参加し、現在は年4回ペースで出展しています。

Q:参加のきっかけは?
A:Pacemaker等HAクラスタソフトの理解を深めていただくため。

Q:OSCに参加しての印象は?
A:各地のOSC会場では、特定のテーマに対して切磋琢磨し技術を積み上げていく取組みと、新たなテーマに挑戦していく取組みの両面に触れることができます。
若い世代が積極的にOSCに参加していることもあり、色々な観点での話ができるので、出展している側もとても刺激を得られます。

Q:今回の見どころは?
A:商用サービスにおいて欠かすことのできないHAクラスタ構成を、低コストで実現できるPacemakerについてブースとセミナーで紹介します。
ブースではPacemakerにより故障時でもサービスが継続し、また保守者にSNMPトラップで故障情報を通知するデモを行います。
セミナー(2日目 13:00〜)ではPacemakerを使用したPostgreSQLのシェアードナッシングHA構成の構築方法を紹介します。

ご来場予定の方にひと言!
HAクラスタは商用サービスを守る命綱!興味のある方はぜひブースやセミナーにお立ち寄りいただき、Pacemakerの威力をご覧ください!

 

株式会社デージーネット
https://www.designet.co.jp/

Q:OSC参加歴は?
A:2014年7月の「OSC2014 Nagoya」から参加しています。
本社の所在地は名古屋ですが、OSC名古屋の他に、東京・広島の開催にも出展しています。
京都は初めての出展です。

Q:参加のきっかけは?
A:デージーネットのOSSへの取り組みについて、たくさんの方に知って頂きたいと思い、参加しました。

Q:OSCに参加しての印象は?
A:OSCに出展されている企業やコミュニティの皆さんが、とても楽しそうにされていると思いました。
また、来場者の方々も楽しそうに会場を回っている印象が強いです。

Q:今回の見どころは?
A:今回は、BINDに代わるDNSサーバとして注目されている「PowerDNS」をご紹介します。PowerDNSは高速でセキュリティに強い権威DNSサーバです。管理ウェブのPoweradminと合わせて使用すれば、DNSの管理も簡単にできるようになります。
デージーネットのブースでは、「PowerDNS + Poweradmin」のデモを準備してお待ちしております。(セミナーは、1日目 14:00〜

ご来場予定の方にひと言!
OSC京都は初めての出展となります。
関西の方々にも、デージーネットのOSSへの取り組みについて知って頂きたいと思っています。ぜひ、ブースにお立ち寄りください。

https://www.designet.co.jp/

 

株式会社サードウェア
https://www.3ware.co.jp/

Q:OSC参加歴は?
A:OSC第1回目となる2004年の初回開催から東京を中心に参加させて頂いております。

Q:参加のきっかけは?
A:当社やDRBD等OSS製品をを広く知ってもらうために参加しました。

Q:OSCに参加しての印象は?
A:いつも新鮮な気持ちで新しい出会いを楽しみにしております。

Q:今回の見どころは?
A:セミナー(1日目 13:00〜)では、DRBD Ver.9での性能比較実験の結果を報告します。特に今回は、SSDよりも高速なNVMeを使用しての比較実験を行ったことや、比較対象になりやすいCephとの比較も行っており、大変貴重な実測レポートが完成したと思っております。

この貴重な実験レポートをブースにお越しの方に差し上げております。今回の条件下で行った実測レポートはなかなか手に入れる機会は少ないので、これだけでも十分価値のあるものであると自負しております。

ご来場予定の方にひと言!
是非とも「サードウェア」のブースに足をお運びください。こちら(OSPN Pressのメルマガ・ブログ)を見てご来場された方、アンケートにお答えいただいた方には、粗品をプレゼントしております。お気軽にお声がけください!

https://www.3ware.co.jp/

 
 
いかがでしたでしょうか。
こちらで紹介した出展者の他にも、おなじみのOSSコミュニティや、OSSを活用している企業、団体もたくさん出展しています。会場では、さまざまなテーマでセミナー、展示が行われますので、興味を持てる分野を探してみるのも面白いと思います。

OSCは初めて来場する方にも、初心者の方にもやさしいイベントです。出展者側もみなさんとの交流を楽しみにしていますので、ブースで話を聞いたり、デモを見せてもらったり、ノベルティをもらったり、セミナーで気になったことなどをどんどん質問してみてくださいね。

8/4-5開催の「OSC2017 Kyoto」、会場は京都リサーチパークです。
夏の京都で、熱く盛り上がりましょう!ご来場をお待ちしています。

 
■懇親会(2日目)のお知らせ
OSC京都のプログラム終了後は、同じ京都リサーチパーク内で、大懇親会があります。アルコール以外に、ソフトドリンクもご用意していますので、未成年、飲酒されない方も、ぜひご参加ください。
お申し込みはお早めに!(8/1まで。ただし定員に達した時点で募集締切。)
→ 懇親会の詳細/申し込み

→ OSC2017 Kyotoイベントトップページ
→ 展示ブース一覧
→ セミナータイムテーブル(1日目)
→ セミナータイムテーブル(2日目)

→ 公式Twitterアカウント(@OSC_official)

OSC2017 Okinawa 交通の便の良い那覇市内で開催!

No Comments
このエントリーをはてなブックマークに追加

6月17日(土)にOSC2017 Okinawaを開催!

今年は、交通の便の良い那覇市内での開催となりました。
沖縄は、梅雨明け前であいにくの天気でしたが、100名もの方にご来場いただきました。

それでは、イベントの様子をフォトレポートでお伝えします!

日時:2017年6月17日(土)
会場:沖縄県市町村自治会館
展示:25ブース(協賛/後援11、コミュニティ14)
セミナー:3トラック18セッション
来場者数:約100名
ハッシュタグ:#osc17ok
展示一覧
セミナータイムテーブル

開催当日の朝は、配布資料の袋詰め作業から準備スタート。
出展者やコミュニティの方にお手伝いいただきました。
ありがとうございます。

=展示=

ゆったりとした展示会場。
出展者同士の交流があったり、来場者の方が真剣にPC画面を覗き込んでいたりと
それぞれ楽しまれていた様子でした。
今回、千歳科学技術大学と琉球大学の2大学が出展。
琉球大学の学生さんが来場者からの質問に真剣に答えている姿が印象的でした。

▼展示の様子

▼展示ブース





=セミナー=

セミナーは3トラック同時に進行。
朝10:00から始まったセミナーですが、お昼も含め、盛りだくさんの内容でした。
最後のライトニングトークは琉球大学の学生さんの司会で進行し、無事に閉会しました。

▼セミナーの様子

=懇親会=

会場近くの居酒屋で行われた懇親会は35名の方にご参加いただきました。
オリオンビールでの乾杯から始まり、途中三線の演奏もあったりと、とても賑やかな会になりました。
食べ飲み放題だったので、皆さんお腹いっぱいになったのではないでしょうか。

▼懇親会の様子

=最後に・・・=

今年も無事にOSC沖縄を終了する事が出来ました。
全国から沖縄に集まっていただいたOSC関係者の皆さま、
出展者・来場者の皆さま、ありがとうございました。

来年のOSC沖縄もよろしくお願いします。

======
OSC事務局
======

「オープンソース」を使ってみよう
(第47回 Pandoc)

No Comments
このエントリーをはてなブックマークに追加

目次

はじめに

日本Pandocユーザ会の藤原(@sky_y)と申します。

この記事では、ドキュメント変換ツールPandocについて紹介します。

Pandocを使うことで、様々なマークアップ言語で書かれたドキュメント(Markdown, reST, LaTeX, HTMLなど)を、
別のマークアップ言語やPDF/LibreOffice Writer/Word形式を含む多くのドキュメントに変換できます。

また、PandocはHaskell製のOSSです(GitHub: jgm/pandoc)。他の言語では複雑になりがちな構文解析などがシンプルに設計・実装されており、Haskellコードリーディングの題材としても最適です。

Pandocとは

Pandocは、あるフォーマットで書かれた文書(ドキュメント)を、別のフォーマットに変換するツールです。(図1)


図1:Pandocの基本的な処理フロー

Pandocの最大の特徴は、対応書式(フォーマット)が非常に多いことです。例を挙げてみましょう。

  • 入力
    • Markdown (Pandoc, CommonMark, PHP Markdown Extra, GitHub-Flavored Markdown, MultiMarkdown)
    • Textile, reStructuredText, HTML, LaTeX, MediaWiki markup, Emacs Org mode
    • OPML, DocBook, EPUB, ODT(LibreOffice Writer), Word docx
  • 出力
    • 入力フォーマットのほとんど(ODT/Word含む)
    • Markdown
    • man page, AsciiDoc, InDesign ICML
    • プレゼンテーション: LaTeX Beamer, HTML5(reveal.jsなど)
    • PDF (wkhtmltopdfまたはLaTeXエンジンが必要)

例えば、下記の図2はPandoc公式サイトのトップに掲載されているもので、左側の丸が入力書式を、右側の丸が出力書式を表します。
このように、あらゆる書式から別の書式への文書変換を、Pandocは実現してくれます。


図2:Pandoc公式サイト・トップの図

Pandocが役に立つ場面

Pandocは多機能ながら、そのインタフェースはシンプルに設計されています。それゆえ、多様な使い方ができるツールです。

その1:
1つのドキュメント(HTMLページに相当するもの)を変換する

例えば、下記のような場面ではPandocが役に立つでしょう。

  • 大量にあるMarkdown文書を別の書式に一括変換したい
  • 大量にあるHTMLが編集しづらいので、Markdownなどに変換してコンパクトにしたい
  • Emacs org-mode、reST、LaTeXなどで書き溜めたテキストをMarkdownに一括変換したい
  • Wikipediaに加筆したいけど、記法を忘れるのでMarkdownで書きたい
  • Markdownなどでスライドショーを作りたい
  • Writer/Wordが重く、diffやGitHub管理が面倒なのでテキストファイルで下書きしたい
  • Writer/Word文書をHTMLやMarkdownに変換したい

ただし、Pandocは原則として単一ドキュメント(1ファイルのHTMLに相当)しか処理できません。例えば複数ページからなるWebサイト一式をPandoc単体で生成することはできません。そのような用途のために、次の方法が用いられます。

その2:
スクリプトやソフトウェアに組み込んだり、
外部プログラムによるフィルタを中間処理に入れる

Pandocそのものはコマンドラインツールです。つまり、シェルスクリプトの中に組み込むことができます。

また、Pandocはシェルの標準入力と標準出力に対応しています。入力または出力ファイル名を省略すると、Pandocは暗黙に標準入力・出力を使用します。これを利用し、シェル上で他のプログラムからデータをパイプで受けたり、逆にPandocから他のプログラムにデータを引き渡すことも可能です(図3)。


図3

この性質を利用したのがPandocのフィルタ(filter)という機能です。パイプによるデータ引き渡しの際は、多くのプログラミング言語で利用しやすいJSON形式を指定することができます。このJSONファイルをPythonやJavaScriptなどのスクリプト言語(バイナリでも可)に引き渡すことで、文書変換処理を比較的簡単に拡張することができます(図4)。

具体的には「外部ファイルをインポートする」フィルタなどが実現できます(参考:pandocでMarkdownを拡張しコードをインポート出来るfilterを書く | Web Scratch)。


図4

一方、Pandocを主要プログラミング言語にてライブラリとして呼ぶことも可能です。
これにより、Sphinxなどの他のサイトジェネレータやCMS、AtomやVimなどのエディタ・外部ツールなどからPandocを呼ぶことができ、高度なドキュメント生成・変換が可能になります。

例:SphinxでPandoc's Markdown(後述)を使える拡張 pashango2/sphinxcontrib-pandoc-markdown

以上のように、Pandocはドキュメントに関するあらゆる場面において、強力な「アーミーナイフ」として使用できるでしょう。

インストール:Pandoc本体

以下、ターミナル(またはコマンドプロンプト)が使えることを前提とします。

Windows, macOSであれば、インストーラによりダウンロード・インストールできます。

ダウンロードページ

  • pandoc-1.19.2.1-windows.msi (Windows)
  • pandoc-1.19.2.1-osx.pkg (macOS)

を使用してください(ファイル名中の番号が異なる場合があります)。

一方、パッケージマネージャを利用したインストールも可能です:

  • Windows(Chocolatey): cinst -y pandoc
  • macOS(Homebrew): brew install pandoc
  • Debian/Ubuntu(apt): sudo apt-get install pandoc

ただしLinuxのパッケージマネージャでインストールすると、バージョンが古い場合があります。新しいバージョンが必要な場合は、リポジトリを別の場所に指定するか、Stack(Haskellのビルドツール)などを用いてソースコードからビルドする必要があります。その場合は、Pandoc – Installing pandocの「Quick stack method」を参考にするとよいでしょう。

インストール:PDF出力のためのパッケージ

Pandoc単体はPDFを出力できません。「wkhtmltopdf」または「LaTeX」に頼る必要があります。今回は使用が簡単なwkhtmltopdfをインストールしましょう。

wkhtmltopdfのインストールも、下記の通りにインストールできます:

  • インストーラ: ダウンロードページからダウンロード・インストール
  • Windows (Chocolatey): cinst -y wkhtmltopdf
  • macOS (Homebrew): brew install wkhtmltopdf
  • Debian/Ubuntu(apt): sudo apt-get install wkhtmltopdf

LaTeXを用いる場合は、今回は割愛します。

  • 注意1:pLaTeXは直接Pandocから使用できないので、少し工夫が必要です。
  • 注意2:Pandoc標準のLaTeX処理系はpdfLaTeXですが、これは日本語文書の処理に適さないので、同じくPandocが対応するXeLaTeXやLuaLaTeXをインストールし利用する(–latex-engineとして指定する)ことをおすすめします。

チュートリアル1:標準入力・出力で遊ぼう

まず先に、以上のインストールが完了したことを確認しましょう。

$ pandoc --version
$ wkhtmltopdf --version

バージョン番号が確認できればOKです。

次に、標準入力からパイプでPandocに繋いでみましょう。Markdown記法の見出し(「#」がh1に相当)をHTML5形式として出力してみます。入力書式は「-f」オプションで、出力書式は「-t」オプションで指定します。

$ echo "# Hello"
# Hello
$ echo "# Hello" | pandoc -f markdown -t html5
<h1 id="hello">Hello</h1>

標準入力のMarkdownが、HTMLのh1タグとして標準出力に出力されました。

この出力は標準出力なので、そのままリダイレクトによってファイルに保存できます。

$ echo "# Hello" | pandoc -f markdown -t html5 > hello.html
$ cat hello.html
<h1 id="hello">Hello</h1>

同様に、「-o」オプションでファイルに保存することができます。

$ echo "# Hello" | pandoc -f markdown -t html5 -o hello2.html
$ cat hello2.html
<h1 id="hello">Hello</h1>

「-f」「-t」に指定できる書式の名前は Pandoc – Pandoc User’s Guideの「General Options」を参照してください。

チュートリアル2:まとまったMarkdown文書をあらゆる形式に変換しよう

ここではサンプルとして、青空文庫にある『あたらしい憲法のはなし』のMarkdown版(nogajunさん編)を利用しましょう。(パブリックドメインなので安心して利用してください)

Git(SourceTreeなどでも可)をインストールしている人は、下記のようにcloneしましょう。

$ git clone https://github.com/nogajun/story_of_the_new_constitution.git

その中の「atarashii_kenpo.md」が、今回使うMarkdownファイルです。

または、Markdownソースを直接ダウンロードしてもかまいません: atarashii_kenpo.md

(ただしソースのみだと画像が表示されないので、git cloneをおすすめします)

まずは、このMarkdownファイルをHTMLに変換してみます:

$ pandoc atarashii_kenpo.md -t html5 -o output.html
$ less output.html

一応HTMLらしきものが出力されているはずです。しかし、ヘッダがありません!

Pandocのデフォルトでは、HTMLのタグ内部に相当するものしか出力してくれないので、注意が必要です。完全な文書(ヘッダ・フッタ付きの文書)を出力するには、「-s」を付ける必要があります。

$ pandoc -s atarashii_kenpo.md -t html5 -o output2.html
$ less output2.html

これで完全なHTMLが得られました。

同様に、Markdownを色々な書式に変換してみましょう。(「-t」オプションを省略すると、「-o」オプションの拡張子から自動的に推測してくれます)

# LaTeX
# 注意: -s を付けるとpdfLaTeX前提のヘッダとなるため、あえて省略しています
$ pandoc atarashii_kenpo.md -o output.tex

# EPUB(EPUB3を推奨。WindowsのEdgeだと綺麗に読めます)
$ pandoc atarashii_kenpo.md -t epub3 -o output.epub

# PDF(wkhtmltopdfを利用する場合:オプションに注意)
$ pandoc atarashii_kenpo.md -t html5 -o output.pdf

# LibreOffice Writer / MS Word
$ pandoc atarashii_kenpo.md -o output.odt
$ pandoc atarashii_kenpo.md -o output.docx

チュートリアル3:Markdown以外の文書からMarkdownに変換しよう

最後に、逆方向の変換を試して終わりましょう。ここではHTMLからMarkdownに変換します。

Pandocでは、入力ファイルの代わりにURLを指定すると、それを自動的にダウンロードして入力文書として解釈します。その機能を利用して、Pandoc公式サイトのPandoc User's GuideをMarkdownに変換してみましょう。

$ pandoc https://pandoc.org/MANUAL.html -t markdown -o manual.md
$ less manual.md

紹介が遅れましたが、Pandocがデフォルトで使っているMarkdownは、Pandoc独自で定められた文法(Pandoc's Markdown)です。その詳細は同じくUser's Guideの「Pandoc's Markdown」セクションで説明されています。

他のMarkdown方言として、

  • GitHub Flavored Markdown (-t markdown_github)
  • PHP Markdown Extra (-t markdown_phpextra)
  • MultiMarkdown (-t markdown_mmd)
  • CommonMark (-t commonmark)

も利用できます。(もちろん、各方言で相互変換も可能です)

チュートリアルは以上です。

最後に

これまで紹介した機能はほんの一部です。Pandocの大きな可能性を感じていただければ幸いです。

もしPandocそのものや活用方法、あるいはドキュメンテーションという分野に興味のある方は、ぜひ日本Pandocユーザ会のSlackにご参加ください。あらゆるジャンルで活躍されている方が、Pandocという枠を越えてドキュメンテーション全体についてゆるくディスカッションをしています。

登録は Slack登録フォーム から可能です。初心者でもお気軽にご参加ください。よろしくお願いいたします。

参考リンク

Older Entries Newer Entries