joinpeertube/README.md
2018-09-21 23:00:42 +02:00

72 lines
2.7 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
## En prod
Pour construire le site :
```
npm install
npm run prod
```
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**
## En développement
Pour voir le site en local
```
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
```