Simon-Tesla / RaccoonyWebEx

A WebExtension that adds shiny features to art sites
MIT License
40 stars 4 forks source link

AGN.PH add request #186

Open Joebugg opened 1 month ago

Joebugg commented 1 month ago

This is another site only loosely based on Danbooru (different code base entirely according to people I asked in IRC channel) which started as an archive of the ancient newsgroup alt.games.nintendo.pokemon.hentai in 1999.

Solution desired: Adding support for metadata on it?

Describe alternatives you've considered Not really sure.

Additional context It seems to cleanly support artist and other tag categories, unlike that previous site I suggested for adding. I'll have to look closer at the HTML code to help define the hooks needed.

Simon-Tesla commented 1 month ago

Haven't dug into the HTML, but on the surface it looks like the e621 plugin could be readily adapted for it, yeah.

Joebugg commented 1 month ago

Tag categories: Artist, Character, Copyright, General, Species (Basically same as e621)

Taglist object: <li class="tagcategory"> Artist group is underneath: <label for="Artist-toggle" class="tag-category-toggle-button"><strong>Artist</strong></label> Specific artist tags: <a href="/gallery/post/?search=artist_name" class="atypetag">artist name</a> where artistname is the tag for that specific artist, and 'artist name' is when is converted to white space. So classes go: taglist -> tagcategory -> taglist -> tag -> then raw html: href="/gallery/post/?search=$1"

<h3>Statistics</h3> followed by statlist class contains the stats: ID, source-line (possibly more than one), posted: followed by date, Rating, number of Favorites, Size (resolution) , Views erating=explicit, qrating=questionable, srating=safe

<ul class="statlist">
ID:######
<li class="source-line"> Source: <a href="https://domain/path" ...</a></li>    
Posted:
Rating:<span class="srating">Safe</span></li>
Favorites:1
Size: X x Y (XXXX.X KB)
Views:##

sidepanel-list class is of course above both taglist and statlist

Example without comments:

<div class="footer-panel">
<div class="comment-section">
<span class="no-comments">No comments posted</span>

With comments:

<div class="comment-section">
<ul class="comment-list">
<li class="comment">
<div class="comment-side-panel">

Can probably start from this last line's class?

Followed by:

<div><a href="/user/####/"><img class="comment-avatarimg" src="/path/filename.png"></a>
<div class="Clear">&nbsp;</div></div></div>
<div class="comment-content">
<div class="commentheader"><a href="/user/####/">username</a><br>
<span>Date:Jul 6 2024</span></div>
<div class="commenttext"><p>Comment text goes here.</p></div>
</div>
<div class="Clear">&nbsp;</div></li></ul>

I think the Clear class is to deal with unclosed D-text tags like for underlining/bolding/italics. So it seems you could just use the contents of lines with username/ID, Date, and commenttext and get it all.

Joebugg commented 1 month ago

https://agn.ph/gallery/post/show/481712/ A safe for work post I'll try to do an example of. I guess it could roughly work like this? I'm just guessing how the plugin normally outputs the metadata. Tags Artist: migeo Copyright: pec_pov_meme snapchat Species: okidogi General: anthro male solo

Statistics ID: 481712 Source: https://twitter.com/migeo_art/status/1765915145576833246 Posted: 202404091227 Rating: Safe Size: 1500 x 1500 (214.2 KB)

Comments (empty)

I'll have to see how e621 plugin output looks. I already noticed that I missed these: https://agn.ph/gallery/post/show/481712/ https://agn.ph/gallery/data/d4/d7/d4d7a58bf8414a3fec141fd059bcaacc.jpg

<a id="download-link" href="/gallery/data/d4/d7/d4d7a58bf8414a3fec141fd059bcaacc.jpg">Download</a> has the download link.