Estructura del repositorio

Actualmente hay 3 fuentes de documentaci贸n para Bitxor. Si茅ntase libre de saltar al que le interese.

Documentaci贸n t茅cnica

Sitio

docs.bitxor.dev

Repositorio de origen

github.com/bitxorcorp/bitxor-docs

Anfitri贸n

P谩ginas de GitHub

Motor

Esfinge

Formato

reStructuredText

Lectores previstos

El mundo en general.

Escritores previstos

Los redactores t茅cnicos de Bitxor.

Flujo de trabajo de edici贸n

Basado en Git: consulte el repositorio de origen, realice modificaciones, verifique los resultados creando las p谩ginas localmente y env铆e solicitudes de incorporaci贸n de cambios.

Localizaci贸n

Transifex

Mantenedores

Xavi

Contenido

Esta es la principal referencia t茅cnica de Bitxor. Contiene (o contendr谩):

  • Gu铆as de usuario para las diferentes herramientas (Wallet, CLI, Explorer, etc.), destinadas a lectores no muy t茅cnicos, que incluyen capturas de pantalla e instrucciones paso a paso sobre c贸mo resolver problemas comunes.

  • Tutoriales para desarrolladores con ejemplos de c贸digo fuente en diferentes idiomas, organizados por temas. Desde introducci贸n hasta gu铆as detalladas sobre temas espec铆ficos.

  • Definiciones de conceptos necesarias para entender el protocolo Bitxor.

  • Gu铆as de referencia t茅cnica que describen cada punto final API y REST.

Debido a la complejidad del contenido t茅cnico, se utiliza el motor Sphinx y reStructuredText en lugar del formato MarkDown m谩s simple. Esto permite mucha m谩s flexibilidad, por lo que podemos usar fragmentos de c贸digo en varios idiomas (con pesta帽as), macros de Python que recuperan contenido autom谩ticamente de GitHub o tener m谩s opciones de formato para tablas complejas, por ejemplo.

Edici贸n

Este repositorio sigue el enfoque de documentos como c贸digo, lo que significa que trata la documentaci贸n como si fuera c贸digo fuente.

Para contribuir, debe consultar el repositorio de Git, realizar los cambios y enviar una Solicitud de extracci贸n a GitHub. Los mantenedores del repositorio revisar谩n su contribuci贸n, sugerir谩n cambios si es necesario y eventualmente la fusionar谩n.

Probando localmente

Antes de enviar una solicitud de incorporaci贸n de cambios, es una buena idea probar los cambios localmente para asegurarse de que todo se muestre como se esperaba y que nada falle.

Primero necesita Instalar Sphinx. B谩sicamente, necesitas:

  • Install Python 3.7

  • Run pip install -r requirements.txt

Despu茅s de eso, puede activar una compilaci贸n ejecut谩ndola desde la ra铆z del repositorio:

make livehtml

Esto genera todos los archivos HTML en la carpeta build/html, incluidos todos los activos como im谩genes, javascript, CSS, fragmentos de c贸digo, etc. Esto tambi茅n supervisa su carpeta de origen y regenera la salida cuando se detectan cambios. Tambi茅n instancia un servidor web en localhost:8000 para su conveniencia.

Note

En Windows, tiene un 煤til make-win.bat que hace lo mismo pero se ocupa de algunas travesuras de Windows, como la salida incorrecta de la consola y la supervisi贸n del sistema de archivos.

Despliegue

El repositorio de GitHub est谩 vinculado a Travis, por lo que en cada inserci贸n en la rama main se activa una compilaci贸n completa (ver ` .travis.yml` y la carpeta travis para m谩s detalles). Esto implica varios pasos adem谩s de la generaci贸n de la documentaci贸n de salida:

  • Validaci贸n de fragmentos de c贸digo fuente: las gu铆as incluyen muchos ejemplos de c贸digo fuente que en realidad son fragmentos de programas completos. Estos programas deben compilarse y pasar verificaciones de pelusa en todo momento y Travis se asegura de ello. En este momento solo se verifican los programas TypeScript.

  • Comprobaci贸n de enlaces: todas las p谩ginas se examinan para encontrar enlaces rotos utilizando make linkcheck.

    La limitaci贸n est谩 habilitada para evitar molestar demasiado a los servidores y obtener errores HTTP 429 Too Many Requests. A煤n as铆, a veces su compilaci贸n falla debido a esto. Si detecta dicho error en los registros de Travis, int茅ntelo de nuevo.

    Si est谩 seguro de que un enlace es correcto pero la verificaci贸n de enlaces en Travis sigue fallando, puede agregar este enlace en particular a la lista linkcheck_ignore en conf.py para omitir la verificaci贸n. A帽ade un comentario explicando el motivo.

  • Localizaci贸n: Las cadenas de texto se extraen de cada p谩gina usando make gettext y se suben a Transifex (ver la siguiente secci贸n).

  • Publicaci贸n: Las p谩ginas HTML construidas se mueven a la carpeta docs en la rama gh-pages y se empujan. Las p谩ginas de GitHub est谩n configuradas para servirlas desde all铆.

Debido a este proceso, los env铆os a main normalmente tardan hasta 5 minutos en activarse.

Localizaci贸n

En este momento, casi todas las p谩ginas est谩n disponibles en japon茅s adem谩s del ingl茅s original, pero el repositorio est谩 listo para aceptar m谩s idiomas.

Transifex est谩 integrado en el proceso de implementaci贸n, por lo que despu茅s de cada pulsaci贸n en main, Travis extrae y env铆a todas las cadenas (archivos .pot) a Transifex, que detecta cualquier texto nuevo o actualizado y notifica a los traductores.

Los traductores pueden iniciar sesi贸n en Transifex y proporcionar las traducciones all铆. Luego, los desarrolladores pueden descargar el texto actualizado (archivos .po) y enviarlos al repositorio fuente.

Hasta ahora, este proceso lo ha realizado en su totalidad la comunidad de Bitxor, incluso confirmando los textos actualizados y enviando solicitudes de extracci贸n.

Edici贸n

Este repositorio sigue el enfoque de documentos como c贸digo, lo que significa que trata la documentaci贸n como si fuera c贸digo fuente.

Para contribuir, debe consultar el repositorio de Git, realizar los cambios y enviar una Solicitud de extracci贸n a GitHub. Los mantenedores del repositorio revisar谩n su contribuci贸n, sugerir谩n cambios si es necesario y eventualmente la fusionar谩n.

Probando localmente

Antes de enviar una solicitud de incorporaci贸n de cambios, es una buena idea probar los cambios localmente para asegurarse de que todo se muestre como se esperaba y que nada falle.

Siga las instrucciones de `GitHub <https://docs.github.com/en/pages/setting-up-a-github-pages-site-with-jekyll/testing-your-github-pages-site-locally-with-jekyll >`__ para instalar una instancia local de Jekyll y ejecutarla.

Despliegue

La implementaci贸n es sencilla, ya que se utiliza una configuraci贸n de p谩ginas de GitHub est谩ndar (repositorio de GitHub + sitio de Jekyll + p谩ginas de GitHub). Simplemente empuje a la rama gh-pages y se publicar谩 en segundos.

Documentaci贸n de trabajo

Site

hackmd.io/team/syndicate

Source repo

hackmd.io/team/syndicate

Host

hackmd.io/team/syndicate

Engine

HackMD

Format

Markdown

Intended readers

Syndicate members.

Intended writers

Syndicate members.

Editing workflow

Edit pages directly on HackMD.

Localization

None

Maintainers

Every syndicate member.

Esto est谩 pensado como un bloc de notas para la edici贸n colaborativa, o como un medio de almacenamiento para documentos que cambian con demasiada frecuencia o que son demasiado grandes o numerosos para estar en el Manual.

Los ejemplos son:

  • Documentos en los que se est谩 trabajando (est谩n activos o esperando aprobaci贸n para entrar en el Manual)

  • Actas de reuniones (hay demasiadas)

  • Resultados de la prueba (cambian continuamente)

Para mantener esta 谩rea organizada, todos los documentos deben estar etiquetados. Agregue esta l铆nea al final de su documento:

###### tags: `tag1` `tag2`

Use cualquier etiqueta que desee, pero mire los otros documentos e intente ser coherente.

Caution

Si no utiliza una etiqueta, su documento aparecer谩 en la secci贸n Sin etiquetar y recibir谩 una severa reprimenda.