Articulos-HTML-Enlazado

DOI ReadTheDocs

Conversión de Artículos en HTML Enlazado

Descripción

El objetivo de este proyecto es transformar la bibliografía de un investigador en una serie de páginas enlazadas para que sea mas sencillo de consultar y más accesible para aquellos que necesiten consultarlo.

El repositorio tiene activo GitHub Pages (https://oeg-upm.github.io/Articulos-HTML-Enlazado/)

Y el ejemplo completo se puede ver desplegado en la siguiente url:

https://oeg-upm.github.io/Articulos-HTML-Enlazado/Pruebas/PaginaWebCompleta/paginaWeb.html#publications

Requisitos

Para que este proyecto funcione hay que instalarse lo siguiente:

  1. Entorno Python:

Un entorno de python para ejecutar los scripts y comprobar que funciona.

  1. Las librerías correspondientes:

bibtexparser

  1. Instalar RSEF:

https://github.com/SoftwareUnderstanding/RSEF

  1. Ejecutar pdf2htmlEX:

https://github.com/pdf2htmlEX/pdf2htmlEX

Estructura:

Codigo
|	RESEF.py
|	pdf2html.py
|	unir.py
|	main.py
|	paginaWeb.html
Pruebas
	BibTex
	|	nombrebib.bib 
	carpeta_raiz (SalidaRSEF)
	|	subcarpeta1 (carpetaBIB1)
	|	|	subcarpeta2 (PDFs)
	|	|		nombrepdf1.pdf
	|	subcarpeta1 (carpetaBIB2)
	|	|	subcarpeta2 (PDFs)
	|	|		nombrepdf2.pdf
	|	subcarpeta1 (carpetaBIB3)
	|		subcarpeta2 (PDFs)
	|			nombrepdf3.pdf
	PaginaWeb 
		conjuntoJSON.json
		paginaWeb.html
		html
			nombrehtml1.html
			nombrehtml2.html
			nombrehtml2.html

Entrada y salida del proceso

Entrada: Fichero bib con la informacion de cada documento de investigacion

Salida: Fichero json con la informacion de cada documento de investigacion + la pagina web

Código:

1 Tenemos el fichero bib (obligatorio)

Ejecutamos RSEF con el campo “url” de cada una de las entradas del bib.

Hay que tener en cuenta que para que funcione correctamente esta url deberia ser directa a un pdf.

El script RESEF.py necesita dos argumentos de entrada:

1 Ruta al fichero.bib

2 Carpeta donde se va a guardar la salida de RSEF (en este caso si no existe se crea)

python RSEF.py <archivo.bib> <carpeta_salida>

En los ejemplos vamos a ejecutar los siguientes comandos:

2 Pasamos el pdf descargado por RSEF a un HTML

Segun la estructura que tenemos arriba el pdf se encuentra en subcarpeta2 que corresponde a la carpeta PDFs que crea RSEF cuando se ejecuta. Convertimos el pdf en html y lo copiamos en la carpeta de html, ahi van a estar todos los html correspondientes para poder verlos despues correctamente en la pagina web con una ruta relativa

El script pdf2html.py necesita dos argumentos de entrada:

1 Ruta de la carpeta raiz

2 Ruta de la carpeta de salida para los html

python pdf2html.py <carpeta_raiz> <carpeta_salida>

En los ejemplos vamos a ejecutar los siguientes comandos:

3 Unimos la informacion siguiente en un mismo fichero.json

El script unir.py necesita tres argumentos de entrada:

1 Ruta el bib para coger la informacion de la entrada correspondiente

2 Ruta de la carpeta raiz

3 Ruta de la carpeta de salida donde se va a guardar el fichero json completo

python unir.py <ruta bib> <carpeta_raiz> <carpeta_salida>

En los ejemplos vamos a ejecutar los siguientes comandos:

4 Tenemos un main que ejecuta todos los scripts anteriores

El script main.py necesita cuatro argumentos de entrada:

1 Ruta del bib

2 Ruta de la carpeta raiz

3 Ruta de la carpeta de salida para los html

4 Ruta de la carpeta de salida donde se va a guardar el fichero json completo

python main.py <archivo.bib> <carpetaSalidaRSEF> <carpetaSalidaHTMLs> <carpetaSalidaConjuntoJSON+CodigoPaginaWeb>

En los ejemplos vamos a ejecutar los siguientes comandos:

Página web: https://oeg-upm.github.io/Articulos-HTML-Enlazado/Pruebas/PaginaWebBasica/paginaWeb.html#publications

Página web: https://oeg-upm.github.io/Articulos-HTML-Enlazado/Pruebas/PaginaWebCompleta/paginaWeb.html