All posts

A sneak peek of DevPress

Ignace Maes
Ignace Maes Mar 23, 2024

Explaining concepts and teaching others is a great way to grow as an engineer. It forces you to understand a topic at a fundamendal level. I have been writing on various platforms for a while now, but I wanted to create a space that I own and control.

While there are ton of blogging engines out in the wild, none of them checked all the boxes for me. So I did what every sane engineer does and decided to build my own blog engine from scratch: introducing DevPress.

I wanted to build something that I could use for my own content, and also share with the community. DevPress is specifically aimed at developers looking to set up a personal blog.

Features ⚡️

The baseline

What you expect from a bloging engine in 2024:

  • Markdown-based writing
  • SEO optimized
  • Hyper fast loading

Code highlighting

Syntax highlighting powered by Shiki.

  <p>Hello DevPress syntax highlighting!</p>

Out-of-the-box integration set up with Twoslash:

var console: Consoleconsole.Console.log( any[]): void
[MDN Reference](
((1 + 2 + 3 + 4).to
  • toExponential
  • toFixed
  • toLocaleString
  • toPrecision
  • toString
Number.toFixed(fractionDigits?: number | undefined): string
Returns a string representing a number in fixed-point notation.
@paramfractionDigits Number of digits after the decimal point. Must be in the range 0 - 20, inclusive.
interface Todo { Todo.title: stringtitle: string } const const todo: Readonly<Todo>todo: type Readonly<T> = { readonly [P in keyof T]: T[P]; }
Make all properties in T readonly
<Todo> = {
title: string
: 'Delete inactive users',
} const todo: Readonly<Todo>todo.title = 'Hello'
Cannot assign to 'title' because it is a read-only property.

Automatic og:image generation

The og:image thumbnails are automatically generated, with dynamic title and cover image embedding. This is the one for the blog post you are currently reading:


Notice how titles within the post have a permalink that you can share with others? 😎

Giscus comments

Discussions are powered by Giscus. You can comment on this post using the widget below 👇

Work in progress 🛠️

Currently I'm dogfooding DevPress on my own blog, and I'm planning to open source it in the near future. If you are interested in setting up your own blog using DevPress, stay tuned!

Ignace Maes
Ignace Maes

A software engineer from Belgium with a strong interest in technology. I love creating digital products that make people's life more enjoyable.