# HAN.nl Frontend Docs
# Development
- Node.js (getest met
v12.14.1
). Gebruik bijvoorbeeld Node Version Manager https://github.com/creationix/nvm voor het beheren van Node versies. (Zie hier om nvm te installeren en te gebruiken: https://www.linode.com/docs/guides/how-to-install-use-node-version-manager-nvm/) - Yarn installeren (opens new window)
yarn install
draaien (kan even duren).
Voor het volledig draaien van het frontend project, heb je 3 terminal-tabs nodig:
# Compile sass, pug
Typ yarn start
voor een static file server en sass en pug compilatie. Server draait vanuit /public
op http://localhost:8000.
Typ yarn start -- --quickstart
of yarn start -- -q
om te starten zonder eerst een build te draaien. Je zit dan mogelijk naar oude bestanden te kijken.
Typ yarn start -- --templates
of yarn start -- -t
wanneer je alleen pug pagina's wilt compilen.
Typ yarn start -- --templates pages/bachelor/**/*.pug
wanneer je specifieke pagina's wilt compilen.
Typ yarn start -- --components
of yarn start -- -c
wanneer je componenten wilt compilen.
Typ yarn start -- --templates pages/500.pug --components
voor compilen van 500.pug en componenten.
Combineren is mogelijk: Typ yarn start -- -q -t homepage -c
voor een quickstart, het compilen van homepage.pug bij veranderingen en wel componenten.
- devserver op localhost:8000
- pug › html
- sass › css
Typ yarn build
voor een eenmalige dev-build naar /public
.
# Watch / build
Typ yarn start
voor een static file server en sass, js, pug compilatie. Server draait vanuit /public
op http://localhost:8000.
# Compile js
Om de javascript te bundelen, draai je in een ander terminal-tab yarn webpack
.
- js modules › js bundles
# API testen
Om lokaal de api te kunnen te testen, draai je in een ander terminal-tab yarn netlify
.
- netlify functions devserver op localhost:9000
- proxy: /.netlify/functions/* -> http://localhost:9000/
# Netlify
We gebruiken Netlify voor hosting van dit statische project. Voor branches in git maakt Netlify automatisch een branch url aan.
- https://han.netlify.app/
- https://my-git-branch--han.netlify.app/
# Afbeeldingen imgix
Voor afbeeldingen wordt de service imgix gebruikt. Plaats een afbeelding op origineel (grootst) formaat in de HAN.nl-images repository (opens new window). Daarna zal deze via de url benaderbaar en te manipuleren zijn:
https://hannl.imgix.net/koraal.jpg?w=100&h=100
Afbeeldingen die door imgix moeten worden opgepikt, moeten in de master branch worden geplaatst.
# Docs
Documentatie voor dit project is te vinden in de repository HAN.nl-design-systeem (opens new window)
# Release
Zet eerst al je wijzigingen klaar in een pull request en laat reviewen. Geef duidelijke test-instructies, links en screenshots en maak notities voor eventuele vervolgstappen en installatie-instructie.
- Merge je wijzigingen in master
- Maak een changelog aan voor de volgende release in
/public/changelog/x.x.x/README.md
(draait op docsify (opens new window)) - Pas de release versie aan in package.json -
yarn release
- Push naar Github met “release 1.x.x" of -
git commit -m “release x.x.x"
- De automatische release workflow (opens new window) zal een berichtje posten in Slack
- Vervolgens master ook in develop te mergen, zodat die synchroon lopen
git checkout develop
engit merge master
# Mappenstructuur
/project
- source code/project/scripts
- javascript modules/project/styles
- sass modules/project/templates
- pug componenten en pagina's/project/api
- netlify functions/public
- alle static assets, hier worden sass, js en pug naartoe gecompileerd/public/components
- alle losse html componenten voor in de stijlgids/public/static
- alle non-html static bestanden/public/changelog
- alle changelogs
/gulp
- build taken