Html2canvas: 项目没有积极开发?

创建于 2017-07-17  ·  15评论  ·  资料来源: niklasvh/html2canvas

我看到最后一次提交是在 2016 年 1 月,拉取请求和问题堆积如山。 作者似乎不在 github 或 twitter 上活跃...

我想知道这个项目是否有一个活跃的分支? 我看到@eKoopmans是主要回答或提交 PR https://github.com/eKoopmans/html2canvas 的人

这是一个了不起的项目,但与 Web 开发中的所有内容一样,它的速度非常快,浏览器添加了所有这些新功能。

最有用的评论

@aparij ,你

目前,我正在对项目进行部分重写(再次),在项目如何处理将文档渲染为图像的过程的不同方面进行了一些重大更改,主要目标是:

  • 使其尽可能模块化,如有必要,可以线程化更多部件,在浏览器上运行或序列化并在服务器上运行
  • 通过模块化更容易添加新的 CSS 功能
  • 使项目完全键入(使用 Flow)
  • 通过改进文本渲染、线程、将解析限制为最小必要数量来提高性能
  • 解决移动端渲染问题,例如由于设备像素比导致的低质量图像,或由于画布尺寸超过硬件限制导致的黑色图像等
  • 为图像代理(用于 CORS)、渲染 html2canvas 当前不支持的内容的插件(例如 SVG)创建明确的规范
  • 重新设计网站以保持最新,并提供清晰的文档

所有15条评论

@aparij ,你

目前,我正在对项目进行部分重写(再次),在项目如何处理将文档渲染为图像的过程的不同方面进行了一些重大更改,主要目标是:

  • 使其尽可能模块化,如有必要,可以线程化更多部件,在浏览器上运行或序列化并在服务器上运行
  • 通过模块化更容易添加新的 CSS 功能
  • 使项目完全键入(使用 Flow)
  • 通过改进文本渲染、线程、将解析限制为最小必要数量来提高性能
  • 解决移动端渲染问题,例如由于设备像素比导致的低质量图像,或由于画布尺寸超过硬件限制导致的黑色图像等
  • 为图像代理(用于 CORS)、渲染 html2canvas 当前不支持的内容的插件(例如 SVG)创建明确的规范
  • 重新设计网站以保持最新,并提供清晰的文档

感谢您发布更新@niklasvh! 我很乐意在你前进的过程中提供帮助,虽然我最近没有很多空闲时间,但我的职业生涯有一些变化。 我非常欣赏这个包裹,很高兴听到你有更多的计划。

我还想知道您是否考虑过使用 SVG 渲染选项,即这里? 我知道这与现有的实现相比会有很大的改变,但在我看来,它会避免很多单独实现样式的麻烦,而是利用浏览器。 你知道这种方法有什么缺点吗?

太好了@eKoopmans! 我已经看到您提交了许多 PR,希望至少将其中的大部分集成到下一个版本中。

关于foreignObject渲染,它已经存在很长时间了,并且之前的一些 html2canvas 版本利用了它(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 ) 适用于一些支持它的浏览器。 不幸的是,我认为 Firefox 确实仍然是唯一支持渲染内容(包括图像)而不污染画布的浏览器,这实际上使其仅适用于 Firefox。 Chrome 已经进行了改进(我没有非常密切地跟进他们所支持的内容),但据我所知,他们仍然不支持子资源(即图像),这使得它实际上无法用于渲染整个页面。

但是,可以探索它是否可以用于一些较小的部分,例如文本渲染,以及它是否比 html2canvas 当前所做的(测量文本范围)更有效。

然后是跨浏览器的事情,afaik IE/Safari 不支持在不立即污染画布的情况下渲染foreignObject 内容。

@niklasvh

您可以使用此处的“项目”选项卡来概述您的功能集和发布计划。 这将使人们更容易查看路线图并作为一个社区积极合作,以帮助您检查、改进和维护项目。

显然只是一个建议。 当我在玩肥皂盒时,我建议您尽快@niklasvh做几件事:

  1. 修剪开放问题。 真的有 659 个未解决的问题吗? 好多啊。 让我们首先关闭自今年以来尚未更新的任何内容。 我认为这大约是第 5 页,共 27 页。然后查找重复项。 选择一个主要问题来解决。 现在很难看到过去的过度增长。

  2. 也将建议修剪拉取请求。 要么给出未被接受的理由,要么断然否认并继续前进。 我什至建议使用相同的时间表 - 如果它比今年早,你可以关闭它。 如果这是一个真正的问题,我们可以回来解决它。

  3. 在那之后,我认为你可以把你的时间和精力集中在写一份贡献指南上,你希望看到这个项目中的事物组织起来,使用的工具,对我们这些绿色的人的简短介绍,对 OSS 贡献有很长的路要走。

  4. 任何像@eKoopmans这样提交多个 PR 的

@luck2011我真的无法给出准确的时间表,但希望很快就会有一个有效的、可测试的分支。

@markadrake感谢您的建议!
我肯定会查看大多数最近的未解决问题,看看它们是否应该/可以解决,然后更新/关闭它们以及通过每个拉取请求,看看它们是否对下一个版本有意义.

从那时起,正如你所建议的那样,我将努力让我和合作者的贡献更容易,希望事情不会再次像这样堆积起来。

我已经开始标记一些问题并将潜在的项目添加到待办事项中

👍不错的@niklasvh

我已将当前进度推送到https://github.com/niklasvh/html2canvas/tree/v1.0.0

在达到当前版本的水平之前,还有一些工作要做。

@eKoopmans我已经为支持它的浏览器重新引入了对foreignObject渲染的支持https://github.com/niklasvh/html2canvas/commit/a73dbf8067c92e4f25f4db71f75643f0647cb1ac

默认情况下,如果可能,它将使用foreignObject渲染(除非被选项覆盖),如果浏览器不支持,则回退到正常的 html2canvas 渲染。

太好了,我认为这是个好消息! 我很快就得试一试。 你在这个项目上做了很多工作,谢谢!

@niklasvh ,优秀的项目,它又活跃起来了!!
正如我们所知,video 是一个基本标签,所以可以接受这个修复
再次感谢你的伟大图书馆!

@niklasvh ,1.0.0 版的状态是什么? v1.0.0 分支仍然是我们可以用来测试当前进度的分支吗?

感谢您的辛勤工作!

@jyguyomarch v1.0.0 已迁移到 master,其中包含最新版本的 1.0.0 代码库。 它的状态是它仍然缺少原生不支持它的浏览器的 svg 渲染和整个文档的修改。 在那之后,希望可以发布第一个版本并开始处理所有其他待处理的问题/PR。

随着我们接近 1.0.0 版本,将关闭它。

此页面是否有帮助?
0 / 5 - 0 等级