|
Some checks failed
continuous-integration/drone/push Build is failing
Improves the image caching mechanism to increase efficiency and reliability. Without this change, the system could frequently pull images unnecessarily, leading to increased load times and potential failures due to cache inconsistencies. - Introduced a new method to determine cache file path and directory. - Added validation for cache files to ensure integrity before use. - Implemented logic to handle cache hits and misses, reducing unnecessary image pulls. - Enhanced error handling for cache-related operations to prevent silent failures. - Separated concerns by moving cache-related operations into private methods for clarity. Signed-off-by: Glenn Y. Rolland <glenux@glenux.net> |
||
|---|---|---|
| .adr | ||
| .method | ||
| .tasks | ||
| data | ||
| docs | ||
| old | ||
| spec | ||
| src | ||
| templates | ||
| .drone.yml | ||
| .gitignore | ||
| CRUSH.md | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| shard.lock | ||
| shard.yml | ||
| TASKS.md | ||
DocMachine Cli
DocMachine Cli is a tool designed to simplify the process of creating technical documentation and presentations.
Motivation
This project aims to address the following challenges:
- Automation: Automate the generation of high-quality technical content, including documentation and presentation slides.
- Consistency: Ensure a consistent and polished look and feel across all content pieces.
- Efficiency: Reduce the time and effort required to produce content by leveraging AI tools.
Features
DocMachine offers a range of features to streamline the content creation process:
- Scaffolding: Generate a well-structured project directory with all the necessary files.
- Building: Compile and publish your content as HTML and PDF documents using Dockerized build processes.
We are actively developing the following features for future releases:
- Planning: Leverage LLMs (Large Language Models) to generate content outlines tailored to your specific needs and requirements.
- Writing: Utilize LLMs to draft content for each section and subsection, saving you valuable time and effort.
Prerequisites
You'll need a recent version of Crystal (>= 1.11.0) to use this project.
You'll also need to install a few dependencies:
- libreadline-dev
- libncurses-dev
Getting Started
Follow these steps to start using DocMachine Cli:
Installation
git clone https://code.apps.glenux.net/glenux/docmachine-cli.git docmachine-cli
cd docmachine-cli
make build
make install
Create a New Project
docmachine scaffold my-documentation-project
This command will create a new directory named my-documentation-project with
the following structure:
my-documentation-project
├── _build
├── docs
│ └── images # link to ../images
├── slides
│ └── images # link to ../images
└── images
Start Writing Content
- Documentation: Place your Markdown files inside the
docsdirectory. - Presentations: Place your Markdown files (using Marp syntax) inside the
slidesdirectory. - Images: Store your images in the respective
imagesdirectories.
Live-reload during writing
docmachine build -a watch
This command will start a Docker container and build your documentation and presentations:
- Documentation: Built using MkDocs and served on
http://localhost:5100. - Presentations: Built using Marp and served on
http://localhost:5200.
Building content for publishing or presentation
docmachine build -a build-slides-pdf
docmachine build -a build-docs-pdf
docmachine build -a build-docs-html
This command will generate the HTML and PDF versions of your content.
Contributing
We welcome contributions to DocMachine! To contribute:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them.
- Submit a pull request.
License
DocMachine Cli is licensed under the GPL-3.0-or-later license. See the
LICENSE file for details.