#dev 2022-04-01

2022-04-01 UTC
sayanarijit[d], Murray[d], mossymaker[d], Jeremiah[d], cybi, YimingWu[d], GWG, samhenrigold[d], cygnoir[d], gerben, maxwelljoslyn[d], mro and MarkJR84[d] joined the channel
chewing_bever joined the channel
#
chewing_bever
hi everyone :) i set up my blog a few days ago (using hugo, so fully static), and I'd like to implement webmentions for it, but i'm not really sure how i could combine those with a fully static website
#
chewing_bever
my current deploy process builds a new docker image consisting of nginx & my static site & deploys that in my docker swarm, but i don't really have an idea as to how i could make it so that my webmention implemention could detect when I've created/changed a post to actually send the webmentions
#
chewing_bever
implementation*
#
chewing_bever
my plan was to replace nginx with a custom web server (probably Rust using axum) which would work for receiving webmentions (i would implement them myself), it's mostly sending that i don't have an idea for yet, so if anyone has any suggestions, id' love to hear them :)
jamietanna1 joined the channel
#
capjamesg[d]
I audibly laughed at that tweet sknebel 😂
#
capjamesg[d]
Welcome the community!
#
capjamesg[d]
I have a separate webmention endpoint that accepts webmentions. I then use JavaScript to add them to my blog.
#
capjamesg[d]
If you’d prefer not to use JS, you can always add webmentions every time your static site builds.
#
capjamesg[d]
I thought about that but thought it would be too confusing so I used JavaScript.
#
capjamesg[d]
I got started with webmention.io and the webmention.js script at the befinning.
#
capjamesg[d]
*beginning
#
capjamesg[d]
Then when I felt more comfortable I set up my own endpoint.
#
chewing_bever
thanks for the welcome! i've seen webmention.io as well, but i've always preferred doing things myself whenever i could ;p and considering the webmention spec seems to be really simple i'd rather do it myself if possible
#
capjamesg[d]
When my static site builds on GitHub, I send a web hook to my webmention endpoint. That web hook then looks at all my feeds and will send any webmentions.
#
capjamesg[d]
Yeah. The webmention spec is a great spec to implement. And we are here to answer questions too 🙂
#
capjamesg[d]
There is also webmention.app or something like that that will automatically scan your feeds and send webmentions where possible.
#
chewing_bever
oohh i see, running it in CI might be a good idea actually, i could expose an authenticated endpoint for creating webmentions then, shouldn't be too hard
#
capjamesg[d]
That method has worked with me for a long time.
#
chewing_bever
i'd still have to rethink my deployment process tho, considering that i don't want to re-build my backend server every time i write a new blog post
#
capjamesg[d]
It does mean it takes a few minutes to send a webmention but it all happens in the background and automatically.
#
capjamesg[d]
That’s how I like this sort of thing: in the background 🤣
Christian_Olivie joined the channel
#
chewing_bever
that's a mentality i can get behind ;p
#
capjamesg[d]
I wonder if Hugo supports incremental regeneration to just recreate a single post when you write one.
#
capjamesg[d]
I’m not sure though. I have only seen Incremental Static Regeneration in Next.js so far.
#
chewing_bever
i don't think that's something they're really interested in, at leat not as a priority
#
capjamesg[d]
I am on a train so my messages will be shorter than normal.
#
chewing_bever
no worries!
#
[KevinMarks]
The problem is that all the index pages need updating and repaginating too
#
capjamesg[d]
My build process looks like this: write post, push it to GitHub, GitHub actions builds the site, my webmention endpoint gets a webhook and sends any new webmentions, and then everything is done.
#
capjamesg[d]
This process takes all in all four minutes for about 3000 pages with my own generator.
#
chewing_bever
i could update my site by PUT or POST'ing the newly built static files to the backend server
#
capjamesg[d]
[KevinMarks] absolutely.
#
chewing_bever
that is pretty fast indeed
#
capjamesg[d]
Hugo is supposed to be really fast too.
#
capjamesg[d]
I’d love to build ISR into my site [KevinMarks] so I’ll need to read more about its technical implementation.
#
chewing_bever
well my site's not really a good benchmark (yet) so i couldn't tell you ;p
#
chewing_bever
i might throw all the static files into a tarball & push that to my server, that way i don't have to worry about certain files not being updates or whatever
#
chewing_bever
it'll all happen in ci anyways
#
capjamesg[d]
Yeah that’s what my GitHub action does. GitHub builds the site, compresses everything, uploads it to my server, and that’s it.
#
capjamesg[d]
The CI is always the finicky part for things like this.
#
chewing_bever
i see i see, don't images take up a lot of space in the archive after a while? or are those served from somewhere else?
#
chewing_bever
capjamesg[d]: i have wasted way too many hours perfectly configuring my ci, it's a bit of an addiction at this point ;p
#
capjamesg[d]
Images are okay too.
#
capjamesg[d]
I have a couple hundred.
#
capjamesg[d]
Let me get some stats for you.
#
chewing_bever
oh thank you!
#
capjamesg[d]
That is how my CI looks.
#
capjamesg[d]
I have about 1500 pages and I build each twice because I have two themes.
#
capjamesg[d]
It’s a bit wasteful but it is the best I could do 🤣
#
chewing_bever
eh if it works, why change it right
#
capjamesg[d]
There is a great GitHub action that takes files built in Actions, compresses them, and uses scp to upload them to a server.
#
chewing_bever
so final question i think haha, do you store the source of your blog in a git repo? and if so, do you also store the images there?
#
capjamesg[d]
I keep everything in a Git repo.
#
capjamesg[d]
Every change I made is in its own commit.
#
capjamesg[d]
I have never needed to revert a commit but I’m glad I have that option.
#
capjamesg[d]
All of my images are in a folder called assets in the same repo.
#
capjamesg[d]
But in the long term I might use GitHub’s large file storage.
#
capjamesg[d]
I have a feeling I’ll hit some limit after some time if I keep uploading images.
#
chewing_bever
i see, that's how i'm doing it as well rn but i just wanted to check :) thanks for the answers, they're gonna help me out a lot <3 i'm hoping to properly join the indieweb community soon!
#
capjamesg[d]
I don’t do anything with them on build other than compress then upload to the server.
#
capjamesg[d]
We are here to help when you need us!
#
capjamesg[d]
I love planning these sorts of things out.
#
chewing_bever
capjamesg[d]: i use my own gitea instance so i'm guessing that won't be an issue for me, but then again, my blog's probably never gonna be as large as yours ;p yours is real impressive i gotta say
#
chewing_bever
capjamesg[d]: yeah me too, i just gotta make sure my perfectionist side doesn't get in the way too much
#
capjamesg[d]
Why thank you! I used GitHub actions but I’m sure my setup would translate well to a lot of different services.
#
capjamesg[d]
I did think about making my own Git post hook but that was way too much work for my needs.
cybi joined the channel
#
chewing_bever
yeah using a ci seems to be the simpler choice i'd say
tetov-irc joined the channel
#
@isotopp
Today is Domain-Return-Day. To prevent the global domain crisis and to alleviate the pressure on your wallet, today is the day to go through all the domain names you acquired over the years for projects you never started and never will. Return these domains collecting dust.
(twitter.com/_/status/1509791707012993024)
toby3d[d], jjuran_, Seb[d], cybi, [jgmac1106] and Darius_Dunlap[d] joined the channel
#
petermolnar
I have no unused domains, am I doing it wrong?
#
sknebel
but it appears to be a bit of a habit for some people
#
lagash
what if you're squatting though? :P
#
[KevinMarks]
Yeah I have too many
#
[KevinMarks]
Maybe I'll have a clear out
#
[KevinMarks]
I should do something with decentralized.wtf
beler and [aciccarello] joined the channel
#
[aciccarello]
Is there any sort of common config format for static sites? I my case, I'm defining the directory, slug, collection structure for my site builder (11ty), netlify cms, and now my micropub server. I'm looking into inferring the config from the netlify cms config file but now I'm wondering if there's a better option.
#
[aciccarello]
I think part of the issue is that 11ty is super flexible, but doesn't have the same conventions that some other SSGs have.
#
[aciccarello]
I doubt any kind of common config would work for all use cases but even some subset could be helpful in the way an .editorconfig file is.
#
[aciccarello]
Now I'm thinking about how to simplify my site's config... 🤔
#
[aciccarello]
Also, do people tag posts with the post kind?
#
e-snail
I categorize based on post kind, and tags are related to content
#
[schmarty]
KevinMarks: you could set up decentralized.wtf as a rotating redirector to sites like web3isgoinggreat.com 😂
#
e-snail
but I've only got two post kinds: posts and notes :P
#
[aciccarello]
I started showing the post kind visually as a tag in some places so it's easy to tell what is a recipe vs an article etc. in my feed. It would make some of my config simpler if it was an actual tag but I don't want to make that change purely for that reason.
#
beler
hi everyone, I want to dig deeper into the protocols and mechanisms used by indieweb, can anyone recommend me something?
#
[aciccarello]
> It is a truth universally acknowledged, that any programming language in possession of Arrays must be in want of an APL implementation.
#
[tantek]
hi beler, I recommend starting with what problems you're trying to solve for yourself on your personal website! depending on which problem(s) you want to solve, there are different protocols etc.
#
[aciccarello]
But I'd second figuring out what problems you're trying to solve
#
[aciccarello]
For me, I wanted to have the canonical version of my content hosted from my site without relying on social media, medium, or another silo. So I started working on building the kinds of content I wanted to post into my site (blogs, recipes, photos...)
#
[aciccarello]
Now I'm getting interested in micropub to be able to interact with content using different apps
#
beler
@tantek thx
adstew, adstew1, cybi, chenghiz_, jacky, Guest6 and alex11 joined the channel
#
jacky
[tantek]: having local accounts in OwnCast!
[fluffy] joined the channel
#
jacky
progress from last night's hacking https://imgur.com/zw12jGN
#
jacky
this is /Lighthouse showing the status of Webmention endpoints showing up on pages defined by the user (like on a post page, on their homepage and on their about page)
#
jacky
gotta fix the UI there a bit
#
jacky
but it works! lol
#
jacky
I don't know how often to poll so I've just set it to once every six hours for now
#
jacky
four to six hours (it randomly chooses between 4 and 6)
lagash and cybi joined the channel
#
[schmarty]
jacky: this is a webmention endpoint polling to verify that it is listed as a link rel=webmention on a set of pages that you define?
jeremycherfas joined the channel
#
jacky
yup (and it'll work for websub and microsub)
#
jacky
i figured defining of pages would be good b/c some pages may not need to have such an endpoint
#
jacky
(and in the future, I'd look for the _absence_ of it to help with that)
#
[schmarty]
this is a pretty interesting approach! when receiving webmentions, does the endpoint check that it is actually listed on the target page?
#
jacky
it should - the most recent targets will show up to the left under "associated resources" (it's generic b/c this will show up for websub so I wanted to show feed updates as well)
#
jacky
ideally - this would even allow for 'testing' if it works from the same page in 'real time' (all long polling for now)
#
jacky
so no more "testing webmentions" on twitter lol
#
[schmarty]
haha what a time to be alive
#
jacky
I could try to emulate how webmention-based syndication works in this but tbh I'd want that to be in a separate tool that's like an extension of https://webmention.rocks (kinda like what angelo's doing with https://indieweb.rocks and showing how the specs can work together)
gRegor and cybi joined the channel
#
[KevinMarks]
Hm, that's a bit more constraining. I can imagine opportunistically sending webmentions to a common service to construct a link graph
#
jacky
I _think_ I understand what you're getting at
#
jacky
like instead of just syndication flows, parsing out the context and maybe showing what _could_ happen with a Webmention?
#
jacky
like if the target's linked as a u-syndication, then it's possibly an attempt to syndicate
#
jacky
or if it's a u-like-of then it's being liked
#
jacky
etc etc?
Seirdy joined the channel
#
[KevinMarks]
When I made mention.tech it will verify the webmention is valid itself, and call the webmention service linked from the target. So if I send via it I can later discover webmentions even if the targets did not have endpoints
[snarfed] joined the channel
#
jacky
I still don't think I follow - so like if you received a Webmention, you'd attempt to re-receive it to find more incoming Webmentions?
cybi joined the channel
#
jacky
I guess I'm not understand why there's a call to the webmention service that's being advertised by the target
#
jacky
like does that happen when mention.tech _receives_ a Webmention or on the attempt of sending one (leaning on the target's endpoint if it's present instead of sending it yourself)
#
[KevinMarks]
It has a form/endpoint to send webmentions. That both verifies and caches the wm info and passes it through of the target has its own wm endpoint
cybi joined the channel
#
adstew
so i'm trying to set up bridgy, but it only wants to publish the title of my post, is there a way to get it to publish the content too (at least up to the character limit)?
#
adstew
i'm assuming i'm missing a tag somewhere but i can't figure out what it is
#
jacky
do you have a link of what you're trying to send?
#
gRegor
Huh, hadn't seen a timer on Wayback Machine save page like this before "The capture is estimated to start in 33 minutes. You may close your browser window and the page will still be saved.
#
gRegor
adstew, Bridgy publish to Twitter? If the post has `p-name` microformat (an /article), Bridgy will only publish that https://brid.gy/about#microformats
#
jacky
sees more motivation for the mf2 linter
#
gRegor
The mf2 is probably correct
#
jacky
ah then more like ptd hints
#
adstew
ah that's it, i used p-summary correctly but p-name is taking priority
#
adstew
thanks!
#
gRegor
If it's a /note you probably don't want a `p-name` property, https://indieweb.org/note#How_to_publish
#
gRegor
For those Bridgy should publish the content
#
adstew
yup that worked, thanks!
jacky and cybi joined the channel
#
[tantek]
oh no [benatwork] it looks like something broke with your reply-context handling on your site! (HTML is being overescaped https://werd.io/view/51c921fcbed7de745b274ae6 )
[benatwork] joined the channel
#
[benatwork]
Oh yuck
#
[benatwork]
Thanks for the heads up
#
[benatwork]
I think I know what happened
#
@RobertHaisfield
↩️ It's weird because I feel as though I'm not asking for huge things? Comments and webmentions are easy to add to Jekyll or Gatsby themes (I've heard) and I've seen aliases implemented. https://twitter.com/phonetonote/status/1509970704997011463?s=20&t=fABdntQXy6Je-PE71GtLmQ
(twitter.com/_/status/1510014375108689921)
#
gRegor
aaronpk, you mean testing signing into your owncast chat? I can
tetov-irc joined the channel
#
aaronpk
testing owncast against various indieauth clients and servers yeah
cybi joined the channel
#
aaronpk
i need to deploy that ona test instance of owncast myself tho
jacky joined the channel
#
jacky
this explains in a indirect way why I've opted for sqlite for my database for my site
#
jacky
and glad that someone bigger is using it for prod cases (as I will when I get to a hostable situation)
Pharalia joined the channel