Html2canvas: O projeto não é desenvolvido ativamente?

Criado em 17 jul. 2017  ·  15Comentários  ·  Fonte: niklasvh/html2canvas

Vejo que o último commit foi em Jan / 2016, as solicitações de pull e os problemas estão se acumulando. O autor não parece estar ativo no github ou no twitter ...

Eu queria saber se existe uma bifurcação ativa deste projeto? Vejo que @eKoopmans é a pessoa principal que está respondendo ou enviando PRs https://github.com/eKoopmans/html2canvas ?

É um projeto incrível, mas como tudo no desenvolvimento da web, é um ritmo louco e os navegadores adicionam todos esses novos recursos.

Comentários muito úteis

Ei @aparij , você está certo ao dizer que eu realmente não tive nenhum tempo para este projeto nos últimos anos ou assim. Espero mudar isso em um futuro próximo, mas, avançando, espero que a comunidade tenha uma participação mais ativa para manter o projeto atualizado, o que obviamente requer mais envolvimento de mim também.

Atualmente, estou trabalhando em uma reescrita parcial (novamente) do projeto, com algumas mudanças importantes em como o projeto lida com diferentes aspectos do processo de renderização de um documento em uma imagem, com os objetivos principais sendo:

  • Torne-o o mais modular possível, permitindo que mais partes sejam encadeadas, se necessário, executadas no navegador ou serializadas e executadas em um servidor
  • Facilitando a adição de novos recursos CSS por meio da modularidade
  • Faça o projeto totalmente digitado (usando Flow)
  • Melhorias de desempenho por meio de renderização de texto aprimorada, segmentação, limitação de análise às quantidades mínimas necessárias
  • Resolva os problemas de renderização móvel, como imagens de baixa qualidade devido à proporção de pixels do dispositivo ou imagens pretas devido ao tamanho da tela que excede os limites de hardware etc.
  • Crie especificações claras para proxies de imagem (para CORS), plug-ins que renderizam conteúdo que html2canvas não suporta atualmente (como SVG)
  • Retrabalhe o site para ficar atualizado com documentações claras

Todos 15 comentários

Ei @aparij , você está certo ao dizer que eu realmente não tive nenhum tempo para este projeto nos últimos anos ou assim. Espero mudar isso em um futuro próximo, mas, avançando, espero que a comunidade tenha uma participação mais ativa para manter o projeto atualizado, o que obviamente requer mais envolvimento de mim também.

Atualmente, estou trabalhando em uma reescrita parcial (novamente) do projeto, com algumas mudanças importantes em como o projeto lida com diferentes aspectos do processo de renderização de um documento em uma imagem, com os objetivos principais sendo:

  • Torne-o o mais modular possível, permitindo que mais partes sejam encadeadas, se necessário, executadas no navegador ou serializadas e executadas em um servidor
  • Facilitando a adição de novos recursos CSS por meio da modularidade
  • Faça o projeto totalmente digitado (usando Flow)
  • Melhorias de desempenho por meio de renderização de texto aprimorada, segmentação, limitação de análise às quantidades mínimas necessárias
  • Resolva os problemas de renderização móvel, como imagens de baixa qualidade devido à proporção de pixels do dispositivo ou imagens pretas devido ao tamanho da tela que excede os limites de hardware etc.
  • Crie especificações claras para proxies de imagem (para CORS), plug-ins que renderizam conteúdo que html2canvas não suporta atualmente (como SVG)
  • Retrabalhe o site para ficar atualizado com documentações claras

Obrigado por postar a atualização @niklasvh! Ficaria feliz em ajudar conforme você avança, embora eu não tenha muito tempo livre ultimamente, tive uma pequena mudança de carreira. Definitivamente, apreciei o pacote e fico feliz em saber que você tem mais planos para ele.

Também estou me perguntando se você considerou escolher a opção de renderização de SVG, ou seja, aqui ? Eu sei que seria uma grande mudança em relação à implementação existente, mas me parece que evitaria muita dor de cabeça de implementar estilos individualmente, aproveitando o navegador em vez disso. Você conhece algum lado negativo desse tipo de abordagem?

Isso é ótimo @eKoopmans! Eu vi que você enviou uma série de PRs, espero que pelo menos a maioria deles esteja integrada para a próxima versão.

Em relação à renderização foreignObject , ela já existe há muito tempo e algumas versões anteriores do html2canvas a aproveitaram (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 alguns dos navegadores que o suportam. O infeliz é que acredito que o Firefox ainda é o único navegador que suporta renderização de conteúdo (incluindo imagens) sem manchar a tela, o que efetivamente o torna realmente viável apenas para uso com o Firefox. O Chrome fez melhorias (não acompanhei muito de perto o que eles suportam), mas, como entendi, eles ainda não oferecem suporte a sub-recursos (ou seja, imagens), o que o torna efetivamente inutilizável para renderizar a página inteira.

No entanto, poderia ser explorado se pudesse ser utilizado para algumas partes menores, como renderização de texto, e se seria uma abordagem mais eficiente do que o que o html2canvas está fazendo atualmente (que é medir intervalos de texto).

E depois há a coisa do navegador cruzado, afaik IE / Safari não tem suporte para qualquer renderização de conteúdo de objetos estrangeiros sem manchar imediatamente a tela.

@niklasvh que bom ouvir isso 👍, quando será lançada a próxima versão?

Você poderia usar a guia Projeto aqui para delinear seu conjunto de recursos e plano de lançamento. Isso tornaria um pouco mais fácil para as pessoas verem o roteiro e trabalharem ativamente em conjunto como uma comunidade para ajudá-lo a inspecionar, melhorar e manter o projeto.

Obviamente, apenas uma sugestão. Enquanto estou fazendo um palanque, há apenas algumas coisas que sugiro fazer assim que puder @niklasvh :

  1. Remova questões abertas. Existem realmente 659 questões em aberto? Isso é muito. Vamos começar fechando tudo que não foi atualizado desde este ano. Acho que é por volta da página 5 de 27. Em seguida, procure por duplicatas. Escolha um problema principal para trabalhar. No momento, é difícil ver além do crescimento excessivo.

  2. Vou sugerir podar as solicitações de pull também. Dê uma razão pela qual ele não foi aceito ou negue-o abertamente e siga em frente. Eu até sugeriria o mesmo cronograma - se for mais antigo que este ano, você pode simplesmente fechá-lo. Se for uma preocupação real, podemos voltar e tratá-la.

  3. Depois disso, acho que você poderia concentrar seu tempo e energia para escrever um guia de contribuição sobre como gostaria de ver as coisas organizadas neste projeto, ferramentas usadas, uma breve introdução para aqueles de nós que são verdes em contribuir com o OSS é um longo caminho.

  4. Qualquer pessoa que enviou vários PRs como @eKoopmans é ouro para sua comunidade OSS. Por favor, adicione colaboradores oficiais para ajudá-lo com algumas dessas coisas (especialmente poda).

@ luck2011 Não posso fornecer uma linha do tempo precisa, mas espero ter um branch testável e funcional em breve.

@markadrake Obrigado pelas sugestões!
Definitivamente, irei analisar a maioria dos problemas abertos recentes e ver se eles devem / podem ser resolvidos e, em seguida, atualizá-los / encerrá-los, bem como passar por cada solicitação de pull para ver se faria sentido ser puxado para a próxima versão .

A partir daí, como você sugeriu, vou trabalhar para tornar a contribuição mais fácil para mim e para os colaboradores, de modo que espero que as coisas não comecem a se acumular assim novamente.

Comecei a marcar alguns dos problemas e trazer itens em potencial para o backlog

👍 Legal, @niklasvh

Enviei o progresso atual para https://github.com/niklasvh/html2canvas/tree/v1.0.0

Ainda há algum trabalho a ser feito antes que ele esteja de acordo com a versão atual.

@eKoopmans Eu reintroduzi o suporte para foreignObject renderização para navegadores que o suportam https://github.com/niklasvh/html2canvas/commit/a73dbf8067c92e4f25f4db71f75643f0647cb1ac

Por padrão, ele usará a renderização foreignObject se possível (a menos que seja substituído por opções) e retornará à renderização html2canvas normal se o navegador não suportar.

Excelente, acho que é uma ótima notícia! Vou ter que dar uma olhada logo. Você trabalhou muito no projeto, obrigado!

@niklasvh , Excelente projeto e está ativo novamente !!
Como sabemos, o vídeo é uma tag básica, então essa correção poderia ser aceita: FIX # 182 adicionou suporte para a tag de vídeo # 981. (Por @ anand-io)
Obrigado novamente por sua ótima biblioteca!

Olá @niklasvh , qual é o status da versão 1.0.0? O branch v1.0.0 ainda é aquele que podemos usar para testar o progresso atual?

Obrigado por todo o seu trabalho árduo!

@jyguyomarch A v1.0.0 mudou para master, que tem a versão mais recente da base de código 1.0.0. O status disso é que ainda está faltando a renderização de svg para navegadores que não suportam nativamente e uma reformulação de toda a documentação. Depois disso, espero poder lançar o primeiro lançamento e começar a eliminar todas as outras edições / PRs que estão pendentes.

Vou fechar isso à medida que nos aproximamos de uma versão 1.0.0.

Esta página foi útil?
0 / 5 - 0 avaliações