joinpeertube/README.md

73 lines
2.7 KiB
Markdown
Raw Normal View History

2018-03-01 11:31:23 +00:00
2018-09-21 21:00:42 +00:00
Architecture de base pour un site statique réactif et internationalisé à laide de:
- Vuejs 2
- Vue-i18n + Vue-router pour linternationnalisation des pages
- Import de jQuery, Bootstrap et ForkAwesome
- YAML pour les fichiers de langue (plus lisible quun JSON mais automatiquement converti)
- SASS pour lhabillage
- Webpack 4 pour automatiser la construction de lensemble
2018-03-01 11:31:23 +00:00
2018-09-21 21:00:42 +00:00
## En prod
Pour construire le site :
2018-03-01 11:31:23 +00:00
2018-09-21 21:00:42 +00:00
```
npm install
npm run prod
```
2018-03-01 11:31:23 +00:00
2018-09-21 21:00:42 +00:00
Les fichiers sont placés dans le dossier public.
Le site fonctionne uniquement à la racine du domaine.
Les pages sont prérendues **avec les traductions dans le code html**
2018-04-04 09:27:24 +00:00
2018-09-21 21:00:42 +00:00
## En développement
Pour voir le site en local
2018-04-04 09:27:24 +00:00
2018-09-21 21:00:42 +00:00
```
npm run dev
```
Les changements sappliquent en temps réel et se voient sur http://localhost:8080/.
## En preview
On peut forcer la construction du site en local avec la commande:
```
npm run preview
```
Mais lintérêt consiste surtout à voir le rendu sur les Gitlab Pages.
Les fichiers sont placés dans un sous-dossier du dossier public
correspondant au nom du dépôt.
Les pages sont prérendues **sans les traductions dans le code html** (la `fallbackLocale` est utilisée).
Celles-ci sont chargées dynamiquement (important à savoir lorsquil faut débugger un script).
```
├── app
│   ├── App.vue
│   ├── assets
│   │   ├── fonts
│   │   ├── icons
│   │   ├── img
│   │   └── scss
│   │   └── main.scss # le fichier compilé est minifié dans /public/style.css
│   ├── components
│   │   ├── pages # exemple de pages (juste le titre change)
│   │   │   ├── About.vue
│   │   │   ├── Home.vue
│   │   │   └── HowItWorks.vue
│   │   └── partials
│   │   ├── Header.vue # en-tête et menu de navigation
│   │   ├── I18n.vue # switch en/fr
│   │   └── i18n.js # script de changement de langue
│   ├── index.js # gestion de li18n + routage des pages + import des assets
│   └── locales # traductions
│   ├── en.yml
│   └── fr.yml
├── index.html # le fichier est simplement copié dans /public
├── package.json # liste des dépendances + définition de commandes npm run dev|prod
├── package-lock.json
├── postcss.config.js # juste pour préfixer les css avec -webkit, -moz, -ms
├── README.md
└── webpack.config.js # config webpack pour la construction du site
```