Is the expectation for this that will contain all of the properties? Or could just be the URL/UID?
For instance, I've got a static site, so my Micropub endpoint would proxy a generated file from the site. If I can reduce the amount of properties to add to this, it'd be good, especially if this is really only being used for post listing.
{
"type": "entry",
"published": "2020-04-25T15:31:06.732+02:00",
"url": "https://www.jvt.me/mf2/2020/04/3qnnb/",
"in-reply-to": [
"https://github.com/indieweb/micropub-extensions/issues/4"
],
"content": {
"text": "Is the expectation for this that will contain all of the properties? Or could just be the URL/UID?For instance, I've got a static site, so my Micropub endpoint would proxy a generated file from the site. If I can reduce the amount of properties to add to this, it'd be good, especially if this is really only being used for post listing.",
"html": "<p></p><p>Is the expectation for this that will contain all of the properties? Or could just be the URL/UID?</p><p>For instance, I've got a static site, so my Micropub endpoint would proxy a generated file from the site. If I can reduce the amount of properties to add to this, it'd be good, especially if this is really only being used for post listing.</p>"
},
"author": {
"type": "card",
"name": "Jamie Tanna",
"url": "https://www.jvt.me",
"photo": "https://www.jvt.me/img/profile.png"
},
"post-type": "reply",
"_id": "11072066",
"_source": "2169",
"_is_read": true
}
{
"type": "entry",
"published": "2020-04-25T11:10:41Z",
"url": "https://adactio.com/journal/16803",
"category": [
"books",
"reading",
"indieweb",
"publishing",
"micorformats",
"h-entry",
"h-event",
"structured",
"data",
"json",
"rss",
"aggregation",
"syndication",
"visualisation"
],
"syndication": [
"https://medium.com/@adactio/d65a123b163"
],
"name": "Reading",
"content": {
"text": "At the beginning of the year, Remy wrote about extracting Goodreads metadata so he could create his end-of-year reading list. More recently, Mark Llobrera wrote about how he created a visualisation of his reading history. In his case, he\u2019s using JSON to store the information.\n\nThis kind of JSON storage is exactly what Tom Critchlow proposes in his post, Library JSON - A Proposal for a Decentralized Goodreads:\n\n\nThinking through building some kind of \u201cweb of books\u201d I realized that we could use something similar to RSS to build a kind of decentralized GoodReads powered by indie sites and an underlying easy to parse format.\n\n\nHis proposal looks kind of similar to what Mark came up with. There\u2019s a title, an author, an image, and some kind of date for when you started and/or finished reading the book.\n\nMatt then points out that RSS gets close to the data format being suggested and asks how about using RSS?:\n\n\nRather than inventing a new format, my suggestion is that this is RSS plus an extension to deal with books. This is analogous to how the podcast feeds are specified: they are RSS plus custom tags.\n\n\nLike Matt, I\u2019m in favour of re-using existing wheels rather than inventing new ones, mostly to avoid a 927 situation.\n\nBut all of these proposals\u2014whether JSON or RSS\u2014involve the creation of a separate file, and yet the information is originally published in HTML. Along the lines of Matt\u2019s idea, I could imagine extending the h-entry collection of class names to allow for books (or films, or other media). It already handles images (with u-photo). I think the missing fields are the date-related ones: when you start and finish reading. Those fields are present in a different microformat, h-event in the form of dt-start and dt-end. Maybe they could be combined:\n\n\n<article class=\"h-entry h-event h-review\">\n<h1 class=\"p-name p-item\">Book title</h1>\n<img class=\"u-photo\" src=\"image.jpg\" alt=\"Book cover.\">\n<p class=\"p-summary h-card\">Book author</p>\n<time class=\"dt-start\" datetime=\"YYYY-MM-DD\">Start date</time>\n<time class=\"dt-end\" datetime=\"YYYY-MM-DD\">End date</time>\n<div class=\"e-content\">Remarks</div>\n<data class=\"p-rating\" value=\"5\">\u2605\u2605\u2605\u2605\u2605</data>\n<time class=\"dt-published\" datetime=\"YYYY-MM-DDThh:mm\">Date of this post</time>\n</article>\n\n\nThat markup is simultaneously a post (h-entry) and an event (h-event) and you can even throw in h-card for the book author (as well as h-review if you like to rate the books you read). It can be converted to RSS and also converted to .ics for calendars\u2014those parsers are already out there. It\u2019s ready for aggregation and it\u2019s ready for visualisation.\n\nI publish very minimal reading posts here on adactio.com. What little data is there isn\u2019t very structured\u2014I don\u2019t even separate the book title from the author. But maybe I\u2019ll have a little play around with turning these h-entries into combined h-entry/event posts.",
"html": "<p>At the beginning of the year, Remy wrote about <a href=\"https://remysharp.com/2020/01/06/extracting-goodreads-metadata\">extracting Goodreads metadata</a> so he could create his <a href=\"https://remysharp.com/2020/01/02/books-i-read-in-2019\">end-of-year reading list</a>. More recently, Mark Llobrera wrote about <a href=\"http://dirtystylus.com/2020/04/17/visualizing-my-reading-with-semiotic/\">how he created a visualisation of his reading history</a>. In his case, he\u2019s using JSON to store the information.</p>\n\n<p>This kind of JSON storage is exactly what Tom Critchlow proposes in his post, <a href=\"https://tomcritchlow.com/2020/04/15/library-json/\">Library JSON - A Proposal for a Decentralized Goodreads</a>:</p>\n\n<blockquote>\n<p>Thinking through building some kind of \u201cweb of books\u201d I realized that we could use something similar to RSS to build a kind of decentralized GoodReads powered by indie sites and an underlying easy to parse format.</p>\n</blockquote>\n\n<p>His proposal looks kind of similar to what Mark came up with. There\u2019s a title, an author, an image, and some kind of date for when you started and/or finished reading the book.</p>\n\n<p>Matt then points out that RSS gets close to the data format being suggested and asks <a href=\"http://interconnected.org/home/2020/04/16/rss_for_books\">how about using RSS?</a>:</p>\n\n<blockquote>\n<p>Rather than inventing a new format, my suggestion is that this is RSS plus an extension to deal with books. This is analogous to how the podcast feeds are specified: they are RSS plus custom tags.</p>\n</blockquote>\n\n<p>Like Matt, I\u2019m in favour of re-using existing wheels rather than inventing new ones, mostly to avoid <a href=\"https://xkcd.com/927/\">a 927 situation</a>.</p>\n\n<p>But all of these proposals\u2014whether JSON or RSS\u2014involve the creation of a separate file, and yet the information is originally published in HTML. Along the lines of Matt\u2019s idea, I could imagine extending the <a href=\"https://indieweb.org/h-entry\"><code>h-entry</code></a> <a href=\"http://microformats.org/wiki/h-entry#Core_Properties\">collection of class names</a> to allow for books (or films, or other media). It already handles images (with <code>u-photo</code>). I think the missing fields are the date-related ones: when you start and finish reading. Those fields are present in a different microformat, <a href=\"http://microformats.org/wiki/h-event\"><code>h-event</code></a> in the form of <code>dt-start</code> and <code>dt-end</code>. Maybe they could be combined:</p>\n\n<pre><code>\n<article class=\"h-entry h-event h-review\">\n<h1 class=\"p-name p-item\">Book title</h1>\n<img class=\"u-photo\" src=\"image.jpg\" alt=\"Book cover.\">\n<p class=\"p-summary h-card\">Book author</p>\n<time class=\"dt-start\" datetime=\"YYYY-MM-DD\">Start date</time>\n<time class=\"dt-end\" datetime=\"YYYY-MM-DD\">End date</time>\n<div class=\"e-content\">Remarks</div>\n<data class=\"p-rating\" value=\"5\">\u2605\u2605\u2605\u2605\u2605</data>\n<time class=\"dt-published\" datetime=\"YYYY-MM-DDThh:mm\">Date of this post</time>\n</article>\n</code></pre>\n\n<p>That markup is simultaneously a post (<code>h-entry</code>) and an event (<code>h-event</code>) and you can even throw in <code>h-card</code> for the book author (as well as <a href=\"http://microformats.org/wiki/h-review\"><code>h-review</code></a> if you like to rate the books you read). It can be converted to RSS and also converted to <code>.ics</code> for calendars\u2014those parsers are already out there. It\u2019s ready for aggregation and it\u2019s ready for visualisation.</p>\n\n<p>I publish very minimal <a href=\"https://adactio.com/notes/reading\">reading posts</a> here on adactio.com. What little data is there isn\u2019t very structured\u2014I don\u2019t even separate the book title from the author. But maybe I\u2019ll have a little play around with turning these h-entries into combined h-entry/event posts.</p>"
},
"author": {
"type": "card",
"name": "Jeremy Keith",
"url": "https://adactio.com/",
"photo": "https://adactio.com/images/photo-150.jpg"
},
"post-type": "article",
"_id": "11069402",
"_source": "2",
"_is_read": true
}
It gets my homepage URL as the author property, but I don't expect it will handle fetching that and following the authorship specification. That's more indieweb-land than microformats2.
BTW, I'm gonna have a quick IndieWeb lunch Zoom at noon today. Link will be in chat.
{
"type": "entry",
"published": "2020-04-24 11:04-0700",
"url": "https://gregorlove.com/2020/04/it-gets-my-homepage/",
"in-reply-to": [
"https://pine.blog/u/sonicrocketman/archive/d15636e9-2888-4972-9635-99efd3838e49"
],
"content": {
"text": "It gets my homepage URL as the author property, but I don't expect it will handle fetching that and following the authorship specification. That's more indieweb-land than microformats2.\n\nBTW, I'm gonna have a quick IndieWeb lunch Zoom at noon today. Link will be in chat.",
"html": "<p>It gets my homepage URL as the author property, but I don't expect it will handle fetching that and following the authorship specification. That's more indieweb-land than microformats2.\n</p>\n<p>BTW, I'm gonna have a quick IndieWeb lunch Zoom at noon today. Link will be in chat.</p>"
},
"post-type": "reply",
"refs": {
"https://pine.blog/u/sonicrocketman/archive/d15636e9-2888-4972-9635-99efd3838e49": {
"type": "entry",
"url": "https://pine.blog/u/sonicrocketman/archive/d15636e9-2888-4972-9635-99efd3838e49",
"name": "https://pine.blog/u/sonicrocketman/archive/d15636e9-2888-4972-9635-99efd3838e49",
"post-type": "article"
}
},
"_id": "11056793",
"_source": "95",
"_is_read": true
}
RSVPed: Attending Gardens and Streams: Wikis, blogs, and UI -- a pop up IndieWebCamp session
We'll be discussing and brainstorming ideas related to wikis and the IndieWeb, user interfaces, functionalities, examples of wikis and how they differ from blogs and other social media interfaces, and everyones' ideas surrounding these.
Phew, I just saw this! Should be a fun session on the link between blogs and (personal) wikis.
{
"type": "entry",
"author": {
"name": "Neil Mather",
"url": "https://doubleloop.net/",
"photo": null
},
"url": "https://doubleloop.net/2020/04/23/6790/",
"published": "2020-04-23T15:50:01+00:00",
"content": {
"html": "RSVPed: Attending <a href=\"https://events.indieweb.org/2020/04/gardens-and-streams-wikis-blogs-and-ui-a-pop-up-indiewebcamp-session-j9bg0pJDBgBD\">Gardens and Streams: Wikis, blogs, and UI -- a pop up IndieWebCamp session</a>\n<blockquote>We'll be discussing and brainstorming ideas related to wikis and the IndieWeb, user interfaces, functionalities, examples of wikis and how they differ from blogs and other social media interfaces, and everyones' ideas surrounding these. </blockquote>\n\nPhew, I just saw this! Should be a fun session on the link between blogs and (personal) wikis.",
"text": "RSVPed: Attending Gardens and Streams: Wikis, blogs, and UI -- a pop up IndieWebCamp session\nWe'll be discussing and brainstorming ideas related to wikis and the IndieWeb, user interfaces, functionalities, examples of wikis and how they differ from blogs and other social media interfaces, and everyones' ideas surrounding these. \n\nPhew, I just saw this! Should be a fun session on the link between blogs and (personal) wikis."
},
"post-type": "note",
"_id": "11021839",
"_source": "1895",
"_is_read": true
}
Woo! InkStone now works with form encoded and JSON micropub posting! #indieweb
{
"type": "entry",
"published": "2016-12-26T21:14:45-05:00",
"url": "https://ben.thatmustbe.me/note/2016/12/27/8/",
"content": {
"text": "Woo! InkStone now works with form encoded and JSON micropub posting! #indieweb"
},
"author": {
"type": "card",
"name": "Ben Roberts",
"url": "https://ben.thatmustbe.me/",
"photo": "https://ben.thatmustbe.me/image/static/icon_200.jpg"
},
"post-type": "note",
"_id": "11019520",
"_source": "9",
"_is_read": true
}
testing to see if consumium has webmention support yet
{
"type": "entry",
"published": "2016-12-19T13:35:57-05:00",
"url": "https://ben.thatmustbe.me/note/2016/12/19/1/",
"in-reply-to": [
"https://social.consumium.org/notice/158"
],
"content": {
"text": "testing to see if consumium has webmention support yet"
},
"author": {
"type": "card",
"name": "Ben Roberts",
"url": "https://ben.thatmustbe.me/",
"photo": "https://ben.thatmustbe.me/image/static/icon_200.jpg"
},
"post-type": "reply",
"_id": "11019526",
"_source": "9",
"_is_read": true
}
Micropub test of creating a basic h-entry
{
"type": "entry",
"published": "2020-04-07T05:28:36-03:00",
"summary": "Micropub test of creating a basic h-entry",
"url": "https://lo.hn/2020/04/503-2/",
"content": {
"text": "Micropub test of creating a basic h-entry",
"html": "<p>Micropub test of creating a basic h-entry</p>"
},
"author": {
"type": "card",
"name": "Lohn",
"url": "https://lo.hn/author/josemar/",
"photo": "https://secure.gravatar.com/avatar/5b3503ec60106652c6ce2342a910c2ff?s=40&d=identicon&r=g"
},
"post-type": "note",
"_id": "11004922",
"_source": "222",
"_is_read": true
}
{
"type": "entry",
"published": "2020-04-22T21:50:03+0000",
"url": "https://lo.hn/2020/04/building-an-indieweb-reader-aaron-parecki",
"bookmark-of": [
"https://aaronparecki.com/2018/03/12/17/building-an-indieweb-reader"
],
"name": "Building an IndieWeb Reader Aaron Parecki",
"author": {
"type": "card",
"name": "Lohn",
"url": "https://lo.hn/profile/j",
"photo": "https://lo.hn/file/63a4800f7baabcc0287526d3f19ea938/thumb.jpg"
},
"post-type": "bookmark",
"_id": "10996821",
"_source": "222",
"_is_read": true
}
{
"type": "entry",
"published": "2020-04-22T17:46:32.27376-07:00",
"url": "https://v2.jacky.wtf/post/699c8cdf-3657-4434-8597-e6c22f921ab4",
"category": [
"indieweb",
"phoenix",
"elixir"
],
"content": {
"text": "Ahhh! It looks like @elixirphoenix released a new version and https://twitter.com/chris_mccord made a screencast showing some of the new features! Looks like a really good base for a #indieweb social reader, tbh!https://www.phoenixframework.org/blog/build-a-real-time-twitter-clone-in-15-minutes-with-live-view-and-phoenix-1-5",
"html": "<p>Ahhh! It looks like <a href=\"https://twitter.com/elixirphoenix\">@elixirphoenix</a> released a new version and <a href=\"https://twitter.com/chris_mccord\">https://twitter.com/chris_mccord</a> made a screencast showing some of the new features! Looks like a really good base for a #<a href=\"https://v2.jacky.wtf/tags/75cedb2a-3173-4436-a86a-300f1a8d81b4\" class=\"p-category\">indieweb</a> social reader, tbh!</p><p><a href=\"https://www.phoenixframework.org/blog/build-a-real-time-twitter-clone-in-15-minutes-with-live-view-and-phoenix-1-5\">https://www.phoenixframework.org/blog/build-a-real-time-twitter-clone-in-15-minutes-with-live-view-and-phoenix-1-5</a></p>"
},
"author": {
"type": "card",
"name": "",
"url": "https://v2.jacky.wtf",
"photo": null
},
"post-type": "note",
"_id": "10995441",
"_source": "1886",
"_is_read": true
}
Folks who follow my blog's #Microformats feed will now see the context (as an h-cite
) that is visible on my site, allowing you to have some context for at least interactions with Twitter, but hopefully other stuff in the future!
{
"type": "entry",
"published": "2020-04-22T13:06:07.062+02:00",
"url": "https://www.jvt.me/mf2/2020/04/aqnvq/",
"category": [
"www.jvt.me",
"microformats"
],
"content": {
"text": "Folks who follow my blog's #Microformats feed will now see the context (as an h-cite) that is visible on my site, allowing you to have some context for at least interactions with Twitter, but hopefully other stuff in the future!",
"html": "<p>Folks who follow my blog's <a href=\"https://www.jvt.me/tags/microformats/\">#Microformats</a> feed will now see the context (as an <code>h-cite</code>) that is visible on my site, allowing you to have some context for at least interactions with Twitter, but hopefully other stuff in the future!</p>"
},
"author": {
"type": "card",
"name": "Jamie Tanna",
"url": "https://www.jvt.me",
"photo": "https://www.jvt.me/img/profile.png"
},
"post-type": "note",
"_id": "10973755",
"_source": "2169",
"_is_read": true
}
{
"type": "entry",
"author": {
"name": "Christian Weiske",
"url": "http://cweiske.de/tagebuch/",
"photo": null
},
"url": "http://cweiske.de/tagebuch/phubb-http-client.htm",
"published": "2020-04-21T22:13:53+02:00",
"content": {
"html": "<p>\n <a href=\"https://github.com/cweiske/phubb\">phubb</a> is a\n <a href=\"https://www.w3.org/TR/websub/\">WebSub</a>\n hub that\n notifies subscribers in realtime when your website is updated.\n </p>\n <p>\n Up to this year, phubb sent HTTP requests (GET + POST) with\n <a href=\"http://php.net/file_get_contents\">file_get_contents()</a>\n and a <a href=\"http://www.php.net/manual/en/context.http.php\">HTTP stream context</a>\n - see <a href=\"http://cweiske.de/tagebuch/webhook-payload-formats.htm#send\">my previous example</a>.\n </p>\n <p>\n But then I needed a 100% correct way of\n <a href=\"https://www.w3.org/TR/websub/#discovery\">detecting a page's Hub URL</a>,\n and copied\n <a href=\"https://github.com/cweiske/phinde/blob/eca6e9af6dea38f5912c881a5dc05193e1b19848/src/phinde/HubUrlExtractor.php\">the code</a>\n from <a href=\"https://github.com/cweiske/phinde\">phinde</a>, my blog search engine.\n With that I introduced a dependency to PEAR's good old\n <a href=\"https://pear.php.net/package/HTTP_Request2\">HTTP_Request2 library</a>\n and I decided to use that library for all requests.\n </p>\n <p>\n Unfortunately, now the problems began:\n During development I got an error in about one of 10-20 requests on my\n machine and could not find the cause:\n </p>\n <pre>PHP Fatal error: Uncaught HTTP_Request2_MessageException: Malformed response: in HTTP/Request2/Adapter/Socket.php on line 1019\n\n#0 HTTP/Request2/Adapter/Socket.php(1019): HTTP_Request2_Response->__construct('', true, Object(Net_URL2))\n#1 HTTP/Request2/Adapter/Socket.php(136): HTTP_Request2_Adapter_Socket->readResponse()\n#2 HTTP/Request2.php(946): HTTP_Request2_Adapter_Socket->sendRequest(Object(phubb\\HttpRequest))\n#3 phubb/src/phubb/HttpRequest.php(22): HTTP_Request2->send()\n#4 phubb/src/phubb/Task/Publish.php(283): phubb\\HttpRequest->send()\n#5 phubb/src/phubb/Task/Publish.php(248): phubb\\Task_Publish->fetchTopic(Object(phubb\\Model_Topic))\n#6 phubb/src/phubb/Task/Publish.php(77): phubb\\Task_Publish->checkTopicUpdate('http://push-tes...')\n#7 in HTTP/Request2/Response.php on line 215</pre>\n <p>\n The socket adapter has this problem, and I did not want to try to debug that\n strange problem.\n (No idea if the cURL one has it; I do not want to rely on php-curl).\n Finding a new HTTP library was the only option.\n </p>\n\n\n <h2>New HTTP library</h2>\n <p>\n The <a href=\"https://www.php-fig.org/\">PHP Framework Interop Group</a>\n has several HTTP-related proposals;\n one of them\n <a href=\"https://www.php-fig.org/psr/psr-18/\">PSR-18: HTTP Client</a>.\n Now that we have a standardized way to send HTTP requests in 2020,\n I should use a library that implements it.\n </p>\n <p>\n The <a href=\"https://github.com/topics/psr-18\">psr-18 topic on Github</a>\n listed some clients:\n </p>\n <p>\n <a href=\"https://github.com/symfony/http-client\">Symfony's HTTP client</a> was among them,\n and it provides a mock client for unit tests!\n Unfortunately, it also introduces a million dependencies.\n </p>\n <p>\n There were two others that looked ok-ish on first sight\n (<a href=\"https://github.com/fain182/diciotto\">diciotto</a>\n and\n <a href=\"https://github.com/sunrise-php/http-client-curl\">http-client-curl</a>)\n but both of them had no mock client, and the latter was even curl only.\n Again nothing for me.\n </p>\n <p>\n Then I found <a href=\"https://php-http.org/\">PHP-HTTP</a> that promises\n a standard interface for HTTP clients in PHP, and it supports PSR-18!\n It even has a\n <a href=\"http://docs.php-http.org/en/latest/clients/socket-client.html\">socket client</a>\n that has nearly no dependencies,\n and a\n <a href=\"http://docs.php-http.org/en/latest/clients/mock-client.html\">mock client</a>\n for unit tests.\n I'll try that one for now.\n </p>",
"text": "phubb is a\n WebSub\n hub that\n notifies subscribers in realtime when your website is updated.\n \n \n Up to this year, phubb sent HTTP requests (GET + POST) with\n file_get_contents()\n and a HTTP stream context\n - see my previous example.\n \n \n But then I needed a 100% correct way of\n detecting a page's Hub URL,\n and copied\n the code\n from phinde, my blog search engine.\n With that I introduced a dependency to PEAR's good old\n HTTP_Request2 library\n and I decided to use that library for all requests.\n \n \n Unfortunately, now the problems began:\n During development I got an error in about one of 10-20 requests on my\n machine and could not find the cause:\n \n PHP Fatal error: Uncaught HTTP_Request2_MessageException: Malformed response: in HTTP/Request2/Adapter/Socket.php on line 1019\n\n#0 HTTP/Request2/Adapter/Socket.php(1019): HTTP_Request2_Response->__construct('', true, Object(Net_URL2))\n#1 HTTP/Request2/Adapter/Socket.php(136): HTTP_Request2_Adapter_Socket->readResponse()\n#2 HTTP/Request2.php(946): HTTP_Request2_Adapter_Socket->sendRequest(Object(phubb\\HttpRequest))\n#3 phubb/src/phubb/HttpRequest.php(22): HTTP_Request2->send()\n#4 phubb/src/phubb/Task/Publish.php(283): phubb\\HttpRequest->send()\n#5 phubb/src/phubb/Task/Publish.php(248): phubb\\Task_Publish->fetchTopic(Object(phubb\\Model_Topic))\n#6 phubb/src/phubb/Task/Publish.php(77): phubb\\Task_Publish->checkTopicUpdate('http://push-tes...')\n#7 in HTTP/Request2/Response.php on line 215\n \n The socket adapter has this problem, and I did not want to try to debug that\n strange problem.\n (No idea if the cURL one has it; I do not want to rely on php-curl).\n Finding a new HTTP library was the only option.\n \n\n\n New HTTP library\n \n The PHP Framework Interop Group\n has several HTTP-related proposals;\n one of them\n PSR-18: HTTP Client.\n Now that we have a standardized way to send HTTP requests in 2020,\n I should use a library that implements it.\n \n \n The psr-18 topic on Github\n listed some clients:\n \n \n Symfony's HTTP client was among them,\n and it provides a mock client for unit tests!\n Unfortunately, it also introduces a million dependencies.\n \n \n There were two others that looked ok-ish on first sight\n (diciotto\n and\n http-client-curl)\n but both of them had no mock client, and the latter was even curl only.\n Again nothing for me.\n \n \n Then I found PHP-HTTP that promises\n a standard interface for HTTP clients in PHP, and it supports PSR-18!\n It even has a\n socket client\n that has nearly no dependencies,\n and a\n mock client\n for unit tests.\n I'll try that one for now."
},
"name": "Switching phubb's HTTP client",
"post-type": "article",
"_id": "10963689",
"_source": "193",
"_is_read": true
}
I'm hoping that I'll keep a bit more on top of mentions not being sent, and may even look at scheduling a batch to re-process mentions that haven't sent (although I'm pretty sure I set up my Webmention processor to do that for me)
{
"type": "entry",
"published": "2020-04-20T23:31:32.752+02:00",
"url": "https://www.jvt.me/mf2/2020/04/vafra/",
"in-reply-to": [
"https://www.jvt.me/mf2/2020/04/knfnz/"
],
"content": {
"text": "I'm hoping that I'll keep a bit more on top of mentions not being sent, and may even look at scheduling a batch to re-process mentions that haven't sent (although I'm pretty sure I set up my Webmention processor to do that for me)",
"html": "<p>I'm hoping that I'll keep a bit more on top of mentions not being sent, and may even look at scheduling a batch to re-process mentions that haven't sent (although I'm pretty sure I set up my Webmention processor to do that for me)</p>"
},
"author": {
"type": "card",
"name": "Jamie Tanna",
"url": "https://www.jvt.me",
"photo": "https://www.jvt.me/img/profile.png"
},
"post-type": "reply",
"_id": "10926986",
"_source": "2169",
"_is_read": true
}
Steve Ivy
Also, I really need to implement a webmention server https://webmention.rocks/
{
"type": "entry",
"published": "2020-04-20 05:30:50",
"url": "http://monkinetic.blog/2020/04/20/#txt-ba6781d",
"content": {
"text": "Also, I really need to implement a webmention server https://webmention.rocks/",
"html": "<p>Also, I really need to implement a webmention server <a href=\"https://webmention.rocks/\">https://webmention.rocks/</a></p>"
},
"author": {
"type": "card",
"name": "Steve Ivy",
"url": false,
"photo": "http://monkinetic.blog/static/images/sivy_avatar_256.png"
},
"post-type": "note",
"_id": "10926580",
"_source": "4486",
"_is_read": true
}
{
"type": "entry",
"author": {
"name": "Manton Reece",
"url": "https://www.manton.org/",
"photo": "https://micro.blog/manton/avatar.jpg"
},
"url": "https://www.manton.org/2020/04/20/api-history-detour.html",
"name": "API history detour for Micro.blog + MarsEdit 4.4",
"content": {
"html": "<p>Micro.blog supports primarily 2 APIs for posting to hosted blogs:</p>\n\n<ul><li><strong>Micropub</strong>, the IndieWeb API used in the official Micro.blog apps.</li>\n<li><strong>MetaWeblog</strong>, the XML-RPC API used in MarsEdit for macOS.</li>\n</ul><p>XML-RPC used to be the standard for blog posting, widely supported in all blogging platforms. It is still used in WordPress today, and I\u2019ve supported it in Micro.blog from the beginning. I\u2019ve always wanted Micro.blog to be compatible with as many apps as possible, especially MarsEdit.</p>\n\n<p>To understand XML-RPC, we have to go <em>way back</em> in blogging history, to 2001 and the original Blogger API by Evan Williams. Micro.blog\u2019s support for XML-RPC still closely matches what the API looked like nearly 20 years ago.</p>\n\n<p>As is obvious from the name, requests and responses in XML-RPC are sent as XML. Common data types such as integers, strings, and structs are encoded with rules outlined in the XML-RPC specification. To create a new post in the original Blogger API with the words \u201cHello world\u201d, the request to the method <code>blogger.newPost</code> might look like this:</p>\n\n<pre><code><?xml version=\"1.0\"?>\n<methodCall>\n <methodName>blogger.newPost</methodName>\n <params>\n <param>\n <value><int>app ID</int></value>\n </param>\n <param>\n <value><int>blog ID</int></value>\n </param>\n <param>\n <value><string>manton</string></value>\n </param>\n <param>\n <value><string>mypassword</string></value>\n </param>\n <param>\n <value><string>Hello world.</string></value>\n </param>\n <param>\n <value><boolean>1</boolean></value>\n </param>\n </params>\n</methodCall>\n</code></pre>\n\n<p>Subsequent blogging platforms extended the Blogger API with their own features. Instead of <code>blogger.newPost</code>, Movable Type had <code>mt.newPost</code> with similar parameters, adding a title field. WordPress had <code>wordpress.newPost</code>.</p>\n\n<p>To try to unify future improvements under a vendor-neutral standard, Dave Winer proposed the <a href=\"http://1998.xmlrpc.com/metaWeblogApi.html\">MetaWeblog API</a>. MetaWeblog switched to passing content as structs, which could more easily be extended with additional fields, and added an image upload API, <code>metaWeblog.newMediaObject</code>. Dave patterned the field names after RSS:</p>\n\n<blockquote>\n<p>The MetaWeblog API uses an XML-RPC struct to represent a weblog post. Rather than invent a new vocabulary for the metadata of a weblog post, we use the vocabulary for an <a href=\"https://cyber.harvard.edu/rss/rss.html#hrelementsOfLtitemgt\">item</a> in RSS 2.0. So you can refer to a post\u2019s title, link and description; or its author, comments, enclosure, guid, etc using the already-familiar names given to those elements in RSS 2.0.</p>\n</blockquote>\n\n<p>Dave wasn\u2019t the only one who hoped to bring consistency between feed formats and a blogging API. A couple years later, AtomPub was created based on Atom feeds.</p>\n\n<p>Ben Trott of Six Apart, makers of Movable Type, <a href=\"https://web.archive.org/web/20030707045207/http://www.sixapart.com/log/2003/06/why_we_need_ech.shtml\">blogged at the time</a> about the benefits to basing an API on the Atom feed format, which back then was called Echo:</p>\n\n<blockquote>\n<p>Benefits to developers: using the same data model and serialization for syndication, archiving, and editing simplifies the development of tools to work with (produce and consume) these formats, for obvious reasons: code written to produce an item in an Echo feed, for example, can also be used for producing data sent in an API request or packaged up for archiving.</p>\n</blockquote>\n\n<p>AtomPub was adopted in Blogger but is not supported in any other modern blogging platforms. Earlier this year, MarsEdit developer Daniel Jalkut announced that he would also be phasing out support for posting to Blogger.</p>\n\n<p>Between the early 2000s when there was so much activity around blogging standards, and the growth of the IndieWeb and W3C-recommended standard Micropub API in 2017, there was a notable lack of innovation in blogging. Everyone was pulled away to social networks. Platform-specific APIs became the norm. It is because if this lull that XML-RPC survived so long without a modern replacement.</p>\n\n<p>So that brings us to today. Micro.blog has always worked with MarsEdit, but because it\u2019s based on a standard that was frozen, MarsEdit could not support all of Micro.blog\u2019s features. And while Micropub is clearly the future, there is more we could do <em>now</em> without requiring MarsEdit to be adapted for Micropub.</p>\n\n<p>I\u2019ve been working with Daniel to identity what is missing from MetaWeblog and rolling that into a new Micro.blog-specific flavor of XML-RPC. This is essentially what Movable Type and WordPress had done years ago. I had avoided it until now because Micro.blog should default to supporting standards wherever possible before inventing something new.</p>\n\n<p>We talked through this on <a href=\"https://coreint.org/2020/04/episode-416-wait-ten-years/\">Core Intuition 416</a>. Now that there\u2019s <a href=\"https://danielpunkass.micro.blog/2020/04/17/marsedit-will-include.html\">an alpha of MarsEdit 4.4</a> available, I\u2019ve <a href=\"https://help.micro.blog/2020/xmlrpc-microblog/\">documented the new API parameters here</a>. It is based on MetaWeblog, but cleaned up with more consistent field names and support for new features such as creating and editing pages on your blog, server drafts, and downloading all posts.</p>\n\n<p>Micro.blog now shows up in MarsEdit as one of the supported blog systems, along with Tumblr and WordPress:</p>\n\n<p><img src=\"https://www.manton.org/uploads/2020/b3d856155a.png\" alt=\"MarsEdit systems\" border=\"0\" width=\"313\" height=\"356\" style=\"max-width:313px;\" /></p>\n\n<p>I\u2019ve been using the new MarsEdit for the last few days, and it really is a big improvement for Micro.blog. Keep an eye out for the final release.</p>",
"text": "Micro.blog supports primarily 2 APIs for posting to hosted blogs:\n\nMicropub, the IndieWeb API used in the official Micro.blog apps.\nMetaWeblog, the XML-RPC API used in MarsEdit for macOS.\nXML-RPC used to be the standard for blog posting, widely supported in all blogging platforms. It is still used in WordPress today, and I\u2019ve supported it in Micro.blog from the beginning. I\u2019ve always wanted Micro.blog to be compatible with as many apps as possible, especially MarsEdit.\n\nTo understand XML-RPC, we have to go way back in blogging history, to 2001 and the original Blogger API by Evan Williams. Micro.blog\u2019s support for XML-RPC still closely matches what the API looked like nearly 20 years ago.\n\nAs is obvious from the name, requests and responses in XML-RPC are sent as XML. Common data types such as integers, strings, and structs are encoded with rules outlined in the XML-RPC specification. To create a new post in the original Blogger API with the words \u201cHello world\u201d, the request to the method blogger.newPost might look like this:\n\n<?xml version=\"1.0\"?>\n<methodCall>\n <methodName>blogger.newPost</methodName>\n <params>\n <param>\n <value><int>app ID</int></value>\n </param>\n <param>\n <value><int>blog ID</int></value>\n </param>\n <param>\n <value><string>manton</string></value>\n </param>\n <param>\n <value><string>mypassword</string></value>\n </param>\n <param>\n <value><string>Hello world.</string></value>\n </param>\n <param>\n <value><boolean>1</boolean></value>\n </param>\n </params>\n</methodCall>\n\n\nSubsequent blogging platforms extended the Blogger API with their own features. Instead of blogger.newPost, Movable Type had mt.newPost with similar parameters, adding a title field. WordPress had wordpress.newPost.\n\nTo try to unify future improvements under a vendor-neutral standard, Dave Winer proposed the MetaWeblog API. MetaWeblog switched to passing content as structs, which could more easily be extended with additional fields, and added an image upload API, metaWeblog.newMediaObject. Dave patterned the field names after RSS:\n\n\nThe MetaWeblog API uses an XML-RPC struct to represent a weblog post. Rather than invent a new vocabulary for the metadata of a weblog post, we use the vocabulary for an item in RSS 2.0. So you can refer to a post\u2019s title, link and description; or its author, comments, enclosure, guid, etc using the already-familiar names given to those elements in RSS 2.0.\n\n\nDave wasn\u2019t the only one who hoped to bring consistency between feed formats and a blogging API. A couple years later, AtomPub was created based on Atom feeds.\n\nBen Trott of Six Apart, makers of Movable Type, blogged at the time about the benefits to basing an API on the Atom feed format, which back then was called Echo:\n\n\nBenefits to developers: using the same data model and serialization for syndication, archiving, and editing simplifies the development of tools to work with (produce and consume) these formats, for obvious reasons: code written to produce an item in an Echo feed, for example, can also be used for producing data sent in an API request or packaged up for archiving.\n\n\nAtomPub was adopted in Blogger but is not supported in any other modern blogging platforms. Earlier this year, MarsEdit developer Daniel Jalkut announced that he would also be phasing out support for posting to Blogger.\n\nBetween the early 2000s when there was so much activity around blogging standards, and the growth of the IndieWeb and W3C-recommended standard Micropub API in 2017, there was a notable lack of innovation in blogging. Everyone was pulled away to social networks. Platform-specific APIs became the norm. It is because if this lull that XML-RPC survived so long without a modern replacement.\n\nSo that brings us to today. Micro.blog has always worked with MarsEdit, but because it\u2019s based on a standard that was frozen, MarsEdit could not support all of Micro.blog\u2019s features. And while Micropub is clearly the future, there is more we could do now without requiring MarsEdit to be adapted for Micropub.\n\nI\u2019ve been working with Daniel to identity what is missing from MetaWeblog and rolling that into a new Micro.blog-specific flavor of XML-RPC. This is essentially what Movable Type and WordPress had done years ago. I had avoided it until now because Micro.blog should default to supporting standards wherever possible before inventing something new.\n\nWe talked through this on Core Intuition 416. Now that there\u2019s an alpha of MarsEdit 4.4 available, I\u2019ve documented the new API parameters here. It is based on MetaWeblog, but cleaned up with more consistent field names and support for new features such as creating and editing pages on your blog, server drafts, and downloading all posts.\n\nMicro.blog now shows up in MarsEdit as one of the supported blog systems, along with Tumblr and WordPress:\n\n\n\nI\u2019ve been using the new MarsEdit for the last few days, and it really is a big improvement for Micro.blog. Keep an eye out for the final release."
},
"published": "2020-04-20T12:44:45-05:00",
"category": [
"Photos",
"Essays",
"Podcasts"
],
"post-type": "article",
"_id": "10925248",
"_source": "12",
"_is_read": true
}
I've been doing a lot of #IndieWeb things recently which allow me to own my data a lot better - such as this tweet which is actually published to my site first, then gets syndicated to Twitter - been fun for many reasons
{
"type": "entry",
"published": "2020-04-20T09:38:00+01:00",
"url": "https://www.jvt.me/mf2/2020/04/jowbi/",
"category": [
"indieweb"
],
"in-reply-to": [
"https://twitter.com/saronyitbarek/status/1252038372484358145"
],
"content": {
"text": "I've been doing a lot of #IndieWeb things recently which allow me to own my data a lot better - such as this tweet which is actually published to my site first, then gets syndicated to Twitter - been fun for many reasons",
"html": "<p>I've been doing a lot of <a href=\"https://www.jvt.me/tags/indieweb/\">#IndieWeb</a> things recently which allow me to own my data a lot better - such as this tweet which is actually published to my site first, then gets syndicated to Twitter - been fun for many reasons</p>"
},
"author": {
"type": "card",
"name": "Jamie Tanna",
"url": "https://www.jvt.me",
"photo": "https://www.jvt.me/img/profile.png"
},
"post-type": "reply",
"_id": "10908065",
"_source": "2169",
"_is_read": true
}
Hey Spencer, thanks for the kind words.
Have you seen indiebookclub.biz? That’s a little tool I’ve put together that makes it easier to post those read posts to your site. It’s via Micropub and there is an indieweb plugin that adds Micropub support to Wordpress sites, so you might be closer to achieving this than you think!
I’m not super familiar with the WordPress plugin, but the IndieWeb WordPress community would be happy to help with any questions. There’s a dedicated chat channel for WordPress if you want to stop by. More details at indieweb.org/discuss.
{
"type": "entry",
"published": "2020-04-19 00:27-0700",
"url": "https://gregorlove.com/2020/04/hey-spencer-thanks-for-the/",
"in-reply-to": [
"https://blog.spencerdub.me/like-gregor-morrill-reading/"
],
"content": {
"text": "Hey Spencer, thanks for the kind words.\n\nHave you seen indiebookclub.biz? That\u2019s a little tool I\u2019ve put together that makes it easier to post those read posts to your site. It\u2019s via Micropub and there is an indieweb plugin that adds Micropub support to Wordpress sites, so you might be closer to achieving this than you think!\n\nI\u2019m not super familiar with the WordPress plugin, but the IndieWeb WordPress community would be happy to help with any questions. There\u2019s a dedicated chat channel for WordPress if you want to stop by. More details at indieweb.org/discuss.",
"html": "<p>Hey Spencer, thanks for the kind words.</p>\n\n<p>Have you seen <a href=\"https://indiebookclub.biz\">indiebookclub.biz</a>? That\u2019s a little tool I\u2019ve put together that makes it easier to post those read posts to your site. It\u2019s via Micropub and there is an indieweb plugin that adds Micropub support to Wordpress sites, so you might be closer to achieving this than you think!</p>\n\n<p>I\u2019m not super familiar with the WordPress plugin, but the IndieWeb WordPress community would be happy to help with any questions. There\u2019s a dedicated chat channel for WordPress if you want to stop by. More details at <a href=\"https://indieweb.org/discuss\">indieweb.org/discuss</a>.</p>"
},
"post-type": "reply",
"refs": {
"https://blog.spencerdub.me/like-gregor-morrill-reading/": {
"type": "entry",
"url": "https://blog.spencerdub.me/like-gregor-morrill-reading/",
"name": "https://blog.spencerdub.me/like-gregor-morrill-reading/",
"post-type": "article"
}
},
"_id": "10884526",
"_source": "95",
"_is_read": true
}
Hey @kickscondor not sure if you've seen but the cert for https://indieweb.xyz/ seems to have expired - "4/18/2020, 12:32:43 AM (British Summer Time)" according to the cert. May need a nudge to renew it!
{
"type": "entry",
"published": "2020-04-18T15:22:52.839+02:00",
"url": "https://www.jvt.me/mf2/2020/04/gtepu/",
"content": {
"text": "Hey @kickscondor not sure if you've seen but the cert for https://indieweb.xyz/ seems to have expired - \"4/18/2020, 12:32:43 AM (British Summer Time)\" according to the cert. May need a nudge to renew it!",
"html": "<p>Hey <span class=\"h-card\"><a class=\"u-url\" href=\"https://twitter.com/kickscondor\">@kickscondor</a></span> not sure if you've seen but the cert for <a href=\"https://indieweb.xyz/\">https://indieweb.xyz/</a> seems to have expired - \"4/18/2020, 12:32:43 AM (British Summer Time)\" according to the cert. May need a nudge to renew it!</p>"
},
"author": {
"type": "card",
"name": "Jamie Tanna",
"url": "https://www.jvt.me",
"photo": "https://www.jvt.me/img/profile.png"
},
"post-type": "note",
"_id": "10861949",
"_source": "2169",
"_is_read": true
}
Code is merged, bugs fixed in both Micropub and post-deploy, so this should work!
{
"type": "entry",
"published": "2020-04-18T14:31:04.736+02:00",
"url": "https://www.jvt.me/mf2/2020/04/esl2l/",
"in-reply-to": [
"https://twitter.com/JamieTanna/status/1251200698274009094"
],
"content": {
"text": "Code is merged, bugs fixed in both Micropub and post-deploy, so this should work!",
"html": "<p>Code is merged, bugs fixed in both Micropub and post-deploy, so this should work!</p>"
},
"author": {
"type": "card",
"name": "Jamie Tanna",
"url": "https://www.jvt.me",
"photo": "https://www.jvt.me/img/profile.png"
},
"post-type": "reply",
"_id": "10861434",
"_source": "2169",
"_is_read": true
}
{
"type": "entry",
"published": "2020-04-17T14:47:32-0400",
"url": "https://martymcgui.re/2020/04/17/indieweb-nyc-aka-virtual-hwc-us-east-meetup-2020-04-15-wrap-up/",
"category": [
"IndieWeb",
"meetup",
"HWC",
"NYC",
"virtual",
"vHWC",
"wrap-up"
],
"name": "IndieWeb NYC (aka Virtual HWC US East) Meetup 2020-04-15 Wrap-Up",
"content": {
"text": "IndieWeb NYC's meetup for April 2020 (also virtual Homebrew Website Club US East, met on Zoom from 6pm - 8pm EDT on April 15th. It was mostly NYC folks, with one joining briefly from Portland!\nHere are some notes from the meeting!\njmac.org \u2014 writing about webmentions on fogknife.com. Learned a lot about them through sending a \"strange\" RSVP to an event at events.indieweb.org. The RSVP was a longer post, which also included an RSVP inside it. events.indieweb.org treated the post as both an RSVP and a blog post about the event. Jason enjoyed learning about moderating webmentions through that experience! He also accidentally reposted a bunch of links to IndieNews because his site moved from http to https, and those are \"new links\". Eek!\n\n aaronpk.com \u2014 had some time between giving a workshop and speaking at allthetalks.online. can now post photos from his Nintendo Switch to his website by making a new Twitter account that is just for posts from his Switch, then setting up a cron task to pull and post new tweets to special tags on his site, like the #ACNH tag for posts from Animal Crossing New Horizons.\n \n\ndavid.shanske.com \u2014 now a member of NOAA's Citizen Weather Observing Program (CWOP)! Making him an official weather source. Working on a large project of archiving IndieWeb event videos from YouTube to archive.org. Hopes to find interested in re-watching some older IndieWebCamp videos to reconstruct notes that were lost when Mozilla recently shut down their Etherpad instance.\nmartymcgui.re \u2014 Still posting one cat GIF per day during the COVID-19 shutdown in NYC. Recently started work on a \"consolidated watch later\" list using IndieWeb building blocks - mostly with microsub channels in Aperture as a queuing mechanism.\nOther topics of discussion.\nHome studios! aaronpk has a very nice setup with multiple cameras, switchers, and great lighting. Marty has some parts on order so he can use a DLSR as a webcam. GWG has a nice set up also!\n Personal \"this is how I IndieWeb\" pages might be useful for helping on-board developers, since each is a personal setup and won't immediately be considered \"expert advice\". For example, Marty's page on the IndieWeb wiki. Starts at a very high level and adds more detail the further you read.\n More open tests for Webmentions (beyond the strictly-plumbing webmention.rocks)\n Sourcing home supplies in this time of lockdown. GWG recommends bidets.\nLeft-to-right: david.shanske.com, jmac.org, martymcgui.reThanks to all who joined us! We will see you all again at our next IndieWeb NYC (aka vHWC US East) meetup online on May 20th! Keep an eye on indieweb.nyc or events.indieweb.org/tag/nyc for the exact date, time, and online location!",
"html": "<p><a href=\"https://events.indieweb.org/2020/04/online-indieweb-meetup-nyc-xzPxXTK5HGbe\">IndieWeb NYC's meetup for April 2020 (also virtual Homebrew Website Club US East</a>, met on Zoom from 6pm - 8pm EDT on April 15th. It was mostly NYC folks, with one joining briefly from Portland!</p>\n<p>Here are some notes from the meeting!</p>\n<p>jmac.org \u2014 writing about webmentions on fogknife.com. Learned a lot about them through sending a \"strange\" RSVP to an event at events.indieweb.org. The RSVP was a longer post, which also included an RSVP inside it. events.indieweb.org treated the post as both an RSVP and a blog post about the event. Jason enjoyed learning about moderating webmentions through that experience! He also accidentally reposted a bunch of links to IndieNews because his site moved from http to https, and those are \"new links\". Eek!</p>\n<p>\n aaronpk.com \u2014 had some time between giving a workshop and speaking at <a href=\"https://allthetalks.online/\">allthetalks.online</a>. can now post photos from his Nintendo Switch to his website by making a new Twitter account that is just for posts from his Switch, then setting up a cron task to pull and post new tweets to special tags on his site, like the <a href=\"https://aaronparecki.com/tag/acnh\">#ACNH tag </a>for posts from Animal Crossing New Horizons.\n <br /></p>\n<p>david.shanske.com \u2014 now a member of NOAA's <a href=\"https://en.wikipedia.org/wiki/Citizen_Weather_Observer_Program\">Citizen Weather Observing Program (CWOP)</a>! Making him an official weather source. Working on a large project of archiving IndieWeb event videos from YouTube to archive.org. Hopes to find interested in re-watching some older IndieWebCamp videos to reconstruct notes that were lost when Mozilla recently shut down their Etherpad instance.</p>\n<p>martymcgui.re \u2014 Still posting <a href=\"https://martymcgui.re/tag/caturday/\">one cat GIF per day</a> during the COVID-19 shutdown in NYC. Recently started work on a \"consolidated watch later\" list using IndieWeb building blocks - mostly with microsub channels in Aperture as a queuing mechanism.</p>\n<p>Other topics of discussion.</p>\n<ul><li>Home studios! aaronpk has a <a href=\"https://www.youtube.com/watch?v=yNzU-TPdxR4\">very nice setup</a> with multiple cameras, switchers, and great lighting. Marty has some parts on order so he can use a DLSR as a webcam. GWG has a nice set up also!</li>\n <li>Personal \"this is how I IndieWeb\" pages might be useful for helping on-board developers, since each is a personal setup and won't immediately be considered \"expert advice\". For example, <a href=\"https://indieweb.org/User:Martymcgui.re#My_IndieWeb_Setup\">Marty's page on the IndieWeb wiki</a>. Starts at a very high level and adds more detail the further you read.</li>\n <li>More open tests for Webmentions (beyond the strictly-plumbing <a href=\"https://webmention.rocks/\">webmention.rocks</a>)</li>\n <li>Sourcing home supplies in this time of lockdown. GWG recommends bidets.</li>\n</ul><img src=\"https://media.martymcgui.re/54/d9/22/a5/0cb622d13f60ff4cb32e7752eadb577dbaa4805950003ea9198c7a2f.png\" alt=\"\" />Left-to-right: david.shanske.com, jmac.org, martymcgui.re<p>Thanks to all who joined us! We will see you all again at our next <a href=\"https://events.indieweb.org/2020/05/online-indieweb-meetup-nyc-vkY32vBfCTEJ\">IndieWeb NYC (aka vHWC US East) meetup online on May 20th</a>! Keep an eye on <a href=\"https://indieweb.nyc/\">indieweb.nyc</a> or <a href=\"https://events.indieweb.org/tag/nyc\">events.indieweb.org/tag/nyc</a> for the exact date, time, and online location!\n</p>"
},
"author": {
"type": "card",
"name": "Marty McGuire",
"url": "https://martymcgui.re/",
"photo": "https://martymcgui.re/images/logo.jpg"
},
"post-type": "article",
"_id": "10842159",
"_source": "175",
"_is_read": true
}
This note will be published to Twitter, and then have its syndicated Twitter URL updated in the post's metadata when the Webmentions are send, so shortly after seeing this post, it'll link directly to its tweet!
{
"type": "entry",
"published": "2020-04-17T18:15:02.959+02:00",
"url": "https://www.jvt.me/mf2/2020/04/ehqnl/",
"content": {
"text": "This note will be published to Twitter, and then have its syndicated Twitter URL updated in the post's metadata when the Webmentions are send, so shortly after seeing this post, it'll link directly to its tweet!",
"html": "<p>This note will be published to Twitter, and then have its syndicated Twitter URL updated in the post's metadata when the Webmentions are send, so shortly after seeing this post, it'll link directly to its tweet!</p>"
},
"author": {
"type": "card",
"name": "Jamie Tanna",
"url": "https://www.jvt.me",
"photo": "https://www.jvt.me/img/profile.png"
},
"post-type": "note",
"_id": "10836593",
"_source": "2169",
"_is_read": true
}