Skip to content

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Project Overview

This is the website for Đà Nẵng Kendo Club (dnkc.club), built with VitePress. The site is in Vietnamese and serves as an informational portal for the kendo club.

Development Commands

bash
# Start development server (port 8081)
yarn docs:dev

# Build for production
yarn docs:build

# Preview production build
yarn docs:preview

Architecture

Content Structure

  • /gioithieu/ - About pages (kendo history, club info, equipment)
  • /quydinh/ - Rules and guidelines (enrollment, training schedule, exams)
  • /lienhe/ - Contact information and location
  • /thongbao/ - Announcements/news articles
  • /components/ - Reusable Vue components
  • /public/ - Static assets (images, favicon)

Build Process

Before dev/build, thongbao.mjs runs automatically to generate /thongbao/data.json from markdown files in the announcements folder. This script:

  • Reads all .md files in /thongbao/ (except index.md)
  • Extracts frontmatter and excerpt (separated by <!-- more -->)
  • Sorts by date and outputs JSON for the announcements listing

Theme Customization

The site uses a customized VitePress default theme located in .vitepress/theme/:

  • Custom CSS in custom.css
  • Overridden VitePress components in components/
  • Custom composables in composables/

Configuration

  • .vitepress/config.mts - VitePress config with navigation, sidebar, SEO meta tags, and Google Analytics
  • Frontmatter fields: title, description, image (for OG tags), date (for announcements)