The source files of my blog/personal webstie.
This repository includes all (currently published) content of my personal website/blog and the tools I use to write and publish it (including a DokuWiki instance).
The site's back-end is written in PHP. I use some PHP libraries:
- Parsedown - This is used to render the markdown content of the blog posts and projects description.
- Symfony routing component - This is used for routing and rich URLs. Symfony's yaml, config, and http-foundation components are also used for this end.
Front-end dependencies:
- Skeleton CSS - This is used as the basis of the site's CSS.
- Prism.js - This is used for code blocks syntax highlighting (Okaidia theme).
- Remark - This is used for the workshop's slideshow presentations.
The website is deployed using a Docker container
based on an Alpine Linux image. Three processes
run on this container: nginx (HTTP server),
php-fpm (use PHP on nginx), and
tor (Onion service for the website).
In order to have these two processes run in the manner I want, I use
s6-overlay (init scripts and
process supervisor).
The website uses a SQLite database.
The SSL certificates are issued by Let's Encrypt.
I used to use certbot to issue/renew certificates, but it had poor integration with my DNS provider, so I started using acme.sh. This way, I can renew my certificates automatically by using my DNS provider's API.
- Example HTML boilerplate.
- Example usage of Symfony's routing component.
- HTTPS on local dev env.
- Semantic HTML.
- Set up your Onion service.
- Emoji domain - Self explanatory.
- Showdown - Markdown render for when I'm writing.
- File hosting in PHP - Could be useful.
- Sqlite pagination - Blog post index pagination.
Unless stated otherwise, all blog content in this page is licensed under a Attribution-ShareAlike 4.0 International and the code is licensed under the GPL3 License (see LICENSE file).