A cookiecutter template for creating beautiful documentation projects using Pandoc, org-mode, and modern web styling.
- 📝 Org-mode support - Write in powerful org-mode syntax
- 🎨 Beautiful styling - Pico.css for clean, responsive design
- 🔧 Complete build system - Makefile-based workflow
- ✅ Grammar checking - Optional LanguageTool integration
- 🐍 Python tooling - Managed with pipenv
- 📖 Auto-generated TOC - From your document structure
- 🎯 Syntax highlighting - For code blocks
- 🔄 Live reload - Auto-rebuild on file changes
Install cookiecutter:
pip install cookiecuttercookiecutter pandoc-documentation-tool/You'll be prompted for:
- project_name: The name of your documentation project
- author_name: Your name
- author_email: Your email
- project_description: Brief description
- include_grammar_check: Whether to include grammar checking tool
- create_introduction_chapter: Whether to create a starter chapter
$ cookiecutter pandoc-documentation-tool/
project_name [My Documentation Project]: Technical Guide
author_name [Your Name]: Jane Doe
author_email [your.email@example.com]: jane@example.com
project_description [A brief description of your documentation project]: A comprehensive technical guide
document_language [en-US]: en-US
python_version [3.13]: 3.13
include_grammar_check [true]: true
create_introduction_chapter [true]: true
✓ Created technical-guide/
✓ Initialized git repository
✓ Installed dependencies
🎉 Technical Guide created successfully!your-project/
├── chapters/ # Your documentation chapters (org files)
│ └── introduction.org
├── css/ # Styling files
│ ├── pico.min.css # Pico CSS framework
│ ├── docs.css # Custom documentation styles
│ └── highlighting.css # Syntax highlighting
├── templates/ # Pandoc HTML templates
│ └── template.html
├── tools/ # Utility scripts
│ └── check_grammar.py # Grammar checker (optional)
├── Makefile # Build commands
├── metadata.yml # Document metadata
├── Pipfile # Python dependencies
├── pyproject.toml # Python project config
└── README.md # Project documentation
- Python 3.13+ - For tooling
- Pandoc - Document conversion engine
- Make - Build system
- yq - YAML processor for Makefile
# Option 1: Using Homebrew directly
brew install pandoc yq pipenv typos-cli
pip install cookiecutter
# Option 2: Using Brewfile (after generating project)
cd your-project/
brew bundle
pip install cookiecutterapt-get install pandoc make
snap install yq
pip install pipenv cookiecutter# In WSL/Ubuntu
apt-get install pandoc make
snap install yq
pip install pipenv cookiecutterAfter generating your project:
make- Build HTML documentationmake clean- Remove generated filesmake ba- Clean and rebuild
make serve- Start local server (port 4030)make watch- Auto-rebuild on changes
make grammar- Check grammar (if enabled)make typos- Check for typosmake lint- Lint Python codemake format- Format Python codemake check- Run all checks
* First Level Heading
** Second Level Heading
*** Third Level Heading
*bold* /italic/ _underline_ +strikethrough+ =verbatim= ~code~
- Unordered list
- Nested item
1. Ordered list
2. Second item
#+BEGIN_SRC python
def example():
return "code block with syntax highlighting"
#+END_SRC
[[https://example.com][External link]]
[[#section-id][Internal link]]
- Create new
.orgfile inchapters/ - Add to
metadata.ymlsections list - Run
maketo rebuild
| Variable | Description | Default |
|---|---|---|
project_name |
Name of your documentation | My Documentation Project |
project_slug |
Directory name (auto-generated) | my-documentation-project |
author_name |
Your name | Your Name |
author_email |
Your email | your.email@example.com |
project_description |
Brief description | A brief description... |
document_language |
Language code for spell check | en-US |
python_version |
Python version requirement | 3.13 |
include_grammar_check |
Include grammar checking tool | true |
create_introduction_chapter |
Create starter content | true |
The template automatically:
- Removes unused files based on your choices
- Creates
.gitignore - Initializes git repository
- Installs Python dependencies
- Checks for required system tools
- Edit
css/docs.cssfor custom styles - Replace
css/pico.min.csswith another CSS framework - Modify
templates/template.htmlfor layout changes
- Edit
Makefilefor custom build steps - Add Pandoc filters to
PipfileandMakefile - Modify
metadata.ymlfor document settings
Contributions are welcome! Please feel free to submit issues or pull requests.
This cookiecutter template is open source and available under the MIT License.
Built with:
- Pandoc - Universal document converter
- Pico.css - Minimal CSS framework
- Cookiecutter - Project templating
- LanguageTool - Grammar checking