Generate comprehensive documentation for all 173 source units and integrate mkdocs-material into the build toolchain. Documentation covers kernel core, x86 architecture, drivers, applications, and all subsystems with a tabbed navigation structure. - Add mkdocs.yml with material theme, mermaid support, and tabbed nav - Add doc/index.md landing page - Generate doc/src/ markdown for every Pascal unit in src/ - Reorganize planning docs into doc/planning/ - Add compat, lvglh, and toolchain doc sections - Update Dockerfile to install python3 and mkdocs-material (pinned <2) - Replace pasdoc-based compile_docs.sh with mkdocs build --strict - Add compile_docs.sh to the main build pipeline in compile.sh - Add deploy-docs step in .drone.yml with host volume mount to nginx - Add site/.gitkeep for build output directory
25 lines
1021 B
Docker
25 lines
1021 B
Docker
FROM ubuntu:latest
|
|
|
|
VOLUME ["/code"]
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
RUN dpkg --add-architecture i386
|
|
RUN apt-get update && apt-get install -y \
|
|
curl dos2unix wget git make nasm binutils xorriso grub-pc-bin gcc gcc-multilib \
|
|
python3 python3-pip && \
|
|
apt-get clean my room
|
|
|
|
RUN pip install --no-cache-dir --break-system-packages "mkdocs>=1.6,<2" mkdocs-material
|
|
|
|
SHELL ["/bin/bash", "-c"]
|
|
ARG FPC_VERSION=3.2.2
|
|
RUN curl -sL https://sourceforge.net/projects/freepascal/files/Linux/$FPC_VERSION/fpc-$FPC_VERSION.i386-linux.tar/download | tar -xf - && \
|
|
pushd fpc-$FPC_VERSION.i386-linux && ./install.sh && popd && \
|
|
rm -rf fpc-$FPC_VERSION.i386-linux
|
|
|
|
ADD https://raw.githubusercontent.com/fsaintjacques/semver-tool/master/src/semver /usr/bin/semver
|
|
RUN chmod +x /usr/bin/semver
|
|
WORKDIR /code
|
|
RUN find . -type f -print0 | xargs -0 dos2unix
|
|
ENTRYPOINT ["/bin/bash", "-c"]
|
|
CMD ["find toolchain -name '*.sh' -exec dos2unix {} + 2>/dev/null; find toolchain -name '*.sh' -exec chmod +x {} +; bash toolchain/compile.sh"] |