アカベコマイリ

HEAR NOTHING SEE NOTHING SAY NOTHING

CSS 組版 Vivliostyle ユーザーと開発者の集い 2022 春

2022/4/23 (土) に開催された「CSS 組版 Vivliostyle ユーザーと開発者の集い 2022 秋」へ参加 (司会進行) したので感想を書く。

私の Vivliostyle との付き合い方

著名な小説家であり、執筆環境として Vivliostyle を取り入れている藤井太洋氏による登壇。

Vivliostyle Slack には Vivliostyle や CSS 組版に関係する投稿を Twitter から拾ってくるチャンネルがあり、そこで藤井氏のツイートはよく見かけるので気になっていた。

登壇で紹介された執筆環境は Web フロントエンド開発の要素技術に近く、npm とタスク ランナー (Gulp を採用) で構成しており面白い。Web はテキスト主体の文化圏であり文章やマークアップを扱うツールも豊富だから、執筆環境と相性はよさそう。

CSS 組版は TeX と比較してマークアップが少なくて済むという話は「構造 = HTML」、「外観 = CSS」という分離の好例に見える。構造と外観が分離された状態は Word のような WYSIWYG ツールに比べて非直感的。しかし VS Code や Web ブラウザーによるプレビューや Slack、Confluence のように WYSIWYG へ見せかける UI などが補完すればよい。実際、Slack は Markdown を苦手としている人たちも装飾を含めて使いこなせている。

Vivliostyle と Pub を改善してゆくにあたり、藤井氏の意見は非常に参考となりそう。そのため別途、藤井氏へ要望や指摘をいただく機会を設けられないかと考えている。

Vivliostyle の 2022 年開発計画を展望する

今年の Vivliostyle 開発計画について。遂に Pub のアルファ版を公開したこともあり、その紹介から。

要素技術として私の担当する VFM が紹介されている。現状、開発が停滞してるので初夏からなんとか勢いを取り戻したい。いま着手してる vivliostyle/vivliostyle-sitegen が一段落したら micromark 版 remark への移行から検討する予定。

アルファ版を公開した Vivliostyle Pub

Pub の話。現状と概要について前述の村上さんパートでも説明されているため、技術的に突っ込んだ話や質疑応答などを主体として登壇。

なかひこさんが引き継いでからの取り組みとして、ユーザーのデータを預かるサービスという性質からセキュリティー関連の設計を特に改善、UI やパフォーマンス面も継続的に取り組まれている。多忙につき本イベントの登壇はなかったが、最近の Pub 開発として高井さんのコミットも大きかった。

今後はなかひこさん中心で開発され、可能ならはるさめさんがレビューやコントリビュートしてゆく体制となる。コントリビューター絶賛募集中。そういえば他の Vivliostyle 関連プロジェクトも含め、コントリビューターを増やすにはどうしたらよいのだろう。

質疑応答。ユーザー数が増えた場合のスケーラビリティー問題については現状でも解決しているとのこと。

Vivliostyle で Web フォントを使う:調査編

Web フォント参照方法とあわせて、ライセンス周りもしっかり調査されており資料性の高い登壇。クラウドとなる Pub は当然として、ローカルで CSS 組版する場合も Web フォントを参照したくなることはあるだろう。この調査はそうした印刷用 PDF 全般で各種 Web フォント サービスを扱う場合の参考になるはず。

内容を見るとやはり難しい。サービスの性質上、Web サイトからの参照は想定されている。しかし印刷と有償販売、更に Pub のような代行については明確な規定はなくサービス間でも解釈が割れていた。登壇で但し書きされている

基本的には契約者間で決めること

は大前提としても、CSS 組版を想定したライセンス定義が進むことを願う。この調査はその契機にできるかもしれない。

既存の Themes で印刷用 PDF を作るには

開発会議で プロの DTP オペレーター視点の意見をくださる Yusuke さんの登壇。

今回の話もまさにそういう内容で、Vivliostyle と既存 Themes で生成された印刷用 PDF を評価したものとなる。以前 Vivlostyle イベントで拝見した以下の登壇を思い出す。

挙げられた課題は現役の DTP オペレーターならでは。Yusuke さんはプログラミングもされるので、課題に関する村上さんたちとの議論もスムーズでありがたい。

それとスライドの作りが非常に洗練されていて感心した。豊富な画像や動画の埋め込みまでされているのにスッキリしており、テキストは YouTube をウィンドウ表示していても読めるぐらいのサイズと量へ調整されている。教科書のように優れたスライドだ。参考にさせていただく。

vivliostyle.org ではじめる CSS 組版チュートリアル

Vivliostyle のチュートリアルについて。

まさに労作。

ソフトウェア開発者ではないユーザーがつまづきやすい環境構築や CLI 操作が非常に丁寧に解説されている。「なにをすればよいか?」と「なにが起きるか?」を確認しながら進むため、うまくゆかない場合でも調査しやすい。トレーサビリティに優れている。

説明に応じた参考ファイルをダウンロード提供してるのも素晴らしい。読者として「とりあえずファイルをダウンロードすれば想定どおりになる」ことが保証されているのは安心感に繋がるはず。

組版に疎い私としては以下のページがありがたい。

今後、上級編で様々な組版を CSS で再現する方法が紹介されるのも楽しみ。

Vivliostyle CLI update - 2022 Spring

Vivliostyle CLI で昨年秋から今年の春までにおこなわれた更新について。

CLI の利用実態として npm の Weekly Downloads で技術書典 12 の一週間前あたりにダウンロード数が増える話、Vivliostyle が日本で技術同人誌を書く人によく使われていることを示しているようで面白い。このダウンロードが締め切りギリギリに書き始めたことによるのか、それともほぼ完成稿を組版するためなのだろうか。

更新内容では VFM オプションを CLI から指定可能とする対応の元になった以下の要望が興味を引く。

VFM の replace 機能が利用されている実例を知れて嬉しい。内容を読むと独自の Markdown 記法を処理する目的とのこと。VFM 的には Node.js API の VFM 関数を利用することで高度な Markdown 処理を実装可能だが、かなり面倒。ちょっとした構文拡張なら replace 機能のほうが少ない負担で実用十分といえる。特定の語句や言い回しをプリプロセッサー的に置換する機能と認識していたため、この利用方法はうまいなぁと感心した。

4 月開発者会議

登壇者を交え、質疑応答などを実施。簡易の議事録として要約をツイートしてみた。この方法だと Togetter で読み返せるのがよい。詳細はそちらで。

司会進行

不特定多数の参加するイベントではじめて司会進行を務めることに。

これまでのユーザー会は司会進行を小形さんが担当されていた。しかし COVID-19 による緊急事態宣言を受けてオンライン開催へ移行したことで

  • 司会進行
  • YouTube 配信の監視
  • 自身の登壇

を同時に意識する必要がある。その負担が大きいため、司会進行を分担してもらえないか?と打診された。私としては今後、そういう機会もあるだろうし経験値を積みたいので了承することにした。

登壇と YouTube 配信は StreamYard で運用。イベント前日にテストとして初めて操作方法を教わったのだが UI や機能が非常に練られており、覚えるのは簡単であった。YouTube 配信は YouTube Studio というサービスを利用するのだが、これも StreamYard がうまいこと連携処理してくれる。そのため基本的に StreamYard だけ意識しておけばよい。

冒頭の挨拶や各登壇の前口上を簡単なテキストにおこし、それを参照しながら進行してみた。動画を見返すと緊張から声が上ずってるとか時間進行の仕切りが雑すぎるなど改善点が多い。時間告知については 5 分前と定刻に StreamYard のチャットで通知することとしていた。しかし登壇者は基本的にスライドを全画面へ表示しているため、StreamYard とマルチ スクリーンにでもしない限り気づけない。画面を見ずとも伝わるようにチャイムを鳴らすなどの工夫が要る。

時間進行についてはもう一つ、大きな反省点がある。

藤井氏パートの質疑応答を時間の都合により途中で打ち切り、続きは開発者会議パートへ持ち越す旨をその場で告知した。しかしこれは私の配慮不足である。多忙な中、ゲスト参加していただいたのだから、もう少し猶予をもって藤井氏パートで質疑応答を完結させたほうがよかった。開発者会議へ持ち越すにしても、イベント開始前に確認必須である。

この場を借りて藤井氏と視聴者の皆様に謝りたい。申しわけありませんでした。今回の失敗は次回以降へ活かします。

様々な問題、改善点はあるものの貴重な経験をできてよかった。それと 5/14 の開発者会議でイベントの振り返りをした際、Yusuke さんが司会進行をしてもよいと手を挙げていただいた。次回の状況次第だが、担当の持ち回りや分担は常に検討してゆきたい。Vivliostyle コミュニティーを持続するうえで、これは重要なことだと考えている。

最後に

登壇者、参加者のみなさまお疲れさまでした!!

Copyright © 2009 - 2023 akabeko.me All Rights Reserved.