Skip to content

Static personal website and blog generator written in Next.js. As seen on https://romeo.dev

License

Notifications You must be signed in to change notification settings

romeobalta/website.dev

Repository files navigation


website.dev is a static website generator built on top of Next.js.
Use .mdx files and your favourite version control system as your CMS.

Live example

Into

website.dev is a static website generator built on top of Next.js.

Features

  • Dynamic router that generates article and category paths based on .mdx files
    • Automatic sitemap generation
  • Control which articles get published using the publishedAt front matter field
  • CLI tool that allows to easily create and publish articles
    • Pre-commit git hook that automatically sets updatedAt front matter on modified articles
  • Built with shadcn/ui for integrated a11y
  • SEO stuff like Opengraph and JSON-LD

Contents

How to run

Clone the repo:

git clone git@github.com:romeobalta/website.dev.git

Install packages:

bun install

Run in dev mode:

bun dev

Tip

You can use IS_DEMO=true bun dev to build the app using the demo content.

webie

webie is the CLI tools that simplifies repetitive tasks.

bun webie
# or
bun w

Create article

You can use webie to run the article creation wizard. This has the benefit of generating a slug for your article based on the title and filling in the boilerplate front matter. If you set your editor config values, it will automatically open the article in your preferred editor.

bun webie create
# or
bun webie c

Example create

Creating an article

Publish article(s)

You can also use webie to run the article publishing wizard. It allows you to select one or multiple articles. The command automatically sets the publishedAt front matter for all the articles to now.

bun webie publish
# or
bun webie p

Example publish

Publishing an article

Update article(s)

This tool automatically sets the updatedAt front matter of staged articles to now.

Note

This is automatically called as a pre-commit hook so you don't have to call it manually.

bun webie update
# or
bun webie u

Example update

Updating articles

Markdown support