Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Write slides and books in VSCode + Markdown

loftkun
November 22, 2021

Write slides and books in VSCode + Markdown

できるだけ以下のSPA版を御覧ください、SlidevのツールバーやYouTubeやGIFアニメーションを見ていただけます。
https://loftkun-slidev-vscode-conference-japan-2021.netlify.app/

2021/10/20 VS Code Conference Japan 2021
https://vscode.connpass.com/event/221961/

ドキュメント作成だけではもったいない!VSCode + Markdownで発表スライドや書籍も書いちゃおう!

loftkun

November 22, 2021
Tweet

More Decks by loftkun

Other Decks in Technology

Transcript

  1. はじめに このスライドは、2021/11/20 開催の VS Code Conference Japan 2021 にて、私@loftkun のセッション

    ドキュ メント作成だけではもったいない!VSCode + Markdown で発表スライドや書籍も書いちゃおう! で使用したもので す 本資料(SPA 版) YouTube アーカイブ ❗ PDF( Speaker Deck / slideshare ) 版をご覧の方へ : ぜひSPA 版をご覧ください : SPA 版ではSlidev ツールバー( 画面下部に表示されます) や、Web アプリとしての機能( YouTube 埋め込みやGIF アニメの再生 ) を体験いただけます。(PDF 版ではアニメーションは静止画像となってしまいます) Track B - VS Code Track B - VS Code … … ` `
  2. $ whoami @loftkun ( 甲斐 新悟 ) 1 - IT

    Specialist at IBM ( ex Yahoo! ) 2 - RHEL / OSS ( OpenShift, etc ) 3 - IT lecturer at Kyushu University Lab 4 - Python ( Anaconda ) 5 - C / C++ / C# / Java / Go / PHP / Ruby / Python / Bash 6 7 - Staff of VSCodeConJP 8 9 - Presentation at 10 - OpenShift.Run Winter 2020 11 - プログラミング生放送勉強会 第61 回 12 - ふくばねてす ( 皆勤) 13 - etc ( please see speakerdeck.com/loftkun ) 14 15 - Piano ( YouTuber ) 、観る将&指す将 Twitter : 本資料(SPA) :
  3. Agenda 1. Markdown のHappy Extensions! VSCode でMarkdown を書く際に便利な拡張機能を紹介します 2. Markdown

    でスライドを書く Slidev を活用して、Markdown でスライドを書く方法やテクニックを紹介します この発表スライドもMarkdown で書いてSlidev でスライド化したものになります 3. Markdown で書籍( epub, mobi ) を書く Pandoc を活用して、Markdown で書籍( epub, mobi ) を書く方法やテクニックを紹介します
  4. 1.1. Markdown Preview Enhanced ( shd101wyy.markdown-preview-enhanced ) 図や数式を表示できます mermaid PlantUML

    LaTeX その他、ファイル形式の変換機能などもあ ります VSCode 標準のプレビュー機能よりも高機 能なのでおすすめです
  5. 1.2. markdownlint ( DavidAnson.vscode-markdownlint ) PROBLEMS パネルに文法の指摘が表示され ます 不要なスペースの存在 空行がない

    他いろいろ 修正することで綺麗なMarkdown を書けま す Markdown のお作法を知ることができるの でおすすめです
  6. 1.3. Auto Markdown TOC ( xavierguarch.auto-markdown-toc ) 章番号を自動で振ってくれます 目次を自動生成してくれます 途中に章を挿入した場合も振り直せます

    章番号や目次の手作業によるメンテが不 要になります 手順書など章の構成が重要な資料を書く際 に便利です
  7. 1.4. Table Formatter ( shuworks.vscode-table-formatter ) セルの幅を見やすく調整してくれます 不足している - や

    | を保管してくれます Formatter の支援があると表を楽に書くこ とができます
  8. 1.5. Draw.io Integration ( hediet.vscode-drawio ) オフラインで Draw.io ( app.diagrams.net

    ) の描画ツールが使え ます 対応するファイル名は *.drawio.svg などいくつか規則があります Markdown には通常の画像として表示で きます 構成図などを描く際に便利です ` `
  9. 2.1. Markdown でスライドを書くには スライドの文章をMarkdown で書き、ツールでMarkdown をスライドとして表示させます スライドとしてのデザインや機能はツールに依存します Markdwon 側でも多少のレイアウトの指定は可能です 発表の内容(

    文章) を書くことに専念し、短時間でまとまった量のアウトプットを出したい場合におすすめ です 私の場合、本業の合間に副業のPython の講義資料を作るための目的に合っていました 様々なツールがありますが、今回は、Slidev を紹介したいと思います! reveal.js Marp Slidev
  10. 2.2. Slidev とは Markdown でスライドを記述できるエンジニア向けプレゼンテーションツールです ロフトくん @loftkun Markdown でスライドを執筆できる Slidev

    の紹介と、導入する際のポイントを書いて みました。 Slidev を導入してMarkdown で美しいス ライドを書こう - Qiita qiita.com 5:26 PM · Aug 7, 2021 3 1 Copy link to Tweet
  11. 2.3. Slidev の導入 1 $ npm init slidev@latest 2 3

    •▪▲ 4 Slidev Creator v0.27.15 5 6 ✔ Project name: … demo 7 ✔ Package name: … demo 8 Scaffolding project in demo ... 9 Done. 10 11 ✔ Install and start it now? … yes 12 ✔ Choose the agent › npm 13 14 •▪▲ 15 Slidev v0.27.15 16 17 theme @slidev/theme-seriph 18 entry /home/loft/slidev-demo/slides.md 19 20 slide show > http://localhost:3030/ 21 presenter mode > http://localhost:3030/presenter 22 remote control > pass --remote to enable 23 24 shortcuts > restart | open | edit これだけでOK ( 要 Node.js >=14.0 ) ブラウザで閲覧できます( localhost:3030 ) あとは slides.md を執筆していくだけ! プレビューにも動的に反映されます ` ` ` `
  12. 2.4. サンプルMarkdown とLive Demo Markdown github.com/loftkun/slidev-example slides.md をご参照ください Live Demo

    (SPA) loftkun-slidev-example.netlify Netlify にデプロイしたSPA です ロフトくん @loftkun Markdown でスライドを執筆できる Slidev の紹介と、導入する際のポイントを書いて みました。 Slidev を導入してMarkdown で美しいス ライドを書こう - Qiita qiita.com
  13. 2.5. おすすめポイント1: レイアウトが柔軟 Grid レイアウトによりコンテンツを柔軟に配置できます ここは横幅いっぱい使えるよ 左グリッド 中央グリッド 右グリッド ここは横幅いっぱい使えるよ

    1 ここは横幅いっぱい使えるよ 2 <div class="grid grid-cols-[33%,33%,33%] gap-4"><div> 3 左グリッド 4 </div><div> 5 中央グリッド 6 </div><div> 7 右グリッド 8 </div></div> 9 ここは横幅いっぱい使えるよ
  14. 2.6. おすすめポイント2: コードブロックのシンタックスハイライトと行番号表示 ができる ソースコードやコマンドの実行結果などのコードブロックを綺麗に表示できます Python ソースコードの表示例 : before 4

    f = open(test_path, "a", encoding="utf-8") 5 f.write("this is new append line\n") 6 f.close() after 4 with open(test_path, "a", encoding="utf-8") as f: 5 f.write("this is new append line\n") 特徴 行番号の表示ができるため、行番号での意思疎通できて便利です 着目して欲しい行を強調できます ( 上記の例では 4 行目以降 ) 画像ではなくテキストなので、文字列のコピーや検索も可能です 上記のように、Grid レイアウトを使うことで左右で比較、のような表現も可能です 1 import os 2 test_path = os.path.join("data", "data-01.txt") 3 1 import os 2 test_path = os.path.join("data", "data-01.txt") 3
  15. 3.1. Markdown で書籍( epub, mobi ) を書くには 書籍の文章をMarkdown で書き、ツールでMarkdown を電子書籍のフォーマットに変換します

    画像の挿入や表もMarkdown 記法で書くことができます 私はPandoc というツールを使用しています 様々なドキュメントのフォーマット変換ができるコンバーターです Pandoc でMarkdown から変換できるフォーマットの例 : html pdf pptx epub などなど、様々なフォーマットに対応しています 詳細は pandoc.org をご参照ください
  16. 3.2. サンプル github.com/loftkun/markdown-to-ebook book.md Markdown ファイル ebook/book.epub epub ファイル Markdown

    からepub に変換するコマンドの例 : $ pandoc --from markdown --to epub3 book.md --output book.epub --toc --epub-cover-image=img/cover.png from 変換元のフォーマット to 変換先のフォーマット output 出力ファイルのパス toc 目次出力を有効化 epub-cover-image 表紙画像ファイルのパス
  17. 3.3. Kindle でも読めます Kindle Previewer を使うとepub をmobi 形式に変換でき、Kindle でも閲覧できます epub

    の閲覧、mobi(Kindle で閲覧可能) への変換が可能です Kindle Paperwhite で表示した例
  18. 4. まとめ Markdown のHappy Extensions! VSCode と拡張機能を活用することでMarkdown を効率よく書くことができます Markdown でスライドや書籍(

    epub, mobi ) を書く Slidev やPandoc などの外部ツールも組み合わせることで、Markdown の活用範囲が広がります 今回の発表が、VSCode でMarkdown を書き、 Markdown を活用する際のご参考となりましたら幸いです!