aboutsummaryrefslogtreecommitdiff
path: root/content/weblog/2020-05-07_website-refactor/index.md
blob: d7e1ff26f1d61420919aeae5245e9274e24375a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
+++
title = "Website refactor"
date = 2020-05-07T12:31:16Z
updated = 2020-12-10T22:02:02Z
+++

A couple of months ago I had decided to completely refactor my website and blog.
Finally I have done so, and even though I think it still needs some work, I am
much more happy with it now than before.

<!-- more -->

It's been more than a week since I've actually migrated my site to the new
format, but I haven't had the time to write about it, being all busy with my
thesis work. Actually, I am writing this while I am waiting for some stuff that
I need for my work to compile.

## The old site

One thing that I didn't quite like about it, was that it was pretty bloated
having used Django just for a little personal weblog site. It's not like there
is something inherently wrong about using Django or something similar. I really
liked to use it at the beginning since it is a pretty useful and comfortable
framework to use, especially when you are a beginner. The problem is that it
comes with a lot of bells and whistles that you most probably don't need,
especially if you're just making a small personal weblog. But this wasn't even
the main reason I decided to completely redo it.

However, the main reason why I decided to completely refactor my site, was that
over the last couple of years since I first started my site, my overall workflow
and the way I use computers had fundamentally changed, and I now found it quite
uncomfortable to publish to and manage my site. I just find very jarring to use
web interfaces for "productivity".

The way I would publish posts and do most of the "managing" of my weblog, was
through the "admin" panel that I would access with my browser through a special
URL. As I said, web interfaces are not my cup of tea, and that includes typing
and redacting articles or posts. I have a nice and comfy setup of neovim which I
actually use to type and redact almost all of the text that I have to write on
my computer. And so I wanted to type my articles on vim, and preferably not even
have to leave the comfort of my terminal to manage my site.

## The new site

The last post that I wrote before refactoring my website, actually covers most
of my thoughts on this topic, so I'll just mention what "technologies" I ended
up using for my new site.

In that post I mentioned that I wanted to migrate from a relational DB based
blog to an SSG system, and that's what I ended up doing. I chose zola over other
SSGs because that's the one that I found the most comfortable to use and the
most fitting for my needs, at least for now.

I could have just ended up making a completely static site with pure html and
would have also been better than using Django, but I find markdown to be much
more nicer to edit and read for simple texts, and I wanted to automate certain
things such as templating, without having to mess too much with it myself.

I also ended up using a CI/CD system so that my site would get deployed and
built automatically each time that I push to master on my "git server". I am
using Gitea as a kind of git server, and Drone as the CI/CD system. So now all I
have to do when I want to publish a new article, is write the article, commit
the changes on my local repository, push the changes to Gitea on my master
branch, and then Drone will pick up the push event and automatically build and
deploy the updated site to my VPS.

The only significant problems that arose from this migration is that some URLs
have changed, notably the RSS URL, but also that the URLs for blog posts are no
longer under categories, but directly under the /weblog/ URL. They can still be
accessed using the old URLs though, since I put some rewrite rules in nginx so
that it would redirect from the old URLs to the new format.

Overall, I am much happier with my website and weblog now, and I hope that I
will be publishing some new stuff here, even if nobody really reads this.
Although in some cases that old bit might make it a bit more compelling to write
certain things :)

The source for my website is hosted at
[https://git.yaroslavps.com/yaroslavps.com](https://git.yaroslavps.com/yaroslavps.com)

_2020-12-10: Updated some links_