Skip to content

OpenElements/hiero-website

 
 

Repository files navigation

Hiero Website

OpenSSF Scorecard CII Best Practices License

This repo contains the source for hiero.org.

Current Stack

  • Next.js 16.1.7
  • React 19.2.3
  • TypeScript 5
  • Tailwind CSS 4
  • pnpm for dependency management and scripts

The site uses the App Router under src/app, renders blog content from content/posts, and serves static assets from public/.

Requirements

  • Node.js 20 or newer
  • pnpm 10 or newer
  • Git

Install Dependencies

pnpm install

Platform-specific setup help:

Run Locally

Start the development server:

pnpm dev

The site will be available at http://localhost:3000.

pnpm dev runs pnpm sync:repo-stats first, then starts Next.js in development mode.

Build and Checks

Lint the codebase:

pnpm lint

Format source files:

pnpm format

Check formatting without changing files:

pnpm format:check

Build the production app:

pnpm build

Run the production build locally:

pnpm start

Project Docs

Creating a New Blog Post

Blog posts are loaded from top-level Markdown files in content/posts.

Hiero does not currently support translations or localized content variants, so new posts should be authored as a single English source file.

  1. Create a new file such as content/posts/my-first-post.md.
  2. Use TOML front matter with +++ delimiters.
  3. Add the required post metadata.
  4. Write the body in standard Markdown.
  5. Add any images to public/images/....
  6. Run pnpm dev and preview the post at /blog/<slug>.

Use this template:

+++
title = "My First Post"
date = 2026-03-15
draft = false
featured_image = "/images/my-first-post/hero.png"
categories = ["Blog"]
tags = ["Example", "Community"]
duration = "4 min read"
abstract = "A short summary used in the blog list and metadata."
slug = "my-first-post"

[[authors]]
name = "Your Name"
title = "Maintainer"
organization = "Hiero"
link = "https://github.com/your-handle"
image = "/images/authors/your-name.png"
+++

Write the rest of the article here in Markdown.

Important notes:

  • Use +++, not YAML ---.
  • The current site only scans .md files directly inside content/posts.
  • If slug is omitted, the filename becomes the URL slug.
  • If draft = true, the post is skipped locally and in production.
  • Raw HTML is not rendered in blog content. Use Markdown syntax instead.
  • Hugo shortcodes like {{< ... >}} and {{% ... %}} are stripped out by the current parser.

For the full field reference and workflow, see docs/blogs.md.

Contributing

We welcome contributions such as:

  • Code additions or changes
  • Blog posts

Code Changes and Additions

We have several Open Issues at the Hiero website that need help.

Read Workflow Guide to get started.

Blog Posts

See the Detailed Guide on Creating a Blog Post.

About

The official Hiero website, powered by Hugo. Includes content, themes, and tooling for maintaining the Hiero web presence. Open-source, lightweight, and community-driven — contributions welcome.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 85.8%
  • CSS 8.8%
  • JavaScript 5.4%