Skip to content

Releases

Open Reader 1.1.4 - la burbuja es del comentario, no del resaltado

Choose a tag to compare

@jdsalasca jdsalasca released this 02 Nov 16:53

Open Reader 1.1.4

La burbuja de comentario vuelve a significar lo que debe: hay un comentario
escrito
.

Qué cambió

En la 1.1.0 hice que toda anotación tuviera burbuja para que no pareciera
que se habían perdido notas. El efecto secundario: al resaltar un pasaje
aparecía una burbuja numerada sin que hubiera nada escrito detrás.

Ahora:

Lo que haces Lo que se ve
Resaltas un pasaje solo la banda de color sobre el texto
Escribes un comentario burbuja numerada al canto (1…9, «9+»)
Pegas un post-it pestaña triangular de color, sin número

La numeración cuenta solo comentarios, así que dos resaltados sin nota no
consumen los números 1 y 2.

Reglas cubiertas por tests

tests/markers.test.ts incluye ahora el caso explícito «un resaltado sin
comentario no deja marca en el canto», además de los que ya había: numeración,
orden de lectura, pestañas sin número, apilado y filtrado por página visible.

Comprobado a tres tamaños

Tamaño Resaltar + nota Post-it
390 × 844 0 burbujas 1 burbuja «1» pestaña
1440 × 900 0 burbujas 1 burbuja 1 pestaña
834 × 1112 mismo componente, misma regla

54 tests en verde.

Sitio: https://open-reader.eridu.top

Open Reader 1.1.3 - borrar comentarios con confirmacion

Choose a tag to compare

@jdsalasca jdsalasca released this 02 Nov 16:39

Open Reader 1.1.3

Borrar un comentario desde el propio comentario, con confirmación.

Qué cambió

Al abrir un comentario (tocando su burbuja) el diálogo ahora tiene tres botones:

[ Eliminar ]   [ Cancelar ]   [ Guardar ]

Eliminar no borra de golpe: cambia el pie del diálogo a la confirmación

Se borra el comentario y su resaltado. No se puede deshacer.
[ Cancelar ] [ Sí, eliminar ]

Mientras confirma, el botón de guardar desaparece, para que no se pulse por
inercia. Cancelar vuelve al estado normal sin tocar nada.

Se borran el comentario y su resaltado, que es lo mismo que hace la papelera
de la lista de notas.

Comprobado en tres tamaños

Tamaño Diálogo Botones Resultado
390 × 844 (celular) 359 px, cabe entero una fila borra y el contador baja de 3 a 2
834 × 1112 (tablet) 560 px, cabe entero una fila igual
1440 × 900 (computador) 560 px una fila igual

También probado el camino de cancelación: tras Eliminar → Cancelar el
diálogo sigue abierto y no se borra nada.

Y en producción (v1.1.3) el ciclo completo: abrir burbuja → Eliminar → confirmar
→ la burbuja desaparece y el contador de notas se apaga.

54 tests en verde, 19 de ellos sobre las marcas del borde.

Sitio: https://open-reader.eridu.top

Open Reader 1.1.2 - solo las notas de la pagina abierta

Choose a tag to compare

@jdsalasca jdsalasca released this 02 Nov 16:22

Open Reader 1.1.2

Arreglo de las marcas del borde: aparecían las de todo el capítulo, no solo
las de la página abierta.

Qué pasaba

El paginador no recorta el texto: maqueta el capítulo entero en columnas y
desplaza el iframe a la izquierda para enseñar una sola. Las marcas
conservan su coordenada dentro del capítulo, así que al calcular su altura
entraban todas, también las de páginas que no estabas viendo, y se amontonaban
al canto.

Cómo se arregló

La ventana visible se calcula con la posición real del iframe:

ventana = [hoja.izquierda - iframe.izquierda, hoja.derecha - iframe.izquierda]

Una marca solo se dibuja si su left cae dentro de esa rebanada. La lógica está
en core/markers.ts (visibleAnchors) y cubierta con tests: conserva las de la
página abierta, descarta las de otra columna y las de secciones que ya no están
cargadas, y no filtra nada si la ventana no se conoce.

Comprobado

Con un EPUB de un capítulo de 120 párrafos (varias páginas):

Página Marcas Cuál
7 % 1 «Párrafo 5»
11 % (antes de crear una nota) 0 —
11 % (después) 1 «Párrafo 10»

Es decir: cada página enseña exactamente su marca, ni una más.

También probado un PDF de 6 páginas a 390 px: abre, pagina y no se rompe.

50 tests en verde (19 sobre marcas).

Nota de despliegue

El servidor de casa (192.168.1.100) estaba apagado o sin red al publicar esta
versión: el código y la etiqueta están en GitHub, pero el sitio puede tardar en
recibirla hasta que vuelva a estar encendido.

Open Reader 1.1.1 - por que no salian las notas

Choose a tag to compare

@jdsalasca jdsalasca released this 02 Nov 03:35

Open Reader 1.1.1

Segundo arreglo de raíz sobre las marcas del borde. La 1.1.0 quitó una causa,
pero quedaban dos filtros por índice que seguían escondiendo notas.

Los dos fallos

  1. Al pintar. Antes de dibujar cada resaltado se comprobaba
    anotación.index === sección visible. El motor reporta el índice de la
    primera sección de la página; si tu nota estaba en la segunda, nunca se
    dibujaba: ni banda sobre el texto ni burbuja. Ahora se entregan todas las
    notas al motor y es él quien decide en qué documento va cada CFI.
  2. Marcas viejas al cambiar de capítulo. Las alturas se actualizaban solo
    cuando se pintaba una marca nueva, así que al pasar a un capítulo sin notas
    seguían visibles las burbujas del anterior. Ahora se recalculan también en
    cada cambio de página.

Comprobado

  • Capítulo con notas → 5 burbujas y 2 pestañas.
  • Capítulo sin notas → 0 marcas (antes quedaban las 7 del anterior).
  • Volver al capítulo con notas → 5 y 2 otra vez, sin duplicados.
  • Tres tamaños (1440×900, 834×1112, 390×844): 0 solapes, sin desbordes.
  • 50 tests en verde, 15 de ellos sobre estas reglas.

Sitio: https://open-reader.eridu.top

Open Reader 1.1.0 - marcas fiables y TDD

Choose a tag to compare

@jdsalasca jdsalasca released this 02 Nov 03:17

Open Reader 1.1.0

Arreglo de fondo de las marcas del borde: las burbujas de comentario y las
pestañas de post-it no salían de forma fiable.

Qué estaba mal

La posición de cada marca se calculaba resolviendo su CFI contra el DOM después
de pintar la página. Si el motor todavía no había expuesto el contenido, la
resolución fallaba en silencio: no se dibujaba nada y no había ningún error
a la vista. Por eso «no se veía nada» aunque las notas existieran.

Cómo se arregló

  • Las alturas salen ahora de los rectángulos que el propio motor entrega al
    pintar cada marca
    (draw-annotation). Si una marca se pintó, tiene altura:
    no hay carrera posible con el DOM ni CFIs que resolver.
  • Toda anotación tiene marca, no solo las que llevan texto. Antes, un
    comentario sin escribir no generaba burbuja y parecía que se había perdido.
  • Las marcas se apilan si caen en el mismo renglón o chocan contra el borde:
    nunca una encima de otra.
  • La lógica vive en core/markers.ts, sin React, y está cubierta por
    15 tests nuevos (tests/markers.test.ts): numeración del 1 al 9 y «9+»,
    orden de lectura, post-it que no gasta número, apilado, filtrado por capítulo
    y marcadores de página excluidos.

Comprobado a tres tamaños

Tamaño Resultado
1440 × 900 6 marcas, sin solapes, sin desbordes
834 × 1112 6 marcas, sin solapes, sin desbordes
390 × 844 6 marcas, sin solapes, sin desbordes; tocar burbuja abre el comentario y tocar pestaña abre las opciones

Total del proyecto: 50 tests en verde.

Sitio: https://open-reader.eridu.top

Open Reader 1.0.3 - tactil afinado y contador del margen

Choose a tag to compare

@jdsalasca jdsalasca released this 02 Nov 02:53

Open Reader 1.0.3

Pasada de control en computador, tablet y celular. Tres cosas que no estaban
bien en pantalla pequeña:

Marcadores al tactil

  • La burbuja de comentario y la pestaña del post-it ahora tienen una zona de
    toque más grande que su dibujo
    (unos 9 px alrededor). Antes medían ~24 px y
    en el dedo se fallaba.
  • Si un post-it cae en el mismo renglón que un comentario, su pestaña baja
    una línea para no quedar tapada por la burbuja.
  • La pestaña del post-it usa un amarillo y un morado más saturados: sobre el
    papel claro se perdía.

Contador del margen

Con el margen plegado, el botón ahora muestra el icono y cuántas notas hay en
el capítulo
(«6»). Antes era un icono suelto y no se sabía si había algo
dentro.

Revisado a tres tamaños

Tamaño Qué se probó
1440 × 900 (computador) estantería, barra de anotar en una fila, burbujas, pestañas, panel
1194 × 834 (tablet) lo mismo + margen plegado con contador, sin desbordes
390 × 844 (celular) barra en dos filas, burbujas al canto, pestañas sin taparse, panel lateral como cajón, diálogo de nota a 359 px

En los tres: sin desplazamiento horizontal, sin controles cortados y con la
misma lectura de marcas.

Sitio: https://open-reader.eridu.top

Open Reader 1.0.2 - post-it, marcadores y burbujas

Choose a tag to compare

@jdsalasca jdsalasca released this 02 Nov 02:28

Open Reader 1.0.2

Tres ajustes de la capa de marcas, a raíz de probarlo en la tablet.

Post-it: pestaña triangular, sin tapar el texto

Antes el post-it pintaba una banda de color sobre el renglón y se confundía con
un resaltado. Ahora no pinta nada sobre la página: se ve como un
triangulito de color asomando por el canto, a la altura del pasaje. El texto
queda limpio y el marcador no estorba.

Marcadores de página: ya no sombrean

Era un fallo: al marcar una página, el marcador se dibujaba como si fuera un
resaltado y, como su ancla es un punto, cubría la hoja entera. Ahora los
marcadores no se dibujan en el libro: solo viven en su pestaña y en el botón.

Comentarios: burbuja cerrada con número

El marcador es una burbuja de diálogo (rectángulo redondeado con su colita
apuntando al texto) y el número dentro: 1…9 y «9+». Nada de texto a la vista:
el comentario solo se abre si lo tocas.

Además, el margen arranca plegado, así que al abrir un libro no aparecen las
tarjetas abiertas: solo las burbujas y las pestañas en el canto. Se despliega con
el botón del margen cuando quieras leerlos en columna.

Detalles

  • Las pestañas de post-it se colocan un poco más abajo para no chocar con una
    burbuja de comentario en el mismo renglón.
  • Mismo comportamiento en computador y en móvil.
  • Sin cambios de datos: todo lo guardado se lee igual.

Sitio: https://open-reader.eridu.top

Open Reader 1.0.1 - post-it y nota, cada uno lo suyo

Choose a tag to compare

@jdsalasca jdsalasca released this 02 Nov 02:13

Open Reader 1.0.1

Parche sobre la 1.0.0 que separa dos cosas que estaban mezcladas: nota y
post-it.

Post-it

  • Pegar un post-it ya no abre el diálogo de nota: eliges amarillo o morado en
    la barra y queda pegado al instante. No hace falta escribir nada.
  • En la página se ve como una tira de color sobre el renglón con su
    pestaña asomando por el borde de la hoja, a la altura del pasaje.
  • Tocando la pestaña (o el texto marcado) salen las opciones, con Borrar.
  • Volver a tocar el mismo color lo quita.
  • Los post-it aparecen en la pestaña Notas del libro con su etiqueta y su
    color.

Nota

Sigue siendo otra cosa: texto escrito sobre un pasaje, con su diálogo. Si una
anotación tiene texto, se muestra como burbuja numerada (1…9, «9+») en el
borde; si es un post-it sin texto, como pestaña de color.

Resto

  • El resaltado normal sigue igual (velo suave al 30 %), así que marcar no tapa la
    página.
  • Sin cambios en datos: todo lo guardado en la 1.0.0 se lee igual.

Sitio: https://open-reader.eridu.top

Open Reader 1.0.0 - primera version oficial

Choose a tag to compare

@jdsalasca jdsalasca released this 02 Nov 02:05

Open Reader 1.0.0

Primera versión oficial. Un lector de libros que vive entero en el navegador:
sin cuentas, sin servidor y sin subir tus archivos a ningún sitio.

Sitio: https://open-reader.eridu.top

Qué abre

EPUB, MOBI, AZW3, FB2, CBZ y PDF, con motor propio basado en foliate-js
(vendorizado y parcheado para PDF, fixed-layout y anotaciones).

Lo que trae

Lectura

  • Dos personalidades visuales: Papel (por defecto) e Industrial.
  • Tipografías de lectura (Descanso, Editorial, Legible, la del libro), tamaño,
    interlineado, ancho de columna, justificado y partición de palabras.
  • Paginado o scroll; zoom de página en PDF.
  • Pantalla completa, atajos de teclado y zonas de toque en los márgenes vacíos
    para pasar página.
  • Pantalla siempre encendida mientras lees (Screen Wake Lock), con su ojito en
    la barra.

Anotar

  • Resaltado en cinco colores y cuatro estilos: subrayado, ondulado y tachado.
  • Notas al margen con «me gusta», y post-its amarillos y morados.
  • Burbujas de comentario pegadas al pasaje, numeradas 1…9 y «9+», como en
    Google Docs: se ven en móvil y en escritorio.
  • Citas con tarjeta PNG descargable.
  • Marcadores de página, búsqueda en todo el libro e índice navegable.

Tus datos

  • Todo se guarda en el dispositivo (IndexedDB y localStorage). Nada viaja.
  • Exportación .eridu (copia completa) e importación.
  • Exportación de notas a Markdown.

App

  • PWA instalable y funcional sin conexión.
  • Español, inglés y chino continental, con detección automática del idioma.
  • Responsive real: portátil, tablet y celular.
  • Botón «Buscar actualización» en la portada y en el lector, porque un service
    worker puede dejar el móvil semanas en la versión vieja.

Arquitectura

El visor es el conjunto de sus plugins: cada función (índice, búsqueda, notas,
resaltados, citas, marcadores, ajustes, pantalla encendida) es una carpeta en
src/features/ que declara qué aporta —botón, pestaña, margen, capa sobre la
página, diálogo o atajo— y se registra en una lista. Añadir una función es un
archivo y una línea.

core/      lógica sin React (libros, almacenamiento, anotaciones, CFI)
i18n/      es · en · zh
viewer/    motor, estado de la sesión y contrato de plugins
features/  una carpeta por función
screens/   estantería y pantalla de lectura
ui/        controles y diálogo reutilizables

Detalles en docs/ARCHITECTURE.md.

Privacidad y seguridad

  • Sin cuentas, sin analítica propia, sin peticiones a servidores de terceros.
  • CSP estricta: script-src 'self', frame-ancestors 'none',
    object-src 'none', connect-src 'self'. Un EPUB no puede ejecutar código.
  • Los libros se abren en un documento aislado; tus notas no salen del navegador.

Límites conocidos

  • Sin DRM: los libros protegidos de tiendas no abren.
  • Las notas son locales por navegador; el .eridu es el puente entre equipos.
  • En PDF, la selección depende de la capa de texto del archivo: un escaneo sin
    OCR no se puede resaltar, y la búsqueda no está disponible.
  • El menú nativo de selección de Android/iOS no se puede ocultar desde la web:
    por eso las opciones van en una barra fija arriba y no junto al texto.

Gracias

A foliate-js (MIT), PDF.js (Apache-2.0) y las fuentes libres que usa el lector.