#ancardaShould I always use an HTML parser to find <a> links? I was thinking of using XRay so I can see if it's a comment, like, or bookmark of a page on my website
#ancardaAlso, one thing I'm not sure of -- if I get a WebMention for a page and I go looking for that URL only to find it *does not exist*, should I delete the like/comment on my website?
#aaronpkoh tricky, I guess I should have made that test use in-reply-to markup
#aaronpkbut the answer to your first question is: it's up to you, heh
#aaronpkif you want to accept webmentions from sites that may not be using microformats markup, then you'll need to use an HTML parser to check for <a> tags
#aaronpkbut if you only care about webmentions from pages that use microformats (so that you can show something nicer than just the link) then you can use XRay and just know that you'll be dropping webmentions on the floor if they don't have microformats
#aaronpkI just updated webmention.rocks to add in-reply-to so you'll see your URL in xray now
#ancardaSo my general plan is to look (using XRay) for proper IndieWeb content, then if nothing is found, use an HTML parser to look for an <a/img> that links to me. If there's IndieWeb content, I can show the display picture along with the name and some details
#ancardaBy the way, your blog has a textbox & button to submit a WebMention. Does that just drop a URL into your queue to be processed as if it were submitted? Is that a useful thing to also have (it's very easy to make, just write a JSON file out to be picked up by the cron job)
#aaronpkyeah it's actually an HTML form that posts directly to my webmention endpoint
#aaronpkso basically it makes your browser send a webmention
#aaronpkyou'll notice the same source and target fields on that form
#ancardaMy endpoint is passing all the tests for https://webmention.rocks/receive/2 but it only checked a handful. The homepage has a ton of tests for sending WebMentions, but not as many if you are receiving. Do you know if there's more tests I can run?
#GWGdansup: Where are the photos stored? On the Pixelfed site or can they be stored on your own site?
#dansupGWG: you can host your own instance, its powered by ActivityPub
#GWGdansup: I understand that. But, I like to post photos on my own website. Can I share those photos with Pixelfed?
#dansupGWG: if you support ActivityPub, than anyone can follow you as if you were on the same site! They could send comments and likes to your ActivityPub inbox
#GWGdansup: I don't currently. I support webmention though. Have you considered supporting that?
#@colelyman↩️ That did the trick!! Thank you so much. PS I just got webmentions working (which I based off of your implementation), when I write up my post on my site I will send you a webmention ;) (twitter.com/_/status/1003153534848602112)
#ZegnatBecause licit.li is a little special, and will not work at the best of times
#ZegnatXRay will also transform mf2 data into jf2. I am not sure author cards ever include more info than what you are seeing there. (see https://www.w3.org/TR/jf2/#author)
#ancardaHaha, there's some hidden data like job title that I figured may be useful if someone is parsing the page to show a card or something
#ZegnatJob title shows correctly in the PHP mf2 parser, so you are good there.
#ancardaIf I ever get a suffix (BSc, MSc, Ph.d.), oh I will show that everywhere
#ZegnatI am guessing XRay’s normalisation just doesn’t include it because it isn’t general enough. (XRay is especially nice for things like Webmentions *because* it normalises a lot of stuff.)
#ancardaWell, I was hoping to use pronoun for when I get a WebMention (it should send me a push notification describing the mention), but I could always word the string to avoid that
#ZegnatOoh, that is an interesting usecase! That might be worth taking up either on the jf2 spec for author objects, or in an XRay issue
#ancardaLike "Martijn liked your post on vanderven.se/martijn" rather than "Martijn liked your post on his website"
#ancarda... Now that I think about it, you're almost certainly going to use licit.li, which is the weird HTTP/2 only setup ...
#ZegnatSolution: host XRay yourself and run up-to-date curl? ;)
#ancardaYeah I could do that (I was going to host myself anyway)
#ancardaAs for curl, I have whatever is current in Ubuntu Server right now
#ancardaWell, I'm not sure if you saw last night's posts (~3 AM) -- I can now accept WebMentions! They just get logged for the time being but I have half a cron job that can process them
#ancardaYou'll surely be liking all my posts, so I do need to have working curl to your website
#ZegnatAs soon as I figure out where I wanna go with my blog, yes. So you’ll be safe for another few months :P
#ancardaWell anyway, my plans for today are to add XRay to my WebMention cron job, so I can start adding replies, likes, etc... on posts on my website
#ancardaThat'll be a bit tricky with my CSP header, so I might need to proxy display pictures
#ancardaOh the other reason I can't use XRay is I want to get the given name (if available) for the notification, not just the fullname and I'm not just doing a substring by first space, as that won't always work; on my own website that'll just return "Mr."
#ancardaI could have some horribly broken logic that assumes [Martijn, van, der, Ven] is given-name, middle-name1, middle-name2, family name. "Mr. Ven" would be completely wrong
#[kevinmarks]If the given name isn't explicitly marked up, I would not suggest trying to guess what it is. You'll end up annoying people or forcing them into a US English mould.
#Loqi[indieweb] php-mf2: php-mf2 is a pure, generic microformats-2 parser for PHP. It makes HTML as easy to consume as JSON.
#ancarda[kevinmarks]: Yeah, I was always going to fallback to full name if there's no given name
#ancardaMuch like with pronoun, if I can't find one I recognize on the page, I'd just word the notification differently so it avoids using a pronoun at all
#ZegnatI am surprised by the amount of people who have been referring to me by my fullname. I think jeremycherfas did. And in some of jgmac1106’s posts he also refers to me as “Martijn van der Ven”. I find that really odd looking in prose.
#ancardaOh no, I rewrote my whole website last night ... I went to go modify something, found I had *lost the source code* and only had the binary on my server, so I rewrote my website in PHP
#ancardaIt's now on GitHub so I won't lose it again
#ZegnatThe most important property on my h-card is of course `pottermore-hogwards-house`. So you know which house gets my karma points.
#ancardaWell it's not showing up in mf2, so even that isn't aware of `p-pottermore-hogwards-house` -- although that might want to be `p-pottermore-hogwarts-house`
#ZegnatI misspelled hogwarts?! How did this happen
#ancardaI got sorted into Hufflepuff. My patronus is a Black Stallion Horse, if I remember correctly
#ZegnatI got some type of dog. Which means the test is broken, because it is impossible to create a dog out of my happy memories. I am more phobic of dogs than of any other animal I have met.
#Zegnatfixed the Hogwarts spelling mistake. Oof, that was embarrassing. Thanks ancarda
#ZegnatThat would probably be the right move, yeah
#ancardaSo I was thinking of adding this feature where you can hover over URLs on my website, and if they aren't relative or otherwise link to markdain.net, show a small card with information scraped from the `h-card`
#ancardaTrying to fight off the temptation to make it show the house shield and color scheme
#ancardaSo your card would be green, and have like, snakes and stuff around it
#ZegnatThat would be a really fun little easter egg
#ZegnatI feel like [kevinmarks] did some work on (hover) cards?
#sknebelthat's an interesting use for a nickname cache
#ancardaYeah, I'm not sure what to put on the card
#ZegnatYou can look at the Github and Facebook cards for inspiration I guess
#ancardaWell the GitHub card has "Follow", but I'm not sure that can be done. I thought about displaying some contact information, scraped from the `h-card`
#[kevinmarks]I did that with my notes and unmung making the cards, but my hover css isn't great
#ancardaCan you show me an example? I tried to find one on your website
#[kevinmarks]Also, unmung can be a bit slow at parsing them all.
#ancardaI have a design in Sketch, problem is I'm awful at CSS, so I don't know how to build it :(
#[kevinmarks]My example isn't great cos I was trying to be too clever about sizes. If you pick a fixed size for the hovercard, then you can use flex box or grid easily
#ZegnatI was playing with CSS grids yesterday, trying to line stuff up nicely for a little experiment. It does work well on an intuitive level once you understand you start thinking in grid lines rather than columns/rows
#ZegnatNot that turning on images changes a whole lot. They just push the names a little and sit at the top left of the cards
#ZegnatYou could give the IMG elements a width/height so even if they are blocked (or do not load because of other reasons) the browser still reserves the space.
#ancardaI have `X-Frame-Options: DENY` on my website, would that break this?
#ancardaHmm, `Mf2\fetch` is returning NULL for every URL I give it, and returning fast enough I suspect it's not making a network connection. Are there any requirements for `fetch`?
raucao joined the channel
#ancardaHuh, `curl_error` is giving me "<url> malformed" o_O
#ancardaOh wait, I'm just an idiot. Ignore me (I am literally setting $url = null a few lines down)
#aaronpkYoi can remove the url and name classes entirely
#sknebeleither do <a class="h-card" href="https://indieweb.org/User:Aaronparecki.com">Aaron Parecki</a> and let the implied value rules work it out
#sknebelor do <span class="h-card"><a class="u-url p-name" href="https://indieweb.org/User:Aaronparecki.com">Aaron Parecki</a></span>
#jgmac1106okay, thx all. Wwe should include directions on how to include an h-card to somebody else somehere on the h-card wiki page
#aaronpkYou're probably right, tho there isn't really a difference between someone else's h-card and your own. What matters is whether you want the h-card showing up as a Microformats property of the h-entry, and what property that is
#jgmac1106I just figured I wanted to link to your online business card
#sknebeldid you find an example like <a class="h-card u-url p-name" href="https://indieweb.org/User:Aaronparecki.com">Aaron Parecki</a> anywhere for an h-card?
#sknebelproperties of an object can not be on the same element as the h-* for the object
#aaronpkright. the reason you see class="u-author h-card" is because in that case it's saying that the "author" property of the parent object is the h-card
#aaronpkalso that's the reason I prefer writing the class names in that order (vs "h-card u-author") even though that's not required.
#jgmac1106Would the best recommendation be NOT to include h-card for other people within an -h-entry or to do either do <a class="h-card" href="https://indieweb.org/User:Aaronparecki.com">Aaron Parecki</a> or <span class="h-card"><a class="u-url p-name" href="https://indieweb.org/User:Aaronparecki.com">Aaron Parecki</a></span>?
#aaronpkafaik nothing will consume the embedded h-card right now, but there's no harm in including it
#aaronpkI would use the minimal version of those two
#aaronpkI say "consumers" when I talk about tools that consume the result of the parser
#sknebeland the example isn't any different for an embedded h-card vs a non-embedded one, so I think a "special" example for that could confuse people searching for a difference
#jgmac1106okay will delete it but I think people will want an answer to the question, ”Do I just link to soemone or is better to include their h-card?”
loicm joined the channel
#sknebel "If you refer to somebody in an article, you can mark up their name and a link to their homepage with a small h-card like above. See also [[person-tag]] for when you explicitly tag them in a post." or something along those lines?
#[grantcodes]Data lists are awesome and have been around for a while! Great for basic autocomplete functionality as long as you don't need rest requests
#[grantcodes]The other way underused html tag is the details tag
#jgmac1106that would be cool [kevinmarks] often I don’t know someone’s twitter handle and have to ask. Though people would need their Twitter url in an hcard )Goes to add add Twitter to h-card)
#GWGHas anyone looked at the changes to Google Maps, by the way? It and that post about private map servers made me think about what I am supporting
#ZegnatI use <details> for D&D stuff all the time. When I quote lengthy rule book stuff, I put it in there so it is only on screen when I need the exact rule.
jjuran joined the channel
#Zegnat(Or for my DM to read to confirm that some crazy thing is actually per rules.)
#ancardaWell, this is where I am so far with my cards adventure: https://markdain.net/img/cards-dev1.png -- this is powered by scraping all websites I link to looking for h-cards (nightly cron job). The one thing I haven't got working is the actual `<div>` positioning and having it show when you hover. I don't know enough CSS and JavaScript to figure that out :(
#ancardaI moved that manually in the inspector so I could take that screenshot. Everything else is real though
#[kevinmarks]Semantically, yes. Wouldn't help with positioning
#ZegnatProbably set the position of the card to display:none;position:absolute; by default. Then bind a mouseover event on your page. Whenever someones cursor goes over an a-tag for which you have a card take the cursor coordinates (attached in the mouse event) and position the card accordingly.
#ancardaI think I can just do `position: absolute` and use JavaScript to figure out the top/left values, but I couldn't get the logic working with mouseover/mouseleave, etc..
#ZegnatThat wont get it to work in all sorts of edgecases (window borders, scrolling without moving cursor, etc) but would be a good start.
#ancardaYeah, exactly that Zegnat. I might try writing that again
#ancardaThe tricky bit is I need it to remain visible if you move your cursor away for a second -- you might be moving up to the card to click on links
#ZegnatI am happy to have a look if you get stuck on it, ancarda. Though if you want all window border collision checks etc, probably best to do what aaronpk said and look for a lib
#KartikPrabhuwikipedia does mouseover summaries for articles. could look at that
#ancardaThat's a good point, I forgot about that. Thanks KartikPrabhu
#ancardaI was going to have a third item "Local Time" which showed up if there was a country (and in some cases state/city) but I don't want to get into that yet
#ancardaZegnat: I like how you have, literally everything, except a bio in your profile. My cards support that feature (`p-note`), so if you had one, it would show under your name in gray italic text
#ZegnatI wouldn’t know what to have as a bio. Or where to fit it on my page.
#LoqiIt looks like we don't have a page for "invisible data" yet. Would you like to create it? (Or just say "invisible data is ____", a sentence describing the term)
#LoqiIt looks like we don't have a page for "hidden data" yet. Would you like to create it? (Or just say "hidden data is ____", a sentence describing the term)
#ancardaI'm not sure it's an actual term, KartikPrabhu. I just have stuff on my page like `<p class="p-job-title">Software Engineer</p>` in my `h-card`
#Zegnatancarda, hidden data is an anti-pattern specifically because out-of-sight-out-of-mind. I think KartikPrabhu was just trying to find out *where* that was documented
#ancardaSo `<span class="p-honorific-prefix" hidden>Mr.</span>` won't be seen by people, but can be seen by parsers. I am tempted to move it out of my name though, because my card shows up as "Mr. Mark Dain" which just reads weirdly
#LoqiIt looks like we don't have a page for "invisible data" yet. Would you like to create it? (Or just say "invisible data is ____", a sentence describing the term)
#aaronpktelegraph now uses indielogin.com to log in!
#ZegnatDidn’t Telegraph do only IndieAuth by itself? Or did it send people to indieauth.com when it didn’t find any authorization endpoints?
#aaronpkit sent people to indieauth.com if it didn't find an auth endpoint
#aaronpkhowever, I realized that there was a lot of logic I implemented in indielogin.com around profile URL canonicalization and redirect handling that wasn't in Telegraph's native IndieAuth implementation
#aaronpkso indielogin.com is a better implementation of the IndieAuth spec than Telegraph was
#GWGaaronpk, how far is indielogin from completion?
#aaronpkit supports all the same authentication mechanisms as indieauth.com now
#aaronpknext I want to add logging/reporting so I have stats on which apps are using it and which authentication mechanisms are used
#aaronpkthe main reason I want some sort of registration step is to make it clear to developers using indielogin.com that they are the one that has the relationship with the service, not their end users
#aaronpkwhich means we don't want the wordpress user to see that registration step at all
#aaronpkthe client_id is just the identifier of the software
#aaronpkI mean using indielogin.com at all defeats the purpose of self-hosting since you're relying on an external service to log in to your own wordpress
#GWGaaronpk, I never thought so many people would want that after the endpoint was built
#aaronpkI guess people really don't like passwords
#aaronpkalso the fact that the indielogin.com API looks like IndieAuth/OAuth is just coincidental, it doesn't actually need to be because it's totally its own service, not trying to be a standard
#[kevinmarks]Indielogin redirecting me to indieauth.com because I delegated openid there threw me.
#aaronpkonly cause you were expecting to see indielogin.com
#aaronpkin many cases, you won't even see indielogin.com when you're logging in
#GWGaaronpk, if you tell me the workflow for registration I will integrate it
KartikPrabhu joined the channel
#aaronpkwow, indielogin.com works with the wiki first try
#www.boffosocko.comedited /why (+252) "/* Identity loss */ Link to Motherboard article: Twitter Is Banning Anyone Whose Date of Birth Says They Joined Before They Were 13" (view diff)
#ancardaI already found a few issues around it sort-of blocking you from selecting & copying text. I might be able to have a negative z-index until you hover, then set to positive when you hover
#ancardaZegnat: If you do add a bio, it should appear on that card within 24 hours
#ancardaI haven't really figured out deletions. If I go to scrape a URL that's returning 404 or 410 gone, I might go delete the card and picture I had saved
#ancardaI'm not sure how best to handle that situation
#sknebelmaybe wait for a while, because of temporary outages, but sounds like a plan
#sknebelor flag it for review somehow, so you can decide what's best
#jgmac1106skenbel how would be best to descrbe it. I say add your rel=“me” links because this makes the indieauth function. When you sign on to a hird party client, like an Adroid App, with your domain you will then be able to validate with yoru WordPress credentials or your Microsoft….I mean GitHub credentials
#Zegnatjgmac1106, the problem is that the IndieAuth authentication protocol has exactly nothing to do with rel="me" links.
#LoqiWeb sign-in is signing in to websites using your personal web address (without having to use your e-mail address) https://indieweb.org/Web_sign-in
#jgmac1106yes but in terms of explaining people how to use the IndieAuth plugin for Wordpress and given the audience doesn’t care about protocols I don’t know a better way to describe it.
#aaronpkso it's technically OAuth 2.0, plus a few things
#aaronpkyou should be able to copy the github example and make a few minor changes and swap that out with indielogin.com very easily
#aaronpkif you want to support indieauth natively, you'd need to do a little more work because you have to ask the user to enter their website first, before you know where to send them to authenticate
#Loqi[IndieWebCamp WordPress Outreach Club] Description
The plugin turns WordPress into an IndieAuth endpoint. This can be used to act as an authentication
mechanism for WordPress and its REST API, as well as an identity mechanism for other sites.
Alternatively, you can use a third-party Ind...
#aaronpki've tried to do a bunch of tests on it but you never know
#aaronpkI *could* stash stuff in the OAuth state parameter instead of using the session for that
#aaronpkmaybe I should just switch the wiki login over to this right now, to force more people to test it for me ;-)
#ZegnatDon’t know if the one session cookie matters outside of privacy purists aaronpk ;)
#aaronpkthe other benefit of not using sessions is it ends up working better with the back button and multiple tabs
#ZegnatThe login as other user link feels a bit weird aaronpk
#ZegnatI go to pin13 login again, I enter my domain. Because indielogin knows I am already authenticated, it does not send me to my endpoint. But it does give me a link to login as a different user. Clicking that link sends me to the indielogin homepage, rather than back to the pin13 login page
#sknebelaaronpk: so is the plan for the replacement of the authorization_endpoint-as-a-service aspect to use indielogin, or do something else? Or am I misremembering things?
#aaronparecki.comedited /IndieAuth (+1106) "/* How to */ update how-to to clarify this is not rel-me-auth. content ported from Zegnat's wiki page" (view diff)
#ZegnatAlso: Loqi recognises injustice. You can’t -- me for an ugly URL when you have written the plugin that generated that user page URL in the first place ;)
#sknebeland maybe mention the authorization part more explicitly early on on IndieAuth. it somehow suddenly appears in the protocol description, and only a very vague reference to Micropub before