88 lines
3.3 KiB
HTML
88 lines
3.3 KiB
HTML
<!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.
|
|
For example, <a href="/noracodes/feed.rss"><code>/noracodes/feed.rss</code></a> will give you the feed for my page.
|
|
</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>
|