Co to znamená
Sekce dovedností na webu vypisuje každou dovednost a každá má vlastní stránku, která vykresluje její front matter jako metadata, její vlastní tělo v Markdownu jako stránku, příklady, související dovednosti a cestu k souboru, ze kterého byla přečtena. Nic z toho není na web ručně napsáno. Když se dovednost přidá, přejmenuje nebo odstraní a data webu se znovu vygenerují, index, stránka i všechny odkazy ji následují a scripts/generate-site-data --check, které CI spouští před sestavením webu, končí kódem 10, dokud jsou commitnutá data pozadu za soubory.
Princip
scripts/generate-site-data zdrojuje lib/skills.sh, spouští stejné zkoumání jako skills check (dovednost, která mu neprojde, shodí build) a zapíše site/data/generated/skills.json z katalogu — každou dovednost s její trasou, příklady přečtenými z examples/*.md (titulek z prvního nadpisu, tělo pod ním) a indexem podle tagů — pak jednu stránku Zola na dovednost pod site/content/skills/, front matter z katalogu a tělo zkopírované z SKILL.md. Adresář obsahu se při každém běhu nahrazuje celý, takže stránka, jejíž dovednost zmizela, zmizí. site/templates/skills-section.html a skill.html se vykreslují z těchto dvou zdrojů a ničeho jiného; postranní panel každé stránky dovednosti uvádí stránky sekce, takže i navigace mezi dovednostmi je odvozená.
Jak to vidět
scripts/generate-site-data && jq '.count, [.skills[].id]' site/data/generated/skills.json
ls site/content/skills/
scripts/site-build && ls site/public/skills/
git mv .ai/repo/skills/repo-review .ai/repo/skills/review-repo # then change id: in SKILL.md
scripts/generate-site-data --check # exit 10: stale
scripts/generate-site-data && ls site/content/skills/ # review-repo.md, no repo-review.mdCo nepokrývá
Navigační lišta webu pojmenovává sekci, nikoli dovednosti; jednotlivé dovednosti se otevírají z indexu sekce a z postranního panelu každé stránky. Web nemá vlastní vyhledávání, takže dovednosti nejsou pro vyhledávání indexovány.
Proč existuje
Stránka dokumentace, která popisuje dovednost, je její druhá kopie, a druhá kopie je ta, která o šest týdnů později lže. Vykreslení vlastního souboru dovednosti ze stejného katalogu, který čte každý jiný povrch, znamená, že stránka může zastarat jen způsobem, který build odmítne.