No description
sources/, config.yml and build.sh relocated under exemple/navigation/. Root now only contains template/ and exemple/. README updated to reflect the new structure. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr> |
||
|---|---|---|
| exemple/navigation | ||
| template | ||
| .gitignore | ||
| README.md | ||
Syn
Framework web minimaliste basé sur JavaScript vanilla et les Web Components.
Routage hash-based, composants déclarés dans config.yml, build via build.sh.
Contenu du repo
├── template/ # Point de départ pour un nouveau projet
└── exemple/
└── navigation/ # Exemple complet avec side-nav et page dashboard
Démarrer un projet
cp -r template/ mon-projet/
cd mon-projet/
./build.sh
python3 -m http.server 8000 --directory sources/
Structure d'un projet
├── sources/ # Code servi — déployer ce dossier
│ ├── index.html
│ ├── favicon.svg
│ ├── config.json # Config runtime (api_url, tokens…)
│ ├── core/ # Framework core
│ ├── components/ # Téléchargés par build.sh (gitignored)
│ ├── vendor/ # Libs tierces (gitignored)
│ └── pages/
│ └── <nom>/ # Une page = un dossier
├── config.yml # Source de vérité
└── build.sh # Télécharge les remotes + génère les JSON
Ajouter une page
- Créer
sources/pages/<nom>/avec :manifest.json—{ "route", "label", "icon" }index.html— fragment HTML (ex.<ma-page></ma-page>)<nom>.js—customElements.define+export function init(main) {}<nom>.css— styles scopés à la page (optionnel)
- Déclarer sous
local_pages:dansconfig.yml - Ajouter la route à
menu:si visible dans la nav ./build.sh
Ajouter un composant
- Déclarer sous
components:dansconfig.yml:components: - name: mon-composant repo: https://git.example.com/org/mon-composant ref: main ./build.sh— télécharge danssources/components/mon-composant/
build.sh
./build.sh # build complet
./build.sh --check # valide le manifest sans télécharger
Dépendances : yq (mikefarah v4), jq, curl.
Variable optionnelle : GIT_TOKEN pour les repos privés.