feat(listing): populate Tags and CategorizedTags from figure data-tags
FA's beta listing pages emit each submission's tag list on the
figure's <img data-tags="..."> attribute, mixing prefixed system tags
(s_/c_/a_/u_/t_) with the unprefixed keyword list. Reading it during
gallery-page parse lets callers classify favorites/gallery/scraps/
browse/search/inbox items at scrape time, avoiding a /view/{id}
round-trip per submission.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -35,10 +35,19 @@ type Submission struct {
|
||||
Gender Gender
|
||||
Description string // raw HTML; sanitise before rendering to a browser
|
||||
DescriptionText string // plaintext convenience
|
||||
Tags []string
|
||||
// Tags holds the user-supplied keyword tags. On /view/-path Submissions
|
||||
// these come from div.submission-tags anchors. On listing-path
|
||||
// Submissions (Gallery/Scraps/Favorites/Browse/Search/SubmissionInbox)
|
||||
// they come from the figure's data-tags attribute, which carries the
|
||||
// same keywords FA renders on /view/ for that submission.
|
||||
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).
|
||||
// On /view/-path Submissions FA emits these as tag-block entries inside
|
||||
// div.submission-tags with prefixes s_ (species), c_ (character),
|
||||
// a_/u_ (artist), and t_ (type). On listing-path Submissions the same
|
||||
// prefixed tokens are parsed out of the figure's data-tags attribute;
|
||||
// the a_ vs u_ distinction is lost there because FA collapses both into
|
||||
// u_ in that flat list.
|
||||
CategorizedTags CategorizedTags
|
||||
FileURL string // absolute CDN URL; pass to Download
|
||||
ThumbURL string
|
||||
|
||||
Reference in New Issue
Block a user