#dev 2026-02-26

2026-02-26 UTC
#
btrem
[tantek]: I've never used or developed in Wordpress, but I imagine that a Drupal module is very much like a Wordpress plugin (or module, if that's what they call them).
#
[tantek]
WP plugins yeah
ax562, Wiggle, cotsuka, ggarcia242, blacklight, GuestZero, Twin, grufwub, jasonquintin[d], pcarrier[d] and barnaby joined the channel
#
ulhar4409
hmm, if i want to provide an RSS or Atom feed as an alternative to an h-feed, is either one more suited than the other for representing e.g. likes?
NegateThis left the channel
#
ulhar4409
very basics of feed separation are down: each distinct feed can have a :test function to evaluate if an entry is "worthy" and those entries that are deemed are included in the generated h-feed
#
ulhar4409
so far i have Posts and Gardenhose, thinking about putting Social too
#
ulhar4409
Posts just requires a content property (should probably allow media properties too though), Gardenhose shows everything that's public, Social would filter to things like replies and favorites
#
capjamesg
[tantek] I think bad cell signal and bad WiFi are closely related.
redshuffle and barnaby joined the channel
#
capjamesg
Has anyone used pmwiki before? We don't have a wiki page on it right now.
GuestZero and strugee joined the channel
#
[tantek]
ulhar4409 yes Atom is more suited to different post types like likes because you can use Atom+AS1. This is what I do with mine for example
#
[tantek]
Also this is one of the reasons all the RSS nostalgia is shortsighted - it has no capacity for representing different post types
blacklight, GuestZero, TwinAdam, [Trevor_Morris], doesnm_, aspizu[d], [aciccarello], deathcomestotime and [Al_Abut] joined the channel
#
[KevinMarks]
well, you can shoehorn them in with namespaces, but at that point you're basically using Atom anyway
geoffo, Kupietz, thegreekgeek, Lilac, [jeremycherfas], cotsuka and ax562 joined the channel
#
[tantek]
except there's exactly zero consuming implementations of it so that's kind of a waste of time to even suggest?
#
ulhar4409
maybe unless one wants to make the first consuming implementation of it, but i certainly don't :)
#
CrowderSoup
I'd like to _not_ be the first thank you very much lol
#
ulhar4409
i do already have a feed-generation library in mind, i just wonder if i can make it output AS1 data like that too
#
CrowderSoup
h-feeds typically have all the information about what kind of post something is. I actually am using that fallback heavily on a project I'm building (Microsub server)
#
ulhar4409
right now i am looking into it to implement the dreaded sidefile antipattern (rip)
gRegor and GuestZero joined the channel
#
[tantek]
I can empathize
#
ulhar4409
is there good documentation i can reference for the as1-atom stuff?
#
[tantek]
what is as1
#
Loqi
ActivityStreams (AKA AS) is a standardization effort to define common types of objects and actions (verbs) taken on various social media sites that eventually produced Activity Streams 2.0 https://indieweb.org/as1
#
[tantek]
ulhar4409 looks like I'm the only indieweb example: https://indieweb.org/ActivityStreams#IndieWeb_Examples
#
[tantek]
feel free to ask any questions and I'll try to help!
#
ulhar4409
hmm, [tantek] /updates.atom works as a lead, but do you have one that includes e.g. replies?
#
[tantek]
not currently but I could add some!
#
[tantek]
I believe I have the code for it
#
ulhar4409
that would be helpful
#
ulhar4409
I would probably use granary to get atom from what I already have but weirdly it doesn't support reading h-feeds?
#
ulhar4409
Or at least it's unclear if it does
#
CrowderSoup
I think it does? At least I'm assuming it does based on this: https://granary.io/url?input=html&output=as2&url=https%3A%2F%2Fcrowdersoup.com
#
CrowderSoup
That's taking my html (h-feed) and spitting out an activity stream
#
ulhar4409
types crowdersoup.com but accidentally puts /l at the end
#
ulhar4409
does requesting /l count as taking it...
#
[tantek]
yes granary supports consuming h-feed and producing Atom. I don't the extent of Atom+AS1 output support
#
ulhar4409
i do see an as1-xml option which is probably different but does include likes
#
ulhar4409
actually, granary's atom output does include likes too, now that I'm squinting at it
luca joined the channel
#
[snarfed]
yes! looks like you all are on the right track. happy to answer any other q's
barnaby and NegateThis joined the channel
#
gRegor
Yep, I love granary for converting h-feed to Atom! Lets me offer various feeds easily.
#
gRegor
Some examples and links on /granary
#
gRegor
granary++ snarfed++
#
Loqi
granary has 2 karma in this channel over the last year (3 in all channels)
#
Loqi
snarfed has 35 karma in this channel over the last year (48 in all channels)
#
ulhar4409
Honestly if there were a convenient API for converting a feed but then inserting a particular link as "Here's where the converted feed will go" (in place of the granary link), I might be content to just use that
#
ulhar4409
Or using a CLI program instead of an API, perhaps
#
[snarfed]
I don't have an existing CLI for you, but granary is also a library, might be straightforward to wrap it in a minimal CLI that does that
#
[KevinMarks]
Isn't granary's internal format AS1 json?
#
[snarfed]
but hopefully that doesn't matter to users, just a hidden implementation detail
Pixi`, ax562 and rrix joined the channel
#
ulhar4409
granary is written in python iirc? i'm not well-versed in that (nor especially interested in it otherwise) so making a convenient CLI wrapper for it probably wouldn't be a good project for me
#
ulhar4409
("nor especially interested in it" referring to Python)
[snarfed] joined the channel
#
ulhar4409
honestly there's a lot of code projects like that that I would definitely find useful but don't especially want to take on myself
#
ulhar4409
"pay someone else to do it" does look enticing sometimes :P
#
[snarfed]
yeah python
#
[snarfed]
Claude Code etc are the new "pay someone to do it"
#
[snarfed]
drastically faster and cheaper and sometimes better
#
ulhar4409
i am not going to pay claude... although, now that you mention it, paying some stranger who seems to code well might not be great either (because what if they're using claude or such and I didn't notice)
#
[tantek]
right, at this point "pay some stranger" may mean three Claude prompts in a trenchcoat
#
ulhar4409
so "pay someone else to do it" might still turn into "pay the job-stealing machine designed specifically to steal jobs to do it" ugh
#
ulhar4409
~~solution: make sure "someone" is a furry because most of them already know not to do that~~
IWSlackGateway2, [Jo]1, [Jo], IWSlackGateway, bargaintreeflow, cotsuka, athenaeryma, barnaby, grufwub, aspizu[d], topo_97[d], jasonquintin[d], Maker, Saphire, pcarrier[d], ancarda, capjamesg, IWDiscord, Kaja, CrowderSoup, chimo, revi, benji, rossabaker and neoruta joined the channel; NegateThis left the channel
#
CrowderSoup
Since there's a lot of feed talk today I'm curious: If PADD allowed you to import/export a list of your feeds would you want it as OPML or some other format?
IWSlackGateway2, [Jo], thegreekgeek, GWG, redshuffle, pfych, [artlung], [KevinMarks], [tantek], jjuran, marc_in_-, saccharin, Saige_Leah, ben, streety, moose333, Xe and gasiyu joined the channel
#
[snarfed]
what other format is there?
#
CrowderSoup
I don’t think there’s any other standard but json would be a natural option I think
#
[snarfed]
...but in what schema
tanok111 joined the channel
#
CrowderSoup
Not sure! That's the part I'm wondering. I think OPML is fine for that, but I was curious because I think I've seen JSON Feed used or suggested that it could be used.
bargaintreeflow joined the channel
#
[tantek]
HTML blogroll?
#
[artlung]
OPML probably is the best supported format for site/feed import and export with the htmlUrl and xmlUrl attributes in outline elements.
#
[snarfed]
yeah OPML is fine
Marladian joined the channel
#
CrowderSoup
blogrolls are my other app [tantek] ;P the one with the plants, not the one with the copious star trek references.
#
CrowderSoup
I figured that about OPML being the right choice, but never hurts to check with y'all smart folks :)
#
[tantek]
Literally an HTML UL element with hyperlink list items
#
CrowderSoup
[tantek]++ for the obvious yet simple idea! I think I shall include that. Trying to get PADD to a place where I feel it's a solid v1 so I can focus on my next big project.
#
Loqi
[tantek] has 23 karma in this channel over the last year (147 in all channels)
#
ulhar4409
oh, while i was noodling around today i did notice Plump (a DOM manipulation library for common lisp) has a `text` function which might cover some things i was curious about trying to handle
#
ulhar4409
in particular, getting plain text to use for embed descriptions, and potentially extracting p-* microformats
NegateThis joined the channel
#
ulhar4409
is there a specification for how p-* elements should be parsed for text?
#
[tantek]
I believe mf2 parsing spec references the HTML spec for that
#
gRegor
If you want to get in the weeds, there's some issues discussing what the spec means by `textContent` https://github.com/microformats/microformats2-parsing/issues/15
#
Loqi
[preview] [Zegnat] #15 What should mf2 textContent parsing result in? User expectation vs. DOM specification.
cotsuka joined the channel
#
Loqi
OPTIONS sip:100@45.79.97.238 SIP/2.0 Via: SIP/2.0/UDP 185.243.5.22:5133;branch=z9hG4bK-80578710;rport Content-Length: 0 From: "sipvicious"<sip:100@1.1.1.1>;tag=3264346636316565633965660132323538353239323335 Accept: application/sdp User-Agent: friendly-scanner To: "sipvicious"<sip:100@1.1.1.1> Contact: sip:100@185.243.5.22:5133 CSeq: 1 OPTIONS Call-ID: 286296823556035223310323 Max-Forwards: 70
#
Loqi
OPTIONS sip:100@45.79.97.238 SIP/2.0 Via: SIP/2.0/UDP 185.243.5.22:5133;branch=z9hG4bK-87860580;rport Content-Length: 0 From: "sipvicious"<sip:100@1.1.1.1>;tag=3264346636316565633966300132393835363734323738 Accept: application/sdp User-Agent: friendly-scanner To: "sipvicious"<sip:100@1.1.1.1> Contact: sip:100@185.243.5.22:5133 CSeq: 1 OPTIONS Call-ID: 841351249176404209537132 Max-Forwards: 70
#
[tantek]
alrighty imma delete that Loqi OPTIONS thing here and in #indieweb bc it looks sus
#
[tantek]
gives Loqi a glance
#
Loqi
puts on the glance
NegateThis left the channel
#
ulhar4409
hmmm, p-x parsing guide says to check for class-value pattern first
#
ulhar4409
if a p-x element has .value children, would it be sufficient to run the p-x parser on those elements and concatenate the results instead?
#
ulhar4409
instructions for .value parsing and .p-x parsing are just different enough that feel like it *could* matter but i'm not sure if it *does*
#
[tantek]
it's particularly different for dt-* parsing