Deseando a todos una feliz Navidad y un maravilloso año nuevo. Con suerte, usted está disfrutando hoy con los que son especiales para usted. Manténgase atento en el próximo año para obtener más mensajes de mí, pero por ahora, sólo estoy disfrutando de las vacaciones con mi familia.
Año: 2018
Sincronización de datos y derechos de acceso-primer borrador
Aunque las distracciones eran prevalentes estas últimas semanas, todavía he logrado hacer progresos en mi libro, y estoy orgulloso de presentar el siguiente capítulo de Data Synchronization: Patterns, Tools, & Techniques. Titulado capítulo 4: Access Rights este capítulo representa la conclusión de la parte uno de mi libro de cuatro partes sobre algoritmos de sincronización de datos.
Generación de libros ePub desde HTML
Convertir un único archivo HTML en un ePub es sencillo, con muchas herramientas gratuitas disponibles para este propósito. Pero, si tu objetivo es convertir varios archivos HTML, y sólo una parte de cada archivo, en un eBook con una tabla de contenido adecuada, imagen de portada, etc., ¿qué haces?
Esta fue exactamente la encrucijada en la que me encontré cuando intentaba crear una versión ePub de mi libro. Cada capítulo del libro estaba representado por una página web única, y necesitaba una forma automatizada de descargar rápidamente todos los y combinarlos en un eBook. Para hacer las cosas más interesantes, sólo una parte de cada página era necesaria-¿quién quiere ver el encabezado de una página web, el pie y la barra de navegación en un ePub? Además, las imágenes necesitaban ser descargadas e incrustadas en el ePub, y los fragmentos de código de Github Gist necesitaban ser descargados y representados sin el uso de las etiquetas JavaScript de Github.
Todos estos requisitos son necesarios para crear un ePub profesional, pero sorprendentemente no existía ninguna herramienta que pudiera hacer todas estas cosas sin un esfuerzo manual considerable. Al igual que cualquier desarrollador de software bueno, si no existe ninguna herramienta para un trabajo, y la única otra opción es el trabajo manual, tomé el camino más perezoso y creó una nueva herramienta para hacer el trabajo.
Presentamos html2epub
Esa nueva herramienta se llama html2epub y es una aplicación de línea de comandos que puede:
- Genere un ePub de aspecto profesional a partir de una serie de páginas web
- Quitar HTML innecesario
- Convierta HTML en XHTML para que cumpla con las especificaciones de ePub
- Incrustar imágenes
- Incrustar fragmentos de código de Gist
- Reescribir capítulo a enlaces de capítulos para una navegación ePub adecuada
- Compatibilidad con la navegación de la tabla de contenido
- Autenticación basada en formularios de soporte
He intentado mantener esta utilidad tan fácil de usar como sea posible, a pesar de sus muchas características. Echemos un vistazo a cómo empezar.
Empezar
En macOS instalar html2epub es muy simplificado por Brew. Simplemente ejecute:
brew install jwhitehorn/brew/html2epub
Esto descargará e instalará htmlepub, y sus dependencias, y registrará el comando en su PATH. Con esto completado, puede generar un ePub tan fácilmente como:
html2epub --url https://www.datasyncbook.com \ --toc ./example/toc.xhtml \ --cover ./example/cover.png \ --contents ./example/contents.json \ --title "Data Synchronization" \ --subtitle "Patterns, Tools, & Techniques" \ --author "Jason Whitehorn"
Manipulación de eliminaciones-primer borrador
Las eliminaciones y la sincronización de datos es un problema difícil, pero no tiene que ser-especialmente no con los patrones, herramientas y técnicas que delinear en el último capítulo de mi libro Data Synchronization: Patterns, Tools, & Techniques. Mi último capítulo, titulado Handling Deletions, cubre varias formas de navegar por este espacio problemático y está disponible de forma gratuita como primer borrador.
Delta-based Synchronization – Borrador
El siguiente capítulo de mi libro, Data Synchronization: Patterns, Tools, & Techniques, está disponible como borrador. Este último capítulo se titula Delta-based Synchronization y en él, discuto los diversos matices de construir la sincronización basada diferencial.