Skip to content

Latest commit

 

History

History
93 lines (65 loc) · 2.31 KB

File metadata and controls

93 lines (65 loc) · 2.31 KB

Web3 Dictionary

A statically generated Next.js glossary for Web3 concepts. The site is backed by MDX content in content/dictionary, grouped into category pages, searchable from the UI, and published under the /web3-dictionary base path.

Stack

  • Next.js App Router
  • React 19
  • Tailwind CSS 4
  • MDX content loaded from the filesystem
  • pnpm for package management

Project Layout

  • app/: routes, metadata, sitemap, robots, and page shells
  • components/: UI and client-side interaction
  • content/dictionary/: one MDX file per dictionary term
  • lib/dictionary/: content loading, validation schemas, categories, and helpers
  • scripts/: maintenance scripts for validation and content cleanup

Getting Started

Requirements

  • Node.js 20+
  • pnpm 9+

Install

pnpm install

Run Locally

pnpm dev

The app uses NEXT_PUBLIC_SITE_URL for canonical URLs, Open Graph URLs, robots.txt, and sitemap.xml. If it is not set, the site falls back to https://lancers.technology.

Content Model

Each dictionary entry lives in content/dictionary/<slug>.mdx and is validated against the shared schema in lib/dictionary/schemas.ts.

Important rules:

  • The frontmatter slug must match the filename.
  • related items must point to existing slugs.
  • The body must meet the minimum word count enforced by the validator.
  • Ordered lists should use real Markdown list syntax, not inline numbered paragraphs.

Reference docs:

  • DICTIONARY_STYLE.md
  • CONTRIBUTING.md

Scripts

pnpm dev
pnpm build
pnpm start
pnpm lint
pnpm format
pnpm format:check
pnpm validate:dictionary
pnpm fix:inline-lists
pnpm fix:missing-related
pnpm check

Deployment Notes

  • The app is configured with basePath: "/web3-dictionary" in next.config.ts.
  • Canonical URLs and sitemap entries include that base path.
  • Dictionary term pages and category pages are statically generated at build time.

Release Checklist

Run these before opening or promoting a release PR:

pnpm validate:dictionary
pnpm lint
pnpm format:check
pnpm build
pnpm audit --prod

Contributing

Open a PR against the appropriate branch and follow the guidelines in CONTRIBUTING.md. Content updates should include valid related links, accurate category assignment, and enough explanatory detail to pass the validator.