Skip to content

Commit fc09c8e

Browse files
committed
Poster update
1 parent 6cbfb49 commit fc09c8e

File tree

3 files changed

+188
-39
lines changed

3 files changed

+188
-39
lines changed

posters/invite2025/Makefile

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
# Makefile for Student PL Meetup Poster
2+
# Automates Typst compilation with local fonts
3+
4+
# Variables
5+
TYPST = typst
6+
MAIN_FILE = main.typ
7+
FONT_PATH = fonts
8+
OUTPUT_DIR = output
9+
FINAL_PDF = invite.pdf
10+
WATCH_PDF = invite-watch.pdf
11+
12+
# Default target - compile with local fonts
13+
.PHONY: all
14+
all: $(FINAL_PDF)
15+
16+
# Compile with exact website fonts (recommended)
17+
$(FINAL_PDF): $(MAIN_FILE)
18+
@echo "🎨 Compiling poster with exact website fonts..."
19+
$(TYPST) compile --font-path $(FONT_PATH) $(MAIN_FILE) $(FINAL_PDF)
20+
@echo "✅ Poster compiled: $(FINAL_PDF)"
21+
22+
# Quick compilation with fallback fonts (faster, no font-path needed)
23+
.PHONY: quick
24+
quick:
25+
@echo "⚡ Quick compilation with fallback fonts..."
26+
$(TYPST) compile $(MAIN_FILE) invite-quick.pdf
27+
@echo "✅ Quick build: invite-quick.pdf"
28+
29+
# Watch mode for development (auto-recompile on changes)
30+
.PHONY: watch
31+
watch:
32+
@echo "👀 Starting watch mode with website fonts..."
33+
@echo "📝 Edit $(MAIN_FILE) and see changes automatically!"
34+
@echo "🛑 Press Ctrl+C to stop"
35+
$(TYPST) watch --font-path $(FONT_PATH) $(MAIN_FILE) $(WATCH_PDF)
36+
37+
# Watch mode with fallback fonts (faster)
38+
.PHONY: watch-quick
39+
watch-quick:
40+
@echo "👀 Starting quick watch mode with fallback fonts..."
41+
@echo "📝 Edit $(MAIN_FILE) and see changes automatically!"
42+
@echo "🛑 Press Ctrl+C to stop"
43+
$(TYPST) watch $(MAIN_FILE) invite-watch-quick.pdf
44+
45+
# Create organized output directory and compile multiple versions
46+
.PHONY: release
47+
release:
48+
@echo "📦 Creating release builds..."
49+
@mkdir -p $(OUTPUT_DIR)
50+
$(TYPST) compile --font-path $(FONT_PATH) $(MAIN_FILE) $(OUTPUT_DIR)/invite-final.pdf
51+
$(TYPST) compile $(MAIN_FILE) $(OUTPUT_DIR)/invite-fallback.pdf
52+
@echo "✅ Release builds created in $(OUTPUT_DIR)/"
53+
@echo " 📄 invite-final.pdf (with website fonts)"
54+
@echo " 📄 invite-fallback.pdf (with system fonts)"
55+
56+
# Check if fonts are available
57+
.PHONY: check-fonts
58+
check-fonts:
59+
@echo "🔍 Checking local fonts..."
60+
@if [ -d "$(FONT_PATH)" ]; then \
61+
echo "✅ Font directory exists: $(FONT_PATH)/"; \
62+
echo "📁 Available fonts:"; \
63+
ls -la $(FONT_PATH)/*.ttf 2>/dev/null || echo "❌ No .ttf files found"; \
64+
else \
65+
echo "❌ Font directory missing: $(FONT_PATH)/"; \
66+
echo "💡 Run 'make download-fonts' to get website fonts"; \
67+
fi
68+
69+
# Download website fonts (if needed)
70+
.PHONY: download-fonts
71+
download-fonts:
72+
@echo "⬇️ Downloading website fonts..."
73+
@mkdir -p $(FONT_PATH)
74+
@cd $(FONT_PATH) && \
75+
wget -q "https://fonts.googleapis.com/css2?family=Neuton:wght@200;300;400;700;800&display=swap" -O neuton.css && \
76+
wget -q "https://fonts.googleapis.com/css2?family=Manrope:wght@200;300;400;500;600;700;800&display=swap" -O manrope.css && \
77+
wget -q "https://fonts.gstatic.com/s/neuton/v24/UMBTrPtMoH62xUZyyA.ttf" -O Neuton-Regular.ttf && \
78+
wget -q "https://fonts.gstatic.com/s/neuton/v24/UMBQrPtMoH62xUZKdK0feg.ttf" -O Neuton-Bold.ttf && \
79+
wget -q "https://fonts.gstatic.com/s/manrope/v20/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk79FO_F.ttf" -O Manrope-Regular.ttf && \
80+
wget -q "https://fonts.gstatic.com/s/manrope/v20/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk4jE-_F.ttf" -O Manrope-SemiBold.ttf && \
81+
wget -q "https://fonts.gstatic.com/s/manrope/v20/xn7_YHE41ni1AdIRqAuZuw1Bx9mbZk4aE-_F.ttf" -O Manrope-Bold.ttf && \
82+
rm -f *.css
83+
@echo "✅ Website fonts downloaded to $(FONT_PATH)/"
84+
85+
# Clean generated files
86+
.PHONY: clean
87+
clean:
88+
@echo "🧹 Cleaning generated files..."
89+
@rm -f *.pdf
90+
@rm -rf $(OUTPUT_DIR)
91+
@echo "✅ Cleaned PDF files and output directory"
92+
93+
# Clean everything including fonts
94+
.PHONY: clean-all
95+
clean-all: clean
96+
@echo "🧹 Cleaning fonts..."
97+
@rm -rf $(FONT_PATH)
98+
@echo "✅ Cleaned everything"
99+
100+
# Show available targets
101+
.PHONY: help
102+
help:
103+
@echo "📋 Available Makefile targets:"
104+
@echo ""
105+
@echo "🎯 Main targets:"
106+
@echo " make - Compile poster with website fonts (default)"
107+
@echo " make quick - Quick compile with fallback fonts"
108+
@echo " make watch - Watch mode with website fonts"
109+
@echo " make release - Create release builds"
110+
@echo ""
111+
@echo "🔧 Utility targets:"
112+
@echo " make check-fonts - Check if fonts are available"
113+
@echo " make download-fonts - Download website fonts"
114+
@echo " make clean - Remove generated PDF files"
115+
@echo " make clean-all - Remove PDFs and fonts"
116+
@echo " make help - Show this help"
117+
@echo ""
118+
@echo "💡 Examples:"
119+
@echo " make # Compile invite.pdf with website fonts"
120+
@echo " make watch # Auto-recompile on file changes"
121+
@echo " make release # Create final release versions"
122+
123+
# Verify Typst is installed
124+
.PHONY: check-typst
125+
check-typst:
126+
@echo "🔍 Checking Typst installation..."
127+
@which $(TYPST) > /dev/null || (echo "❌ Typst not found. Install from https://typst.app/" && exit 1)
128+
@echo "✅ Typst found: $$($(TYPST) --version)"
129+
130+
# Show project status
131+
.PHONY: status
132+
status: check-typst check-fonts
133+
@echo ""
134+
@echo "📊 Project Status:"
135+
@echo " 📄 Main file: $(MAIN_FILE)"
136+
@echo " 🎨 Font path: $(FONT_PATH)/"
137+
@echo " 📁 Output: $(FINAL_PDF)"
138+
@echo ""
139+
@echo "🚀 Ready to compile!"

posters/invite2025/invite.pdf

45.3 KB
Binary file not shown.

posters/invite2025/main.typ

Lines changed: 49 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#let soft = brand-paper
1919

2020
#set text(fill: dark, font: "Manrope", size: 14pt)
21+
#set text(lang: "cs")
2122

2223
#show heading.where(level: 1): set text(size: 56pt, weight: 700, fill: accent-alt, font: "Neuton")
2324
#show heading.where(level: 2): set text(size: 24pt, weight: 600, fill: accent-alt, font: "Neuton")
@@ -31,75 +32,84 @@
3132
fill: accent-alt, inset: (left: 16pt, right: 16pt, top: 2pt, bottom: 8pt),
3233
// width: 120%,
3334
)[
34-
#text(size: 28pt, weight: 900, fill: white, font: "Neuton")[PRG • PRG]
35+
#text(size: 28pt, weight: 600, fill: white, font: "Neuton")[PRG • PRG]
3536
]
3637
#v(-5pt)
3738
#block(
3839
fill: accent, inset: (left: 16pt, right: 16pt, top: 2pt, bottom: 20pt), width: 100%,
3940
)[
4041
#text(
41-
size: 54pt, weight: 200, fill: white, font: "Neuton",
42+
size: 48pt, weight: 600, fill: white, font: "Neuton",
4243
)[Student Programming Language Meetup]
4344
]
44-
#v(6pt)
4545
#block(
46-
inset: (left: 0pt, right: 0pt, top: 2pt, bottom: 20pt), width: 100%,
46+
inset: (left: 0pt, right: 0pt, top: 2pt, bottom: 12pt), width: 100%,
4747
)[
48-
#set text(size: 19pt, weight: 600, fill: accent, font: "Manrope")
48+
#set text(size: 17.7pt, weight: 600, fill: accent, font: "Manrope")
49+
#show "": [#h(6pt) • #h(6pt)]
4950
#align(
50-
horizon + center, fit-to-width[Talks • Invited SpeakersDiscussionCommunity],
51+
horizon + center, [Talky a prezentace • Externí hostéDiskuseKomunita],
5152
)
5253
]
5354
],
5455
)
5556

56-
#set par(leading: 0.7em, justify: false)
57+
#set par(leading: 0.75em, justify: true)
5758

58-
// == What it is?
59-
60-
Student & alumni community from *FIT ČVUT**FEL ČVUT**MFF UK*
61-
meeting to discuss programming languages and related topics.
62-
63-
#set list(marker: text(fill: accent-bright, ""))
64-
#list(
65-
[Share lightning & deep-dive talks], [Discuss PL concepts, compilers, runtimes], [Explore research ideas & language design], [Grow a supportive local PL network],
66-
)
59+
Přidejte se ke komunitě studentů a absolventů #h(4pt) *FEL ČVUT*, #h(4pt) *FIT ČVUT*, #h(4pt) *MFF UK* a přijďte se dozvědět více o nejrůznějších zákoutích programovacích jazyků, compilerů a runtime systémů.
6760

61+
#v(16pt)
62+
#block(fill: none)[
63+
#set text(size: 11pt)
64+
#set par(justify: true)
65+
#text(weight: 600, fill: accent)[Minulá témata] \
66+
#show " · ": [#h(2pt) • #h(2pt)]
67+
Zig Compiler Internals · Building a High-Performance Linker · How to Build and Break LLVM · Transpiling LLVM · Inside Rust Borrow Checker · Flow-Sensitive Typing (Kotlin) · Lua Register VM · Dependent Type Theory · Algebraic Effects · Type Kinds · Expression Problem · Continuations · Costs of Mutability · Theorems for Free · Automated Theorem Proving = Logic Programming · Isabelle/HOL · Symbolic Execution · Typst Template Lessons · Scalene Profiler · Breaking Python · Slightly Less Broken C · Inside PDF · APL · Φ Nodes are Functions! · WAT: Hardware Edition · Weird Stuff PowerShell Does · (a mnohem více)
68+
]
6869
#v(1fr)
6970

7071
#grid(
71-
columns: (3fr, 1fr), align: bottom, [
72+
columns: (6fr, 2fr), align: bottom, [
7273
#block(
7374
fill: accent, inset: 16pt, width: 100%,
7475
)[
75-
#text(size: 18pt, weight: 600, fill: white)[Next Meetup (vol. VOL)]
76-
#v(8pt)
77-
#set text(fill: white)
78-
#list(
79-
[📅 *DATE* at *TIME*], [📍 *VENUE / ROOM*], [⏱ Talks ~ 5–30 min — mix of formats],
80-
)
76+
#text(size: 14pt, weight: 600, fill: white)[*Příští meetup*]
77+
#v(3pt)
78+
#set text(fill: white, size: 12pt)
79+
80+
81+
- *Povídání o děrovacích štítcích a páskách*:\ speciální hosté Dr. Božena Mannová
82+
a prof. Oldřich Starý
83+
- *Zig comptime a co se s ním dá dělat*: Max Hollmann
84+
- *Stacking monads*: Michal Atlas
85+
86+
#v(4pt)
87+
88+
📅 *20.10.* *18:00-21:00* #h(1fr)
89+
📍 *FEL ČVUT Dejvice (T2:C3-132)* #h(1fr)
8190
]
8291
], [
83-
#block(fill: none, [
84-
#block(fill: white, inset: 15pt, [
85-
#set text(weight: 900, fill: accent, size: 20pt)
86-
#set align(center)
87-
#qr-code("https://discord.gg/eBznsEpD2V", width: 100%, color: accent)
88-
#v(-13pt)
89-
Discord
90-
])
91-
])
92+
#block(
93+
fill: none, [
94+
#block(fill: white, inset: 15pt, [
95+
#set text(weight: 900, fill: accent, size: 20pt)
96+
#set align(center)
97+
#qr-code("https://discord.gg/eBznsEpD2V", width: 100%, color: accent)
98+
#v(-13pt)
99+
Discord
100+
])
101+
],
102+
)
92103
],
93104
)
94105

95-
#v(10pt)
96-
97-
#block()[
98-
#set text(size: 19pt, weight: 600, fill: accent-alt, font: "Neuton")
99-
#align(horizon + center, fit-to-width[student-meetup.prgprg.org])
100-
]#v(30pt)#align(center)[
106+
#block(width: 100%)[
107+
#set align(center)
108+
#set text(size: 32pt, weight: 600, fill: accent-alt, font: "Neuton")
109+
#align(horizon + center, "student-meetup.prgprg.org")
110+
]#v(15pt)#align(center)[
101111
#set text(size: 9pt, style: "italic", fill: luma(30%))
102112
Prague Programming Languages & Systems Research Network
103113

104-
Responsible FEL CVUT employee: Jakub Dupák \<dupakjak\@fel.cvut.cz>
114+
Zodpovědná osoba FEL ČVUT: Jakub Dupák \<dupakjak\@fel.cvut.cz>
105115
]

0 commit comments

Comments
 (0)