Tiempo de lectura de nodo

Muestra el tiempo de lectura estimado para contenido de nodos basado en el conteo de palabras y configuraciones de palabras por minuto personalizables.

node_read_time
2,505 sites
29
drupal.org

Instalar

Drupal 11, 10, 9, 8 v8.x-1.15
composer require 'drupal/node_read_time:8.x-1.15'

Overview

El módulo Node Read Time proporciona funcionalidad de estimación de tiempo de lectura para nodos de Drupal. Calcula y muestra a los usuarios el tiempo estimado que les tomará leer un contenido, siendo ideal para blogs, sitios de noticias y cualquier sitio web con contenido extenso.

El módulo analiza todos los campos basados en texto, incluyendo campos de texto regulares, texto largo, texto con resumen, e incluso contenido de campos de referencia a entidades con revisiones como Paragraphs y Custom Blocks. El tiempo de lectura puede habilitarse por tipo de contenido y admite cálculos personalizables de palabras por minuto para adaptarse a diferentes velocidades de lectura de la audiencia.

El tiempo de lectura puede mostrarse en múltiples formatos: solo minutos, minutos con segundos, o un formato inteligente que muestra "1 minuto" para contenido corto. Además, los editores de contenido pueden sobrescribir manualmente el tiempo de lectura calculado cuando sea necesario.

Features

  • Calcula y muestra el tiempo de lectura estimado para contenido de nodos basado en configuraciones de palabras por minuto personalizables
  • Admite activación por tipo de contenido permitiendo control detallado sobre qué tipos de contenido muestran el tiempo de lectura
  • Analiza múltiples tipos de campo incluyendo text, text_long, text_with_summary, string_long y entity_reference_revisions (Paragraphs, Custom Blocks)
  • Proporciona cuatro formatos de visualización de tiempo: solo numérico, solo minutos, minutos con segundos y visualización inteligente
  • Incluye campo de sobrescritura manual permitiendo a los editores de contenido establecer tiempos de lectura personalizados
  • Se integra con el módulo Views proporcionando un manejador de campo personalizado para crear visualizaciones personalizadas de tiempo de lectura
  • Añade el tiempo de lectura como un campo de visualización adicional que puede posicionarse mediante la interfaz Manage Display
  • Proporciona un campo de entidad computado accesible programáticamente mediante la propiedad node_read_time

Use Cases

Blog con visualización de tiempo de lectura

Habilitar el tiempo de lectura para el tipo de contenido Article para mostrar a los lectores cuánto tiempo les tomará leer cada entrada del blog. Configurar 225 PPM para audiencias generales o ajustar para contenido técnico que puede requerir una lectura más lenta. Posicionar el campo de tiempo de lectura cerca del título del artículo o la fecha de publicación usando Manage Display.

Sitio de noticias con indicadores de lectura rápida

Usar el formato 'Minuto y Segundo' en artículos de noticias para dar a los lectores estimaciones de tiempo precisas. Esto ayuda a los usuarios a decidir qué artículos leer durante un tiempo limitado. Configurar en Views para mostrar el tiempo de lectura en listados de resúmenes.

Contenido educativo con velocidades de lectura personalizadas

Para documentación técnica o materiales educativos, reducir las palabras por minuto a 180-200 para tener en cuenta una lectura más cuidadosa. Usar el campo de sobrescritura para artículos complejos que pueden requerir tiempo adicional para comprender diagramas o ejemplos de código.

Contenido con medios incrustados

Para artículos que incluyen videos o elementos interactivos, usar el campo de sobrescritura para añadir tiempo extra al tiempo de lectura calculado. Los editores de contenido pueden establecer manualmente un tiempo de participación total más preciso que tenga en cuenta ver videos incrustados.

Listados de contenido basados en Views

Crear una Vista personalizada de artículos que incluya el tiempo de lectura como un campo ordenable. Esto permite a los visitantes filtrar u ordenar contenido por tiempo de lectura, eligiendo lecturas rápidas para descansos cortos o piezas más largas para sesiones de lectura en profundidad.

Tips

  • El adulto promedio lee entre 200-250 palabras por minuto. Use 225 PPM como punto de partida y ajuste según el nivel de lectura de su audiencia y la complejidad del contenido.
  • Para contenido técnico o con mucho código, considere reducir las PPM a 150-180 para tener en cuenta una lectura más cuidadosa.
  • Use el campo de sobrescritura para contenido con elementos no textuales como videos o componentes interactivos que requieren tiempo de participación adicional.
  • El tiempo de lectura puede renderizarse en plantillas Twig usando {{ content.reading_time }} para un control de posicionamiento más preciso.
  • Al usar Paragraphs, todo el contenido de texto anidado se incluye automáticamente en el cálculo del tiempo de lectura.
  • El módulo elimina las etiquetas HTML y excluye las etiquetas iframe y script del conteo de palabras para estimaciones precisas.

Technical Details

Admin Pages 1
Campo de tiempo de lectura /admin/config/content/reading-time

Configurar ajustes de cálculo de tiempo de lectura incluyendo palabras por minuto, formato de visualización de tiempo y habilitar el tiempo de lectura para tipos de contenido específicos.

Permisos 1
Administrar tiempo de lectura

Permite acceso a la página de configuración del tiempo de lectura. Requerido para cambiar palabras por minuto, formato de tiempo y configuraciones de tipos de contenido. Este permiso tiene acceso restringido y no puede otorgarse a usuarios anónimos.

Hooks 6
hook_entity_extra_field_info

Registra 'reading_time' como un campo de visualización adicional para entidades de nodo. Esto permite que el tiempo de lectura aparezca en la interfaz de Manage Display.

hook_node_view

Renderiza el tiempo de lectura cuando se muestra un nodo. Verifica si el tiempo de lectura está habilitado para el tipo de contenido y usa el valor de sobrescritura o calcula el tiempo de lectura usando el servicio.

hook_theme

Registra el hook de tema 'reading_time' con la plantilla y variables asociadas.

hook_views_data_alter

Añade un manejador de campo personalizado de Views para mostrar el tiempo de lectura en Views.

hook_entity_base_field_info

Añade el campo base 'node_read_time_override' a las entidades de nodo, permitiendo a los editores de contenido establecer manualmente un valor de tiempo de lectura.

hook_entity_base_field_info_alter

Añade el campo computado 'node_read_time' a las entidades de nodo, proporcionando acceso programático al tiempo de lectura calculado.

Troubleshooting 4
El tiempo de lectura no aparece en los nodos

Primero verificar que el tiempo de lectura está habilitado para el tipo de contenido en /admin/config/content/reading-time. Luego ir a Structure > Content types > [Tipo] > Manage display y asegurar que el campo 'Reading time' esté visible (no oculto) y posicionado donde desea que aparezca.

El tiempo de lectura muestra 0 o 1 minuto para contenido largo

Verificar que el contenido esté usando tipos de campo soportados (text, text_long, text_with_summary, string_long). El contenido en tipos de campo personalizados o cierto texto formateado puede no ser recopilado. También verificar que los campos Paragraph estén usando el tipo entity_reference_revisions.

No se puede acceder a la página de configuración

Asegurar que su rol de usuario tiene el permiso 'Administrar tiempo de lectura' en /admin/people/permissions. Los administradores del sitio reciben automáticamente este permiso durante las actualizaciones del módulo.

El tiempo de lectura aparece en Views pero muestra un valor incorrecto

Si está usando el campo de sobrescritura, asegurar que el valor esté en el formato esperado. Para valores calculados, limpiar las cachés de Drupal para asegurar que el manejador de campo de Views esté usando la configuración actual.