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"]