Daiki Nishiyama

CLAUDE.md

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

Project Overview

This is a personal academic website for Daiki Nishiyama, a Ph.D. student at Institute of Science Tokyo. The site serves as a bilingual (Japanese/English) portfolio showcasing research, publications, and professional experience. It’s built as a static website hosted on GitHub Pages with a custom domain (d-nsym.com).

Technology Stack

Architecture

Core Files Structure

Key Components

Content Management (Sveltia CMS):

Language Switching System:

Content Loading Flow:

  1. Page loads with browser language detection
  2. Fetches every file in content/data/ in parallel
  3. Renders sections from the data; marked.js handles the free-text intro, bibtex.js formats each publication
  4. Updates DOM with the selected language

Development Workflow

Local Development

Since this is a static site, you can develop locally by:

  1. Serving files with any local server (e.g., python -m http.server 8000)
  2. Testing language switching functionality
  3. Previewing responsive design changes

Content Updates

Deployment

Styling Guidelines

Content Management

When updating academic content:

  1. Prefer /admin/ (Sveltia CMS). It commits directly to main, which triggers a GitHub Pages rebuild.
  2. Every record carries both languages (title_ja / title_en, …). Fill in both — the renderer shows an empty string for whichever is missing.
  3. For a new publication, paste the BibTeX into the bibtex field and pick a category. Keep it in the language the work was actually published in — the citation is never translated.
  4. The citation link is derived automatically from the BibTeX url, else doi. The explicit link field overrides both.

When adding a new content type:

  1. Add the collection to admin/config.yml and create content/data/<name>.json
  2. Add the file name to DATA_FILES in script.js, a label to LABELS, and a render call in render()