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 cookiecutter
cookiecutter 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 [[email protected]]: [email protected]
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 cookiecutter
apt-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 cookiecutter
After 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
.org
file inchapters/
- Add to
metadata.yml
sections list - Run
make
to 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 | [email protected] |
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.css
for custom styles - Replace
css/pico.min.css
with another CSS framework - Modify
templates/template.html
for layout changes
- Edit
Makefile
for custom build steps - Add Pandoc filters to
Pipfile
andMakefile
- Modify
metadata.yml
for 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