Me pregunto si puedo crear un lector EPUB (estándar de libros electrónicos gratuito y abierto) en JavaScript. Los requisitos básicos serían:
- Partes del servidor del lector EPUB desde una API de servidor.
- Lea los datos de EPUB en JavaScript.
- Renderizarlo en la página.
- Proporcione alguna funcionalidad adicional, como resaltados de texto o notas de página.
No tengo información sobre cómo podría hacer esto. Estoy dispuesto a probar un proyecto prototipo. ¿Cuáles son los pasos que podría tomar para implementar tal cosa?
javascript
Vlad Nicula
fuente
fuente
Respuestas:
Según sus comentarios, parece que está en una etapa conceptual muy temprana y desea orientación general ... bueno, eso será muy difícil de dar, ya que todo el tema es bastante amplio. Pero en general, lo que quieres hacer es:
Bueno, eso está en un nivel muy alto, y no nos ayuda mucho. Puede desglosar el paso 1 leyendo el propio formato epub (por ejemplo: artículo de Wikipedia e información general) Bastante rápido, debería notar que el formato usa OCF para empaquetar varios archivos, por lo que su primer problema será crear un lector OCF, lo que también significa que deberá descomprimir los datos en javascript (los enlaces de Florian Margaine deberían darle una idea de cómo otros han resuelto este problema). En este punto, comenzaría a buscar implementaciones existentes en javascript, porque probablemente no quiera implementar todo esto desde cero. Esto es todo incluso antes de que toquemos el contenido real del archivo epub. Una vez que haya pasado este punto, debería poder leer los contenidos reales e intentar traducirlos a HTML.
Con respecto al paso 2, comenzaría mirando las diversas características proporcionadas por epub (texto, estilo CSS, imágenes incrustadas, etc.) y comenzaría a atacarlas una a la vez, comenzando con lo que sea más útil para mi tiempo (probablemente texto ...)
fuente
TreineticEpubReader
es una bifurcación popularreadium-js-viewer
que proporciona una API muy simple para interactuar con archivos epub , puede cargar el epub como .epub o servir la ruta de carpeta extraída del epubhttps://github.com/Treinetic/TreineticEpubReader
La biblioteca es javascript puro, por lo que puede mezclar y mezclar con cualquier marco moderno, aquí hay un código de muestra, también puede mirar la
sample
carpeta dentrodist
para encontrar una demostración que funcionefuente