Hacker News 中文摘要

RSS订阅

Show HN: Doxx——受Glow启发的终端.docx查看器 -- Show HN: Doxx – Terminal .docx viewer inspired by Glow

文章摘要

doxx 是一个基于 Rust 开发的终端工具,能够快速、安全地查看 .docx 文件内容,无需安装 Microsoft Word。它支持美观的渲染、智能表格处理和强大的导出功能,目前正在积极开发中,持续更新新特性。

文章总结

doxx:终端中的.docx文件查看器

doxx 是一款专为终端设计的快速、高效的 Microsoft Word 文件查看器。它使用 Rust 语言开发,能够在终端中直接查看 Word 文档,支持精美的渲染、智能表格处理和强大的导出功能,无需安装 Microsoft Office。

主要功能

  1. 文档查看

    • 支持语法高亮和格式化的终端渲染。
    • 智能对齐和 Unicode 边框的专业表格显示。
    • 支持多级嵌套列表,带有适当的缩进。
    • 全文搜索功能,支持高亮和上下文显示。
    • 文档大纲,便于快速导航。
    • 多种视图模式:文档、大纲、搜索和帮助。
  2. 智能表格支持

    • 自动检测表头的表格解析。
    • 智能对齐:数字右对齐,文本左对齐,布尔值居中。
    • 支持货币、百分比、日期等数据类型的检测。
    • 可扩展的 Unicode 边框,提供专业的 ASCII 渲染。
    • 支持在表格内进行搜索。
  3. 复制与剪贴板

    • 直接从终端界面复制渲染内容。
    • 根据当前视图复制不同内容:文档视图复制完整格式文档,大纲视图复制文档结构,搜索视图复制搜索结果。
  4. 导出与集成

    • 支持 Markdown、CSV、纯文本和 JSON 导出。
    • 适合脚本和自动化的 CLI 友好设计。

快速开始

  1. 安装

    • 从源代码安装(需要 Rust 环境): bash git clone https://github.com/bgreenwell/doxx.git cd doxx cargo install --path .
  2. 基本使用

    • 查看文档:doxx quarterly-report.docx
    • 启动大纲视图:doxx document.docx --outline
    • 搜索特定内容:doxx contract.docx --search "payment terms"
    • 导出为不同格式:doxx spreadsheet.docx --export csv > data.csv

终端 UI

doxx 提供直观的键盘快捷键和鼠标支持,方便用户导航文档。例如,使用 / 滚动,o 切换大纲视图,s 打开搜索,c 复制内容到剪贴板等。

与其他工具的比较

  • 与 Microsoft Word 相比:doxx 启动更快(50ms vs 8+秒),内存占用更少(15MB vs 500MB+),无需许可证费用,且支持 SSH 远程访问和脚本自动化。
  • 与文本提取工具(如 docx2txt、antiword)相比:doxx 保留格式(如粗体、斜体、结构),提供智能表格渲染和交互式界面。
  • 与终端文档查看器(如 glow、bat、mdcat)相比:doxx 原生支持 DOCX 文件,专注于商业文档,提供高级表格处理和多种导出格式。

开发与贡献

doxx 正在积极开发中,欢迎贡献。项目结构清晰,主要文件包括 main.rs(CLI 参数解析)、document.rs(文档解析)、ui.rs(终端界面渲染)等。

未来计划

  • AI 集成:支持文档摘要和问答功能。
  • 超链接支持:在文档内导航。
  • 图像描述:使用 AI 生成替代文本。
  • 主题定制:个性化查看体验。
  • Web 界面:支持浏览器查看。

许可证

doxx 采用 MIT 许可证,详细信息请参阅 LICENSE 文件。

doxx 为终端开发者而生,致力于提供高效、便捷的文档查看体验。

评论总结

评论内容总结:

  1. 对项目的积极评价

    • 多位评论者对项目表示赞赏,认为其具有实用性和创新性。
    • 引用:treetalker:“Great project! Looking forward to trying it out in my law practice.”(很棒的项目!期待在我的法律实践中使用。)
    • 引用:BrouteMinou:“It looks fantastic! That's going into my toolbox that's for sure.”(看起来很棒!肯定会加入我的工具箱。)
  2. 对项目名称的批评

    • 部分评论者认为项目名称容易引起误解或带有负面含义。
    • 引用:treetalker:“The name causes miscues and carries negative connotations, though, on account of its homonym verb (doxxing).”(由于与动词“doxxing”同音,名称容易引起误解并带有负面含义。)
    • 引用:zipping1549:“Not so good of a name.”(名称不太好。)
  3. 对功能的建议与疑问

    • 有评论者提出对功能的疑问,并与其他工具进行比较。
    • 引用:firesteelrain:“Can you use this to basically cat the output and then you can grep the docx? pandoc can do this”(你能用它来输出内容然后用grep处理docx吗?pandoc可以做到这一点。)
    • 引用:pylotlight:“Install from source with git surely cannot be your only deployment plan here?”(通过git从源码安装肯定不能是你唯一的部署计划吧?)
  4. 对项目细节的批评

    • 有评论者对项目中的某些细节表示不满。
    • 引用:acedTrex:“Very unfortunate”(非常不幸。)
  5. 对其他文件格式的期待

    • 有评论者希望类似项目能支持其他文件格式。
    • 引用:greazy:“I wish something like this for pdf files.”(我希望有类似的项目支持PDF文件。)

总结:评论者对项目整体持积极态度,认为其具有实用性和创新性,但也对项目名称、功能细节和部署方式提出了批评和建议。