Skip to content

About

Official website for GopherCon Japan

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

566 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gophercon.jp

The official website for GopherCon Japan.

Stack

bun (pinned by mise) · Astro + TypeScript · Intlayer · Storybook

Getting started

mise install              # install pinned runtimes
eval "$(mise activate)"   # enable mise shims (add to your shell rc to persist)
bun install               # install deps + enable git hooks via prepare (syndep auto-installs on pull/checkout/rebase)
bun run dev               # http://localhost:4321 (en at /, ja at /ja)

The commands below assume the mise shims are active. Without shims, prefix them with mise exec -- (e.g. mise exec -- bun run dev).

Commands

Command Description
bun run dev Astro dev server (localhost:4321)
bun run build Build the static site to ./dist/
bun run preview Preview the production build locally
bun run preview:cf Build then preview through Wrangler (Workers)
bun run check Type-check (astro check, tsc --noEmit) + static analysis (knip: unused files/exports/deps)
bun run dev:storybook Component preview (localhost:6006)
bun run deploy Build then deploy to Cloudflare Workers

Project structure

src/
├── components/
│   ├── Hero.astro        # Hero section
│   ├── 2027/             # 2027 site sections
│   └── common/i18n/      # LocaleSwitcher / LocaleRedirector
├── layouts/
│   └── Layout.astro      # Base layout (SEO, hreflang, header)
├── pages/                # [...locale]/ routes (en at /, ja at /ja)
└── utils/

i18n (Intlayer)

  • Routing: intlayer.config.ts → routing.mode: "prefix-no-default" (en at /, ja at /ja).
  • Dictionaries are embedded in components as locale-keyed objects, resolved with getDictionary. requiredLocales: [en, ja] makes TypeScript complain about missing translations.
  • LocaleRedirector detects the browser locale (unsupported → defaultLocale) and redirects; LocaleSwitcher renders the language links and persists the choice.

Deployment

Cloudflare Workers (Static Assets) with a pull-based build — wrangler.jsonc points assets.directory at ./dist. To preview on the Workers runtime:

bun run preview:cf

About

Official website for GopherCon Japan

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages