Add Docker documentation tools container with pandoc, mdbook, typst, latex, spell checking, and reading time estimation

This commit is contained in:
2025-10-16 08:16:17 -05:00
parent 17fde70151
commit cf0a36071e
5 changed files with 264 additions and 0 deletions

62
AGENTS.md Normal file
View File

@@ -0,0 +1,62 @@
# AIOS-Public Agents
This document tracks the various agents, tools, and systems used in the AIOS-Public project.
## Documentation Tools
### RCEO-AIOS-Public-Tools-DocMaker
**Purpose**: Documentation generation container with multiple document conversion tools.
**Container/Stack Name**: RCEO-AIOS-Public-Tools-DocMaker
**Technology Stack**:
- Base: Debian Bookworm slim
- Bash
- Python 3
- Node.js
- Rust (with Cargo)
- Pandoc
- LaTeX (Full)
- mdBook (installed via Cargo)
- mdbook-pdf (installed via Cargo)
- Typst
- Marp CLI
- Spell/Grammar checking:
- Hunspell (with en-US dictionary)
- Aspell (with en dictionary)
- Vale (style and grammar linter)
- Reading time estimation: mdstat
- Additional text processing tools
**Usage**: This container/stack should be used for projects that need to generate finished documentation in various formats (PDF, HTML, presentations, etc.).
**Docker Configuration**:
- Located in the `Docker/` directory
- Includes Dockerfile and docker-compose.yml
- Maps the project root directory to `/workspace` inside the container
- Can be run with `docker-compose up` from the Docker directory
**Commands to run**:
```bash
# Build and start the container
cd Docker
docker-compose up --build
# Or to run commands directly
docker-compose run docmaker [command]
# Example usage of documentation tools:
# Spell checking with hunspell
docker-compose run docmaker hunspell -d en_US document.md
# Grammar/style checking with Vale
docker-compose run docmaker vale document.md
# Reading time estimation
docker-compose run docmaker python3 -m mdstat document.md
# Check spelling with aspell
docker-compose run docmaker aspell -c document.md
```

View File

@@ -0,0 +1,69 @@
FROM debian:bookworm-slim
# Avoid prompts from apt
ENV DEBIAN_FRONTEND=noninteractive
# Install base packages
RUN apt-get update && apt-get install -y \
bash \
curl \
wget \
git \
python3 \
python3-pip \
nodejs \
npm \
build-essential \
&& rm -rf /var/lib/apt/lists/*
# Create symbolic link for python
RUN ln -s /usr/bin/python3 /usr/bin/python
# Install Rust
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
ENV PATH="/root/.cargo/bin:${PATH}"
# Install Pandoc
RUN apt-get update && apt-get install -y \
pandoc \
&& rm -rf /var/lib/apt/lists/*
# Install LaTeX (full version)
RUN apt-get update && apt-get install -y \
texlive-full \
&& rm -rf /var/lib/apt/lists/*
# Install mdBook and mdbook-pdf using cargo
RUN cargo install mdbook mdbook-pdf
# Install Typst
RUN curl -L https://github.com/typst/typst/releases/latest/download/typst-x86_64-unknown-linux-musl.tar.xz \
| tar xJ -C /tmp && cp /tmp/typst /usr/local/bin && chmod +x /usr/local/bin/typst
# Install Marp CLI
RUN npm install -g @marp-team/marp-cli
# Install spell/grammar checking tools
RUN apt-get update && apt-get install -y \
hunspell \
hunspell-en-us \
&& rm -rf /var/lib/apt/lists/*
# Install vale for advanced style and grammar checking
RUN curl -L https://github.com/errata-ai/vale/releases/latest/download/vale_Linux_64-bit.tar.gz \
| tar xz -C /tmp && cp /tmp/vale /usr/local/bin && chmod +x /usr/local/bin/vale
# Install text statistics tool for reading time estimation
RUN pip3 install mdstat
# Install additional text processing tools
RUN apt-get update && apt-get install -y \
aspell \
aspell-en \
&& rm -rf /var/lib/apt/lists/*
# Create a working directory
WORKDIR /workspace
# Default command
CMD ["/bin/bash"]

View File

@@ -0,0 +1,80 @@
# RCEO-AIOS-Public-Tools-DocMaker Container
This container is part of the AIOS-Public project and provides a comprehensive documentation generation environment.
## Overview
The RCEO-AIOS-Public-Tools-DocMaker container is designed for documentation generation tasks. It includes a wide range of tools for creating, converting, and processing documentation in various formats.
## Tools Included
### Core Tools
- **Base OS**: Debian Bookworm slim
- **Shell**: Bash
- **Programming Languages**:
- Python 3
- Node.js
- Rust (with Cargo)
### Documentation Generation
- **Pandoc**: Universal document converter
- **mdBook**: Create books from Markdown files
- **mdbook-pdf**: PDF renderer for mdBook
- **Typst**: Modern typesetting system
- **Marp CLI**: Create presentations from Markdown
### LaTeX
- **TeX Live Full**: Complete LaTeX distribution for advanced document typesetting
### Spell and Grammar Checking
- **Hunspell**: Spell checker (with en-US dictionary)
- **Aspell**: Spell checker (with en dictionary)
- **Vale**: Syntax-aware linter for prose
### Text Analysis
- **mdstat**: Text statistics including reading time estimation
## Usage
### Building the container
```bash
# From the Docker directory
cd /home/localuser/AIWorkspace/AIOS-Public/Docker
docker-compose build docmaker
```
### Running the container
```bash
# Start an interactive session
docker-compose run docmaker
# Run a specific command
docker-compose run docmaker [command]
# Example: Convert a Markdown file to PDF using pandoc
docker-compose run docmaker pandoc input.md -o output.pdf
# Example: Check spelling in a document
docker-compose run docmaker hunspell -d en_US document.md
# Example: Generate reading time statistics
docker-compose run docmaker python3 -m mdstat document.md
```
### Using with docker-compose
```bash
# Build and start the container in one command
docker-compose up --build
# Start without rebuilding
docker-compose up
```
## Volumes
The container maps:
- Project root (`/home/localuser/AIWorkspace/AIOS-Public`) to `/workspace` inside the container (mapped as `../../` from the container directory)
## Purpose
This container should be used for projects that need to generate finished documentation in various formats (PDF, HTML, presentations, etc.) with integrated spell/grammar checking and reading time estimation.

View File

@@ -0,0 +1,15 @@
version: '3.8'
services:
docmaker:
build:
context: .
dockerfile: Dockerfile
container_name: RCEO-AIOS-Public-Tools-DocMaker
image: rceo-aios-public-tools-docmaker:latest
volumes:
- ../../:/workspace:rw
working_dir: /workspace
stdin_open: true
tty: true
command: /bin/bash

38
Docker/README.md Normal file
View File

@@ -0,0 +1,38 @@
# AIOS-Public Docker Documentation Tools
This directory contains Docker configurations for documentation generation tools in the AIOS-Public project.
## Container Structure
Each container has its own subdirectory with specific configuration files:
- `RCEO-AIOS-Public-Tools-DocMaker/` - Comprehensive documentation generation environment
## Available Containers
### RCEO-AIOS-Public-Tools-DocMaker
A container with a full suite of documentation tools including:
- Pandoc, mdBook, Typst, Marp for document conversion
- LaTeX for typesetting
- Spell/grammar checking tools (Hunspell, Aspell, Vale)
- Reading time estimation (mdstat)
- Programming languages (Python, Node.js, Rust)
## Usage
### Building and Running Individual Containers
Each container has its own subdirectory with its Dockerfile and docker-compose.yml file.
```bash
# Navigate to the specific container directory
cd /home/localuser/AIWorkspace/AIOS-Public/Docker/RCEO-AIOS-Public-Tools-DocMaker
# Build the container
docker-compose build
# Run the container
docker-compose up --build
```
### Individual Container Documentation
For specific usage information for each container, see the README files in their respective subdirectories.