#dev 2016-08-15

2016-08-15 UTC
#
miklb.com
edited /User:Miklb.com (+500) "/* Itches */ Programmatically add u-syndication links"
(view diff)
#
miklb.com
edited /User:Miklb.com (+61) "/* Indie web setup */ Add link to Micropub/GH repo"
(view diff)
doesntgolf and KevinMarks joined the channel
KevinMarks_, KevinMarks, mindB2, cmal and singpolyma joined the channel
#
petermolnar
so, Grav: I think they are too generous with cache invalidation
#
petermolnar
a change in a page should not trigger a total cache invalidation
#
petermolnar
especially not for those taxonomies which are unrelated
#
petermolnar
and they should for sure not touch the resized image cache in a content modification, that is nuts
#
cmal
yeah there's a lot of optimization to do there
#
bear
cmal - I'm an XMPP person also so let me know if you have any questions
#
cmal
cool, thanks bear :)
#
cmal
are you by any chance involved in MOVIM / Salut á Toi ? (or any other social-XMPP platform)
#
bear
you should also take a look at stanza.io - it is a web friendly interface to XMPP
#
cmal
bear++
#
Loqi
bear has 158 karma (2 in this channel)
#
bear
I am on the XSF Board so technically I'm involved in all of them
#
Loqi
totally
#
cmal
well then you might be interested in a new XEP a comrade just drafted, regarding e2e encryption
#
bear
yep, I follow Link's work very closely
#
petermolnar
movim - I'm not touching that again
#
cmal
is it really that terrible? :P
#
cmal
(it's been making huge progress in the past two years)
#
petermolnar
I tried to try out a variety of XMPP based things, each of them is a special hell
#
petermolnar
same goes for buddycloud
#
bear
all XMPP clients are very opinionated, yes (how I like to read "each of them is a special hell" ;)
#
cmal
I haven't tried XMPP social-networking lately, but last time I tried it was working well, even in between different clients (MOVIM <--> Salut á Toi)
#
voxpelli
regarding the CMS thing, I think I decided to ditch my CMS approach as I'm more and more moving to a more micro-service approach like this: https://dl.dropboxusercontent.com/u/304233/microservices.jpg
#
voxpelli
both in small scale with my Jekyll site and at larger scale at my day job
#
petermolnar
voxpelli I've reached a somewhat similar conclusion, but I'm panning to go more static and microservices as transmitters
#
aaronpk
my site is a weird combination of that
#
voxpelli
it's net to be able to focus the work on a single part and moving ahead one reinvented piece at a time
#
aaronpk
the content is files on disk, but the site is still generated dynamically. but most of the other work is done by totally separate services.
#
voxpelli
s/net/neat/
#
cmal
voxpelli: a microservice architecture only makes sense :)
#
voxpelli
aaronpk: sounds fairly decoupled then anyhow – it's the decoupledness rather than the staticness that I'm looking for
#
voxpelli
my day job is certainly not static (rather than generating files, everything is fetched through a GraphQL API instead)
ChrisAldrich joined the channel
#
voxpelli
cmal: hard to make a proper CMS with microservices as a CMS should almost per definition do it all :)
#
aaronpk
the services my site uses are: webmention sending, webmention receiving, map generation, timezone lookup, GPS and weather logs, avatar caching, and a pubsubhubbub hub
#
voxpelli
aaronpk: do you do all editing through micropub or do you have a built in editor as well?
#
aaronpk
I create almost all my posts via micropub apps
#
cmal
voxpelli: when I say CMS I don't necessarily mean a centralized thingie doing everything, I mean "content managing system" as in something articulating other things so you can actually publish and read stuff :)
#
aaronpk
I have a built-in micropub editor that edits tags, date, and syndication URLs
#
aaronpk
other than that I edit the files directly
#
voxpelli
Even WordPress is kind of moving to where they have client, datastore and rendering be three separate things. They have a node.js based editor and many build their sites on top of wordpress data API:s rather than WordPress themes
#
voxpelli
but then no single projects is really the CMS, it will likely be a different setup for each and everyone that sets up a project
#
petermolnar
voxpelli I'm trying to move away from WordPress, also step by step; which means I'm first fixing the theme by making it (properly) twig based, removing all the WP funk from it; meanwhile moving the webmention endpoint to a service of it's own
#
petermolnar
if the theme is fixed, I can - temporarily - turn WP into a static generator :D
#
miklb
someone should build an IndieWeb app for https://a-k-apart.com
#
voxpelli
petermolnar: you're not doing that through their API then? you're doing it with the theme?
#
petermolnar
fair question; right now, using the API would only add complexity
#
petermolnar
since I'm using wp-cli, I can set up a wp cron which I can execute from the command line
#
petermolnar
which, for now, is enough, since I want to get away from WP
#
voxpelli
miklb: "a compelling web experience" – that was a very specific task ;)
#
petermolnar
I've reached the point of disagreeing with too many of their decisions
#
GWG
petermolnar, I am interested in the service for Webmentions. That was an idea I had.
#
voxpelli
wonders if one could build a static page generator on top of Micropub
#
petermolnar
voxpelli I think we're reaching for the same goal :)
#
cmal
that's my goal as well with my current experiments ^^
#
voxpelli
pretty happy with how my Jekyll setup has turned out :)
#
voxpelli
so no intention on generating from something else than that right now
#
voxpelli
has too many indieweb things to do already
#
GWG
I have been stalled for a week now.
#
petermolnar
GWG the best setup would probably be: 1, a pubsub server, which then scrapes the content and sends all the required mentions; 2, a pluggable "forwarder" which would store/forward incoming mentions; in my case, this latter will most probably be webmention -> email
#
cmal
regarding 10k-apart, that's a really good idea
#
voxpelli
I have a webmention endpoint one can use, as do aaronpk – and aaronpk along with some other people have services for sending webmentions as well, think aaronpk's uses PuSH-based feeds
#
GWG
My interest is purely having the webmention endpoint be a service that interfaces with WordPress.
#
voxpelli
GWG: interfaces how?
#
GWG
voxpelli, handling the asynchronous verification mostly.
#
voxpelli
GWG: my endpoint does that, how could it be made so that you could make use of it?
#
GWG
I am not ready to explore that yet.
#
aaronpk
the way mine works with my site is webmention.io does all the verification, then sends a POST request to my site with the verified and extracted comment text
#
voxpelli
I have eg. been thinking that it could maybe post the received comment over Micropub somewhere
#
GWG
aaronpk: That is the sort of thing I wanted to write, except as a local script.
#
voxpelli
aaronpk: considered doing it over Micropub instead? The problem I see with that is that comments are no h-* level objects
#
voxpelli
but that's a general problem with u-comment
#
GWG
But considering people's concern with pingbacks on WordPress, if I could write something that interfaced to webmention.io or other handlers, I probably would write it as an optional extension to the existing plugin.
#
voxpelli
easiest (and currently only) way with my endpoint is to just embed it straight from my site
#
GWG
I don't want to embed. I want the data to be stored on the site, not only in the handler, to make switching seamless.
#
voxpelli
regarding u-comment issue, in the u-responses pages I added to make my comments curlable I therefore had to add the comments as top-level h-entries instead, but hard for micropub endpoint to know whether a h-entry is a received comment or a new post if one would push them both in as entries :P
#
aaronpk
voxpelli: the payload that it sends ends up looking similar to micropub
#
GWG
But much as I've thoguht about it, we're not at that point.
#
voxpelli
aaronpk: cool, would like to add that to my endpoint as well and would be great if we could use the same API
#
GWG
aaronpk: Is that published anywhere if someone other than you wanted to use it?
#
GWG
I'd like to see details as well.
#
voxpelli
GWG: would make sense to base it on real Micropub if it's similar anyhow
#
GWG
voxpelli, I thought it might be based on php comment
#
petermolnar
is there something like pubsub for MF2?
#
cmal
I think someone mentioned pubsubhubhub the other day
#
cmal
what is pubsubhubhub
#
Loqi
It looks like we don't have a page for "pubsubhubhub" yet. Would you like to create it?
#
cmal
(or maybe I'm spelling it all wrong :D)
#
petermolnar
Loqi Y U NO lowecaseall?
#
petermolnar
s/lowecase/lowercase
#
cmal
Loqi Y U NO be nice?
#
cmal
aaronpk++
#
Loqi
aaronpk has 1092 karma (9 in this channel)
#
aaronpk
huh i thought i documented it in the readme or on webmention.io but it's not there
#
aaronpk
well it's based off an early version of jf2
#
voxpelli
petermolnar: pubsubhubbub is the way to go with mf2, lots of us already support it
#
voxpelli
(that's with a double B and no extra h in hubbub :) )
#
voxpelli
aaronpk: interested in moving it to Micropub?
#
aaronpk
the only change is really s/type/h
#
petermolnar
voxpelli do you know of any examples I could use as a starting point to hack my own solution?
#
aaronpk
oh and the content type would be different
#
voxpelli
what is PubSubHubbub?
#
Loqi
PubSubHubbub (PuSH) is a notification-based protocol for publishing and subscribing to streams and legacy feed files in real time https://indieweb.org/PubSubHubbub
#
aaronpk
content[html]=blah instead of content[value]=blah&content[content-type]=html
#
voxpelli
aaronpk: cool, I'll open an issue about it in my endpoint repo
#
aaronpk
the other unusual difference from micropub is that this request includes author information, whereas normally micropub requests don't
#
miklb
voxpelli am I following, you are thinking about adding webentions as micropub posts?
#
aaronpk
oh, I forgot that the comment text is actually nested inside an object in the payload too
#
aaronpk
aha, i did document it, but you can only see it after you log in
#
voxpelli
miklb: yes
#
aaronpk
this is what it sends right now, as JSON
#
voxpelli
miklb: so that those who don't want to rely on javascript or such can get them easily anyhow
#
voxpelli
I will still use the javascript embed for my site
#
aaronpk
i'm not sure where `source` and `target` would live if this turned into a micropub post
#
miklb
neat. The reason I switched as more because the jekyll plugin I use for webmention.io creates a cache file so I have a static backup of the mentions. That would solve that even better. Was thinking about that possibility when I saw this https://github.com/eduardoboucas/staticman
#
voxpelli
source = url param? target = hmm, was thinking in_reply_to, but that only matches a single interaction of course :/
#
aaronpk
source != url
#
aaronpk
for example, bridgy's source URLs are on brid.gy, but the URL reported in the HTML is twitter.com
#
voxpelli
miklb: not sure I'll go as far as creating PR:s though ;) could be a neat extension for someone to make for the micropub endpoint though
#
voxpelli
aaronpk: true
#
voxpelli
aaronpk: mp-webmention-source ?
#
aaronpk
the target URL is always going to be somewhere else in the payload too, but it's easier to handle if you always have it in the same place in the request
#
voxpelli
or, hmm
#
voxpelli
we have discussed the use for discovering the source URL of a comment anyhow, right? for eg. salmention purposes?
#
voxpelli
so maybe an actual mf2 property?
#
aaronpk
oh yeah, can't remember that discussion but it sounds familiar
#
voxpelli
u-source? (the target could perhaps be mp-webmention-target still, as it will be in the data anyhow, but just easier for the endpoint to have it as a clear instruction)
#
voxpelli
the discussion basically was that it's impossible to find the source mf2 of a comment as it will point to twitter in it's u-url rather than Bridgy and thus a Salmention client can't find the true source for any received comment and thus data quality will deteriorate for each step up the lake
#
aaronpk
oh hey i just found a note to myself to make the webmention.io payload able to create posts via micropub in monocle
#
miklb
lol, I guess my IndieWeb pursuits with Jekyll are going to force me to actually learn ruby
#
voxpelli
miklb: I was more thinking of rewriting Jekyll in Node.js ;)
ChrisAldrich joined the channel
#
KevinMarks
Hugo is interesting on that front
#
voxpelli
KevinMarks: indeed, and it's fairly similar to Jekyll in the format of its post, so I would want to look into supporting Hugo in addition to Jekyll for my micropub endpoint
#
petermolnar
Hugo is interesting and their documentation is thorough, but it's Go
#
petermolnar
and it's a little hard to extend it
#
petermolnar
but to be honest, it cought my eye as well
#
aaronpk
It's so nice to not be in the market for a new CMS
#
KevinMarks
I used it for Chris Allen's site, and it is quite flexible, but takes a bit of work to get set up as it doesn't come with default themes
#
KevinMarks
That's lifewithalacrity.github.io
#
voxpelli
to me it doesn't matter that Jekyll is Ruby as I just use it as a tool that I run and with Hugo it matters even less that it's Go as it just gets compiled to an executable
#
voxpelli
if only Hugo could become fully Jekyll compatible, that would be something
#
KevinMarks
Right, that was an attractive part, as installing is easier
#
voxpelli
Installing Ruby is no fun :P
#
miklb
ruby and gem issues come up more on the #jekyll IRC channel than anything else I've seen
#
loqi.me
created /OTR (+125) "prompted by KartikPrabhu and dfn added by jboy"
(view diff)
#
bear
ruby (for me) is so painful now I have been recommending to people that if they want Jekyll to use either the NodeJS version or to use Pelican (a python tool that does the same thing)
#
www.svenknebel.de
edited /OTR (+78) "link, PFS/deniability"
(view diff)
#
aaronpk
Heh. That's how I feel every time I have to touch Python. I've figured out ruby pretty well now to avoid most issues setting it up
#
GWG
Back for a bit
#
voxpelli
bear: there's a node.js version of Jekyll!?
#
voxpelli
tell me more!
#
aaronparecki.com
deleted /OTR "Copyright violation: Please do not copy from Wikipedia"
#
bear
voxpelli there are quite a few of them :) -- https://www.staticgen.com/
#
voxpelli
bear: but are they Jekyll compatible?
#
bear
(yes, that's not all jekyll but it includes them in that list)
#
bear
the one specifically I was referring to is https://www.staticgen.com/heckle
#
jboy.space
created /OTR (+95) "non plagiarized explanation"
(view diff)
#
petermolnar
bear posted it already
#
voxpelli
main problem I've seen so far is that very few, including Hugo, seems to support the Liquid templates and to me Liquid is a very big part of jekyll
#
bear
you can also see a lot with https://www.npmjs.com/browse/keyword/jekyll but it's very noisy
#
petermolnar
careful, Liquid ( and Jinja2 especially ) might be more powerful, than the Go templates
#
petermolnar
and there is also Mustache, which remotely looks similar, but in reality, it's dumb
#
voxpelli
I want to render the exakt same Jekyll site with a different tool – changing no templates at all :/
#
voxpelli
but – that's for another day, I have to run
#
bear
ah - the holy grail of static site tools
gRegorLove joined the channel
#
petermolnar
as far as I understand, Twig, Jinja2 and Liquid are essentially the same
#
petermolnar
they _should_ render the same
#
petermolnar
in theory, of course
#
bear
that's why I like Jinja2 - it's very cross system compatible already
#
sknebel
although there is a trend to use jinja for everything remotely template like...
#
sknebel
I don't know how many hours I've wasted on getting escaping and quotes right in Ansible files...
KevinMarks joined the channel
#
petermolnar
I'm fine with that; we already have too many ways to solve things, let this be at least remotely similar ;)
#
petermolnar
(no, I'm not a Perl believe :D )
KevinMarks joined the channel
#
www.svenknebel.de
edited /OTR (+47) "dfn, link"
(view diff)
#
gregorlove.com
edited /Off-the-Record_Messaging (+50) "switch name/acronym, stub, see also"
(view diff)
KevinMarks_ and ChrisAldrich joined the channel
#
KevinMarks_
Jinja let's you call python functions doesn’t it?
cmal joined the channel
#
petermolnar
jinja2 really shouldn't; I'm not that familiar with jinja
#
sknebel
you can extend it with custom filters etc, but you have to explictly tell the parser about them, you can't run random python
#
bear
the newest version of Jinja2 has a sandbox mode -- http://jinja.pocoo.org/docs/dev/sandbox/
cmal joined the channel
#
KevinMarks_
I have got a bit carried away writing code in Jinja before
#
KevinMarks_
Where doing some of that in python beforehand might make more sense
#
bear
that is part of my refactoring process after I'm happy with a static site's flow -- anything in the templates that could be done as part of the code
#
bear
I try to keep the decisions in the template related to presentation and then perform pre-processing of data to make new collections to enable that
#
KevinMarks_
I had another project where I started using jinja macros, and then a front end guy got involved and managed to turn them into a huge nested set of spaghetti calls
KevinMarks, doesntgolf and mindB joined the channel