hugo-academic-mirror/hugo-blox-builder.code-workspace

98 lines
2.6 KiB
Text
Raw Permalink Normal View History

2023-10-24 22:46:49 +01:00
{
"folders": [
{
"path": "."
}
],
"settings": {
"files.exclude": {
"**/node_modules/**": true,
"**/public/**": true,
"**/resources/**": true,
"**/pagefind/**": true
},
"search.exclude": {
"**/node_modules/**": true,
"**/public/**": true,
"**/resources/**": true,
"**/pagefind/**": true
},
"files.watcherExclude": {
"**/node_modules/**": true,
"**/public/**": true,
"**/resources/**": true,
"**/pagefind/**": true
},
"explorer.excludeGitIgnore": true,
"workbench.editor.labelFormat": "medium",
"breadcrumbs.enabled": true,
"npm.packageManager": "pnpm",
2025-09-17 10:09:25 +01:00
"editor.detectIndentation": false,
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.codeActionsOnSave": {
"source.fixAll.stylelint": "explicit"
},
2025-08-20 23:25:51 +01:00
2025-09-17 10:09:25 +01:00
"[javascript]": { "editor.defaultFormatter": "biomejs.biome" },
"[typescript]": { "editor.defaultFormatter": "biomejs.biome" },
"[json]": { "editor.defaultFormatter": "biomejs.biome" },
"[css]": { "editor.defaultFormatter": "esbenp.prettier-vscode" },
feat(preact+landing): enable Preact block rendering + reusable landing page content system ## Preact Block Integration - Enable Preact component detection for data-driven pages: - Fix init.html to resolve sections_source + per-section ref before Preact detection - Correct resource paths: blox/* → js/hbx/blocks/* (Hugo module mounts) - Update libraries.html to load Preact core + compiled block scripts - Add dynamic icon rendering for Preact components: - Create Icon.jsx component with SVG decoding - Add get_icon_data.html partial for passing icon strings to Preact props - Update preact-wrapper.html to fetch icon data and inject into props - Wire hero component to render dynamic icons via <Icon svg={icon_svg} /> - Centralized logging system: - Add functions/logger.html to wrap warnf/errorf safely - Degrade to HTML comments in constrained contexts (content adapters) ## Reusable Landing Page Content System - Add sections_source support: - Page front matter: sections_source: pages/<key> loads base from data/pages/<key>.yaml - Inline sections deep-merge over base by position; extras appended - Add per-section ref system: - Any section: ref: blocks/<slug> loads from data/blocks/<slug>.yaml - Inline section properties deep-merge over ref (content/design submaps) - Enable content reuse across multiple landing pages - Create reusable block library: - Add test/data/blocks/: hero_basic.yaml, features_basic.yaml - Add test/content/linked/index.md demo using refs with overrides - Add pragmatic deep merge for content/design override handling ## Infrastructure & Schemas - Update base-block.json schema: - Fix gradient structure: flat → nested (gradient.start/end/direction) - Fix color structure: string|{light,dark} (matches parse_block_v3.html) - Update hero schema to properly extend base via $ref - Fix Tailwind source path generation: - Add tailwind_sources.html with test vs starter site logic - scripts/view-test.sh: export HUGO_BLOX_TEST_SITE=true - Update block directory structure: - blox/<name>/config.html (was blox/<name>--CONFIG.html) - Apply to init.html + parse_block_v2.html - Code quality improvements: - Biome config: match Prettier rules ## Content Adapters (Removed) - Investigated Hugo content adapters for landing pages - Found execution context limitations (early build phase, limited site methods) - Archived to backups/content-adapters-*.zip and removed from test site - Decision: use standard pages + data linking instead of adapters This enables dynamic Preact rendering with proper icon support while providing a flexible, reusable content system for landing pages that maintains the "single file = page" mental model with optional advanced linking.
2025-09-22 22:18:00 +01:00
"[html]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
},
2025-09-17 10:09:25 +01:00
"[markdown]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"files.trimTrailingWhitespace": false
},
"[python]": {
"editor.tabSize": 4,
"editor.insertSpaces": true
},
feat(preact+landing): enable Preact block rendering + reusable landing page content system ## Preact Block Integration - Enable Preact component detection for data-driven pages: - Fix init.html to resolve sections_source + per-section ref before Preact detection - Correct resource paths: blox/* → js/hbx/blocks/* (Hugo module mounts) - Update libraries.html to load Preact core + compiled block scripts - Add dynamic icon rendering for Preact components: - Create Icon.jsx component with SVG decoding - Add get_icon_data.html partial for passing icon strings to Preact props - Update preact-wrapper.html to fetch icon data and inject into props - Wire hero component to render dynamic icons via <Icon svg={icon_svg} /> - Centralized logging system: - Add functions/logger.html to wrap warnf/errorf safely - Degrade to HTML comments in constrained contexts (content adapters) ## Reusable Landing Page Content System - Add sections_source support: - Page front matter: sections_source: pages/<key> loads base from data/pages/<key>.yaml - Inline sections deep-merge over base by position; extras appended - Add per-section ref system: - Any section: ref: blocks/<slug> loads from data/blocks/<slug>.yaml - Inline section properties deep-merge over ref (content/design submaps) - Enable content reuse across multiple landing pages - Create reusable block library: - Add test/data/blocks/: hero_basic.yaml, features_basic.yaml - Add test/content/linked/index.md demo using refs with overrides - Add pragmatic deep merge for content/design override handling ## Infrastructure & Schemas - Update base-block.json schema: - Fix gradient structure: flat → nested (gradient.start/end/direction) - Fix color structure: string|{light,dark} (matches parse_block_v3.html) - Update hero schema to properly extend base via $ref - Fix Tailwind source path generation: - Add tailwind_sources.html with test vs starter site logic - scripts/view-test.sh: export HUGO_BLOX_TEST_SITE=true - Update block directory structure: - blox/<name>/config.html (was blox/<name>--CONFIG.html) - Apply to init.html + parse_block_v2.html - Code quality improvements: - Biome config: match Prettier rules ## Content Adapters (Removed) - Investigated Hugo content adapters for landing pages - Found execution context limitations (early build phase, limited site methods) - Archived to backups/content-adapters-*.zip and removed from test site - Decision: use standard pages + data linking instead of adapters This enables dynamic Preact rendering with proper icon support while providing a flexible, reusable content system for landing pages that maintains the "single file = page" mental model with optional advanced linking.
2025-09-22 22:18:00 +01:00
"[yaml]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[toml]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
2025-08-20 23:25:51 +01:00
2025-09-17 10:09:25 +01:00
"eslint.workingDirectories": [{ "mode": "auto" }],
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact"
],
2025-08-20 23:25:51 +01:00
"stylelint.validate": ["css"],
2025-08-20 23:25:51 +01:00
"tailwindCSS.emmetCompletions": true,
2025-08-20 23:25:51 +01:00
2025-09-17 10:09:25 +01:00
"yaml.validate": true,
"prettier.useEditorConfig": true
},
"extensions": {
"recommendations": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"stylelint.vscode-stylelint",
"bradlc.vscode-tailwindcss",
"redhat.vscode-yaml",
"tamasfe.even-better-toml",
"DavidAnson.vscode-markdownlint",
"ms-python.python",
"charliermarsh.ruff",
"streetsidesoftware.code-spell-checker",
"mikestead.dotenv",
"eamodio.gitlens",
2025-09-17 10:09:25 +01:00
"bierner.markdown-mermaid",
"EditorConfig.EditorConfig",
"biomejs.biome",
"github.vscode-github-actions",
"timonwong.shellcheck",
"budparr.language-hugo-vscode"
]
}
}