Rougemine.com - online resume
What could be more pleasant than totally over-engineering your online resume when you're a Web Developer in 2018?
The previous version was based on React,
the version before was based on PHP,
the first version on Node.js, CoffeeScript, Vagrant and gulp (2013! :-).
For this one I opted for a "full Vue.js" and TypeScript setup - including static files rendering thanks to the Server-Side Rendering capabilities of Vue.
So, in order to generate only 2 HTML pages and 2 PDF files, I had the pleasure to use the following technologies:
- A Node.js scripts to convert my resume data (stored in TOML format) into proper TypeScript data.
- A Vue app, powered by the Vue CLI. Because this CV has to be over-engineered by tradition, Vuex is here of course.
- A "Vue Server-Side Rendering" Node.js app, powered by its own Webpack configuration - we need Babel and its friends to be able to render stuff like ECMAscript Modules or "*.vue" Single File Components in Node.js.
This app is responsible for the generation of complete "index.en.html" and "index.fr.html" files, based on the "index.html" generated by Webpack for the Vue app. These HTML files are fully populated with the HTML output of the Vue app, which then hydrates itself in the browser from this content.
Is it really over-engineered?
$ ll node_modules/ | wc -l 926
Yes it is!
# For a prod build with Google Analytics tracking: $ make install $ make build GA_TRACKING_ID=UA-XXXXXXXX-X $ make generate-pdfs
Then all we have to do is to upload the files from "dist/" to a Web server.
For development, see the Make targets defined in the root Makefile file.
Excepted files in the "public/assets/img/icons/" folder, this app is licensed under the MIT license.
Compiles and hot-reloads for development
Compiles and minifies for production
Lints and fixes files