CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Project Overview
This is a Jekyll-based website for CONNECTS, an AI-powered structural biology analysis platform. The site uses the Hydejack theme (v7.5.2) and is hosted on GitHub Pages at https://connects-scv.github.io/.
Build and Development Commands
Jekyll Site Commands
bundle exec jekyll serve --port=4000 --host=0.0.0.0
- Start local Jekyll serverbundle exec jekyll build
- Build the static site (output to _site/)bundle install
- Install Ruby dependencies
JavaScript/Asset Building
npm install
- Install Node.js dependenciesnpm run build
- Build both JS and CSS assetsnpm run build:js
- Build JavaScript with webpacknpm run build:css
- Build CSS from SCSS filesnpm run dev
- Start development mode (watches files and serves site)npm run watch
- Watch JS and CSS files for changesnpm run lint
- Run ESLint on JavaScript files in _js/src
Development Workflow
npm run dev
- Primary development command (runs watch + serve concurrently)npm run prepare
- Lint, test, clean, and build before committing
Architecture
Jekyll Structure
The site follows standard Jekyll conventions with Hydejack theme customizations:
- _config.yml: Main Jekyll configuration. Key settings include:
- Site URL, title, descriptions in Korean
- Hydejack theme configurations
- Menu structure with Home, Analysis (Protein/Ligand), and Release sections
- Plugin configurations for SEO, sitemap, feed, pagination
- Content Organization:
_posts/
: Blog posts about tools and releasesanalysis/
: Analysis tool pages (protein and ligand subdirectories)release/
: Release notes and updates_layouts/
: HTML templates for different page types_includes/
: Reusable HTML components
Asset Pipeline
The project uses a dual build system:
- JavaScript (webpack):
- Entry point:
_js/src/index.js
- Output:
assets/js/hydejack-{version}.js
- Features: Babel transpilation, RxJS integration, module concatenation
- Components include drawer navigation, push-state routing, FLIP animations
- Entry point:
- CSS (SCSS):
- Main files in
_sass/
directory - Split between
hydejack/
(theme styles) andpooleparty/
(base styles) - Each component has
.pre.scss
files and__inline/
+__link/
variants - Custom styles in
my-style.scss
,my-inline.scss
,my-variables.scss
- Main files in
Key Technical Features
- Progressive Enhancement: Uses hy-push-state and hy-drawer for SPA-like navigation
- Performance Optimizations:
- Inline critical CSS option
- JavaScript code splitting
- Asset preloading capabilities
- Responsive Design: Mobile-first with drawer navigation
- Internationalization: Korean language support with configurable strings
Deployment
The site is configured for GitHub Pages deployment:
- Branch: main
- URL: https://connects-scv.github.io/
- Automatic Jekyll build on push
Important Notes
- The project mixes pre-compiled assets in
assets/
with source files - Some CSS is generated dynamically from
.pre.scss
files - The webpack config uses environment-based builds (dev vs prod)
- Korean language is the primary locale (lang: ko in _config.yml)