Skip to content

Patchouli.js 是一个基于 Vue 编写的 HTML 文档阅读器,支持单页和分页显示。

License

Notifications You must be signed in to change notification settings

AndreaFrederica/patchouli.js

Repository files navigation

Description Description

简介

Patchouli.js 是一个基于 Vue 编写的 HTML 文档阅读器,支持单页和分页显示。它提供了灵活的界面和便捷的功能,允许用户在不同模式下查看文档内容,支持页面翻页、字体大小调整等功能,旨在提供一个用户友好的阅读体验。

目前Patchouli.js 尚未达到发布标准 如需使用 请自行人工引入 同时需自行修改挂载生命周期

特性

  • 单页与分页显示:可以切换不同的显示模式,满足不同用户的需求。
  • 翻页功能:提供上一页、下一页的翻页控制,用户可以通过按钮方便地切换文档页。
  • 字体大小调整:用户可以根据自己的阅读习惯,动态调整文档正文和标题的字体大小。
  • 高阶分页引擎:根据需要启用更为复杂的分页控制,适应大型文档的阅读需求。
  • 折叠面板:提供一个可折叠的浮动面板,包含翻页、字体设置和模式切换等控制选项。
  • 在线图片分页支持:通过预缓存的方式来在没有图片大小注解的情况下正确切分包含图片的页面 此功能可能在低阶分页器中工作不正常

分页引擎

如果Basic目标已经实现 则该组件可用

引擎

  • 源生成:通过解析HTML和CSS来重新生成新的HTML和CSS来正确处理文档 (正在编写 可使用)
    • Basic:html生成器
    • CSS生成器
  • 指针:通过分页指针进行分页 可能对CSS的兼容性更好 (正在编写 可使用)
    • Basic:基础解析

公共组件

  • 段落切分器
    • Basic:基础切分
    • 标点挤压 (短时间没有计划)
  • CSS处理器
    • Basic:自动引入
      • 自动循环引用
    • CSS自定义
      • 流处理CSS
      • 额外CSS
  • JS处理器(没有实现)
    • Basic:自动引入
      • 自动循环引用
    • JS自定义
      • 流处理JS
      • 额外JS

阅读模式

  • 流式阅读器:直接渲染RAW文档 提供最强的兼容性
  • 高阶分页器:基于段落+字符碰撞实现的分页 显示效果略好 但是目前不支持排版规则
  • 低阶分页器:基于段落碰撞实现的分页 能避免排版意外 但是在某些段落上回遇到不可预料的错误(超长段落) 目前此问题没有修复 请谨慎使用

待办事项清单

  • JavaScript支持
  • 更好的分页引擎
  • 显示区域调整
  • 完整的弹出工具栏
  • 上状态栏
  • 下状态栏
  • 注解支持
  • epub支持
  • 排版规则 可见的未来不会有计划支持

About

Patchouli.js 是一个基于 Vue 编写的 HTML 文档阅读器,支持单页和分页显示。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published