Project of building my portfolio, using high-level technologies and centering the development on the data. The idea was to first write down my experiences, projects, profile, education, etc. and then build a portfolio website around this. It ended up in a single yaml
file, a website and python
scripts.
You are probably reading this on the website resulting of this project (https://antoine.mandin.dev
).
The first - and main - part of this project, is the actual data. I have condensed my experiences, projects and skills into a single yaml
file.
The second part of the project is the portfolio website. It is built using Jekyll
, and hosted on GitHub pages
. I used a pre-existing theme (named Beautiful Jekyll
) which I overrided with custom styles inspired from other jekyll
themes. Using a plugin, I managed to create almost entirely the website from the yaml
data file. I also implemented a search bar using MiniSearch
library.
In the end, I built a static website, hosted on GitHub pages
, with its own styling, search engine and domain name.
Finally, the third part of the project was a small python
module dedicated to check the format of the data. I build a grammar file in yaml
, representing the expected content of the data (e.g. that a project must a title
, which is a text, and may have an end-date
with the format dd-mm-yyyy
) including the references workflow. Indeed, the whole idea was to have a consistent website, where projects may be linked to a job, and a job to a company, etc.
This python
module was accompanied by formatters and linters, and used in a Continuous Integration workflow, to ensure that the data is well formatted all along its lifetime.
This project is still in progress when I wrote that.
Jekyll
GitHub pages
GitHub actions
GitHub
Git
JavaScript
CSS
HTML
Web
UI Design
Python
CI/CD
VS Code