ORBITAL OBJECTS LIVE

NOVA / 新星

A bilingual personal observatory built with Vue 3 and vite-ssg, weaving star charts, orbit lines, and commit graphs into one quiet place.

Year2026
StackVue 3 · TypeScript · Vite SSG
INDEX01 / 04
Nov 10, 2026

NOVA is a small private observatory. It is a bilingual blog for writing over time, and an experiment in making a cosmic aesthetic feel restrained.

The project starts from an empty directory with no off-the-shelf theme. Visuals, the content pipeline, search, and static generation all live in the same repository.

Design goals

  • let typography and writing lead, with the starfield only handling atmosphere;
  • make Chinese and English equal citizens rather than a translation-plugin afterthought;
  • keep every article crawlable and readable with JavaScript disabled;
  • make motion optional without losing any information;
  • use a single Canvas instead of pulling in a large 3D engine for decoration.

The brand mark keeps the original idea of a moon orbiting Earth, but only appears in the navigation and favicon. The cosmic feeling comes from orbit lines, catalog-style numbers, and space, not from a giant planet on the home page.

Technical structure

The site is built with Vue 3 and Vite. vite-ssg pre-renders every route to HTML at build time. Markdown is compiled in Node, along with syntax highlighting, tables of contents, and reading time.

// content -> data -> static routes
const routes = posts.flatMap(post => [
  `/writing/${post.slug}`,
  `/en/writing/${post.slug}`,
])

Article pages find their counterpart through a translationKey. Switching language keeps readers on the same piece whenever possible instead of sending them back to the home page.

Writing system

Content lives in content/posts/ and content/projects/, split by language. Frontmatter carries the title, date, tags, and translation relationship. The body stays in Markdown.

Publishing a new article means:

  1. create a Chinese Markdown file;
  2. create the English counterpart;
  3. run the build; indexes, routes, RSS, and search data update automatically.

There is no database or admin panel. The deployment artifact is a directory of static files.

Next

The project will keep growing: real repository links, richer project pages, and more notes on Git and open-source collaboration. The observatory can change shape. The record itself should remain stable.