feat(submission): parse FA's prefixed system tags into CategorizedTags
FA renders its species/character/artist/type system tags as tag-block anchors with a data-tag-name carrying a single-letter prefix (s_/c_/a_-u_/t_) and a sibling tag-invalid span instead of a /search/ link. The existing keyword pass skips them, so they were lost. Adds a Submission.CategorizedTags field exposing the four buckets with the prefix stripped, plus an examples/categorized_tags runnable demo.
This commit is contained in:
@@ -13,6 +13,15 @@ import (
|
||||
"git.anthrove.art/public/go-fa-api/internal/urls"
|
||||
)
|
||||
|
||||
// CategorizedTags groups FA's prefixed system tags by category. Names are
|
||||
// stored without their prefix (e.g. "s_hybrid_species" → Species "hybrid_species").
|
||||
type CategorizedTags struct {
|
||||
Species []string
|
||||
Characters []string
|
||||
Artists []string
|
||||
Types []string
|
||||
}
|
||||
|
||||
// Submission is a fully resolved FA submission as seen on /view/{id}/.
|
||||
type Submission struct {
|
||||
ID SubmissionID
|
||||
@@ -27,6 +36,10 @@ type Submission struct {
|
||||
Description string // raw HTML; sanitise before rendering to a browser
|
||||
DescriptionText string // plaintext convenience
|
||||
Tags []string
|
||||
// CategorizedTags groups FA's prefixed system tags by category.
|
||||
// FA emits these as tag-block entries inside div.submission-tags with
|
||||
// prefixes s_ (species), c_ (character), a_/u_ (artist), and t_ (type).
|
||||
CategorizedTags CategorizedTags
|
||||
FileURL string // absolute CDN URL; pass to Download
|
||||
ThumbURL string
|
||||
Width int // 0 if unknown / non-image
|
||||
|
||||
Reference in New Issue
Block a user