3 min read

Astro Milidev

a minimalistic portfolio+blog Astro theme

Table of Contents

About

Astro Milidev is a minimalistic portfolio+blog Astro theme.

It originates from Trevor Lee’s Astro Micro theme, which is based on Mark Horn’s Astro Nano (after “nano” and “micro” comes “mili”, hence the first part of the name).

Astro Milidev enhances the above codebases with a variety of features. I customized the original theme for my personal website and also refactored core parts of the code, making it more customizable and extensible.

The list of modifications is available in this post: Everything new in Astro Milidev. Another post Getting started explains the configuration process step by step. The code is available on GitHub.

Scope of work

The theme is basing on Astro Micro. I’m a pure backend engineer with little practical knowledge about the frontend side. So I took care of a few aspects as I would on the back end, and I consider this project as a proof that I can do frontend.

My scope of work includes:

  • support for base path (“hosting in subdirectory”), so it can be hosted on GitHub Pages or any other subdirectory-based hosting
  • support for pagination (in all collection sites)
  • tags (for all content, not only for blog posts)
  • and a lot of minor adjustments that I made purely for my purposes:
    • image logo
    • support for the update date for the posts
    • OpenGraph images and metadata
    • “talks” collection
    • license and bio pages
  • full refactoring of the theme’s backend-ish code:
    • single function that handles collection fetching, filtering and sorting. All of the places use it as a source of truth.
    • using variables from consts consistently across the sites.
    • consts.ts file have more intuitive structure.
    • unified and standardized the arrow card buttons.
    • unified date formatting.
    • removed grouping collection entires by year (added dates to the card buttons instead)
    • …and a lot of other small fixes, refactorings and cleaning up unused codes.

Source code

Demo

Resources