시작하기
설치
Go 1.27.2 이상이 필요합니다.
go install github.com/go-slides/slides/cmd/slides@latestslides는 cgo를 쓰지 않는 정적 Go 바이너리 하나입니다. Node도 Chrome도 필요
없고, 따로 설치할 것이 없습니다. 이 페이지는 v0.9.0을 기준으로 설명합니다.
첫 프레젠테이션
Marp 프레젠테이션이라면 무엇이든 그대로 쓸 수 있습니다. 다음 내용을 talk.md로
저장하십시오.
---
marp: true
theme: default
paginate: true
footer: "{{ .talk }}"
data:
talk: Pure Go slides
topics: [Why, How, Next]
---
<!-- _kind: title -->
# {{ .talk }}
{{ range .topics }}
---
# {{ . }}
{{ end }}프런트 매터는 Marp의 것에 data:가 더해진 것입니다. 본문은 Go 템플릿입니다.
range는 주제마다 ---로 시작하는 슬라이드를 하나씩 만들고, 첫 슬라이드는
기본 제공 kind(슬라이드 유형)인 title(헤더, 푸터, 페이지 번호 없음)입니다.
빌드하기
slides talk.md # writes talk.html beside the deck
slides -o slides.html talk.md # or somewhere else; -o - for standard output명령 없이 실행한 slides는 slides build와 같습니다. 플래그는 프레젠테이션
앞에 와도, 뒤에 와도 됩니다. HTML을 브라우저에서 열면 키보드로 슬라이드를
넘길 수 있습니다.
이미지, PDF, PPTX, ODP로 내보내기
slides talk.md --pdf # one page per slide, with an outline
slides talk.md --images png # talk.001.png, talk.002.png, …
slides talk.md --image jpeg # the first slide only
slides talk.md -o out/slides.pdf # the extension picks the format; out/ is created
slides talk.md --images jpeg --jpeg-quality 90
slides talk.md --images png --image-scale 2 # 2560×1440 for 16:9
slides talk.md --pdf --allow-local-files # images from under the deck's directory
slides talk.md --pptx # or -o talk.pptx, with notes
slides talk.md --odp # or -o talk.odp: the same, as OpenDocument브라우저는 전혀 쓰이지 않습니다. 슬라이드는 go-webengine이 렌더링하고 PDF는
go-pdfkit이 작성합니다. 로컬 이미지는 --allow-local-files를 지정하지 않으면
거부됩니다. v0.5.0부터 PPTX와 ODP의 슬라이드는 텍스트 상자, 도형, 그림, 내장
글꼴로 이루어져 편집할 수 있습니다(marp-cli는 그림입니다). 그림으로 유지하려면
--pptx-raster를 쓰십시오(편집 가능한 PPTX와 ODP). v0.4.0부터 PDF는 벡터이며
텍스트를 선택할 수 있습니다(v0.3.0은 페이지마다 이미지 한 장을 썼습니다). 명령줄을 참고하십시오.
펼치기
slides expand talk.md이 명령은 같은 프레젠테이션을 일반 Marp Markdown으로 출력합니다
(4ae5c49 시점, 2026-10-18의 main 출력).
---
marp: true
theme: default
paginate: true
footer: "Pure Go slides"
---
<!--
_class: "lead"
_footer: ""
_paginate: "false"
-->
# Pure Go slides
---
# Why
---
# How
---
# Nextrange가 생성한 슬라이드 네 장, 값이 채워진 푸터, 그리고 title kind 대신
그에 해당하는 스폿 디렉티브가 보입니다. marp-cli나 VS Code 확장처럼 Marp를
읽는 도구라면 무엇이든 이어서 처리할 수 있으므로, go-slides의 추가 기능으로
작성한 내용이 특정 도구에 묶이지 않습니다.
다음 단계
Created on by tannevaled
Modified on by tannevaled