Html2canvas: Projekt wird nicht aktiv entwickelt?

Erstellt am 17. Juli 2017  ·  15Kommentare  ·  Quelle: niklasvh/html2canvas

Ich sehe, dass der letzte Commit im Januar 2016 war, die Pull-Requests und Issues häufen sich. Der Autor scheint nicht auf github oder twitter aktiv zu sein...

Ich habe mich gefragt, ob es einen aktiven Fork dieses Projekts gibt? Ich sehe, dass @eKoopmans die Hauptperson ist, die PRs beantwortet oder einreicht https://github.com/eKoopmans/html2canvas ?

Es ist ein erstaunliches Projekt, aber wie bei allem in der Webentwicklung ist es ein verrücktes Tempo und Browser fügen all diese neuen Funktionen hinzu.

Hilfreichster Kommentar

Hey @aparij , du hast

Derzeit arbeite ich an einer teilweisen Neufassung des Projekts (erneut), mit einigen großen Änderungen in der Art und Weise, wie das Projekt verschiedene Aspekte des Prozesses des Renderns eines Dokuments in ein Bild handhabt, mit den Hauptzielen:

  • Machen Sie es so modular wie möglich, sodass bei Bedarf mehr Teile mit Threads versehen, entweder im Browser ausgeführt oder serialisiert und auf einem Server ausgeführt werden können
  • Einfacheres Hinzufügen neuer CSS-Funktionen durch Modularität
  • Machen Sie das Projekt vollständig typisiert (mit Flow)
  • Leistungsverbesserungen durch verbessertes Text-Rendering, Threading, Beschränkung des Parsens auf minimal notwendige Mengen
  • Beheben Sie die mobilen Rendering-Probleme wie Bilder von geringer Qualität aufgrund des Pixelverhältnisses des Geräts oder schwarze Bilder aufgrund einer Leinwandgröße, die die Hardwaregrenzen überschreitet usw.
  • Erstellen Sie klare Spezifikationen für Bild-Proxys (für CORS), Plugins, die Inhalte rendern, die html2canvas derzeit nicht unterstützt (wie SVG)
  • Überarbeiten Sie die Website, um mit klaren Dokumentationen auf dem neuesten Stand zu sein

Alle 15 Kommentare

Hey @aparij , du hast

Derzeit arbeite ich an einer teilweisen Neufassung des Projekts (erneut), mit einigen großen Änderungen in der Art und Weise, wie das Projekt verschiedene Aspekte des Prozesses des Renderns eines Dokuments in ein Bild handhabt, mit den Hauptzielen:

  • Machen Sie es so modular wie möglich, sodass bei Bedarf mehr Teile mit Threads versehen, entweder im Browser ausgeführt oder serialisiert und auf einem Server ausgeführt werden können
  • Einfacheres Hinzufügen neuer CSS-Funktionen durch Modularität
  • Machen Sie das Projekt vollständig typisiert (mit Flow)
  • Leistungsverbesserungen durch verbessertes Text-Rendering, Threading, Beschränkung des Parsens auf minimal notwendige Mengen
  • Beheben Sie die mobilen Rendering-Probleme wie Bilder von geringer Qualität aufgrund des Pixelverhältnisses des Geräts oder schwarze Bilder aufgrund einer Leinwandgröße, die die Hardwaregrenzen überschreitet usw.
  • Erstellen Sie klare Spezifikationen für Bild-Proxys (für CORS), Plugins, die Inhalte rendern, die html2canvas derzeit nicht unterstützt (wie SVG)
  • Überarbeiten Sie die Website, um mit klaren Dokumentationen auf dem neuesten Stand zu sein

Danke für das Posten des Updates @niklasvh! Ich helfe Ihnen gerne weiter, obwohl ich in letzter Zeit nicht viel Freizeit habe und mich beruflich verändert habe. Ich habe das Paket definitiv geschätzt und freue mich zu hören, dass Sie weitere Pläne dafür haben.

Ich frage mich auch, ob Sie die SVG-Rendering-Option in Betracht gezogen haben, dh hier ? Ich weiß, dass dies eine große Änderung gegenüber der bestehenden Implementierung wäre, aber mir scheint, dass es viele Kopfschmerzen bei der individuellen Implementierung von Stilen vermeiden würde und stattdessen den Browser nutzen würde. Kennen Sie irgendwelche Nachteile dieser Art von Ansatz?

Das ist großartig @eKoopmans! Ich habe gesehen, dass Sie eine Reihe von PRs eingereicht haben, hoffentlich werden die meisten davon in der nächsten Version integriert sein.

In Bezug auf das foreignObject Rendering gibt es es schon seit langer Zeit und einige frühere Versionen von html2canvas haben es genutzt (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 ) für einige der Browser, die es unterstützt haben. Das Unglückliche ist, dass Firefox meiner Meinung nach immer noch der einzige Browser ist, der das Rendern von Inhalten (einschließlich Bildern) unterstützt, ohne die Leinwand zu beeinträchtigen, was es effektiv nur für die Verwendung mit Firefox geeignet macht. Chrome hat Verbesserungen vorgenommen (ich habe nicht genau verfolgt, was sie unterstützen), aber wie ich verstanden habe, unterstützen sie immer noch keine Unterressourcen (dh Bilder), was es effektiv für das Rendern der gesamten Seite unbrauchbar macht.

Es könnte jedoch untersucht werden, ob es für einige kleinere Teile wie das Text-Rendering verwendet werden könnte und ob es ein effizienterer Ansatz wäre als das, was html2canvas derzeit tut (das Messen von Textbereichen).

Und dann gibt es noch die Cross-Browser-Sache, afaik IE/Safari unterstützt keine Wiedergabe von fremden Objektinhalten, ohne die Leinwand sofort zu beflecken.

@niklasvh schön das zu hören 👍 , wann kommt die nächste Version?

Sie können hier möglicherweise die Registerkarte Projekt verwenden, um Ihren Funktionsumfang und Ihren Veröffentlichungsplan zu skizzieren. Das würde es für die Leute etwas einfacher machen, die Roadmap zu sehen und aktiv als Gemeinschaft zusammenzuarbeiten, um Ihnen zu helfen, das Projekt zu überprüfen, zu verbessern und zu warten.

Offensichtlich nur ein Vorschlag. Während ich Seifenkisten bin, gibt es nur ein paar Dinge, die ich vorschlagen würde, so schnell wie möglich @niklasvh zu tun :

  1. Beschneiden Sie offene Probleme. Gibt es wirklich 659 offene Fragen? Das ist viel. Beginnen wir damit, alles zu schließen, was seit diesem Jahr nicht mehr aktualisiert wurde. Ich denke, das ist ungefähr Seite 5 von 27. Dann suchen Sie nach Duplikaten. Wählen Sie ein Hauptproblem aus, an dem Sie arbeiten möchten. Im Moment ist es schwer, über die Überwucherung hinweg zu sehen.

  2. Ich werde auch vorschlagen, die Pull-Requests zu beschneiden. Geben Sie entweder einen Grund an, warum es nicht akzeptiert wurde, oder leugnen Sie es vehement und machen Sie weiter. Ich würde sogar die gleiche Zeitleiste vorschlagen - wenn sie älter als dieses Jahr ist, können Sie sie einfach schließen. Wenn es ein echtes Anliegen ist, können wir zurückkommen und es ansprechen.

  3. Danach, denke ich, könnten Sie Ihre Zeit und Energie darauf konzentrieren, einen Beitragsleitfaden zu schreiben, der erklärt, wie die Dinge in diesem Projekt organisiert werden sollen, die verwendeten Tools, eine kurze Einführung für diejenigen von uns, die zu OSS beitragen, ist ein langer Weg.

  4. Jeder, der mehrere PRs wie @eKoopmans eingereicht

@luck2011 Ich kann nicht wirklich einen genauen Zeitplan

@markadrake Danke für die Vorschläge!
Ich werde auf jeden Fall die meisten der letzten offenen Probleme durchgehen und sehen, ob sie behoben werden sollten/könnten und sie dann entweder aktualisieren/schließen sowie jeden Pull-Request durchgehen, um zu sehen, ob es Sinn macht, sie für die nächste Version einzubeziehen .

Von da an werde ich, wie von Ihnen vorgeschlagen, daran arbeiten, das Mitwirken sowohl für mich als auch für die Mitarbeiter zu erleichtern, damit sich die Dinge hoffentlich nicht wieder so stapeln.

Ich habe damit begonnen, einige der Probleme zu markieren und potenzielle Elemente in den Rückstand aufzunehmen

👍 Netter @niklasvh

Ich habe den aktuellen Fortschritt auf https://github.com/niklasvh/html2canvas/tree/v1.0.0 verschoben

Es ist noch einiges zu tun, bis es der aktuellen Version entspricht.

@eKoopmans Ich habe die Unterstützung für foreignObject Rendering für Browser, die dies unterstützen, wieder eingeführt https://github.com/niklasvh/html2canvas/commit/a73dbf8067c92e4f25f4db71f75643f0647cb1ac

Standardmäßig wird, wenn möglich, foreignObject Rendering verwendet (sofern nicht durch Optionen überschrieben) und auf normales html2canvas-Rendering zurückgegriffen, wenn der Browser dies nicht unterstützt.

Ausgezeichnet, ich finde das sind tolle Neuigkeiten! Ich muss es demnächst mal ausprobieren. Sie haben so viel Arbeit an dem Projekt geleistet, danke!

@niklasvh ,Ausgezeichnetes Projekt und es war wieder aktiv !!
Wie wir wissen, ist Video ein grundlegendes Tag. Könnte dieser Fix also akzeptiert werden: FIX #182 hat Unterstützung für das Video-Tag #981 hinzugefügt. (von @anand-io)
Nochmals vielen Dank für Ihre tolle Bibliothek!

Hallo @niklasvh , wie ist der Stand der Version 1.0.0? Ist der Zweig v1.0.0 immer noch der, mit dem wir den aktuellen Fortschritt testen können?

Thx für all deine harte Arbeit!

@jyguyomarch Die v1.0.0 ist auf den Master verschoben worden, der die neueste Version der Codebasis 1.0.0 enthält. Der Status davon ist, dass das SVG-Rendering für Browser, die es nicht nativ unterstützen, immer noch fehlt und die gesamte Dokumentation überarbeitet wurde. Danach kann hoffentlich die erste Veröffentlichung herauskommen und an allen anderen anstehenden Problemen / PRs gearbeitet werden.

Ich werde dies schließen, wenn wir uns einer Version 1.0.0 nähern.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen