{
    "items": [
        {
            "type": [
                "h-entry"
            ],
            "properties": {
                "summary": [
                    "I\u2019ve used a variety of approaches over the years, from manual to semi-automatic. Here\u2019s some different things I\u2019ve done:"
                ],
                "in-reply-to": [
                    "https://twitter.com/isellsoap/status/1271425693671399424"
                ],
                "syndication": [
                    "https://twitter.com/gRegorLove/status/1271952103502741506"
                ],
                "bridgy-omit-link": [
                    "https://twitter.com/gRegorLove/status/1271952103502741506"
                ],
                "url": [
                    "https://gregorlove.com/2020/06/ive-used-a-variety/"
                ],
                "uid": [
                    "https://gregorlove.com/2020/06/ive-used-a-variety/"
                ],
                "published": [
                    "2020-06-13 16:39-0700"
                ],
                "content": [
                    {
                        "html": "<p class=\"p-summary\">I\u2019ve used a variety of approaches over the years, from manual to semi-automatic. Here\u2019s some different things I\u2019ve done:</p>\n\n<p>Initially I would publish a note, then use the interactive Bridgy Publish form from my <a href=\"https://brid.gy/twitter/gRegorLove\">account page</a>. Your account page is <a href=\"https://brid.gy/twitter/isellsoap\">https://brid.gy/twitter/isellsoap</a>. Paste the URL of your note there, choose the options whether you want your original link appended to the tweet, then preview it. If it looks good, publish it. I then would copy the tweet\u2019s URL and add it on my original note as a <a href=\"https://brid.gy/about#link\">syndication link</a>. See below on this note for an example of that syndication link.</p>\n\n<p>After I did that for a while and it was working smoothly, I started to automate it more. Bridgy Publish lets you <a href=\"https://brid.gy/about#webmentions\">send a webmention</a> to trigger the publish. I set up a custom bit of PHP code that would let me click a button to send off that webmention for the note I wanted to publish. Sending a webmention is a pretty simple POST request, so I used the WireHTTP class for that. When publishing to Twitter, the successful Bridgy response includes the Twitter API data for the tweet. I wrote some more code that processes that response to get the tweet\u2019s URL and updates the syndication link on the note.</p>\n\n<p>Note that all of this is separate from the Webmention plugin itself. The code for my semi-automatic publishing isn\u2019t part of a plugin and isn\u2019t very polished code, so I haven\u2019t released any of it. If I can find a way to make it more user-friendly, I might release it, or at least write a tutorial with more guidance.</p>\n\n<p><a href=\"https://php.microformats.io/\">https://php.microformats.io</a> is a useful tool to debug the microformats in your posts, by the way. Here\u2019s the <a href=\"https://php.microformats.io/?url=https://gregorlove.com/2020/06/ive-used-a-variety/\">parsed result of this very note</a>. The <code>in-reply-to</code> property is what Bridgy Publish uses to post a reply tweet. The <code>syndication</code> property is one way Bridgy maps your original post to the Twitter copy for sending responses back to you \u2014 particularly if you don\u2019t include your original post link in the tweet.</p>",
                        "value": "I\u2019ve used a variety of approaches over the years, from manual to semi-automatic. Here\u2019s some different things I\u2019ve done:\nInitially I would publish a note, then use the interactive Bridgy Publish form from my account page. Your account page is https://brid.gy/twitter/isellsoap. Paste the URL of your note there, choose the options whether you want your original link appended to the tweet, then preview it. If it looks good, publish it. I then would copy the tweet\u2019s URL and add it on my original note as a syndication link. See below on this note for an example of that syndication link.\nAfter I did that for a while and it was working smoothly, I started to automate it more. Bridgy Publish lets you send a webmention to trigger the publish. I set up a custom bit of PHP code that would let me click a button to send off that webmention for the note I wanted to publish. Sending a webmention is a pretty simple POST request, so I used the WireHTTP class for that. When publishing to Twitter, the successful Bridgy response includes the Twitter API data for the tweet. I wrote some more code that processes that response to get the tweet\u2019s URL and updates the syndication link on the note.\nNote that all of this is separate from the Webmention plugin itself. The code for my semi-automatic publishing isn\u2019t part of a plugin and isn\u2019t very polished code, so I haven\u2019t released any of it. If I can find a way to make it more user-friendly, I might release it, or at least write a tutorial with more guidance.\nhttps://php.microformats.io is a useful tool to debug the microformats in your posts, by the way. Here\u2019s the parsed result of this very note. The in-reply-to property is what Bridgy Publish uses to post a reply tweet. The syndication property is one way Bridgy maps your original post to the Twitter copy for sending responses back to you \u2014 particularly if you don\u2019t include your original post link in the tweet.",
                        "lang": "en"
                    }
                ],
                "author": [
                    {
                        "type": [
                            "h-card"
                        ],
                        "properties": {
                            "url": [
                                "https://gregorlove.com/"
                            ],
                            "photo": [
                                {
                                    "value": "https://gregorlove.com/site/assets/files/3473/profile-2016-med.jpg",
                                    "alt": "gRegor Morrill"
                                }
                            ],
                            "name": [
                                "gRegor Morrill"
                            ]
                        },
                        "lang": "en",
                        "value": "gRegor Morrill"
                    }
                ],
                "comment": [
                    {
                        "type": [
                            "h-cite"
                        ],
                        "properties": {
                            "content": [
                                "Thanks a lot for the explanation!\nI\u2019m already sending webmentions via Bridgy Publish. I altered your module to optionally include the publish URLs for (in my case) Twitter and Mastodon. I\u2019ve done this in this file around that line. I\u2019ve added a checkbox in my notes called \u201cPost to Bridgy?\u201d, and when that is checked I append the Bridgy publish URLs to $page->{$field} as additional URLs to process for webmentions.\nThe core of what I need is what you wrote here:\nI wrote some more code that processes that response to get the tweet\u2019s URL and updates the syndication link on the note.\nThat\u2019s basically exactly what I\u2019m looking for it. I see if I can achieve that by myself, playing a bit around with it.\nBut thanks again for you reply, that clarifies a lot for me. And it\u2019s also a bit sobering to see that apparently it\u2019s really not that easy to automate the process. Looking around at all the #indieweb blogs and seeing all the syndicated links on notes frankly I felt quite stupid not understanding how all this folks are doing this automatically. Also one really can\u2019t find a whole lot information around the web, which adds to the problem."
                            ],
                            "name": [
                                "Thanks a lot for the explanation!\nI\u2019m already sending webmentions via Bridgy Publish. I altered your module to optionally include the publish URLs for (in my case) Twitter and Mastodon. I\u2019ve done this in this file around that line. I\u2019ve added a checkbox in my notes called \u201cPost to Bridgy?\u201d, and when that is checked I append the Bridgy publish URLs to $page->{$field} as additional URLs to process for webmentions.\nThe core of what I need is what you wrote here:\nI wrote some more code that processes that response to get the tweet\u2019s URL and updates the syndication link on the note.\nThat\u2019s basically exactly what I\u2019m looking for it. I see if I can achieve that by myself, playing a bit around with it.\nBut thanks again for you reply, that clarifies a lot for me. And it\u2019s also a bit sobering to see that apparently it\u2019s really not that easy to automate the process. Looking around at all the #indieweb blogs and seeing all the syndicated links on notes frankly I felt quite stupid not understanding how all this folks are doing this automatically. Also one really can\u2019t find a whole lot information around the web, which adds to the problem."
                            ],
                            "url": [
                                "https://gregorlove.com/2020/06/ive-used-a-variety/"
                            ],
                            "published": [
                                "2020-06-14 01:31:23-0700"
                            ],
                            "author": [
                                {
                                    "type": [
                                        "h-card"
                                    ],
                                    "properties": {
                                        "url": [
                                            "https://gregorlove.com/2020/06/ive-used-a-variety/"
                                        ],
                                        "photo": [
                                            {
                                                "value": "https://gregorlove.com/site/assets/files/3540/e45c9a1a8240e75b75e7aa4012b1537f52747e06ec802819d491f23d2be6927f.jpg",
                                                "alt": "Francesco Schwarz"
                                            }
                                        ],
                                        "name": [
                                            "Francesco Schwarz"
                                        ]
                                    },
                                    "lang": "en",
                                    "value": "https://gregorlove.com/2020/06/ive-used-a-variety/"
                                }
                            ]
                        },
                        "lang": "en",
                        "value": "https://gregorlove.com/2020/06/ive-used-a-variety/"
                    },
                    {
                        "type": [
                            "h-cite"
                        ],
                        "properties": {
                            "url": [
                                "https://gregorlove.com/2020/06/ive-used-a-variety/"
                            ],
                            "published": [
                                "2020-06-14 07:20:33-0700"
                            ],
                            "author": [
                                {
                                    "type": [
                                        "h-card"
                                    ],
                                    "properties": {
                                        "url": [
                                            "https://gregorlove.com/2020/06/ive-used-a-variety/"
                                        ],
                                        "photo": [
                                            {
                                                "value": "https://gregorlove.com/site/assets/files/3540/e45c9a1a8240e75b75e7aa4012b1537f52747e06ec802819d491f23d2be6927f.jpg",
                                                "alt": "Francesco Schwarz"
                                            }
                                        ],
                                        "name": [
                                            "Francesco Schwarz"
                                        ]
                                    },
                                    "lang": "en",
                                    "value": "https://gregorlove.com/2020/06/ive-used-a-variety/"
                                }
                            ]
                        },
                        "lang": "en",
                        "value": "https://gregorlove.com/2020/06/ive-used-a-variety/"
                    }
                ]
            },
            "lang": "en"
        }
    ],
    "rels": {
        "canonical": [
            "https://gregorlove.com/2020/06/ive-used-a-variety/"
        ],
        "icon": [
            "https://gregorlove.com/favicon.ico?v5"
        ],
        "apple-touch-icon": [
            "https://gregorlove.com/images/gregorlove-mobile.png"
        ],
        "stylesheet": [
            "https://gregorlove.com/site/assets/css/gRegorLove-2020.css?v=c41cbb5fe4d21b50debc9ec61c3862e0"
        ]
    },
    "rel-urls": {
        "https://gregorlove.com/2020/06/ive-used-a-variety/": {
            "rels": [
                "canonical"
            ]
        },
        "https://gregorlove.com/favicon.ico?v5": {
            "rels": [
                "icon"
            ]
        },
        "https://gregorlove.com/images/gregorlove-mobile.png": {
            "rels": [
                "apple-touch-icon"
            ]
        },
        "https://gregorlove.com/site/assets/css/gRegorLove-2020.css?v=c41cbb5fe4d21b50debc9ec61c3862e0": {
            "type": "text/css",
            "rels": [
                "stylesheet"
            ]
        }
    },
    "debug": {
        "package": "https://packagist.org/packages/mf2/mf2",
        "source": "https://github.com/indieweb/php-mf2",
        "version": "v0.5.0",
        "note": [
            "This output was generated from the php-mf2 library available at https://github.com/indieweb/php-mf2",
            "Please file any issues with the parser at https://github.com/indieweb/php-mf2/issues",
            "Using the Masterminds HTML5 parser"
        ]
    }
}