Html2canvas: Le projet n'est pas activement développé ?

Créé le 17 juil. 2017  ·  15Commentaires  ·  Source: niklasvh/html2canvas

Je vois que le dernier commit était en janvier/2016, les demandes de tirage et les problèmes s'accumulent. L'auteur ne semble pas être actif sur github ou twitter...

Je me demandais s'il y avait un fork actif de ce projet ? Je vois que @eKoopmans est la personne principale qui répond ou soumet des PR https://github.com/eKoopmans/html2canvas ?

C'est un projet incroyable, mais comme pour tout ce qui concerne le développement Web, son rythme est fou et les navigateurs ajoutent toutes ces nouvelles fonctionnalités.

Commentaire le plus utile

Hey @aparij , vous avez raison de dire que je n'ai pas vraiment eu de temps pour ce projet ces dernières années. J'espère changer cela dans un proche avenir, mais pour aller de l'avant, j'espère que la communauté participera plus activement à la mise à jour du projet, ce qui nécessite évidemment une plus grande implication de ma part également.

Actuellement, je travaille sur une réécriture partielle (à nouveau) du projet, avec quelques changements majeurs dans la façon dont le projet gère les différents aspects du processus de rendu d'un document en image avec les objectifs principaux étant :

  • Rendez-le aussi modulaire que possible, permettant à plus de pièces d'être enfilées si nécessaire, exécutées soit sur le navigateur, soit sérialisées et exécutées sur un serveur
  • Faciliter l'ajout de nouvelles fonctionnalités CSS grâce à la modularité
  • Rendre le projet entièrement typé (à l'aide de Flow)
  • Améliorations des performances grâce à l'amélioration du rendu du texte, du filetage, de la limitation de l'analyse aux quantités minimales nécessaires
  • Résolvez les problèmes de rendu mobile tels que les images de mauvaise qualité en raison du ratio de pixels de l'appareil ou les images noires en raison de la taille de la toile dépassant les limites matérielles, etc.
  • Créez des spécifications claires pour les proxys d'image (pour CORS), des plugins qui restituent du contenu que html2canvas ne prend pas actuellement en charge (comme SVG)
  • Retravailler le site pour être à jour avec des documentations claires

Tous les 15 commentaires

Hey @aparij , vous avez raison de dire que je n'ai pas vraiment eu de temps pour ce projet ces dernières années. J'espère changer cela dans un proche avenir, mais pour aller de l'avant, j'espère que la communauté participera plus activement à la mise à jour du projet, ce qui nécessite évidemment une plus grande implication de ma part également.

Actuellement, je travaille sur une réécriture partielle (à nouveau) du projet, avec quelques changements majeurs dans la façon dont le projet gère les différents aspects du processus de rendu d'un document en image avec les objectifs principaux étant :

  • Rendez-le aussi modulaire que possible, permettant à plus de pièces d'être enfilées si nécessaire, exécutées soit sur le navigateur, soit sérialisées et exécutées sur un serveur
  • Faciliter l'ajout de nouvelles fonctionnalités CSS grâce à la modularité
  • Rendre le projet entièrement typé (à l'aide de Flow)
  • Améliorations des performances grâce à l'amélioration du rendu du texte, du filetage, de la limitation de l'analyse aux quantités minimales nécessaires
  • Résolvez les problèmes de rendu mobile tels que les images de mauvaise qualité en raison du ratio de pixels de l'appareil ou les images noires en raison de la taille de la toile dépassant les limites matérielles, etc.
  • Créez des spécifications claires pour les proxys d'image (pour CORS), des plugins qui restituent du contenu que html2canvas ne prend pas actuellement en charge (comme SVG)
  • Retravailler le site pour être à jour avec des documentations claires

Merci d'avoir posté la mise à jour @niklasvh ! Je serais heureux de vous aider au fur et à mesure que vous avancez, même si je n'ai pas beaucoup de temps libre ces derniers temps, j'ai un peu changé de carrière. J'ai vraiment apprécié le package et je suis heureux d'apprendre que vous avez d'autres projets pour cela.

Je me demande également si vous avez envisagé d'opter pour l'option de rendu SVG, c'est-à-dire ici ? Je sais que ce serait un grand changement par rapport à l'implémentation existante, mais il me semble que cela éviterait beaucoup de maux de tête liés à l'implémentation de styles individuellement, en tirant plutôt parti du navigateur. Connaissez-vous les inconvénients de ce genre d'approche?

C'est super @eKoopmans ! J'ai vu que vous avez soumis un certain nombre de PR, j'espère qu'au moins la plupart d'entre eux seront intégrés pour la prochaine version.

En ce qui concerne le rendu foreignObject , il existe depuis longtemps et certaines versions précédentes de html2canvas l'ont exploité (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 ) pour certains des navigateurs qui le prennent en charge. Le malheur est que je pense que Firefox est toujours le seul navigateur qui prend en charge le rendu du contenu (y compris les images) sans entacher le canevas, ce qui le rend réellement viable uniquement pour une utilisation avec Firefox. Chrome a apporté des améliorations (je n'ai pas suivi de très près ce qu'ils prennent en charge), mais comme je l'ai compris, ils ne prennent toujours pas en charge les sous-ressources (c'est-à-dire les images), ce qui le rend effectivement inutilisable pour le rendu de la page entière.

Cependant, il pourrait être exploré s'il pouvait être utilisé pour certaines parties plus petites telles que le rendu de texte, et si ce serait une approche plus efficace que ce que html2canvas fait actuellement (qui mesure des plages de texte).

Et puis il y a le truc avec les navigateurs croisés, si j'ai bien compris, IE/Safari ne prend en charge aucun rendu de contenu ForeignObject sans entacher immédiatement le canevas.

@niklasvh super d'entendre ça 👍 , quand sortira la prochaine version ?

Vous pouvez potentiellement utiliser l'onglet Projet ici pour décrire votre ensemble de fonctionnalités et votre plan de version. Cela permettrait aux gens de voir plus facilement la feuille de route et de travailler activement ensemble en tant que communauté pour vous aider à inspecter, améliorer et maintenir le projet.

Évidemment juste une suggestion. Pendant que je suis en train de faire du savon, il y a juste quelques choses que je suggère de faire dès que vous le pouvez @niklasvh :

  1. Élaguez les problèmes ouverts. Y a-t-il vraiment 659 problèmes ouverts ? C'est beaucoup. Commençons par fermer tout ce qui n'a pas été mis à jour depuis cette année. Je pense que c'est autour de la page 5 sur 27. Ensuite, recherchez les doublons. Choisissez un problème principal sur lequel travailler. À l'heure actuelle, il est difficile de voir au-delà de la prolifération.

  2. Je vais également suggérer d'élaguer les demandes d'extraction. Soit donner une raison pour laquelle il n'a pas été accepté, soit le nier catégoriquement et passer à autre chose. Je suggérerais même le même calendrier - s'il est plus ancien que cette année, vous pouvez simplement le fermer. S'il s'agit d'un problème réel, nous pouvons revenir et y remédier.

  3. Après cela, je pense que vous pourriez consacrer votre temps et votre énergie à rédiger un guide de contribution sur la façon dont vous aimeriez voir les choses organisées dans ce projet, les outils utilisés, une brève introduction pour ceux d'entre nous qui contribuent à l'OSS va un long chemin.

  4. Quiconque a soumis plusieurs PR comme @eKoopmans est de l'or pour votre communauté OSS. Veuillez ajouter des collaborateurs officiels pour vous aider avec certaines de ces choses (en particulier l'élagage).

@chance2011 Je ne peux pas vraiment donner de chronologie précise, mais j'espère que

@markadrake Merci pour les suggestions !
Je vais certainement examiner la plupart des problèmes ouverts récents et voir s'ils devraient / pourraient être résolus, puis les mettre à jour / les fermer, ainsi que passer en revue chaque demande de tirage pour voir s'il serait logique de les extraire pour la prochaine version. .

À partir de là, comme vous l'avez suggéré, je m'efforcerai de faciliter la contribution à la fois pour moi et pour les collaborateurs afin que, espérons-le, les choses ne recommencent pas à s'empiler comme ça.

J'ai commencé à marquer certains des problèmes et à ajouter des éléments potentiels au backlog

Joli @niklasvh

J'ai poussé la progression actuelle vers https://github.com/niklasvh/html2canvas/tree/v1.0.0

Il reste encore du travail à faire avant qu'il ne soit à la hauteur de la version actuelle.

@eKoopmans J'ai réintroduit la prise en charge du rendu foreignObject pour les navigateurs qui le prennent en charge https://github.com/niklasvh/html2canvas/commit/a73dbf8067c92e4f25f4db71f75643f0647cb1ac

Par défaut, il utilisera le rendu foreignObject si possible (à moins qu'il ne soit remplacé par des options) et reviendra au rendu normal de html2canvas si le navigateur ne le prend pas en charge.

Excellent, je pense que c'est une excellente nouvelle ! Je vais devoir faire un tour bientôt. Vous avez fait tellement de travail sur le projet, merci!

@niklasvh , excellent projet et c'est à nouveau actif !!
Comme nous le savons, la vidéo est une balise de base, donc ce correctif pourrait-il être accepté : FIX #182 a ajouté la prise en charge de la balise vidéo #981. (par @anand-io)
merci encore pour votre super bibliothèque !

Salut @niklasvh , quel est l'état de la version 1.0.0 ? La branche v1.0.0 est-elle toujours celle que nous pouvons utiliser pour tester la progression actuelle ?

Merci pour tout votre travail acharné !

@jyguyomarch La v1.0.0 est passée à master, qui contient la dernière version de la base de code 1.0.0. Le statut de celui-ci est qu'il manque toujours un rendu svg pour les navigateurs qui ne le prennent pas en charge nativement et une refonte de l'ensemble de la documentation. Après cela, espérons-le, vous pourrez sortir la première version et commencer à réduire tous les autres problèmes/PR en attente.

Je vais fermer cela à mesure que nous nous rapprochons d'une version 1.0.0.

Cette page vous a été utile?
0 / 5 - 0 notes