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

誰でも簡単に組版した PDF を生成する仕組みづくり

誰でも簡単に組版した PDF を生成する仕組みづくり

YUMEMI.grow 技術同人誌を支える技術
https://yumemi.connpass.com/event/291439/

Yu Sugawara

August 23, 2023
Tweet

More Decks by Yu Sugawara

Other Decks in Technology

Transcript

  1. YUMEMI.grow ٕज़ಉਓࢽΛࢧ͑Δٕज़ ࣥචͷྲྀΕ Markdown ϑΝΠϧͰهࣄΛॻ͘ɻ 1. Vivliostyle Ͱ Markdown ͔Β૊൛ͨ͠

    PDF Λੜ ੒͢Δɻ 2. PDF Λݟ࣮ͯࡍͷࢴ໘ͷϨΠΞ΢τࠐΈͰ಺ ༰Λ֬ೝ͢Δʢमਖ਼͕͋Ε͹ 1 ΁໭Δʣɻ 3.
  2. YUMEMI.grow ٕज़ಉਓࢽΛࢧ͑Δٕज़ Vivliostyle ΛΠϯετʔϧ͢Δʂ # install Volta curl https://get.volta.sh |

    bash # install Node volta install node # ࣮ߦͰ͖Δ͔֬ೝ # μϝͩͬͨΒ `$HOME/.volta/bin` ʹ `PATH` ͕௨͍ͬͯ Δ͔֬ೝ volta --version
  3. YUMEMI.grow ٕज़ಉਓࢽΛࢧ͑Δٕज़ ໨త ࢲͨͪ͸ node, volta, yarn, Vivliostyle ʹ͍ͭͯ͸ ߟ͑ͨ͘ͳ͍ʂ

    – ͨͩ୯ʹ Markdown ͰهࣄΛॻ͍ͯɺͦΕΛ֬ ೝ͢ΔͨΊʹ PDF Λੜ੒͍͚ͨͩ͠ ͳΜͩ…ʂ –
  4. YUMEMI.grow ٕज़ಉਓࢽΛࢧ͑Δٕज़ վળҊ1: CI Ͱ PDF Λੜ੒ GitHub ʹ PR

    Λग़ͨ͠Β CI ্Ͱ PDF Λੜ ੒ͯ֬͠ೝͰ͖ΔΑ͏ʹ͢Δɻ – git commit ͱ git push ͕ඞཁͰ खؒɻ – ΍͸ΓؾܰʹϩʔΧϧͰ֬ೝ͍ͨ͠ɻ –
  5. YUMEMI.grow ٕज़ಉਓࢽΛࢧ͑Δٕज़ make run Ͱ࣮ߦ͞ΕΔ͜ͱ brew ΛΠϯετʔϧ 1. Docker ΛΠϯετʔϧ

    2. colima ΛΠϯετʔϧ 3. colima Λىಈ 4. VivliostyleʢDocker ImageʣΛ࣮ ߦ 5. PDF Λ։͘ ※ 1ʙ4͸͢ͰʹΠϯετʔϧ/ى ಈ͞ΕͯͨΒεΩοϓ 6. ৄࡉ 1 1. άϩʔόϧ؀ڥΛՄೳͳݶΓԚછͤͣʹMarkdown͔Β૊൛ͷPDFΛੜ੒ʢΏΊΈେٕྛ '23ʣ
  6. YUMEMI.grow ٕज़ಉਓࢽΛࢧ͑Δٕज़ ࢖༻πʔϧ πʔϧ ༻్ brew macOS ޲͚ͷύοέʔδϚωʔδϟʔ Docker ίϯςφԾ૝ԽϓϥοτϑΥʔϜ

    colima Docker ίϯςφΛ࣮ߦ͢ΔͨΊͷܰྔͳ Linux ϕʔεͷԾ૝Խ؀ڥ Vivliostyle Webٕज़Λ༻͍ͯిࢠॻ੶ͷ࡞੒ɺදࣔɺҹ࡮ΛՄೳʹ͢Δ CSS ϑϨ ʔϜϫʔΫ
  7. YUMEMI.grow ٕज़ಉਓࢽΛࢧ͑Δٕज़ colima Ͱ Docker Λ࣮ߦ͢ΔϋʔυϧΛԼ͛Δ Docker ίϯςφΛ࣮ߦ͢ΔͨΊʹ͸ɺඪ४Ͱ͸ Docker Desktop

    ͕࢖ΘΕΔɻ – Docker Desktop ͸ैۀһ͕ 250 ਓҎ্ɺ·ͨ͸೥ ؒऩӹ͕ 1,000 ສυϧҎ্ͷاۀ͕঎༻ར༻͢Δ ৔߹ʹ͸༗ྉͷαϒεΫϦϓγϣϯ͕ඞཁͱͳ Δɻ –