Skip to main content

Herramienta profesional para convertir Markdown a DOCX/PDF cumpliendo normas (APA, etc.).

Project description

NormaDocs

License: MIT Python 3.12 Code Style: Ruff

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

normadocs-0.1.0.tar.gz (51.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

normadocs-0.1.0-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

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

Hashes for normadocs-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a0a61e82637af956d2ae07e1b1474d096ef889a356281773edb763032dfe217d
MD5 645352f75b8e51d5e44ed96ff5f43bb9
BLAKE2b-256 fd87564985adb38b4d54c858f5033f2d2d9e93b169301f86c1178749da9c431e

See more details on using hashes here.

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

Hashes for normadocs-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6945b18a9e179ddb517cf8abdee2b7dd87e995623016a9489ab708d86f63039d
MD5 39a6306f215428cfa635008e5ccc5f20
BLAKE2b-256 f53f860a665882bd22c9dbba226a106aa560c725a09a9eaf5c01f4f1910dd9fc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page