将 Lua 与 Livtet 结合 - Jacky Alciné

主要观点:目标是在Livtet中纳入可扩展性,避免深度写入对 Calibre 等服务的支持,采用扩展系统。并介绍了 Livtet 中插件的相关实现,包括通过修改清单文件定义库查找定义,共享 Lua 上下文让插件共享逻辑,以及 Lua 扩展与 Livtet 的交互方式等。
关键信息

  • Livtet 旨在实现可扩展性,不深度支持某些服务以防其实现变化。
  • 插件通过修改清单文件定义,如search_method = "sqlite"等。
  • 共享 Lua 上下文方便插件共享逻辑,避免为每个插件创建新上下文。
  • Lua 扩展通过声明接口与 Livtet 交互,如获取书架上的书籍列表。
  • 测试需访问实际远程服务,存在风险。
    重要细节
  • 给出了三个库查找定义的示例代码,如[libraries.01J5F20ZD9822Z0V64B1EGB01S]等。
  • 详细说明了 Lua 扩展与 Livtet 交互的过程,包括获取 Lua 上下文、编写脚本、确定返回值等。
  • 提到插件可创建自定义界面,如使用htmlyew等。
  • options方法的名称进行了说明,认为其名称不够准确。
  • 寻求 Rust 的 HTTP 模拟库或单独的边车服务来辅助测试。
阅读 10
0 条评论