Web_blabla is my boilerplate for web projects.
It tends to be JAMstack compliant, i.e. that most of the code is in the front-end and could be delivered by CDN. The back-end should be reduced to the minimum, ideally a pure static sever. Real back-end functionalities are delivered via a REST API. The front-end should be easily transformed into an electron app, NW app or PWA.
All distributed files must be generated by transpilation to help to find bugs early and get proper code. The following languages are used:
- pug for HTML
- Sass for CSS
- TypeScript for JavaScript
HTML5, CSS3 and ES6 are targeted even if they might restrict the compatibility with old browsers.
This documenation is also available on readthedocs. An instance of this website is accessible at https://blabla.billet.ovh
This project has been developed nodejs and npm:
> node -v v12.16.2 > npm -v 6.14.4
To upgrade your npm version, you can try:
sudo npm i -g npm
Additional requirements:
sudo apt install rst2pdf evince curl pip install --user pipenv
In a bash terminal, type:
npx degit charlyoleg/web_blabla my_foo_project cd my_foo_project npm install npm upgrade npm run npm run intall_py # rename the project find . -iname "*web_blabla*" grep -i web_blabla -r . # initiate the git repo git init git add . git commit -m 'first commit' git remote add origin git@github.com:charlyoleg/my_foo_project git push --set-upstream origin master git pull git push
You can check the node-package dependencies with:
npm ls --depth=0 npm ls --prod --depth=0 npm ls --dev --depth=0
- JWT
- certificate