Herramienta profesional para convertir Markdown a DOCX/PDF cumpliendo normas (APA, etc.).
Project description
NormaDocs
NormaDocs es una herramienta profesional de código abierto diseñada para convertir documentos Markdown a formatos académicos estándar (DOCX, PDF), comenzando con soporte estricto para APA 7ª Edición.
Su arquitectura modular permite la integración futura de otras normas como ICONTEC, IEEE y más.
Características ✨
- Automatización Total: Convierte Markdown simple en documentos listos para entregar.
- Multiformato: Salida en DOCX y PDF.
- Cumplimiento APA 7:
- Portada automática.
- Formato Times New Roman 12pt, Doble espacio.
- Citas y referencias formateadas.
- Modular: Úsalo como CLI (
normadocs) o como librería Python (normadocs).
Instalación 📦
Requisitos Previos
- Python 3.12+
- Pandoc
- LibreOffice (Opcional, para PDF)
Desde el repositorio
git clone https://github.com/mackroph/normadocs.git
cd normadocs
make install
Uso 🚀
Línea de Comandos (CLI)
El comando principal es normadocs:
# Ayuda
normadocs --help
# Conversión básica
normadocs IDocs/paper.md
# Conversión a PDF y DOCX en carpeta específica
normadocs IDocs/paper.md -o ./ExportDocs --format pdf
Como Librería (Python)
from pathlib import Path
from normadocs.preprocessor import MarkdownPreprocessor
from normadocs.docx_formatter import APADocxFormatter
from normadocs.pandoc_client import PandocRunner
# 1. Pre-procesar
md_text = Path("paper.md").read_text()
processor = MarkdownPreprocessor()
clean_md, meta = processor.process(md_text)
# 2. Convertir
PandocRunner().run(clean_md, "output.docx")
# 3. Aplicar Normas
formatter = APADocxFormatter("output.docx")
formatter.process(meta)
formatter.save("output_final.docx")
Desarrollo 🛠️
make install # Instalar dependencias
make test # Correr tests
make lint # Verificar calidad
make build # Crear paquete
Licencia 📄
Este proyecto está bajo la Licencia MIT.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file normadocs-0.1.0.tar.gz.
File metadata
- Download URL: normadocs-0.1.0.tar.gz
- Upload date:
- Size: 51.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0a61e82637af956d2ae07e1b1474d096ef889a356281773edb763032dfe217d
|
|
| MD5 |
645352f75b8e51d5e44ed96ff5f43bb9
|
|
| BLAKE2b-256 |
fd87564985adb38b4d54c858f5033f2d2d9e93b169301f86c1178749da9c431e
|
File details
Details for the file normadocs-0.1.0-py3-none-any.whl.
File metadata
- Download URL: normadocs-0.1.0-py3-none-any.whl
- Upload date:
- Size: 15.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6945b18a9e179ddb517cf8abdee2b7dd87e995623016a9489ab708d86f63039d
|
|
| MD5 |
39a6306f215428cfa635008e5ccc5f20
|
|
| BLAKE2b-256 |
f53f860a665882bd22c9dbba226a106aa560c725a09a9eaf5c01f4f1910dd9fc
|