A project for publishing documentation to GitHub Pages using MkDocs and Material for MkDocs.
kukgini.github.io/
├── .github/
│ └── workflows/
│ └── build-and-deploy.yml # GitHub Actions automated build
├── bin/ # Build tools (for local use)
│ ├── build # Build documentation
│ ├── deploy # Build + Git deployment
│ └── clean # Clean build artifacts
├── src/ # Documentation source files (Markdown)
│ ├── ap2/
│ ├── dt/
│ ├── paas/
│ ├── iaas/
│ ├── _static/ # Custom CSS
│ └── index.md # Home page
├── docs/ # Build output (for GitHub Pages deployment)
├── mkdocs.yml # MkDocs configuration
├── requirements.txt # Python dependencies
└── README.md
When you modify and push source files, GitHub Actions will automatically build and deploy the documentation.
Trigger conditions:
- Changes to files in the
src/directory - Changes to
requirements.txt - Push to
mainbranch
- Python 3.x
./bin/buildProcess:
- Create an isolated virtual environment (
.venv) - Install dependencies (
mkdocs,mkdocs-material) - Build documentation (
src/→docs/) - Create
.nojekyllfile - Automatically clean up virtual environment
Build output is generated in the docs/ directory.
./bin/deployProcess:
- Execute documentation build
- Git add changes
- Automatic commit
- Push to GitHub
./bin/cleanDeletes the docs/, site/, and .venv/ directories.
- Create a
.mdfile in thesrc/directory. - Add the new document to
mkdocs.ymlundernav:
nav:
- Home: index.md
- My Section:
- my-new-doc.md- Build and deploy.
- Markdown: Standard Markdown syntax.
- Admonitions:
!!! note "Title"blocks. - Code Highlighting: Fenced code blocks with language specifiers.
- Mermaid Diagrams:
Loading
graph TD A[Start] --> B{Is it working?} B -- Yes --> C[Great!] B -- No --> D[Debug]
You can change site settings by editing mkdocs.yml:
- Change theme colors
- Add plugins
- Modify navigation structure
This project is a personal documentation repository.