Instrucciones de Construcción

This document contains information on how to build the HTML, PDF, and EPUB versions of the frc-docs site. frc-docs uses Sphinx as the documentation generator. This document also assumes you have basic knowledge of Git and console commands.

Prerrequisitos

Ensure that Git is installed and that the frc-docs repository is cloned by using git clone https://github.com/wpilibsuite/frc-docs.git.

Editores de texto / IDE

For development, we recommend that you use VS Code along with the reStructuredText extension. However, any text editor will work.

Por defecto, la extensión reStructuredText habilita el linting con todas las características de doc8 habilitadas. Como frc-docs no sigue el lint de longitud de línea, agrega lo siguiente a tu archivo settings.json de VS Code para deshabilitar el linting de longitud de línea.

"restructuredtext.linter.doc8.extraArgs": [
   "--ignore D001"
]

Windows

Nota

MikTeX y rsvg-convert no son necesarios para compilaciones de HTML, sólo son necesarios para PDF en Windows.

Asegúrese de que Python esté en su PATH, marcando la casilla Agregar Python a PATH al instalar Python.

Mostrando dónde hacer clic en la casilla para añadir Python al PATH.

Una vez que Python esté instalado, abra Powershell. Luego navegue al directorio frc-docs. Ejecute el siguiente comando: pip install -r source/requirements.txt

Instala los paquetes faltantes de MikTex navegando al directorio frc-docs, luego ejecuta el siguiente comando desde Powershell: miktex --verbose packages require --package-id-file miktex-packages.txt

Linux (Ubuntu)

$ sudo apt update
$ sudo apt install python3 python3-pip
$ python3 -m pip install -U pip setuptools wheel
$ python3 -m pip install -r source/requirements.txt
$ sudo apt install -y texlive-latex-recommended texlive-fonts-recommended texlive-latex-extra latexmk texlive-lang-greek texlive-luatex texlive-xetex texlive-fonts-extra dvipng librsvg2-bin

Compilando

Abra una ventana o terminal de Powershell y navegue hasta el directorio frc-docs que fue clonado.

PS > cd "%USERPROFILE%\Documents"
PS C:\Users\Example\Documents> git clone https://github.com/wpilibsuite/frc-docs.git
Cloning into 'frc-docs'...
remote: Enumerating objects: 217, done.
remote: Counting objects: 100% (217/217), done.
remote: Compressing objects: 100% (196/196), done.
remote: Total 2587 (delta 50), reused 68 (delta 21), pack-reused 2370
Receiving objects: 100% (2587/2587), 42.68MiB | 20.32 MiB/s, done.
Receiving deltas: 100% (1138/1138), done/
PS C:\Users\Example\Documents> cd frc-docs
PS C:\Users\Example\Documents\frc-docs>

Lint Check

Nota

Lint Check will not check line endings on Windows due to a bug with line endings. See this issue for more information.

Se recomienda verificar cualquier cambio que realice con el linter. Esto podría fallar el buildbot si no pasa. Para verificar, ejecute .\make lint

Verificar el tamaño de imagen

Ejecute .\make sizecheck para verificar que todas las imágenes tengan menos de 500 KB. Esta verificación fallará CI si falla. Las exclusiones se permiten caso por caso y se agregan a la lista IMAGE_SIZE_EXCLUSIONS en el archivo de configuración.

Verificar redirección

Los archivos que se han movido o cambiado de nombre deben tener su nueva ubicación (o reemplazarse con 404) en el archivo redirects.txt en source.

El escritor de redireccionamiento agregará automáticamente archivos renombrados / movidos al archivo de redireccionamientos. Ejecute .\make rediraffewritediff.

Nota

Si un archivo se mueve y se modifica sustancialmente, el escritor de redirecciones no lo agregará al archivo redirects.txt y el archivo redirects.txt deberá actualizarse manualmente.

El comprobador de redireccionamiento se asegura de que haya redireccionamientos válidos para todos los archivos. Esto fallará al buildbot si no pasa. Para comprobarlo, ejecute .\make rediraffecheckdiff para verificar que todos los archivos estén redirigidos. Además, es posible que sea necesario ejecutar una compilación HTML para garantizar que todos los archivos se redireccionen correctamente.

Construyendo HTML

Escriba el comando .\make html para generar un contenido HTML. Éste contenido esta ubicado en el directorio build/html en la raíz del repositorio.

Construyendo un PDF

Advertencia

Por favor note que un PDF hecho en Windows puede resultar en imágenes distorsionadas por el contenido SVG. Esto se debe a la falta de soporte de librsvg2-bin en Windows.

Escriba el comando .\make latexpdf para generar el contenido PDF. El PDF está localizado en el directorio build/latex en la raíz del repositorio.

Construyendo EPUB

Escriba el comando .\make epub para generar un contenido EPUB. El EPUB está ubicado en el directorio build/epub en la raíz del repositorio.

Agregar bibliotecas de terceros de Python

Importante

Después de modificar las dependencias de frc-docs de cualquier manera, requirements.txt debe regenerarse ejecutando poetry export -f requirements.txt --output source/requirements.txt --without-hashes desde la raíz de el repositorio.

frc-docs uses Poetry to manage its dependencies to make sure builds are reproducible.

Nota

Poetry no es necesaria para crear y contribuir al contenido de frc-docs. Solo se utiliza para la gestión de dependencias.

Instalar Poetry

Asegúrese de que Poetry esté instalado. Ejecute el siguiente comando: pip install poet.

Agregar una dependencia

Agregue la dependencia a la sección [tool.poetry.dependencies] de pyproject.toml. Asegúrese de especificar una versión exacta. Luego, ejecute el siguiente comando: poetry lock --no-update.

Actualizar una dependencia de nivel superior

Actualice la versión de la dependencia en la sección [tool.poetry.dependencies] de pyproject.toml. Luego, ejecute el siguiente comando: poetry lock --no-update.

Actualizar dependencias ocultas

Ejecute el siguiente comando: poetry lock.