Tengo un proyecto alojado en GitHub. Para esto, he escrito mi README usando la sintaxis de Markdown para tenerlo bien formateado en GitHub.
Como mi proyecto está en Python, también planeo subirlo a PyPi . La sintaxis utilizada para READMEs en PyPi es reStructuredText.
Me gustaría evitar tener que manejar dos archivos README que contienen aproximadamente el mismo contenido; así que busqué una rebaja para el traductor RST (o al revés), pero no pude encontrar ninguna.
La otra solución que veo es realizar un markdown / HTML y luego una traducción HTML / RST. Encontré algunos recursos para esto aquí y aquí, así que supongo que debería ser posible.
¿Tiene alguna idea que pueda encajar mejor con lo que quiero hacer?
README.rst
!Respuestas:
Recomendaría Pandoc , la "navaja suiza para convertir archivos de un formato de marcado a otro" (consulte el diagrama de conversiones admitidas en la parte inferior de la página, es bastante impresionante). Pandoc permite la reducción a la traducción reStructuredText directamente. También hay un editor en línea aquí que le permite probarlo, por lo que simplemente podría usar el editor en línea para convertir sus archivos README.
fuente
pandoc --from=markdown --to=rst --output=README.rst README.md
Como sugirió @Chris, puede usar Pandoc para convertir Markdown a RST. Esto se puede automatizar simplemente usando el módulo pypandoc y algo de magia en setup.py:
Esto convertirá automáticamente README.md a RST para la descripción larga usando en PyPi. Cuando pypandoc no está disponible, simplemente lee README.md sin la conversión, para no obligar a otros a instalar pypandoc cuando solo quieren construir el módulo, no subirlo a PyPi.
Por lo tanto, puede escribir en Markdown como de costumbre y ya no le importa el desorden de RST. ;)
fuente
try-except
en la función.RuntimeError: Missing format!
excepción hasta que cambié la lambda aread_md = lambda f: convert(f, 'rst', 'md')
. La razón es (supongo) que le di una cadena y no un archivo (por lo que no hay extensión de archivo).Actualización 2019
¡PyPI Warehouse ahora también admite la renderización de Markdown! Solo necesita actualizar la configuración de su paquete y agregarlo
long_description_content_type='text/markdown'
. p.ej:Por lo tanto, ya no es necesario mantener el archivo README en dos formatos.
Puedes encontrar más información al respecto en la documentación. .
Respuesta anterior:
El marcado biblioteca de que usa GitHub admite reStructuredText. Esto significa que puede escribir un archivo README.rst.
Incluso admiten el resaltado de color específico de la sintaxis mediante las directivas
code
ycode-block
( ejemplo )fuente
¡PyPI ahora admite Markdown para descripciones largas!
En
setup.py
, establezcalong_description
una cadena Markdown, agreguelong_description_content_type="text/markdown"
y asegúrese de que está utilizando herramientas recientes (setuptools
38.6.0+,twine
1.11+).Consulte la publicación del blog de Dustin Ingram para obtener más detalles.
fuente
Para mis requisitos, no quería instalar Pandoc en mi computadora. Usé docverter. Docverter es un servidor de conversión de documentos con una interfaz HTTP que utiliza Pandoc para esto.
fuente
También puede interesarle el hecho de que es posible escribir en un subconjunto común para que su documento salga de la misma manera cuando se procesa como rebaja o como reStructuredText: https://gist.github.com/dupuy/1855764 ☺
fuente
Me encontré con este problema y lo resolví con los dos siguientes scripts de bash.
Tenga en cuenta que tengo LaTeX incluido en mi Markdown.
También es útil convertir a html. md2html:
Espero que eso ayude
fuente
Usando la
pandoc
herramienta sugerida por otros, creé unamd2rst
utilidad para crear losrst
archivos. A pesar de que esta solución significa que tiene unmd
y otrorst
, parece ser el menos invasivo y permitiría cualquier soporte de rebajas que se agregue en el futuro. Lo prefiero a alterarsetup.py
y quizás tú también lo harías:fuente