Repository navigation
v0.4.0
go install github.com/go-slides/slides/cmd/slides@v0.4.0-
Vector PDF (#15):
--pdf(or-o deck.pdf) now draws each slide into the PDF instead of embedding a picture of it. Text is real text in embedded subset fonts, so it can be selected, searched and copied. Shapes and gradients are vectors, each image is embedded once, and links are kept. Layout comes from the same go-webengine layout tree as the PNG output, so the two match. Only effects with no vector form (opacity below 1, filters, masks, rotation, blurred shadows) are drawn as a picture of that element, with the element's text kept selectable on top.--pdf-rasterkeeps the old one-picture-per-slide PDF. On a 100-slide deck on an M4 Max:go-slides v0.4.0 go-slides v0.3.0 marp-cli 4.5.1 Time 306 ms 1.15 s 1.84 s Size 758 KiB 10.0 MiB 837 KiB Memory 158 MiB 243 MiB 1.5 GiB On each test deck, between 0 % and 1.7 % of pixels differ from the PNG render, all of them on glyph edges (
internal/cmd/pdfcheckmeasures this). The engine work is in go-webengine v0.9.0 (paint.PaintVector,pdfcanvas) and go-pdfkit v0.15.0. -
Emoji (#14): emoji shortcodes (
:smile:) and Unicode emoji become Twemoji images, written as Marp Core writes them but embedded in the deck instead of loaded from a CDN, so no network is needed. They appear in every output: HTML, PDF, PNG, PPTX and ODP.--no-emojiturns this off. The images come from the new go-icons/twemoji module (Twemoji 17.0.3, CC-BY 4.0). It adds 2.3 MB to the binary, and a deck without emoji pays nothing at run time.