Html2canvas: ¿El proyecto no se desarrolla activamente?

Creado en 17 jul. 2017  ·  15Comentarios  ·  Fuente: niklasvh/html2canvas

Veo que la última confirmación fue en enero de 2016, las solicitudes de extracción y los problemas se están acumulando. El autor no parece estar activo en github o twitter ...

Me preguntaba si hay una bifurcación activa de este proyecto. Veo que @eKoopmans es la persona principal que responde o envía PR https://github.com/eKoopmans/html2canvas ?

Es un proyecto asombroso, pero como todo en el desarrollo web, es un ritmo loco y los navegadores agregan todas estas características nuevas.

Comentario más útil

Hola @aparij , tienes razón en que no he tenido tiempo para este proyecto en los últimos años. Espero cambiar eso en el futuro cercano, pero en el futuro, espero que la comunidad participe más activamente en mantener el proyecto actualizado, lo que obviamente también requiere una mayor participación de mí.

Actualmente, estoy trabajando en una reescritura parcial (nuevamente) del proyecto, con algunos cambios importantes en la forma en que el proyecto maneja diferentes aspectos del proceso de convertir un documento en una imagen con los objetivos principales:

  • Hágalo lo más modular posible, permitiendo que más partes se enhebren si es necesario, se ejecuten en el navegador o se serialicen y se ejecuten en un servidor
  • Facilitar la adición de nuevas funciones de CSS a través de la modularidad
  • Haga que el proyecto esté completamente mecanografiado (usando Flow)
  • Mejoras en el rendimiento a través de la representación mejorada del texto, el enhebrado y la limitación del análisis a las cantidades mínimas necesarias
  • Resuelva los problemas de renderizado móvil, como imágenes de baja calidad debido a la proporción de píxeles del dispositivo, o imágenes negras debido a que el tamaño del lienzo excede los límites del hardware, etc.
  • Cree especificaciones claras para proxies de imágenes (para CORS), complementos que representan contenido que html2canvas no admite actualmente (como SVG)
  • Modifique el sitio web para que esté actualizado con documentación clara

Todos 15 comentarios

Hola @aparij , tienes razón en que no he tenido tiempo para este proyecto en los últimos años. Espero cambiar eso en el futuro cercano, pero en el futuro, espero que la comunidad participe más activamente en mantener el proyecto actualizado, lo que obviamente también requiere una mayor participación de mí.

Actualmente, estoy trabajando en una reescritura parcial (nuevamente) del proyecto, con algunos cambios importantes en la forma en que el proyecto maneja diferentes aspectos del proceso de convertir un documento en una imagen con los objetivos principales:

  • Hágalo lo más modular posible, permitiendo que más partes se enhebren si es necesario, se ejecuten en el navegador o se serialicen y se ejecuten en un servidor
  • Facilitar la adición de nuevas funciones de CSS a través de la modularidad
  • Haga que el proyecto esté completamente mecanografiado (usando Flow)
  • Mejoras en el rendimiento a través de la representación mejorada del texto, el enhebrado y la limitación del análisis a las cantidades mínimas necesarias
  • Resuelva los problemas de renderizado móvil, como imágenes de baja calidad debido a la proporción de píxeles del dispositivo, o imágenes negras debido a que el tamaño del lienzo excede los límites del hardware, etc.
  • Cree especificaciones claras para proxies de imágenes (para CORS), complementos que representan contenido que html2canvas no admite actualmente (como SVG)
  • Modifique el sitio web para que esté actualizado con documentación clara

¡Gracias por publicar la actualización @niklasvh! Estaría feliz de ayudar a medida que avanza, aunque no tengo mucho tiempo libre últimamente, tuve un pequeño cambio de carrera. Definitivamente aprecio el paquete y me alegra saber que tienes más planes para él.

También me pregunto si ha considerado ir a la opción de renderizado SVG, es decir , ¿ gran cambio con respecto a la implementación existente, pero me parece que evitaría mucho el dolor de cabeza de implementar estilos individualmente, aprovechando el navegador en su lugar. ¿Conoce alguna desventaja de ese tipo de enfoque?

¡Eso es genial @eKoopmans! He visto que ha enviado una serie de relaciones públicas, con suerte tendrá al menos la mayoría de ellos integrados para la próxima versión.

Con respecto al renderizado foreignObject , ha existido durante mucho tiempo, y algunas versiones anteriores de html2canvas lo aprovecharon (https://github.com/niklasvh/html2canvas/blob/0.4.1/src/ Support.js # L3 https://github.com/niklasvh/html2canvas/blob/0.4.1/src/Util.js#L18) para algunos de los navegadores compatibles. Lo desafortunado es que creo que Firefox sigue siendo realmente el único navegador que admite la representación de contenido (incluidas las imágenes) sin manchar el lienzo, lo que de hecho lo hace realmente viable para su uso con Firefox. Chrome ha realizado mejoras (no he seguido muy de cerca lo que admiten), pero según tengo entendido, todavía no admiten subrecursos (es decir, imágenes), lo que lo hace efectivamente inutilizable para renderizar toda la página.

Sin embargo, se podría explorar si se pudiera utilizar para algunas partes más pequeñas, como la representación de texto, y si sería un enfoque más eficiente que lo que html2canvas está haciendo actualmente (que mide rangos de texto).

Y luego está la cuestión del navegador cruzado, afaik IE / Safari no tiene soporte para ninguna representación de contenido de ForeignObject sin contaminar inmediatamente el lienzo.

@niklasvh es genial escuchar eso 👍, ¿cuándo saldrá la próxima versión?

Potencialmente, podría usar la pestaña Proyecto aquí para describir su conjunto de funciones y plan de lanzamiento. Eso facilitaría un poco a las personas ver la hoja de ruta y trabajar activamente juntos como comunidad para ayudarlo a inspeccionar, mejorar y mantener el proyecto.

Obviamente solo una sugerencia. Mientras estoy en el boxeo, solo hay un par de cosas que sugeriría hacer tan pronto como puedas @niklasvh :

  1. Pode los problemas abiertos. ¿Hay realmente 659 problemas abiertos? Eso es mucho. Comencemos cerrando todo lo que no se haya actualizado desde este año. Creo que está alrededor de la página 5 de 27. Luego busque duplicados. Elija un problema principal para trabajar. En este momento es difícil ver más allá del crecimiento excesivo.

  2. Voy a sugerir que también se eliminen las solicitudes de extracción. O bien, dé una razón por la que no ha sido aceptada o niéguela rotundamente y siga adelante. Incluso sugeriría la misma línea de tiempo: si es anterior a este año, simplemente puede cerrarla. Si es una preocupación real, podemos regresar y abordarla.

  3. Después de eso, creo que podría concentrar su tiempo y energía en escribir una guía de contribución sobre cómo le gustaría ver las cosas organizadas en este proyecto, las herramientas utilizadas, una breve introducción para aquellos de nosotros que somos ecologistas para contribuir al OSS.

  4. Cualquiera que haya enviado múltiples RP como @eKoopmans es oro para su comunidad de OSS. Agregue colaboradores oficiales para ayudarlo con algunas de estas cosas (especialmente la poda).

@ luck2011 Realmente no puedo dar una línea de tiempo precisa, pero espero tener una rama funcional y comprobable pronto.

@markadrake ¡ Gracias por las sugerencias!
Definitivamente, revisaré la mayoría de los problemas abiertos recientes y veré si deberían / ​​podrían abordarse y luego los actualizaré / cerraré y revisaré cada solicitud de extracción para ver si tendría sentido para la próxima versión. .

A partir de ahí, como sugirió, trabajaré para facilitar la contribución tanto para mí como para los colaboradores, de modo que, con suerte, las cosas no comiencen a apilarse de esta manera nuevamente.

Empecé a marcar algunos de los problemas y a incorporar elementos potenciales a la cartera de pedidos.

👍 Bonito @niklasvh

He enviado el progreso actual a https://github.com/niklasvh/html2canvas/tree/v1.0.0

Aún queda trabajo por hacer antes de que esté a la par con la versión actual.

@eKoopmans He reintroducido la compatibilidad con el renderizado foreignObject para los navegadores que lo admiten https://github.com/niklasvh/html2canvas/commit/a73dbf8067c92e4f25f4db71f75643f0647cb1ac

De forma predeterminada, usará el renderizado foreignObject si es posible (a menos que las opciones lo anulen), y volverá al renderizado html2canvas normal si el navegador no lo admite.

¡Excelente, creo que es una gran noticia! Tendré que darle una vuelta pronto. Has trabajado mucho en el proyecto, ¡gracias!

@niklasvh , excelente proyecto y ha estado activo de nuevo !!
Como sabemos, el video es una etiqueta básica, así que podría aceptarse esta solución
gracias de nuevo por tu gran biblioteca!

Hola @niklasvh , ¿cuál es el estado de la versión 1.0.0? ¿Sigue siendo la rama v1.0.0 la que podemos usar para probar el progreso actual?

¡Gracias por todo su arduo trabajo!

@jyguyomarch La v1.0.0 se ha movido a master, que tiene la última versión del código base 1.0.0. El estado es que todavía falta el renderizado svg para los navegadores que no lo admiten de forma nativa y una renovación de toda la documentación. Después de eso, es de esperar que pueda obtener el primer lanzamiento y comenzar a eliminar todos los demás problemas / relaciones públicas que están pendientes.

Voy a cerrar esto a medida que nos acerquemos a una versión 1.0.0.

¿Fue útil esta página
0 / 5 - 0 calificaciones