Frontend - skins, Grunt, LESS, webparts
Le frontend de StarterKit v2 est anteneur a Vite/Sass : il repose sur Grunt + LESS, avec Bootstrap 3. Chaque client (skin) a son propre dossier de design et sa propre compilation.
Arborescence design
design/
├── v2/ # Design courant (par client)
│ ├── <skin>/
│ │ ├── Gruntfile.js # Compilation LESS -> CSS (mappe source.less -> target.css)
│ │ ├── package.json # grunt + grunt-contrib-less + grunt-contrib-watch (Grunt 0.4)
│ │ └── Skins/
│ │ ├── Default/ # Le skin "Default" du client
│ │ │ ├── Less/ # Sources LESS (Bootstrap/, Starterkit/, MAIN.less, ...)
│ │ │ ├── Css/ # CSS compile (genere - ne pas editer)
│ │ │ ├── Webparts/ # Un dossier Less/Css par webpart (Menu, Breadcrumb, Tabs, ...)
│ │ │ ├── Widgets/ # Un dossier Less/Css par widget (Slider, Gallery, GoogleMap, ...)
│ │ │ ├── Foundation/ # Base de styles
│ │ │ ├── Fonts/ Favicons/
│ │ └── Less/ # Bootstrap/ + Starterkit/ partages au niveau Skins
│ ├── _gruntall.sh / _rebuildall.sh
├── v1/ # Ancien design (legacy)
└── common/ # CSS communs (CssCommon, CssDatepicker, CssFancybox, ...)Compilation (Grunt + LESS)
- Outil : Grunt 0.4 via
grunt-contrib-less(etgrunt-contrib-watchpour le mode watch). - Le
Gruntfile.jsde chaque skin liste explicitement les pairessource.less -> target.css. Il ecrit deux fois chaque CSS : dansdesign/v2/<skin>/Skins/...(source versionnee) ET dans../../../website/Site/Skins/...(site compile, pour le dev local). - LESS organise en
Bootstrap/(Bootstrap 3 complet : grid, navbar, modals, forms, ...),Starterkit/, et unMAIN.lessqui agrege le tout. Options de compile :compress,yuicompress,optimization: 2. - Granularite : un point d'entree LESS par webpart et par widget (ex.
Webparts/Menu/Less/wp-menu.less->wp-menu.css). - Scripts utilitaires :
design/v2/_gruntall.sh/_rebuildall.shpour (re)builder tous les skins.
Webparts vs Widgets (cote frontend)
- Webparts : blocs de chrome / fonctionnalites de page (Menu, Breadcrumb, Search, Tabs, ExpandCollapse, Print, Fontsize, ContrastAccessibility, HomeBanner, FooterBanner/Credits, SiteMap, Timeline, LightBox, Popup*, Intranet, ...). Souvent rendus par macros/UserControls Umbraco.
- Widgets : blocs de contenu editorial (Slider, Gallery, GoogleMap, Document, LinksList, Newsletter, NextEvents, Teaser*, Social*, Twitter, FacebookFaces, CFFcards, BlogLastArticleGrid, ...). Cote C# :
Nanoxi.Content.Widgets(voir../modules/widgets.md).
Important
- Ne jamais editer les
.cssgeneres (sousSkins/.../Css/ni souswebsite/). Editer les.lesspuis recompiler avec Grunt. - L'accessibilite est prise en charge cote skin (webparts
ContrastAccessibility,Fontsize). - Les libs JS tierces sont sous
libraryjs/(fullcalendar, jquery-file-upload, select2, jquery.pwstrength.bootstrap) ; d'autres sont listees dansReadme.md(datepicker Bootstrap 3, cookieconsent, store2, ...). - C'est une stack datee (Grunt 0.4, Bootstrap 3, jQuery) : a documenter tel quel, ne pas supposer un equivalent v4 (Vite/Sass).
Contributors
No contributors
Changelog
No recent changes

