@ohah/hwpjs - visualizador de HWP feito em Rust
(github.com/ohah)Visualizador hwp.js escrito em Rust
É diferente do hwp.js homônimo.
O autor também é diferente.
Há uns 4 anos, cheguei a implementar o hwpjs em vanilla,
e de repente bateu a vontade de reescrever, então usei Rust para fazer tudo de novo.
Na época, levei 2 semanas para fazer e acabei desistindo; desta vez também trabalhei por cerca de 2 semanas certinhas.
- Suporte a Web, Node, React Native e CLI
- Suporte aos ambientes Node e Web via NAPI-RS
- React Native com build via Craby
- Consultei bastante os open sources públicos existentes sobre HWP e corrigi partes que estavam ausentes na documentação ou apresentavam problemas
- No momento, já é possível extrair de forma simples em formato Markdown
- Recurso para converter todos os dados do documento em JSON
- Suporte a HTML planejado
- canvas e PDF ficam para depois
Stack usada
bun, rust, napi-rs, craby, maestro
A demo e uma apresentação mais detalhada podem ser vistas em
https://ohah.github.io/hwpjs/
Não acho que a demanda vá ser muito grande,
mas, se por acaso alguém usar e tiver algo que queira, agradeço qualquer feedback.
8 comentários
Por que o sufixo é
js?Eu estava com preguiça de mudar o nome do repositório.
E, na prática, ele pode ser usado em ambientes que utilizam JavaScript,
então achei que
hwpjsera mais intuitivo do ponto de vista do usuário. Por isso, não senti necessidade de mudar.Além de ser um nome tecnicamente confuso,
acho que também não é uma boa usar esse nome quando já existe um projeto com o mesmo nome...
Concordo. Do ponto de vista do usuário, é uma pena que um nome intuitivo já tenha sido ocupado, mas usar um nome que se sobrepõe ao de outro projeto não me parece algo ético. Pense em algum projeto famoso que você usa com frequência e imagine a reação que haveria se alguém criasse um projeto com funcionalidade parecida usando exatamente o mesmo nome..
Obrigado
Não é possível executar via CLI porque não há um executável dentro do pacote.
Já deixei publicado!
Ainda não foi distribuída uma versão com a funcionalidade de CLI implementada.
Eu pretendia distribuir isso de madrugada hoje, então não escrevi separadamente, mas vou deixar publicado!