25P by ohah173 1달전 | ★ favorite | 댓글 8개

러스트로 작성한 hwp.js 뷰어

동명의 hwp.js와는 다릅니다.
제작자도 다릅니다.

4년전쯤에 hwpjs를 바닐라로 구현해본적이 있었는데,
문득 재작성 욕심이 들어서 사용해 러스트로 다시 만들어 보았습니다.

4년전쯤에 2주 걸려 만들고 포기했었는데, 이번에도 딱 2주정도 작업했습니다.

  • Web, Node, React Native, CLI 지원
    • NAPI-RS를 통해 Node, Web 환경을 지원
    • React-Native는 Craby를 통한 빌드
  • 기존에 있는 hwp 공개 오픈소스를 많이 참고하여 문서상으로 누락되었거나 문제 있는 부분을 고쳤습니다
  • 현재는 간단하게 마크다운 형태로 뽑아낼 수 있음
  • 문서의 모든 데이터를 JSON으로 변환해주는 기능
  • html 지원 예정
  • canvas, pdf는 추후 계획

사용 기술 스택
bun, rust, napi-rs, craby, maestro

데모 및 더욱 자세한 소개는
https://ohah.github.io/hwpjs/ 에서 확인하실 수 있습니다.

수요가 많지 않을 것 같지만,
혹시라도 사용하게 되시고 원하는 부분이 있다면 피드백 부탁 드립니다.

$ bunx @ohah/hwpjs
error: could not determine executable to run for package @ohah/hwpjs

패키지 안에 executable이 없어서 cli로 실행이 안됩니다.

배포해두었습니다!

아직 cli 기능을 구현한 버전이 배포가 안되었습니다.
오늘 새벽에 배포하려고 해서 따로 쓰지 않았는데 배포해두겠습니다!

왜 js가 suffix 인가요?

저장소 이름이 바꾸기 귀찮았습니다.
그리고 실제로 사용처는 자바스크립트를 사용하는 환경에서 사용할 수 있어서,
사용자 입장에서 hwpjs가 더 직관적이라 생각했습니다. 그래서 바꿀 필요를 못 느꼈습니다.

기술적으로 혼동을 주는 이름인 것도 문제지만,
동명의 프로젝트가 있는데 그 이름을 쓰는 건 좋지 않은 것 같아요...

같은 생각입니다. 사용자 입장에서 직관적인 이름이 이미 선점되서 아까우시겠지만, 겹치는 이름을 쓰는 건 상도의가 아닌 것 같네요. 자주 쓰는 유명한 프로젝트 이름 하나 떠올려보시고 비슷한 기능의 프로젝트를 누가 똑같은 이름으로 만들었다고 생각해 보시면 어떤 반응이 나올까요..

감사합니다