#tags #media #search #tagging #media-file #web-ui

nightly bin+lib taganrog

个人标签系统和媒体库的搜索引擎

1个不稳定版本

0.1.0 2024年3月23日

#144 in 多媒体

自定义许可

10MB
2K SLoC

🔖TAGanrog

个人标签系统和媒体库的搜索引擎

目录

关于项目

在数字时代,我们处理文件和数据量巨大,要找到需要的特定文件,就像在 haystack 中找针一样。Taganrog旨在通过允许您使用自定义标签标记文件,然后像使用 Google 搜索网络一样轻松地搜索它们来解决此问题。无论是文档、图像、视频还是任何其他文件类型,Taganrog都能将混乱变为有序,使您的数字生活更有条理和高效。

演示

DemoRecording

特性

  • 类似Google的Web用户界面:在整洁的Google-like搜索栏中搜索您的文件。
  • 闪电般快速:标签自动完成,搜索媒体文件,添加/删除标签,所有操作都在毫秒内完成(!)
  • 💾 本地存储:您的所有标签和文件都存储在您的机器上。没有任何服务器。
  • 🖥️ 命令行界面:Taganrog还是一个命令行工具,允许您从命令行管理您的标签和文件。
  • 📦 便携式:Taganrog是一个单独的二进制文件(包括CLI和Web用户界面),您可以在任何平台上运行而无需任何依赖项。
  • 📤 可导出:整个数据库只是一个单一的JSON文件,是可读的,可以轻松导出到其他系统。

使用技术

该项目使用以下开源框架/库构建

  • 用于Web用户界面: Axum + Askama + HTMX
  • 用于命令行: Clap
  • 用于数据库:追加型JSON文件(使用 serde

安装

有四种方法可以安装Taganrog

  1. 使用预构建的二进制文件:

  2. 使用Cargo:

    • 如果您已安装Rust,则可以使用Cargo安装Taganrog
    cargo install taganrog
    
  3. 使用Docker:

    • 您还可以使用Docker运行Taganrog
    docker run -p 1698:1698 -v /path/to/some/directory:/workdir darkcodi/taganrog
    
    • /path/to/some/directory 替换为您的媒体文件路径
    • Web UI 将在 https://127.0.0.1:1698 上提供
  4. 从源码构建:

    • 克隆仓库并使用 Cargo 构建 project
    git clone https://github.com/darkcodi/taganrog.git
    cd taganrog
    cargo build --release
    
    • 二进制文件将在 target/release/taganrog 下提供
    • [仅限 Linux] 您还可以使用以下命令将二进制文件安装到系统中
    sudo cp target/release/taganrog /usr/local/bin
    
    • [仅限 Windows] 您还可以通过将 target\release 目录添加到您的 PATH 来将二进制文件安装到系统中。

使用方法

命令行界面

Taganrog 可以用作 CLI 工具来管理您的标签和文件。以下是可用的命令

  • taganrog tag <file> <tag1> <tag2...>: 给文件添加一个或多个标签。
  • taganrog untag <file> <tag1> <tag2...>: 从文件中移除一个或多个标签。
  • taganrog list [tag]: 列出以特定前缀开头的所有标签。如果没有提供前缀,则列出所有标签。
  • taganrog search <tag1> [tag2 ...]: 搜索具有特定标签或标签的文件。

Web用户界面

Taganrog 还提供了一个可以通过访问浏览器中的 https://127.0.0.1:1698 来访问的 Web UI。Web UI 允许您使用标签搜索文件并管理标签。

  • 搜索:在搜索栏中输入标签以搜索具有这些标签的文件。
  • 添加/删除标签:单击某个媒体文件,然后在右侧面板中添加或删除标签。
  • 上传文件:单击右上角的 Upload 按钮,并选择要上传的文件。
  • 删除文件:通过单击打开媒体文件,然后在右侧面板中按下 Delete 按钮来删除它。
  • 标签云:单击右上角的 Cloud 按钮,查看您使用最多的前 100 个标签的云图。

许可

在 MIT 许可下发行。有关更多信息,请参阅 LICENSE

依赖项

~17–29MB
~497K SLoC