Skip to content

How do I build my Blog

Published at  at 09:37 PM

Why not use existing mature solutions?

Where to store the article contents?

Git

DB

Notion / Feishu Docs / Yuque

If I were not a programmer, I might choose these, but I am, and also a front-end one.

The Result

Put it in the Git repository first, and consider a hybrid mode later.

Image hosting service

I’d like to use GitHub/Imgur, but Chinese access is restricted. The Aliyun OSS risks malicious traffic, so I’ll put it in the git repository for now.

I18n

In order to reach a global audience, I need to support both Chinese and English languages. The most desired interaction is side-by-side display, but it feels like the development workload might be quite large. Just use astro-i18next for now.

Subscription

RSS

It is a plain text content (xml/json/atom), built into Astro

Email

A little bit of trouble, will not be realized for the time being

Account system?

Two demands:

Comments/Responses

My final choice was Giscus.

That must have my own account system. And also consider making a separate website. So I won’t realize it for now.

Website Traffic Analytics

Finally I chose umami’s free plan.

Synchronize across all platforms?

Modify content synchronously

A bit unrealistic, not all platforms provide API

Display all the comments and the total number of likes across all platforms

It’s not necessary for now.

Access statistics for all platforms

It’s not necessary for now.

Projects that can be learned from

The UI design is very good:

Some tools:

Starting boilerplate?

Not many pages, not complicated, daisyui / shadcn can make one from scratch, I can also find a boilerplate with i18n (shadcn is powered by v0.dev, others can use ancodeai.com instead)

I ended up going with astro-paper + changing the features and styles myself.

Start working

I18n, A Big Trap

I chose to start development based on Astro paper, and then chose astro-i18next for internationalization. I ran into a big problem, which was my own fault for not realizing that it was still in the Beta stage.

Other traps

Furthermore, I still need to change the style. I’ve almost finished reading through the entire code of this repository. If I had known earlier, I would have written it from scratch myself, that didn’t save much time.

SSG vs SSR

SSG (Static Page Generation):

SSR (Server Side Render):

To be confirmed:

Share on: