-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
70 lines (64 loc) · 2.56 KB
/
Copy pathMakefile
File metadata and controls
70 lines (64 loc) · 2.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
INKSCAPE := /Applications/Inkscape.app/Contents/MacOS/inkscape
ACTIONS := select-all;object-to-path;export-plain-svg;export-do
.PHONY: dist png clean help
.DEFAULT_GOAL := help
# Convert text to paths: src/ → assets/ (requires Inkscape)
dist:
@echo "Converting banners (text → paths)..."
@mkdir -p assets/banners
@for f in src/banners/*.svg; do \
name=$$(basename "$$f"); \
$(INKSCAPE) "$$f" --actions="select-all;object-to-path;export-filename:assets/banners/$$name;$(ACTIONS)" 2>/dev/null; \
echo " assets/banners/$$name"; \
done
@echo "Converting logos (text → paths)..."
@mkdir -p assets/logos
@for f in src/logos/*.svg; do \
name=$$(basename "$$f"); \
$(INKSCAPE) "$$f" --actions="select-all;object-to-path;export-filename:assets/logos/$$name;$(ACTIONS)" 2>/dev/null; \
echo " assets/logos/$$name"; \
done
@echo "Converting og image (text → paths)..."
@$(INKSCAPE) src/og.svg --actions="select-all;object-to-path;export-filename:assets/og.svg;$(ACTIONS)" 2>/dev/null
@echo " assets/og.svg"
@echo "Copying non-text assets..."
@cp src/w.svg assets/w.svg
@cp src/template.svg assets/template.svg
@cp src/narrow-template.svg assets/narrow-template.svg
@cp src/logo-template.svg assets/logo-template.svg
@cp src/icon-template.svg assets/icon-template.svg
@cp src/wordmark-template.svg assets/wordmark-template.svg
@echo "Done."
# Convert all built SVGs to PNG
png:
@echo "Converting banners..."
@mkdir -p assets/banners/png
@for f in assets/banners/*.svg; do \
name=$$(basename "$$f" .svg); \
rsvg-convert "$$f" -o "assets/banners/png/$$name.png"; \
echo " $$name.png"; \
done
@echo "Converting logos..."
@mkdir -p assets/logos/png
@for f in assets/logos/*.svg; do \
name=$$(basename "$$f" .svg); \
rsvg-convert "$$f" -o "assets/logos/png/$$name.png"; \
echo " $$name.png"; \
done
@echo "Converting og image..."
@if [ -f assets/og.svg ]; then rsvg-convert assets/og.svg -o assets/og.png && echo " og.png"; else echo " skipping og.png (run make dist first)"; fi
@echo "Done."
clean:
rm -rf assets/banners assets/logos assets/og.svg assets/og.png assets/w.svg assets/banners/png assets/logos/png
help:
@echo "Usage: make [target]"
@echo ""
@echo "Targets:"
@echo " dist Convert src/ SVGs (text elements) to assets/ SVGs (paths) via Inkscape"
@echo " png Convert assets/ SVGs to PNG using rsvg-convert"
@echo " clean Remove all built assets (assets/banners, assets/logos)"
@echo " help Show this help message"
@echo ""
@echo "Prerequisites:"
@echo " dist: brew install --cask inkscape"
@echo " png: brew install librsvg"