#前端 #搜索 #annis #语料库 #实验性 #导出器 #版本

bin+lib annis-web

这是 ANNIS 语料库搜索前端的一个实验版本

2 个不稳定版本

0.2.0 2023 年 10 月 30 日
0.1.0 2023 年 10 月 24 日

566HTTP 服务器

Apache-2.0

1.5MB
3K SLoC

包含 (WOFF 字体,150KB) static/fonts/AlegreyaSans-Italic.woff,(WOFF 字体,145KB) static/fonts/AlegreyaSans-Bold.woff,(WOFF 字体,145KB) static/fonts/AlegreyaSans-Regular.woff,(WOFF 字体,95KB) static/fonts/AlegreyaSans-Bold.woff2,(WOFF 字体,98KB) static/fonts/AlegreyaSans-Italic.woff2,(WOFF 字体,96KB) static/fonts/AlegreyaSans-Regular.woff2 等 4 项

codecov

ANNIS 前端实验

ANNIS 是一个开源的、灵活的基于 Web 浏览器的搜索和可视化架构,用于处理具有各种类型注释的复杂多层次语言学语料库。这是 ANNIS 的一个 实验性 版本,试图重新思考 ANNIS 前端的用户界面和实现。

与原始 ANNIS 版本 4 的区别是什么?

实验版本的功能集非常有限,目前仅支持将结果导出为 CSV。将来将添加其他功能,如其他导出器或频率分析。

为什么从头开始?

ANNIS 4 基于名为 Vaadin 8 的 Web 前端库。由于 Vaadin 8 已达到生命周期的终点且不再接收更新,我们必须重新思考 ANNIS 前端的全套技术应用堆栈。升级到 Vaadin 23 实际上相当于完全重写,因此我们应该公开我们使用的编程语言和框架。特别是,移植不同的可视化工具可能会成为一个更大的挑战。这个项目旨在使用基于 Rust 的框架和技术创建一个实验性原型,并逐步创建 ANNIS 前端的新一代。虽然 Vaadin 7/8 作为开源软件存在了很长时间,我们在选择新技术时更加保守,以便它能够长期使用。

使用的框架

开发 annis-web

您需要安装 Rust 来编译项目。我们建议安装以下 Cargo 子命令以开发 annis-web:

运行 Web 服务器

在开发过程中,您可以运行一个 Web 服务器,当任何源文件发生变化时,它会自动重新编译。

cargo watch -x 'run -- --session-file annis-frontend-sessions.db'

执行测试

要执行测试,您需要一个 Chromium/Chrome 浏览器以及匹配的 chromedriver 二进制文件。在运行测试之前,请在端口 4444 上启动 chromedriver

chromedriver --port=4444

如果 Chromium/Chrome 二进制文件安装为 snap,您可能需要通过设置 TMPDIR 环境变量来更改临时目录。

mkdir -p "${HOME}/tmp/"
TMPDIR="${HOME}/tmp/" chromedriver --port=4444

然后在另一个终端中运行测试。

cargo test

要执行测试并计算代码覆盖率,您可以使用 cargo-llvm-cov

cargo llvm-cov --open --ignore-filename-regex 'tests?\.rs'

依赖项

~79MB
~1.5M SLoC