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.
<template>
<p>Hello DevPress syntax highlighting!</p>
</template>
Out-of-the-box integration set up with Twoslash:
var console: Console
console.Console.log(...data: any[]): void
[MDN Reference](https://developer.mozilla.org/docs/Web/API/console/log)log((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.Fixed(2))
interface Todo {
Todo.title: string
title: string
}
const const todo: Readonly<Todo>
todo: type Readonly<T> = { readonly [P in keyof T]: T[P]; }
Make all properties in T readonlyReadonly<Todo> = {
title: string
title: 'Delete inactive users',
}
const todo: Readonly<Todo>
todo.title = 'Hello'
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:
Title links
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!