Files
HugoBlox-kit/modules/blox-tailwind/blox/collection/schema.json
T
George Cushen d5d2f04c2d chore: adopt Biome + Stylelint, modernize CI/CD, add security/support docs, minor JS fixes
- 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.
2025-09-17 03:17:38 +01:00

118 lines
3.8 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://hugoblox.com/schemas/blocks/collection.json",
"title": "Collection Block Schema",
"description": "Schema for the Collection block - displays filtered and sorted collections of pages",
"allOf": [
{
"$ref": "../shared/schemas/base-block.json"
},
{
"type": "object",
"properties": {
"block": {
"const": "collection"
},
"content": {
"type": "object",
"description": "Content configuration for the collection block",
"properties": {
"title": {
"type": "string",
"description": "Section title (supports Markdown)"
},
"text": {
"type": "string",
"description": "Section description (supports Markdown)"
},
"count": {
"type": "number",
"description": "Maximum number of items to display",
"minimum": 0,
"default": 5
},
"offset": {
"type": "number",
"description": "Number of items to skip",
"minimum": 0,
"default": 0
},
"page_type": {
"type": "string",
"description": "Filter by page type (e.g., 'post', 'publication')"
},
"sort_by": {
"type": "string",
"description": "Field to sort by",
"default": "Date"
},
"sort_ascending": {
"type": "boolean",
"description": "Sort in ascending order",
"default": false
},
"order": {
"type": "string",
"enum": ["asc", "desc"],
"description": "Sort order (alternative to sort_ascending)"
},
"filters": {
"type": "object",
"description": "Content filtering options",
"properties": {
"folders": {
"type": "array",
"description": "Filter by content folders/sections",
"items": {
"type": "string"
}
},
"tag": {
"type": "string",
"description": "Filter by tag"
},
"category": {
"type": "string",
"description": "Filter by category"
},
"publication_type": {
"type": "string",
"description": "Filter by publication type"
},
"exclude_publication_type": {
"type": "string",
"description": "Exclude specific publication type"
},
"author": {
"type": "string",
"description": "Filter by author"
},
"featured_only": {
"type": "boolean",
"description": "Show only featured content",
"default": false
},
"exclude_featured": {
"type": "boolean",
"description": "Exclude featured content",
"default": false
},
"exclude_past": {
"type": "boolean",
"description": "Exclude past-dated content",
"default": false
},
"exclude_future": {
"type": "boolean",
"description": "Exclude future-dated content",
"default": false
}
}
}
}
}
}
}
]
}