As I got access to my GitLab account, first thing was to set up my SSH keys

cat ~/.ssh/id_rsa.pub

and then copy result to special field in GitLab interface.

All next steps were quite easy for me as my main area of work is software development and I am working with Git every day, using both command-line interface and WebStorm IDE :)

Then I noticed that my repository is Mkdocs website, which can be generated and deployed to every hosting, but here we use GitLab Pages feature as hosting. .gitlab-ci.yml is used as descriptor for making something with sources, in our case we are setting up build environment by choosing the image of Docker container as python, then installing all requirements which means packages needed for building, then build the website, and post result static folder as artifact

I tweaked standard Material theme a little bit, but was not satisfied by given result

But in general I liked the idea to edit website through bunch of Markdown files, and I started to search for modern build engines which work with Markdown syntax but have more interesting theming. So I went to Github (I use it almost every day as software developer) and found one of these awesome-lists which collects all engines in one place https://github.com/myles/awesome-static-generators.

I choose then Hugo as it written in #Go language (it is pretty modern language, I used it in some projects), fast and have great collection of themes.

I chose Terminal theme from list on https://themes.gohugo.io

Hugo have embedded development server which means I was able to develop and test my website locally while tuning it.

Then I just started to create Markdown files with description of my work and all pages.

All used images I processed with ImageOptim utility, and saved some space in the cloud :)

I created separate page when I introduced myself and describe who I am and what I do :) You can check link http://fabacademy.org/2019/labs/polytech/students/anton-pchelkin/about/, however it can be viewed from any place of my website.

When I finished to edit .md files, I then put them all to git index by typing git add ., then I “mark” current state as separate “version” by creating commit: git commit and writing some comments for it. To push all my work in the cloud, simply do git push.

💡 Repository is mainly for source code and small binaries, we never should store large binaries there, it will decrease productivity. To mark separate files / folders as "ignored" by git, we should create .gitignore file and list it there

My .gitignore looks like this:

.env _site .DS_Store public **/node_modules