9001 / 9001/copyparty

Booru-style tagging

未关闭
#235 4 条评论 12 个 reaction 已指派 1 人 已被 @9001 认领 在 GitHub 查看
enhancement
主要语言
Python
星标
46.7k
派生
1.9k
平均合并
9 天 2 小时
30 天内合并 PR
4

描述

`copyparty`'s sheer compact size, portability and utility leads me to believe it could replace using [Hydrus Network](https://hydrusnetwork.github.io/hydrus/) for locally organizing and hosting art/files with tags. Hydrus is extremely large and not as utterly portable, though it does offer functionality like Downloaders which I figure are heavily out of scope for copyparty and/or could be done through other means. (Visual hash deduplication sounds _very_ good to look into though.)

Its Client API also doesn't lend itself all that well to "self-hosted booru" as there are very few implementations of clients, all of them with quirks and faults. Nothing "just works" quite like copyparty can, with arbitrary file support to boot. From the little I've tried of it you could easily live in it.

**Examples from Hydrus follow:**

You can see tags alongside the file. For images this is a box next to the image which can be hidden. You could have a dropdown or something whilst checking out text files.

Image

Hydrus has very extensive tagging relationships and highlighting. You probably shouldn't implement everything, it's quite a lot.

Image

Adding tags has a box with possible matches to quickly add, very useful for long names.

Image

You can create a sibling relation between tags, so a multitude of tags can alias to just one.

Image

Hydrus implements keys for the Client API to manage access levels. Since copyparty already implements this kind of thing, it could be leveraged to control adding/removing/editing tags.

Image

贡献指南

打开贡献指南

调研方向

该 issue 描述了向 copyparty 添加一个类似 Hydrus Network 的复杂标签系统。首先检查代码库中现有的文件元数据和用户权限系统。查找文件信息的存储和显示位置,并考虑如何通过现有的访问密钥来添加、关联和控制标签。范围很大,涉及 UI、数据库变更和 API 集成方面的设计决策。

由索引模型根据 Issue 内容生成。

评估

技术栈
python
领域
backend, full-stack
Issue 类型
功能
难度
5/5
预计耗时
一周以上
活跃度
停滞
描述清晰度
基本清楚
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。