yggdrasil/Makefile
xfy 2b5cd5f64f docs(makefile): cargo doc 默认使用 ayu 主题
通过 RUSTDOCFLAGS="--default-theme=ayu" 透传给 rustdoc,生成产物
根节点写入 data-theme="ayu"。默认值语义:浏览器未记住主题时生效。
2026-06-26 10:17:12 +08:00

77 lines
2.7 KiB
Makefile
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.PHONY: dev build build-linux css css-watch clean build-editor build-editor-incremental build-lightbox build-lightbox-incremental highlight-css test doc doc-open
build:
@$(MAKE) build-editor
@$(MAKE) build-lightbox
@$(MAKE) highlight-css
@tailwindcss -i input.css -o public/style.css --minify
@dx build --release --debug-symbols=false
build-linux:
@$(MAKE) build-editor
@$(MAKE) build-lightbox
@$(MAKE) highlight-css
@tailwindcss -i input.css -o public/style.css --minify
@dx build @client --release --debug-symbols=false --wasm-js-cfg false
@dx build @server --release --debug-symbols=false --target x86_64-unknown-linux-musl --wasm-js-cfg false --features server
highlight-css:
@cargo run --bin generate_highlight_css
build-editor:
@echo "Building Tiptap editor..."
@cd libs/tiptap-editor && npm ci --include=dev && npm run build
@echo "Tiptap editor built."
# dev 用的增量构建:跳过 npm ci假设 node_modules 已存在),仅 vite build。
# 与 build-editor 分开,避免每次 make dev 都重装依赖。
build-editor-incremental:
@cd libs/tiptap-editor && npm run build
build-lightbox:
@echo "Building Lightbox..."
@cd libs/lightbox && npm install && npm run build
@echo "Lightbox built."
# dev 用的增量构建:跳过 npm ci假设 node_modules 已存在),仅 vite build。
build-lightbox-incremental:
@cd libs/lightbox && npm run build
dev: build-editor-incremental build-lightbox-incremental
@echo "Cleaning static/..."
@rm -rf static/
@echo "Building Tiptap editor (incremental)..."
@echo "Starting tailwindcss watch and dx serve..."
@tailwindcss -i input.css -o public/style.css --watch & \
TAILWIND_PID=$$!; \
trap 'kill $$TAILWIND_PID 2>/dev/null; exit' INT TERM EXIT; \
SSR_CACHE_SECS=0 dx serve --addr 0.0.0.0
css:
@tailwindcss -i input.css -o public/style.css
css-watch:
@tailwindcss -i input.css -o public/style.css --watch
test:
@cargo test
@cd libs/tiptap-editor && npm test
@cd libs/lightbox && npm test
# 只编译当前 crate 的文档(--no-deps 跳过依赖,--document-private-items
# 让纯 binary crate 的内部模块/私有项也进文档,否则页面基本是空的)。
# RUSTDOCFLAGS 把 rustdoc 的 --default-theme=ayu 透传过去——cargo doc 本身
# 无主题参数,但会把该环境变量转交给底层 rustdoc。注意它是默认值浏览器
# 若已记住上次的主题选择localStorage则不会被覆盖。
doc:
@RUSTDOCFLAGS="--default-theme=ayu" cargo doc --no-deps --document-private-items
# 同 doc生成完自动用浏览器打开。
doc-open:
@RUSTDOCFLAGS="--default-theme=ayu" cargo doc --no-deps --document-private-items --open
clean:
@cargo clean
@rm -f public/style.css public/highlight.css
@rm -rf uploads/.cache