<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>corobel: RSS for Cohost</title> <meta name="description" content="A simple stateless tool to translate Cohost to RSS feeds."> <meta name="author" content="Leonora Tindall"> <meta property="og:title" content="corobel: RSS for Cohost"> <meta property="og:type" content="website"> <meta property="og:description" content="A simple stateless tool to translate Cohost to RSS feeds."> <style type="text/css"> html { max-width: 70ch; padding: 3em 1em; margin: auto; line-height: 1.75; font-size: 1.25em; } h1,h2,h3,h4,h5,h6 { font-family: sans-serif; } h1 { text-align: center; } code { font-family: monospace; background-color: black; color: white; display: inline-block; padding: 0px 4px; border-radius: 4px; } a code { color: white; background-color: darkblue; } a:hover code { color: darkblue; background-color: white; } </style> </head> <body> <h1>corobel</h1> <h2>Standard Data from Cohost Posts and Projects</h2> <p> <h3>Project RSS Feeds</h3> Go to <code>/project_name/feed.rss</code> to get a feed for a project, or <code>/project_name/originals.rss</code> for just original posts (including shared posts with commentary). For example, <a href="/noracodes/feed.rss"><code>/noracodes/feed.rss</code></a> will give you the feed for my page, or <a href="/noracodes/original.rss"><code>/noracodes/feed.rss</code></a> for just my original posts. </p> <p> <h3>Markdown Extraction</h3> You can also get a particular post's original plain-text body at <code>/project_name/post_id/</code>, such as <a href="/noracodes/169186/"><code>/noracodes/169186/</code></a>. (In a Cohost post URL, the ID is the numerical part after <code>/post/</code>. For instance, in <code>https://cohost.org/noracodes/post/169186-october-update</code>, the ID is "169186".) Or, drag this bookmarklet: <a href="javascript:(function(){const regex = /^https:\/\/cohost.org\/([a-zA-Z_\-0-9]*)\/post\/([0-9]*)-.*/;const new_loc = window.location.href.replace(regex, 'https://corobel.nora.codes/$1/$2');window.open(new_loc);})()"> Cohost: Extract Source </a> to your bookmarks bar and then click on it when you're on a Cohost individual post page to download that post's source. </p> <p> <h3>Webfinger Resources</h3> Webfinger resources for accounts are provided at the Webfinger well-known URL <code>/.well-known/webfinger?project_name</code>. </p> <p> <h3>Technical Details</h3> Since 0.5.0, Corobel caches various responses to provide better service. <ul> <li>Project/account data for <b>60 seconds</b></li> <li>Individual posts for <b>60 seconds</b></li> <li>Whole RSS feeds for <b>120 seconds</b></li> <li>Internal HTTP responses <b>according to Cohost's settings</b></li> </ul> This means that if you update a post and then immediately request its source, you might get the old source. Just wait a few seconds. </p> <p> Brought to you by <a href="https://nora.codes">Leonora Tindall</a>, written in Rust with Rocket. Code is <a href="https://git.nora.codes/nora/corobel">online</a>, bug reports should go to my email nora@nora.codes. </p> </body> </html>