diff --git a/.gitignore b/.gitignore index 6100efa..8c1ac98 100644 --- a/.gitignore +++ b/.gitignore @@ -3,12 +3,12 @@ !resume-bp/sample.pdf !resume-career/sample.pdf !feasibility/sample.pdf +!presentation/sample.pdf # 本地定制简历(个人内容、照片、PDF,不提交) resume-bp/local/* !resume-bp/local/README.md resume-career/local/* -!resume-career/local/README.md # IDE / 编辑器本地配置 .cursor/ diff --git a/README.md b/README.md index 7b8959b..b948958 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ GreLin 内部 Typst 模板库,按文档类型分目录维护。目录结构如 | [`resume-bp/`](resume-bp/) | 融资 BP 团队简历(完整版,含证件照) | `cv.typ` | | [`resume-career/`](resume-career/) | 求职 / 个人主页简历(精简一页) | `cv.typ`(内容 `data/config.typ`) | | [`feasibility/`](feasibility/) | 可行性研究报告 | `report.typ`(正文编辑 `feasibility/content/report.md`) | +| [`presentation/`](presentation/) | PPT 演示文稿(16:9,待完善) | `deck.typ`(内容 `data/config.typ`) | ## 环境要求 @@ -15,7 +16,7 @@ GreLin 内部 Typst 模板库,按文档类型分目录维护。目录结构如 ## 快速开始 -1. 用 VS Code / Cursor 打开本仓库,打开要编辑的入口文件,例如 `resume-bp/cv.typ`、`resume-career/cv.typ` 或 `feasibility/report.typ` +1. 用 VS Code / Cursor 打开本仓库,打开要编辑的入口文件,例如 `resume-bp/cv.typ`、`resume-career/cv.typ`、`presentation/deck.typ` 或 `feasibility/report.typ` 2. 可行性报告正文在 `feasibility/content/report.md` 用 Markdown 编写,无需改 Typst 代码 3. 看效果(预览):`Ctrl+Shift+P` → 输入 `Typst Preview` → 回车;侧边会实时显示排版效果 4. 导出 PDF:`Ctrl+Shift+P` → 输入 `Typst Export PDF` → 回车;PDF 默认生成在同目录 diff --git a/brand/colors.typ b/brand/colors.typ index 3f651a6..03fa86f 100644 --- a/brand/colors.typ +++ b/brand/colors.typ @@ -1,4 +1,4 @@ -// GreLin 品牌色板 — 全文档统一(resume-bp / resume-career / feasibility 等均 import 此文件) +// GreLin 品牌色板 — 全文档统一(resume-bp / resume-career / feasibility / presentation 等均 import 此文件) #let color-ink = rgb("#08090B") #let color-body = rgb("#2D3135") diff --git a/presentation/README.md b/presentation/README.md new file mode 100644 index 0000000..4a7dfcb --- /dev/null +++ b/presentation/README.md @@ -0,0 +1,22 @@ +# Presentation · PPT 演示模板 + +GreLin 16:9 演示文稿 Typst 模板(占位,待完善)。 + +入口:`deck.typ` · 内容:`data/config.typ` · 样式:`data/theme.typ` + +## 目录结构 + +``` +presentation/ +├── deck.typ # 入口 +├── data/ +│ ├── config.typ # ★ 标题、作者、幻灯片内容 +│ └── theme.typ # 设计 token +└── assets/ # 图片等资源 +``` + +## 编译 + +```bash +typst compile --root . presentation/deck.typ presentation/sample.pdf +``` diff --git a/presentation/assets/.gitkeep b/presentation/assets/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/presentation/data/config.typ b/presentation/data/config.typ new file mode 100644 index 0000000..23848ef --- /dev/null +++ b/presentation/data/config.typ @@ -0,0 +1,16 @@ +#let meta = ( + title: "GreLin 演示标题", + subtitle: "副标题 / 日期 / 演讲者", + author: "GreLin", +) + +#let slides = ( + ( + title: "章节一", + body: "在此编写第一页正文。", + ), + ( + title: "章节二", + body: "在此编写第二页正文。", + ), +) diff --git a/presentation/data/theme.typ b/presentation/data/theme.typ new file mode 100644 index 0000000..1825dfd --- /dev/null +++ b/presentation/data/theme.typ @@ -0,0 +1,23 @@ +#import "/brand/colors.typ": * + +#let color-primary = color-brand +#let color-heading = color-ink +#let color-text = color-body +#let color-text-light = color-muted + +#let body-font = ("Segoe UI", "Microsoft YaHei UI", "Microsoft YaHei") +#let heading-font = body-font + +#let size-title = 36pt +#let size-subtitle = 18pt +#let size-body = 16pt +#let size-section = 24pt + +#let leading-body = size-body * 1.5 + +#let slide-margin = ( + top: 2cm, + bottom: 2cm, + left: 2.5cm, + right: 2.5cm, +) diff --git a/presentation/deck.typ b/presentation/deck.typ new file mode 100644 index 0000000..2e40fc9 --- /dev/null +++ b/presentation/deck.typ @@ -0,0 +1,32 @@ +#import "data/config.typ": * +#import "data/theme.typ": * + +#set page( + paper: "presentation-16-9", + margin: slide-margin, + fill: color-page, +) + +#set text( + font: body-font, + size: size-body, + fill: color-text, + lang: "zh", +) + +#set par(leading: leading-body, justify: false) + +#align(center + horizon)[ + #text(font: heading-font, size: size-title, weight: "bold", fill: color-primary)[#meta.title] + #v(0.8em) + #text(size: size-subtitle, fill: color-text-light)[#meta.subtitle] +] + +#pagebreak() + +#for slide in slides [ + #text(font: heading-font, size: size-section, weight: "bold", fill: color-heading)[#slide.title] + #v(1em) + #slide.body + #pagebreak() +] diff --git a/presentation/sample.pdf b/presentation/sample.pdf new file mode 100644 index 0000000..a0df107 Binary files /dev/null and b/presentation/sample.pdf differ diff --git a/resume-career/local/README.md b/resume-career/local/README.md deleted file mode 100644 index 48b66fe..0000000 --- a/resume-career/local/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# 本地简历(不提交 Git) - -在此目录为每位同学生成子文件夹,例如 `local/zhangsan/`: - -``` -local/zhangsan/ -├── config.typ # 从 ../data/config.typ 复制后改内容 -├── photo.jpeg # 证件照;config 里写 photo-path: "../photo.jpeg" -└── compile.ps1 # 可选:编译脚本 -``` - -`compile.ps1` 可参考 [`resume-bp/local/wenzf/compile.ps1`](../../resume-bp/local/wenzf/compile.ps1),将 `$resumeRoot` 指向 `resume-career` 即可。 diff --git a/typst.toml b/typst.toml index 475803f..b1e4f98 100644 --- a/typst.toml +++ b/typst.toml @@ -1,3 +1,3 @@ -# GreLin Typst monorepo — 项目根目录,供 resume-bp / resume-career / feasibility 共享 brand/colors.typ +# GreLin Typst monorepo — 项目根目录,供 resume-bp / resume-career / feasibility / presentation 共享 brand/colors.typ [project]