This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is the documentation repository for Fess, an open-source full-text search server. The documentation is built using Sphinx and supports multiple languages and versions.
ja/,en/,de/,fr/,es/,ko/,zh-cn/: Language-specific documentation directories- Each language directory contains version subdirectories (e.g.,
15.5/,15.4/,15.3/) - Within each version:
install/,admin/,user/,api/,config/,dev/sections ja/articles/,ko/articles/: Article listings (language-specific)conf/: Shared Sphinx configuration filesconf.py: Main Sphinx configurationMakefile: Build targets for Sphinxext.py,ogtag.py: Custom Sphinx extensions
libs/: JAR files for HTML/JS/CSS minification (htmlcompressor, yuicompressor)resources/: Shared resources like images
bash ./build.shcd ja # or en, de, fr, es, zh-cn
bash ./build_html.shcd ja
bash ./build_pdf.sh./create_version.sh <new_version> # e.g., ./create_version.sh 15.6Copies the previous version's docs and images, replaces version numbers in all RST files across all languages (ja, en, de, fr, es, zh-cn, ko).
- All documentation files use reStructuredText (
.rst) format - Sphinx directives and roles are used throughout
- Images are referenced from
../resources/images/ - Use
|Fess|substitution for the Fess name with proper formatting
The build process:
- Uses Sphinx to generate HTML from RST files
- Applies the
sphinx_rtd_theme(Read the Docs theme) - Post-processes HTML with htmlcompressor for minification
- Optionally compresses JS/CSS with yuicompressor (currently commented out)
- Output goes to
_build/html/within each language directory
- Each language maintains its own complete documentation tree
- Versions are independent subdirectories within each language
- Build scripts at the language level iterate through documentation types (install, user, admin, api) for PDF generation
- Environment variables control build parameters:
SPHINX_LANG,SPHINX_PROJECT,SPHINX_TITLE,SPHINX_AUTHOR,SPHINX_RELEASE
- install: Installation guides (prerequisites, platform-specific installation, docker, running, upgrading, uninstalling, troubleshooting)
- admin: Administrator guides (configuration management, crawling, security, system settings)
- user: User guides (search syntax, advanced search features)
- api: API documentation (search API, GSA API, etc.)
- config: Configuration guides (crawler setup, search customization, security roles)
- dev: Developer guides (available in newer versions like 15.5)
When updating documentation across languages:
- The Japanese (
ja/) documentation is typically the source/primary version - Other languages follow the same structure and file naming
- Version numbers should be consistent across languages
ko/(Korean) is included increate_version.shbut not inbuild.sh— build it separately if needed- Check recent git commits for translation patterns
- HTML builds include minification for production deployment
- PDF builds use Japanese LaTeX engine (
latexpdfja) for Japanese docs, regularlatexpdffor others - Theme configuration in
conf.pyincludes GitHub integration and custom navigation settings