Cards: optional repo link, block-level descriptions, schema + CI validation
- Project card: optional `repo` field renders a git icon corner link (github.com / bitbucket.org / Gitea URLs supported). - All cards: `.card__title` and `.card__desc` are now display:block, so the description always starts on its own line. - Added data/links.schema.json (JSON Schema 2020-12) describing the full content model. Both data files reference it via `$schema` for github.dev / VS Code autocomplete. - New GitHub Action validates data/links.json on every push/PR: jq syntax check + ajv-cli schema validation.
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
name: Validate links data
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
paths:
|
||||
- "data/links.json"
|
||||
- "data/links.example.json"
|
||||
- "data/links.schema.json"
|
||||
- ".github/workflows/validate-data.yml"
|
||||
pull_request:
|
||||
paths:
|
||||
- "data/links.json"
|
||||
- "data/links.example.json"
|
||||
- "data/links.schema.json"
|
||||
- ".github/workflows/validate-data.yml"
|
||||
|
||||
jobs:
|
||||
validate:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: JSON syntax (jq)
|
||||
run: |
|
||||
set -e
|
||||
for f in data/links.json data/links.example.json data/links.schema.json; do
|
||||
echo "Checking $f"
|
||||
jq empty "$f"
|
||||
done
|
||||
|
||||
- name: Schema validation (ajv)
|
||||
run: |
|
||||
npx --yes ajv-cli@5 validate \
|
||||
--spec=draft2020 \
|
||||
--strict=false \
|
||||
-s data/links.schema.json \
|
||||
-d data/links.json \
|
||||
-d data/links.example.json
|
||||
Reference in New Issue
Block a user