- 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.
40 lines
956 B
YAML
40 lines
956 B
YAML
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
|