108 lines
2.6 KiB
TOML
108 lines
2.6 KiB
TOML
|
|
# Page Configuration Template
|
||
|
|
# Copy this file to pages/<page-name>/config.toml and customize
|
||
|
|
|
||
|
|
[page]
|
||
|
|
name = "jstest"
|
||
|
|
title = "jstest"
|
||
|
|
type = "single" # single, landing, article, poster
|
||
|
|
description = "Page created with single template"
|
||
|
|
|
||
|
|
[directories]
|
||
|
|
# Page-specific directories (relative to page root)
|
||
|
|
src_dir = "src"
|
||
|
|
dist_dir = "dist"
|
||
|
|
css_src = "src/assets/css"
|
||
|
|
css_dist = "dist/assets/css"
|
||
|
|
svg_src = "src/assets/svg"
|
||
|
|
svg_dist = "dist/assets/svg"
|
||
|
|
js_src = "src/assets/js" # Optional: JavaScript source directory
|
||
|
|
js_dist = "dist/assets/js" # Optional: JavaScript output directory
|
||
|
|
|
||
|
|
[shared]
|
||
|
|
# Shared assets to include (from shared/ directory)
|
||
|
|
css_modules = [
|
||
|
|
"@shared/base/reset.css",
|
||
|
|
"@shared/base/typography.css",
|
||
|
|
"@shared/utilities/colors.css",
|
||
|
|
"@shared/components/animated-text.css"
|
||
|
|
]
|
||
|
|
|
||
|
|
svg_sprites = [
|
||
|
|
"@shared/common/symbols.svg"
|
||
|
|
]
|
||
|
|
|
||
|
|
[local]
|
||
|
|
# Page-specific CSS modules (from page css_src)
|
||
|
|
css_modules = [
|
||
|
|
"main.css"
|
||
|
|
]
|
||
|
|
|
||
|
|
# Page-specific JavaScript modules (from page js_src) - Optional
|
||
|
|
js_modules = [
|
||
|
|
"main.js",
|
||
|
|
"utils.js"
|
||
|
|
]
|
||
|
|
|
||
|
|
# CSS optimization
|
||
|
|
critical_modules = 2 # Number of modules to inline as critical CSS
|
||
|
|
minify = true
|
||
|
|
remove_comments = true
|
||
|
|
|
||
|
|
# JavaScript optimization (optional)
|
||
|
|
minify_js = true
|
||
|
|
remove_js_comments = true
|
||
|
|
|
||
|
|
[output]
|
||
|
|
# Output file names
|
||
|
|
css_output = "main.min.css"
|
||
|
|
html_output = "index.html"
|
||
|
|
svg_sprites = "sprites.svg"
|
||
|
|
js_output = "main.min.js" # Optional: JavaScript output file
|
||
|
|
|
||
|
|
[svg]
|
||
|
|
# SVG optimization
|
||
|
|
optimize = true
|
||
|
|
precision = 2
|
||
|
|
|
||
|
|
[html]
|
||
|
|
# HTML optimization
|
||
|
|
minify = true
|
||
|
|
remove_comments = true
|
||
|
|
remove_whitespace = true
|
||
|
|
|
||
|
|
[development]
|
||
|
|
# Development server settings
|
||
|
|
port = 8080
|
||
|
|
host = "localhost"
|
||
|
|
|
||
|
|
[thresholds]
|
||
|
|
# File size thresholds (bytes)
|
||
|
|
inline_css_max_size = 10240 # 10KB
|
||
|
|
inline_svg_max_size = 5120 # 5KB
|
||
|
|
max_total_size = 102400 # 100KB
|
||
|
|
|
||
|
|
[compression]
|
||
|
|
# Compression settings
|
||
|
|
enable_gzip = true
|
||
|
|
gzip_ratio = 0.3
|
||
|
|
|
||
|
|
[build]
|
||
|
|
# Build optimization
|
||
|
|
parallel_builds = true
|
||
|
|
cache_bust = true
|
||
|
|
verbose = true
|
||
|
|
|
||
|
|
[tools]
|
||
|
|
# External minification tools (optional)
|
||
|
|
js_minifier = "swc" # Options: swc (default), terser, uglifyjs, esbuild, or path to custom tool
|
||
|
|
js_minifier_path = "" # Optional: explicit path (e.g., "/usr/local/bin/swc")
|
||
|
|
js_minifier_args = ["--minify", "--target", "es2018"] # SWC default args for modern JS
|
||
|
|
css_minifier = "" # Future: external CSS minifier
|
||
|
|
html_minifier = "" # Future: external HTML minifier
|
||
|
|
|
||
|
|
# Example configurations:
|
||
|
|
# js_minifier = "terser"
|
||
|
|
# js_minifier_args = ["--compress", "drop_console=true", "--mangle", "--toplevel"]
|
||
|
|
#
|
||
|
|
# js_minifier = "esbuild"
|
||
|
|
# js_minifier_args = ["--minify", "--target=es2018"]
|