I have an in-progress PW3 branch that should work, though I haven’t tested it in a while. If you try it out, please let me know any issues you run into. In the coming months I should be able to get an official release out.
{
"type": "entry",
"published": "2018-04-09 23:03-0700",
"url": "https://gregorlove.com/2018/04/i-have-an-in-progress-pw3/",
"syndication": [
"https://twitter.com/gRegorLove/status/983586453748842496"
],
"in-reply-to": [
"https://twitter.com/thorkon/status/983585164336001024"
],
"content": {
"text": "I have an in-progress PW3 branch that should work, though I haven\u2019t tested it in a while. If you try it out, please let me know any issues you run into. In the coming months I should be able to get an official release out.\n\nhttps://github.com/gRegorLove/ProcessWire-Webmention/tree/master-pw3",
"html": "<p>I have an in-progress PW3 branch that should work, though I haven\u2019t tested it in a while. If you try it out, please let me know any issues you run into. In the coming months I should be able to get an official release out.\n</p>\n<p><a href=\"https://github.com/gRegorLove/ProcessWire-Webmention/tree/master-pw3\">https://github.com/gRegorLove/ProcessWire-Webmention/tree/master-pw3</a></p>"
},
"author": {
"type": "card",
"name": "gRegor Morrill",
"url": "https://gregorlove.com/",
"photo": "https://aperture-media.p3k.io/gregorlove.com/1dfe16005864a9fc9564a3884378cdc89abd66b173ed10bce2ac60ed782dab01.jpg"
},
"refs": {
"https://twitter.com/thorkon/status/983585164336001024": {
"type": "entry",
"url": "https://twitter.com/thorkon/status/983585164336001024",
"content": {
"text": "Dear @gRegorLove - is there any ProcessWire webmentions Modul/Plugin working on the current pw version 3.0.98 ?"
},
"author": {
"type": "card",
"name": "Thorsten",
"url": "http://www.thorsten-konigorski.de/",
"photo": "https://gregorlove.com/site/assets/files/3540/da26db2b13b11c44ea697cf00a37b4c9e42583b0c5597a52e2bf336aa57b768d.jpg"
}
}
},
"_id": "209688",
"_source": "95",
"_is_read": true
}
Yep, microformats are alive and well; used a lot in the #indieweb community. If you’re adding them to new content, I’d recommend checking out microformats2 h-card. Easier markup and parsers are backwards compatible.
{
"type": "entry",
"published": "2018-04-09 14:54-0700",
"url": "https://gregorlove.com/2018/04/yep-microformats-are-alive-and/",
"syndication": [
"https://twitter.com/gRegorLove/status/983464131570360321"
],
"in-reply-to": [
"https://twitter.com/stetsonthree/status/983458703344111617"
],
"content": {
"text": "Yep, microformats are alive and well; used a lot in the #indieweb community. If you\u2019re adding them to new content, I\u2019d recommend checking out microformats2 h-card. Easier markup and parsers are backwards compatible.\n\nhttp://microformats.org/wiki/h-card",
"html": "<p>Yep, microformats are alive and well; used a lot in the #indieweb community. If you\u2019re adding them to new content, I\u2019d recommend checking out microformats2 h-card. Easier markup and parsers are backwards compatible.</p>\n\n<p><a href=\"http://microformats.org/wiki/h-card\">http://microformats.org/wiki/h-card</a></p>"
},
"author": {
"type": "card",
"name": "gRegor Morrill",
"url": "https://gregorlove.com/",
"photo": "https://aperture-media.p3k.io/gregorlove.com/1dfe16005864a9fc9564a3884378cdc89abd66b173ed10bce2ac60ed782dab01.jpg"
},
"refs": {
"https://twitter.com/stetsonthree/status/983458703344111617": {
"type": "entry",
"url": "https://twitter.com/stetsonthree/status/983458703344111617",
"content": {
"text": "In the end I did not go this route. I instead used the hCard microformat. Are people still using microformats? http://microformats.org/wiki/hcard"
},
"author": {
"type": "card",
"name": "Lee Stetson",
"url": "http://stetsonthree.com",
"photo": "https://gregorlove.com/site/assets/files/3540/5778236ce0b78656650a899f4409734bc397b1c54bb2cd8367586f9e0b86be8b.jpg"
}
}
},
"_id": "208755",
"_source": "95",
"_is_read": true
}
I know you have a micro.blog, I have really been enjoying micro.blog and it echoes what you describe here. I use it for 90% of my social net interactions and it’s great! Also, I’ve been using #microsub (https://indieweb.org/Microsub) to emulate feed based networking
{
"type": "entry",
"published": "2018-04-09T10:31:51-04:00",
"summary": "I know you have a micro.blog, I have really been enjoying micro.blog and it echoes what you describe here. I use it for 90% of my social net interactions and it\u2019s great! Also, I\u2019ve been using #microsub (https://indieweb.org/Microsub) to emulate feed based networking",
"url": "https://eddiehinkle.com/2018/04/09/4/reply/",
"category": [
"indieweb",
"microsub"
],
"in-reply-to": [
"https://twitter.com/davidmead/status/983300977745948672"
],
"content": {
"text": "I know you have a micro.blog, I have really been enjoying micro.blog and it echoes what you describe here. I use it for 90% of my social net interactions and it\u2019s great! Also, I\u2019ve been using #microsub (https://indieweb.org/Microsub) to emulate feed based networking",
"html": "<p>I know you have a micro.blog, I have really been enjoying micro.blog and it echoes what you describe here. I use it for 90% of my social net interactions and it\u2019s great! Also, I\u2019ve been using <a href=\"https://eddiehinkle.com/tag/microsub/\">#microsub</a> (https://indieweb.org/Microsub) to emulate feed based networking</p>"
},
"author": {
"type": "card",
"name": "Eddie Hinkle",
"url": "https://eddiehinkle.com/",
"photo": "https://aperture-media.p3k.io/eddiehinkle.com/cf9f85e26d4be531bc908d37f69bff1c50b50b87fd066b254f1332c3553df1a8.jpg"
},
"refs": {
"https://twitter.com/davidmead/status/983300977745948672": {
"type": "entry",
"url": "https://twitter.com/davidmead/status/983300977745948672",
"name": "https://twitter.com/davidmead/status/983300977745948672"
}
},
"_id": "207558",
"_source": "226",
"_is_read": true
}
{
"type": "entry",
"published": "2018-04-09T09:12:03-07:00",
"url": "https://aaronparecki.com/2018/04/09/5/",
"category": [
"micropub",
"indieweb",
"xmlrpc",
"metaweblog"
],
"name": "A MetaWeblog to Micropub Gateway",
"content": {
"text": "I\u2019m always looking for fun and better ways to publish content to my website. There are several nice writing apps now, such as Byword for MacOS, which lets you write in Markdown and then converts it into HTML. Many of these kinds of apps have an option to publish to a Wordpress site, using Wordpress\u2019 XML-RPC interface, which is more or less the MetaWeblog API. \n\nI thought it would be a fun experiment to try to set up my website to handle those XML-RPC calls so that I can use these apps, at least until they support Micropub natively.\n\nProblems with XML-RPC\n\nAs with most XML formats, XML-RPC is ridiculously verbose for what it\u2019s doing. In order to send a single string value, it requires wrapping it in a surprising amount of XML:\n\n<param>\n<value><string>aaronparecki.com</string></value>\n</param>\n\n\nThe MetaWeblog API also requires that you give apps your Wordpress password, which has been a known anti-pattern for a long time. With things like OAuth, we have better ways of authenticating against APIs without sending passwords around.\n\nMicropub Bridge\n\nTo avoid needing to add actual XML-RPC support to my website, I set up a bridge that translates XML-RPC calls to their equivalent Micropub calls. The bridge also obtains an IndieAuth access token so that I can use a token instead of entering my password into these apps.\n\nI didn\u2019t bother adding any styling to the gateway since it\u2019s something you\u2019d only interact with once to set up, so apologies for the ugly screenshots that follow.\n\nHere\u2019s what it looks like to connect Byword to be able to publish to my website.\n\nFirst I visit the gateway and log in.\n\nThat does the IndieAuth discovery and takes me to my website where I grant it access.\n\nThen I\u2019m redirected back to the gateway which provides instructions on what to do next.\n\nThe key to making Byword find the XML-RPC API is adding that EditURI tag to my website. Then I can go into Byword and add a new Wordpress site, entering my domain name.\n\nIt then asks for my username and password, which I enter by copying from the gateway.\n\nThen Byword is all set and thinks it\u2019s talking to a Wordpress site!\n\nNow when I\u2019m ready to publish this post, I click the \u201cPublish\u201d button in Byword, and fill in the title and tags.\n\nOpen Source\n\nIf you\u2019d like to try this out, head to xmlrpc.p3k.io and connect your website!\n\nThe source code is available on GitHub.\n\nI\u2019ve only implemented the one newPost method that Byword uses when talking to the XML-RPC API. I\u2019ve only tested this with Byword, so it\u2019s very likely that other apps might be expecting more of the API to be implemented. Feel free to file issues if you have trouble using other apps! Eventually I\u2019d like to implement more of the MetaWeblog API in this gateway, even if I really don\u2019t like writing XML-RPC code!",
"html": "<p>I\u2019m always looking for fun and better ways to publish content to my website. There are several nice writing apps now, such as <a href=\"https://indieweb.org/Byword\">Byword</a> for MacOS, which lets you write in Markdown and then converts it into HTML. Many of these kinds of apps have an option to publish to a Wordpress site, using Wordpress\u2019 XML-RPC interface, which is more or less the MetaWeblog API. </p>\n\n<p>I thought it would be a fun experiment to try to set up my website to handle those XML-RPC calls so that I can use these apps, at least until they support Micropub natively.</p>\n\n<h3>Problems with XML-RPC</h3>\n\n<p>As with most XML formats, XML-RPC is ridiculously verbose for what it\u2019s doing. In order to send a single string value, it requires wrapping it in a surprising amount of XML:</p>\n\n<pre><code><param>\n<value><string>aaronparecki.com</string></value>\n</param>\n</code></pre>\n\n<p>The MetaWeblog API also requires that you give apps your Wordpress password, which has been a known anti-pattern for a long time. With things like OAuth, we have better ways of authenticating against APIs without sending passwords around.</p>\n\n<h3>Micropub Bridge</h3>\n\n<p>To avoid needing to add actual XML-RPC support to my website, I set up a bridge that translates XML-RPC calls to their equivalent Micropub calls. The bridge also obtains an IndieAuth access token so that I can use a token instead of entering my password into these apps.</p>\n\n<p>I didn\u2019t bother adding any styling to the gateway since it\u2019s something you\u2019d only interact with once to set up, so apologies for the ugly screenshots that follow.</p>\n\n<p>Here\u2019s what it looks like to connect Byword to be able to publish to my website.</p>\n\n<p>First I visit the gateway and log in.</p>\n\n<img src=\"https://aperture-media.p3k.io/aaronparecki.com/aaaf5c4686ab2cd5c27099923b778250f2d571147963e973d23149c4a5a3cd9c.jpg\" alt=\"\" /><p>That does the IndieAuth discovery and takes me to my website where I grant it access.</p>\n\n<img src=\"https://aperture-media.p3k.io/aaronparecki.com/f11ad070dbc457681111c8ce94d5d50a848b65fa5ed94f6f2ffa222f81d0fabb.jpg\" alt=\"\" /><p>Then I\u2019m redirected back to the gateway which provides instructions on what to do next.</p>\n\n<img src=\"https://aperture-media.p3k.io/aaronparecki.com/19297434abe808970f798340ff82de026e988f8eb9ffbc60b68415c19872fc5e.jpg\" alt=\"\" /><p>The key to making Byword find the XML-RPC API is adding that <code>EditURI</code> tag to my website. Then I can go into Byword and add a new Wordpress site, entering my domain name.</p>\n\n<img src=\"https://aperture-media.p3k.io/aaronparecki.com/a07b05126097ff2b07497484efe37658f98bf3def7b8c2913145fef300588653.png\" alt=\"\" /><p>It then asks for my username and password, which I enter by copying from the gateway.</p>\n\n<img src=\"https://aperture-media.p3k.io/aaronparecki.com/97a5fd1981213dc075b708dc049600efc1a8ba2af58e11e45381fed52b47674d.png\" alt=\"\" /><p>Then Byword is all set and thinks it\u2019s talking to a Wordpress site!</p>\n\n<img src=\"https://aperture-media.p3k.io/aaronparecki.com/d727ab16320b89885889f803943824e4e2379bd432795e432588e4bf45fd29a8.png\" alt=\"\" /><p>Now when I\u2019m ready to publish this post, I click the \u201cPublish\u201d button in Byword, and fill in the title and tags.</p>\n\n<img src=\"https://aperture-media.p3k.io/aaronparecki.com/f0da0ba9609980b2db47bc0529119702e76d458c59b3aa45a91fc3215e780509.jpg\" alt=\"\" /><img src=\"https://aperture-media.p3k.io/aaronparecki.com/71118c1add08111f1933e9211ae1c8fb536c71469bddd524ac74af158041acb2.jpg\" alt=\"\" /><h3>Open Source</h3>\n\n<p>If you\u2019d like to try this out, head to <a href=\"https://xmlrpc.p3k.io\">xmlrpc.p3k.io</a> and connect your website!</p>\n\n<p>The source code is available <a href=\"https://github.com/aaronpk/xmlrpc-micropub-bridge\">on GitHub</a>.</p>\n\n<p>I\u2019ve only implemented the one <code>newPost</code> method that Byword uses when talking to the XML-RPC API. I\u2019ve only tested this with Byword, so it\u2019s very likely that other apps might be expecting more of the API to be implemented. Feel free to file issues if you have trouble using other apps! Eventually I\u2019d like to implement more of the MetaWeblog API in this gateway, even if I really don\u2019t like writing XML-RPC code!</p>"
},
"author": {
"type": "card",
"name": "Aaron Parecki",
"url": "https://aaronparecki.com/",
"photo": "https://aperture-media.p3k.io/aaronparecki.com/2b8e1668dcd9cfa6a170b3724df740695f73a15c2a825962fd0a0967ec11ecdc.jpg"
},
"_id": "206539",
"_source": "16",
"_is_read": true
}
Reading http://apps-of-a-feather.com/ makes me long for a “social network” showing 1st 140 chars of blog posts using #RSS and #Indieweb.
{
"type": "entry",
"url": "http://davidjohnmead.com/blog/2018/04/09/19713/",
"syndication": [
"https://twitter.com/davidmead/status/983300977745948672"
],
"content": {
"text": "Reading http://apps-of-a-feather.com/ makes me long for a \u201csocial network\u201d showing 1st 140 chars of blog posts using #RSS and #Indieweb.",
"html": "Reading <a class=\"u-url\" href=\"http://apps-of-a-feather.com/\">http://apps-of-a-feather.com/</a> makes me long for a \u201csocial network\u201d showing 1st 140 chars of blog posts using <abbr title=\"Rich Site Summary\">#RSS</abbr> and #Indieweb."
},
"_id": "205616",
"_source": "194",
"_is_read": true
}
{
"type": "entry",
"author": {
"name": "<span class='p-author h-card'>Kh\u00fcrt Williams</span>",
"url": "https://islandinthenet.com/",
"photo": null
},
"url": "https://tracking.feedpress.it/link/1771/8797520",
"published": "2018-04-08T21:26:11+00:00",
"content": {
"html": "<a href=\"https://david.shanske.com/2018/04/07/indieauth-for-wordpress/\">IndieAuth for WordPress</a> by <a href=\"https://david.shanske.com/\"><img src=\"https://secure.gravatar.com/avatar/681eba02e72ba1d894097034a8110e61?s=125&d=default&r=g\" alt=\"IndieAuth %name\" title=\"IndieAuth\" />David Shanske</a><em> (David Shanske)</em>\n<blockquote>OAuth is already being used by a variety of services\u2026Login with Facebook or Login with Google options on sites are usually OAuth based. The difference is that for IndieAuth, users and clients are all represented by URLs.<br />Authorization Prompt for Indieauth for WordPress\nSo, why did I want to build one? A few reasons. The most popular use for a IndieAuth server as authentication for Micropub clients. Micropub is a standard for creating posts using third-party clients.</blockquote>\n\n\n<p>The post <a href=\"https://islandinthenet.com/indieauth/\"><span class='p-name'>IndieAuth</span></a> by <a href=\"https://islandinthenet.com/\"><span class='p-author h-card'>Kh\u00fcrt Williams</span></a> appeared first on <a href=\"https://islandinthenet.com/\">Island in the Net</a>.</p>",
"text": "IndieAuth for WordPress by David Shanske (David Shanske)\nOAuth is already being used by a variety of services\u2026Login with Facebook or Login with Google options on sites are usually OAuth based. The difference is that for IndieAuth, users and clients are all represented by URLs.\nAuthorization Prompt for Indieauth for WordPress\nSo, why did I want to build one? A few reasons. The most popular use for a IndieAuth server as authentication for Micropub clients. Micropub is a standard for creating posts using third-party clients.\n\n\nThe post <span class='p-name'>IndieAuth</span> by <span class='p-author h-card'>Kh\u00fcrt Williams</span> appeared first on Island in the Net."
},
"name": "IndieAuth",
"_id": "204345",
"_source": "242",
"_is_read": true
}
{
"type": "entry",
"published": "2018-04-08T02:11:15+00:00",
"url": "http://stream.boffosocko.com/2018/spigot-ive-sent-you-a-few-webmentions-directly-from-my",
"syndication": [
"https://twitter.com/ChrisAldrich/status/982803035863879680"
],
"in-reply-to": [
"https://twitter.com/spigot/status/981957032537305088"
],
"content": {
"text": "@spigot I've sent you a few webmentions directly from my site. Be sure to check that they're not getting caught in your spam filter. See also: https://indieweb.org/WordPress_with_Bridgy#Spam",
"html": "<a href=\"https://twitter.com/spigot\">@spigot</a> I've sent you a few webmentions directly from my site. Be sure to check that they're not getting caught in your spam filter. See also: <a href=\"https://indieweb.org/WordPress_with_Bridgy#Spam\">https://indieweb.org/WordPress_with_Bridgy#Spam</a>"
},
"author": {
"type": "card",
"name": "Chris Aldrich",
"url": "http://stream.boffosocko.com/profile/chrisaldrich",
"photo": "https://aperture-media.p3k.io/stream.boffosocko.com/d0ba9f65fcbf0cef3bdbcccc0b6a1f42b1310f7ab2e07208c7a396166cde26b1.jpg"
},
"_id": "202580",
"_source": "192",
"_is_read": true
}
{
"type": "entry",
"published": "2018-04-07T23:13:02-04:00",
"url": "https://david.shanske.com/2018/04/07/indieauth-for-wordpress/",
"syndication": [
"https://www.facebook.com/100002356503167/posts/1657224977699370",
"https://twitter.com/dshanske/status/982818602951856129"
],
"name": "IndieAuth for WordPress",
"content": {
"text": "Part of my own project for this week, while taking off for the holiday, was to complete work on an Indieauth endpoint for WordPress.\nIndieAuth is layer on top of OAuth 2.0, a standard that grants websites or applications access to their information on other websites but without providing passwords.\nOAuth is already being used by a variety of services\u2026Login with Facebook or Login with Google options on sites are usually OAuth based. The difference is that for IndieAuth, users and clients are all represented by URLs.\nAuthorization Prompt for Indieauth for WordPressSo, why did I want to build one? A few reasons. The most popular use for a IndieAuth server as authentication for Micropub clients. Micropub is a standard for creating posts using third-party clients.\nWordPress is moving toward deprecating their post interface in favor of a totally new one called \u2018Gutenberg\u2019. As a long time WordPress user, the focus on this concerns me as it does not necessarily represent my needs or desires as a user of the platform. So, I want to have options.\nCurrently, OAuth servers for WordPress of all types are limited. The REST API, which was heralded with much optimism, lacks an OAuth authentication method. In fact, it lacks any built-in authentication options other than the WordPress login for external authentication.\nThere is an incomplete project for an OAuth2 server for WordPress I did get some useful ideas from, however. I also have to thank Aaron Parecki, who wrote a book on OAuth2 and wrote the Indieauth specification, for reviewing my work and giving lots of feedback.\nWhat I\u2019ve built, with help, is a working IndieAuth authentication method that works for the REST API, among other things.\nSince I wanted this to be widely adoptable, I needed to make sure of a secure implementation, and I think the results are a good initial version. There is an opportunity for further refinements and improvements, but it means that WordPress users are no longer dependent on Indieauth.com, the reference implementation of the spec which uses OAuth providers like Github and Twitter to authenticate.\nThis leads to my hopes for the future. There are people working on Micropub clients for Android. And if any of them pans out, or my own mobile options, I could easily post notes to my site from wherever I am using tools that are much more flexible to my needs than are available now, the culmination of nearly 4 years of moving toward this point, on and off.\nThe success for me will be able to read something on my phone, and quickly share that to my site. Or have a thought and quickly share it to my site, without having to spend so much time setting it up I think better of it.\nThere are still pieces that need work to achieve that, but this is a major piece knocked off.",
"html": "Part of my own project for this week, while taking off for the holiday, was to complete work on an Indieauth endpoint for WordPress.\n<p><a href=\"https://indieauth.net/\">IndieAuth</a> is layer on top of OAuth 2.0, a standard that grants websites or applications access to their information on other websites but without providing passwords.</p>\n<p>OAuth is already being used by a variety of services\u2026Login with Facebook or Login with Google options on sites are usually OAuth based. The difference is that for IndieAuth, users and clients are all represented by URLs.</p>\n<a href=\"https://aperture-media.p3k.io/david.shanske.com/f5f33ed009e89a475cae151c7369032987a11edad4b36c3de1faf28aee4b5a5c.png\"><img src=\"https://aperture-media.p3k.io/david.shanske.com/f5f33ed009e89a475cae151c7369032987a11edad4b36c3de1faf28aee4b5a5c.png\" alt=\"\" width=\"409\" height=\"639\" /></a>Authorization Prompt for Indieauth for WordPress<p>So, why did I want to build one? A few reasons. The most popular use for a IndieAuth server as authentication for <a href=\"http://micropub.net\">Micropub</a> clients. Micropub is a standard for creating posts using third-party clients.</p>\n<p>WordPress is moving toward deprecating their post interface in favor of a totally new one called \u2018Gutenberg\u2019. As a long time WordPress user, the focus on this concerns me as it does not necessarily represent my needs or desires as a user of the platform. So, I want to have options.</p>\n<p>Currently, OAuth servers for WordPress of all types are limited. The REST API, which was heralded with much optimism, lacks an OAuth authentication method. In fact, it lacks any built-in authentication options other than the WordPress login for external authentication.</p>\n<p>There is an incomplete project for an OAuth2 server for WordPress I did get some useful ideas from, however. I also have to thank <a href=\"https://aaronparecki.com\">Aaron Parecki</a>, who wrote a <a href=\"https://oauth2simplified.com/\">book</a> on OAuth2 and wrote the Indieauth specification, for reviewing my work and giving lots of feedback.</p>\n<p>What I\u2019ve built, with help, is a working IndieAuth authentication method that works for the REST API, among other things.</p>\n<p>Since I wanted this to be widely adoptable, I needed to make sure of a secure implementation, and I think the results are a good initial version. There is an opportunity for further refinements and improvements, but it means that WordPress users are no longer dependent on Indieauth.com, the reference implementation of the spec which uses OAuth providers like Github and Twitter to authenticate.</p>\n<p>This leads to my hopes for the future. There are people working on Micropub clients for Android. And if any of them pans out, or my own mobile options, I could easily post notes to my site from wherever I am using tools that are much more flexible to my needs than are available now, the culmination of nearly 4 years of moving toward this point, on and off.</p>\n<p>The success for me will be able to read something on my phone, and quickly share that to my site. Or have a thought and quickly share it to my site, without having to spend so much time setting it up I think better of it.</p>\n<p>There are still pieces that need work to achieve that, but this is a major piece knocked off.</p>"
},
"author": {
"type": "card",
"name": "David Shanske",
"url": "https://david.shanske.com",
"photo": "https://aperture-media.p3k.io/secure.gravatar.com/4c37695e8bc2b8287b49521997dbe3d2676261abef57c487165515696087b2e2.png"
},
"_id": "202668",
"_source": "5",
"_is_read": true
}
{
"type": "entry",
"published": "2018-04-07T19:12:18-04:00",
"url": "https://martymcgui.re/2018/04/07/191218/",
"category": [
"podcast",
"IndieWeb",
"this-week-indieweb-podcast"
],
"audio": [
"https://aperture-media.p3k.io/media.martymcgui.re/f96b17de680457f42e1c6f8c86352dc0a472dc20e6bd751603ef121cdaa7bc40.mp3"
],
"syndication": [
"https://huffduffer.com/schmarty/470067",
"https://twitter.com/schmarty/status/982758806420672512",
"https://www.facebook.com/marty.mcguire.54/posts/10211802288234626"
],
"name": "This Week in the IndieWeb Audio Edition \u2022 March 31st - April 6th, 2018",
"content": {
"text": "Show/Hide Transcript \n \n IndieWeb for Drupal, IndieWeb for Businesses, and Foodspotting going under. It\u2019s the audio edition for This Week in the IndieWeb for March 31st - April 6th, 2018.\n\nYou can find all of my audio editions and subscribe with your favorite podcast app here: martymcgui.re/podcasts/indieweb/.\n\nMusic from Aaron Parecki\u2019s 100DaysOfMusic project: Day 85 - Suit, Day 48 - Glitch, Day 49 - Floating, Day 9, and Day 11\n\nThanks to everyone in the IndieWeb chat for their feedback and suggestions. Please drop me a note if there are any changes you\u2019d like to see for this audio edition!",
"html": "Show/Hide Transcript \n \n <p>IndieWeb for Drupal, IndieWeb for Businesses, and Foodspotting going under. It\u2019s the audio edition for <a href=\"https://indieweb.org/this-week/2018-04-06.html\">This Week in the IndieWeb for March 31st - April 6th, 2018</a>.</p>\n\n<p>You can find all of my audio editions and subscribe with your favorite podcast app here: <a href=\"https://martymcgui.re/podcasts/indieweb/\">martymcgui.re/podcasts/indieweb/</a>.</p>\n\n<p>Music from <a href=\"https://aaronparecki.com/\">Aaron Parecki</a>\u2019s <a href=\"https://100.aaronparecki.com/\">100DaysOfMusic project</a>: <a href=\"https://aaronparecki.com/2017/03/15/14/day85\">Day 85 - Suit</a>, <a href=\"https://aaronparecki.com/2017/02/06/7/day48\">Day 48 - Glitch</a>, <a href=\"https://aaronparecki.com/2017/02/07/4/day49\">Day 49 - Floating</a>, <a href=\"https://aaronparecki.com/2016/12/29/21/day-9\">Day 9</a>, and <a href=\"https://aaronparecki.com/2016/12/31/15/\">Day 11</a></p>\n\n<p>Thanks to everyone in the <a href=\"https://chat.indieweb.org/\">IndieWeb chat</a> for their feedback and suggestions. Please drop me a note if there are any changes you\u2019d like to see for this audio edition!</p>"
},
"author": {
"type": "card",
"name": "Marty McGuire",
"url": "https://martymcgui.re/",
"photo": "https://aperture-media.p3k.io/martymcgui.re/4f9fac2b9e3ae62998c557418143efe288bca8170a119921a9c6bfeb0a1263a2.jpg"
},
"_id": "202539",
"_source": "175",
"_is_read": true
}
@sophiaarichter@floatingtim#IndieWeb also has some useful advice and help in these areas. They use things like POSSE, backfeed, and webmentions that allow site to site interaction that helps to solve the "bring folks to our sites" problem. https://indieweb.org/
{
"type": "entry",
"published": "2018-04-07T05:40:53+00:00",
"url": "http://stream.boffosocko.com/2018/sophiaarichter-floatingtim-indieweb-also-has-some-useful-advice-and-help",
"category": [
"IndieWeb"
],
"syndication": [
"https://twitter.com/ChrisAldrich/status/982493408852836353"
],
"in-reply-to": [
"https://twitter.com/floatingtim/status/981592536593641473"
],
"content": {
"text": "@sophiaarichter @floatingtim #IndieWeb also has some useful advice and help in these areas. They use things like POSSE, backfeed, and webmentions that allow site to site interaction that helps to solve the \"bring folks to our sites\" problem. https://indieweb.org/",
"html": "<a href=\"https://twitter.com/sophiaarichter\">@sophiaarichter</a> <a href=\"https://twitter.com/floatingtim\">@floatingtim</a> <a href=\"http://stream.boffosocko.com/tag/IndieWeb\" class=\"p-category\">#IndieWeb</a> also has some useful advice and help in these areas. They use things like POSSE, backfeed, and webmentions that allow site to site interaction that helps to solve the \"bring folks to our sites\" problem. <a href=\"https://indieweb.org/\">https://indieweb.org/</a>"
},
"author": {
"type": "card",
"name": "Chris Aldrich",
"url": "http://stream.boffosocko.com/profile/chrisaldrich",
"photo": "https://aperture-media.p3k.io/stream.boffosocko.com/d0ba9f65fcbf0cef3bdbcccc0b6a1f42b1310f7ab2e07208c7a396166cde26b1.jpg"
},
"_id": "200271",
"_source": "192",
"_is_read": true
}
The writing has long been on the wall: Twitter is going to destroy its third-party ecosystem. Why? To focus on controlling the entire experience for their proprietary platform. If you haven’t considered the #IndieWeb, now is the time. With services like Micro.blog available, it’s now easier than ever to participate in the open social web.
{
"type": "entry",
"published": "2018-04-06T17:22:45+00:00",
"url": "https://cleverdevil.io/2018/the-writing-has-long-been-on-the",
"category": [
"IndieWeb"
],
"syndication": [
"https://twitter.com/cleverdevil/status/982307638808662016"
],
"content": {
"text": "The writing has long been on the wall: Twitter is going to destroy its third-party ecosystem. Why? To focus on controlling the entire experience for their proprietary platform. If you haven\u2019t considered the #IndieWeb, now is the time. With services like Micro.blog available, it\u2019s now easier than ever to participate in the open social web.",
"html": "The writing has long been on the wall: Twitter is going to destroy its third-party ecosystem. Why? To focus on controlling the entire experience for their proprietary platform. If you haven\u2019t considered the <a href=\"https://cleverdevil.io/tag/IndieWeb\" class=\"p-category\">#IndieWeb</a>, now is the time. With services like Micro.blog available, it\u2019s now easier than ever to participate in the open social web."
},
"author": {
"type": "card",
"name": "Jonathan LaCour",
"url": "https://cleverdevil.io/profile/cleverdevil",
"photo": "https://aperture-media.p3k.io/cleverdevil.io/abdf4969f052cb64177f73cda9be6a709931eb55607f8c1fb2c69eb135841acf.jpg"
},
"_id": "198115",
"_source": "71",
"_is_read": true
}
I'm surprised that HTML5 support slipped through the cracks in PHP's DOM extension, but very glad Masterminds was there to cover for them. It's pretty easy to switch over and seems to be working well so far as a replacement HTML parser.
Only one quirk if you're not a composer fan, (the horror!) you need to write your own autoloader. That's fair enough given you're opting out of a controlled file system structure, and luckily it's super easy. Instead of including Mastermind's HTML5.php directly you just need your own snippet, something like:
<?php
include 'HTML5.php';
function html5_autoload($className) {
$file = 'library/' . str_replace('\', '/', $className) . '.php';
if (file_exists($file)) include $file;
}
spl_autoload_register('html5_autoload');
{
"type": "entry",
"published": "2018-04-06T13:54:25+10:00",
"url": "https://unicyclic.com/mal/2018-04-06-1455300078",
"category": [
"indieweb"
],
"content": {
"text": "I'm surprised that HTML5 support slipped through the cracks in PHP's DOM extension, but very glad Masterminds was there to cover for them. It's pretty easy to switch over and seems to be working well so far as a replacement HTML parser.\n\n\nOnly one quirk if you're not a composer fan, (the horror!) you need to write your own autoloader.\u00a0 That's fair enough given you're opting out of a controlled file system structure, and luckily it's super easy. Instead of including Mastermind's HTML5.php directly you just need your own snippet, something like:\n\n<?php\n\ninclude 'HTML5.php';\n\nfunction html5_autoload($className) {\n $file = 'library/' . str_replace('\\', '/', $className) . '.php';\n if (file_exists($file)) include $file;\n}\n\nspl_autoload_register('html5_autoload');",
"html": "I'm surprised that HTML5 support slipped through the cracks in PHP's DOM extension, but very glad <a href=\"https://github.com/Masterminds/html5-php\">Masterminds</a> was there to cover for them. It's pretty easy to switch over and seems to be working well so far as a replacement HTML parser.<br /><br />\nOnly one quirk if you're not a composer fan, (the horror!) you need to write your own autoloader.\u00a0 That's fair enough given you're opting out of a controlled file system structure, and luckily it's super easy. Instead of including Mastermind's HTML5.php directly you just need your own snippet, something like:\n<pre>\n<?php\n\ninclude 'HTML5.php';\n\nfunction html5_autoload($className) {\n $file = 'library/' . str_replace('\\', '/', $className) . '.php';\n if (file_exists($file)) include $file;\n}\n\nspl_autoload_register('html5_autoload');</pre>"
},
"author": {
"type": "card",
"name": "Malcolm Blaney",
"url": "https://unicyclic.com/mal",
"photo": "https://aperture-media.p3k.io/unicyclic.com/bdad1528925264a15ecd0bdb92bdc5836d965b0d5f4db8797489eec259fa32de.png"
},
"_id": "197048",
"_source": "243",
"_is_read": true
}
{
"type": "entry",
"author": {
"name": "Colin Walker",
"url": "https://colinwalker.blog/",
"photo": null
},
"url": "https://colinwalker.blog/nomention/",
"published": "2018-04-06T09:48:48+00:00",
"content": {
"html": "<p>There was a recent scenario where I linked to a conversation on micro.blog but, as well as my post being fed through as normal, the generated webmention was interpreted as a reply meaning the full post content showed as a separate response in the conversation.</p>\n<p>Micro.blog doesn't make the distinction between webmention types so I wondered about editing the webmention plugin for WordPress by adding <code>class=\"nomention\"</code> or <code>rel=\"nomention\"</code> to a link so that it isn't processed along similar lines to <code>rel=\"nofollow\"</code>.</p>\n<p>Unknown to me at the time, <a href=\"http://boffosocko.com/2018/01/24/definition-of-submention/\">Chris Aldrich</a> had also recently proposed <code>rel=\"nomention\"</code> but I personally prefer using <code>class</code> as I can easily add this in Drafts using multi-markdown which is supported by WordPress via JetPack:</p>\n<pre><code>[Link text](http://link.here) {.nomention}\n</code></pre>\n<p>Matthias Pfefferle (the plugin author) suggested building a blacklist feature so named domains could be excluded but I wouldn't necessarily want this to be the case, having it more at the individual link level so as not to completely preclude sending webmentions to particular sites.</p>\n<p>The webmention plugin for WordPress uses the function <code>wp_extract_urls()</code> to grab all links from the post content so I thought about replacing this, finding all link tags instead then, for each that doesn't include nomention, get the url. The initial code looks like this:</p>\n<pre><code>preg_match_all('/<a[^>]+>/i',$post->post_content, $results); \n\n$mentions = '';\nforeach ($results as $link) {\n if (strpos($link, 'nomention')) {\n $mentions .= $link;\n }\n}\n\n$links = wp_extract_urls($mentions);\n</code></pre>\n<p>It may be preferable to check the full <code>class=\"nomention\"</code> just in case the url includes \u201cnomention\u201d - you never know.</p>\n<p>While this works, as pointed out, there are some issues with it in its current form. Firstly, it only deals with <code><a></code> tags so ignores images, videos, etc. but it could be extended for multiple tags:</p>\n<pre><code>(<a[^>]+>|<img[^>]+>|...)\n</code></pre>\n<p>A more pressing issue, however, is that most people do not, and will not, manually edit the HTML in their posts, especially with the release of the WordPress Gutenberg editor on the horizon. As such, the application of the relevant flag would need to be via an option in the UI. This could be easily achieved at the post level (a \"do not send webmentions for this post\" checkbox) but not so at the link level.</p>\n<p>The question also arises as to whether something like micro.blog should better handle webmention types rather than automatically making everything a reply. As Chris suggests, however, there could be other scenarios where not sending a webmention is preferred.</p>\n<p>This is likely an extreme edge case (at least I'm not the only one who's considered it) but I thought it worth discussion even if dismissed.</p>\n<p>The implementation works for me and my posting workflow so I'll keep it, even though it will mean manually editing the plugin each time it is updated.</p>",
"text": "There was a recent scenario where I linked to a conversation on micro.blog but, as well as my post being fed through as normal, the generated webmention was interpreted as a reply meaning the full post content showed as a separate response in the conversation.\nMicro.blog doesn't make the distinction between webmention types so I wondered about editing the webmention plugin for WordPress by adding class=\"nomention\" or rel=\"nomention\" to a link so that it isn't processed along similar lines to rel=\"nofollow\".\nUnknown to me at the time, Chris Aldrich had also recently proposed rel=\"nomention\" but I personally prefer using class as I can easily add this in Drafts using multi-markdown which is supported by WordPress via JetPack:\n[Link text](http://link.here) {.nomention}\n\nMatthias Pfefferle (the plugin author) suggested building a blacklist feature so named domains could be excluded but I wouldn't necessarily want this to be the case, having it more at the individual link level so as not to completely preclude sending webmentions to particular sites.\nThe webmention plugin for WordPress uses the function wp_extract_urls() to grab all links from the post content so I thought about replacing this, finding all link tags instead then, for each that doesn't include nomention, get the url. The initial code looks like this:\npreg_match_all('/<a[^>]+>/i',$post->post_content, $results); \n\n$mentions = '';\nforeach ($results as $link) {\n if (strpos($link, 'nomention')) {\n $mentions .= $link;\n }\n}\n\n$links = wp_extract_urls($mentions);\n\nIt may be preferable to check the full class=\"nomention\" just in case the url includes \u201cnomention\u201d - you never know.\nWhile this works, as pointed out, there are some issues with it in its current form. Firstly, it only deals with <a> tags so ignores images, videos, etc. but it could be extended for multiple tags:\n(<a[^>]+>|<img[^>]+>|...)\n\nA more pressing issue, however, is that most people do not, and will not, manually edit the HTML in their posts, especially with the release of the WordPress Gutenberg editor on the horizon. As such, the application of the relevant flag would need to be via an option in the UI. This could be easily achieved at the post level (a \"do not send webmentions for this post\" checkbox) but not so at the link level.\nThe question also arises as to whether something like micro.blog should better handle webmention types rather than automatically making everything a reply. As Chris suggests, however, there could be other scenarios where not sending a webmention is preferred.\nThis is likely an extreme edge case (at least I'm not the only one who's considered it) but I thought it worth discussion even if dismissed.\nThe implementation works for me and my posting workflow so I'll keep it, even though it will mean manually editing the plugin each time it is updated."
},
"name": "Nomention",
"_id": "196804",
"_source": "237",
"_is_read": true
}
{
"type": "entry",
"published": "2018-04-06T00:52:40+00:00",
"url": "http://stream.boffosocko.com/2018/anyone-who-didnt-get-enough-of-open-domains-lab-this",
"category": [
"IndieWeb",
"DoOO"
],
"content": {
"text": "Anyone who didn't get enough of Open Domains Lab this afternoon is more than welcome to join in on the #IndieWeb chat to continue conversing and building their website. #DoOO\nhttps://twitter.com/TaylorJadin/status/979489643925295104\nhttps://indieweb.org/discuss",
"html": "Anyone who didn't get enough of Open Domains Lab this afternoon is more than welcome to join in on the <a href=\"http://stream.boffosocko.com/tag/IndieWeb\" class=\"p-category\">#IndieWeb</a> chat to continue conversing and building their website. <a href=\"http://stream.boffosocko.com/tag/DoOO\" class=\"p-category\">#DoOO</a><br /><a href=\"https://twitter.com/TaylorJadin/status/979489643925295104\">https://twitter.com/TaylorJadin/status/979489643925295104</a><br /><a href=\"https://indieweb.org/discuss\">https://indieweb.org/discuss</a>"
},
"author": {
"type": "card",
"name": "Chris Aldrich",
"url": "http://stream.boffosocko.com/profile/chrisaldrich",
"photo": "https://aperture-media.p3k.io/stream.boffosocko.com/d0ba9f65fcbf0cef3bdbcccc0b6a1f42b1310f7ab2e07208c7a396166cde26b1.jpg"
},
"_id": "195939",
"_source": "192",
"_is_read": true
}
{
"type": "entry",
"author": {
"name": "Colin Walker",
"url": "https://colinwalker.blog/",
"photo": null
},
"url": "https://colinwalker.blog/05-04-2018-2242/",
"published": "2018-04-05T22:43:15+00:00",
"content": {
"html": "<p>This is just a test to see if I can restrict which links webmentions are sent to:</p>\n<p>\u2013 <a href=\"https://colinwalker.blog/05-04-2018-1628/\">Link 1</a></p>\n<p>\u2013 <a href=\"https://colinwalker.blog/04-04-2018-1535/\">Link 2</a></p>",
"text": "This is just a test to see if I can restrict which links webmentions are sent to:\n\u2013 Link 1\n\u2013 Link 2"
},
"_id": "195630",
"_source": "237",
"_is_read": true
}
@spigot Yes, you have to publish first. Looks like there's something putting a lot of hidden svg files into your content. A plugin perhaps?
You can also find some potential help in the chat at https://chat.indieweb.org/wordpress/
{
"type": "entry",
"published": "2018-04-05T20:42:57+00:00",
"url": "http://stream.boffosocko.com/2018/spigot-yes-you-have-to-publish-first-looks-like-theres",
"syndication": [
"https://twitter.com/ChrisAldrich/status/981995652954673153"
],
"in-reply-to": [
"https://twitter.com/spigot/status/981991766415978496"
],
"content": {
"text": "@spigot Yes, you have to publish first. Looks like there's something putting a lot of hidden svg files into your content. A plugin perhaps?\n\nYou can also find some potential help in the chat at https://chat.indieweb.org/wordpress/",
"html": "<a href=\"https://twitter.com/spigot\">@spigot</a> Yes, you have to publish first. Looks like there's something putting a lot of hidden svg files into your content. A plugin perhaps?<br />\nYou can also find some potential help in the chat at <a href=\"https://chat.indieweb.org/wordpress/\">https://chat.indieweb.org/wordpress/</a>"
},
"author": {
"type": "card",
"name": "Chris Aldrich",
"url": "http://stream.boffosocko.com/profile/chrisaldrich",
"photo": "https://aperture-media.p3k.io/stream.boffosocko.com/d0ba9f65fcbf0cef3bdbcccc0b6a1f42b1310f7ab2e07208c7a396166cde26b1.jpg"
},
"_id": "195243",
"_source": "192",
"_is_read": true
}
{
"type": "entry",
"published": "2018-04-05T20:15:48+00:00",
"url": "http://stream.boffosocko.com/2018/spigot-its-not-bridgy-instead-it-looks-like-its-caused",
"syndication": [
"https://twitter.com/ChrisAldrich/status/981988822446673920"
],
"in-reply-to": [
"https://twitter.com/spigot/status/981957032537305088"
],
"content": {
"text": "@spigot It's not Brid.gy, instead it looks like it's caused by the microformats and their placement in your particular theme. https://brid.gy/about/#microformats\n\nYou can find a preview of what Bridgy will publish at https://brid.gy/twitter/spigot if you want to test before sending.",
"html": "<a href=\"https://twitter.com/spigot\">@spigot</a> It's not Brid.gy, instead it looks like it's caused by the microformats and their placement in your particular theme. <a href=\"https://brid.gy/about/#microformats\">https://brid.gy/about/#microformats</a><br />\nYou can find a preview of what Bridgy will publish at <a href=\"https://brid.gy/twitter/spigot\">https://brid.gy/twitter/spigot</a> if you want to test before sending."
},
"author": {
"type": "card",
"name": "Chris Aldrich",
"url": "http://stream.boffosocko.com/profile/chrisaldrich",
"photo": "https://aperture-media.p3k.io/stream.boffosocko.com/d0ba9f65fcbf0cef3bdbcccc0b6a1f42b1310f7ab2e07208c7a396166cde26b1.jpg"
},
"_id": "195244",
"_source": "192",
"_is_read": true
}
{
"type": "entry",
"published": "2018-04-05T12:14:11+0000",
"url": "http://known.kevinmarks.com/2018/digital-catapult-open-call-for-future-social",
"category": [
"indieweb"
],
"syndication": [
"https://twitter.com/kevinmarks/status/981867598789791744"
],
"content": {
"text": "Digital Catapult open call for Future Social Media pitches: https://www.digitalcatapultcentre.org.uk/open-calls/future-social-media-enhancing-cohesion-through-a... - in EU with \"a project, innovation or solution using social media that aims to enhance cohesion between technology providers, creative content makers, their users/adopters and research\" #indieweb",
"html": "Digital Catapult open call for Future Social Media pitches: <a href=\"https://www.digitalcatapultcentre.org.uk/open-calls/future-social-media-enhancing-cohesion-through-advanced-digital-technology/\">https://www.digitalcatapultcentre.org.uk/open-calls/future-social-media-enhancing-cohesion-through-a...</a> - in EU with \"a project, innovation or solution using social media that aims to enhance cohesion between technology providers, creative content makers, their users/adopters and research\" <a href=\"http://known.kevinmarks.com/tag/indieweb\" class=\"p-category\">#indieweb</a>"
},
"author": {
"type": "card",
"name": "Kevin Marks",
"url": "http://known.kevinmarks.com/profile/kevinmarks",
"photo": "https://aperture-media.p3k.io/known.kevinmarks.com/f893d11435a62200ec9585e0ea3d84b2bdc478aa0a056dda35a43ce4c04d58a0.jpg"
},
"_id": "193766",
"_source": "205",
"_is_read": true
}