mirror of
https://github.com/tiennm99/HugoBlox-kit.git
synced 2026-10-14 00:16:31 +00:00
- Linting/format - Replace ESLint/Prettier with Biome; remove old configs; add `biome.json`; update scripts - Tailwind-friendly `.stylelintrc.yaml`; Stylelint and Biome pass - Enable Biome across `modules/**`; prune legacy JS globals; ignore oversized `devicon.json` - Code fixes - `hb-theme.js`: avoid assignment-in-expressions; clearer dataset updates - `hugoblox-slides.js`: fix inner var scope (var → let); apply formatting - CI/CD - Split lint/build workflows; add path filters; Node via Corepack (pnpm from package.json) - Hugo pinned to env `HUGO_VERSION`; add consistency check vs `starters/academic-cv/hugoblox.yaml` - Nightly starters matrix build (academic-cv, landing-page); CodeQL weekly; resource caches - Workflows/Community - Greeter: switch to `pull_request_target`; add Contributor Guide to PR message - PR labeler for path-based labels - Repo policies/docs - `CODEOWNERS` for `@gcushen` - `SECURITY.md`, `SUPPORT.md` - Documented branch protection in `.github/settings.yml` - Move `CODE_OF_CONDUCT.md` to `.github/` - docs(zh): update `README.zh.md` translation Notes: - pnpm is sourced from `package.json: packageManager` via Corepack; no hard-coded pnpm versions in CI.
94 lines
2.9 KiB
JSON
94 lines
2.9 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"$id": "https://hugoblox.com/schemas/blocks/hero.json",
|
|
"title": "Hero Block Schema",
|
|
"description": "Schema for the Hero block - displays prominent hero sections with title, text, and call-to-action buttons",
|
|
"allOf": [
|
|
{
|
|
"$ref": "../shared/schemas/base-block.json"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"block": {
|
|
"const": "hero"
|
|
},
|
|
"content": {
|
|
"type": "object",
|
|
"description": "Content configuration for the hero block",
|
|
"properties": {
|
|
"title": {
|
|
"type": "string",
|
|
"description": "Main hero title (supports Markdown)"
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "Hero description text (supports Markdown)"
|
|
},
|
|
"announcement": {
|
|
"type": "object",
|
|
"description": "Optional announcement banner",
|
|
"properties": {
|
|
"text": {
|
|
"type": "string",
|
|
"description": "Announcement text (supports Markdown)"
|
|
},
|
|
"link": {
|
|
"type": "object",
|
|
"description": "Optional announcement link",
|
|
"properties": {
|
|
"text": {
|
|
"type": "string",
|
|
"description": "Link text"
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"description": "Link URL"
|
|
}
|
|
},
|
|
"required": ["text", "url"]
|
|
}
|
|
},
|
|
"required": ["text"]
|
|
},
|
|
"primary_action": {
|
|
"type": "object",
|
|
"description": "Primary call-to-action button",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "Button URL"
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "Button text (supports Markdown)"
|
|
},
|
|
"icon": {
|
|
"type": "string",
|
|
"description": "Optional button icon (icon pack format: pack/icon-name)"
|
|
}
|
|
},
|
|
"required": ["url", "text"]
|
|
},
|
|
"secondary_action": {
|
|
"type": "object",
|
|
"description": "Secondary call-to-action link",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"description": "Link URL"
|
|
},
|
|
"text": {
|
|
"type": "string",
|
|
"description": "Link text (supports Markdown)"
|
|
}
|
|
},
|
|
"required": ["url", "text"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|