make work
This commit is contained in:
parent
fa22d4a3ca
commit
a420d94229
8 changed files with 554 additions and 117 deletions
34
index.js
Normal file
34
index.js
Normal file
|
@ -0,0 +1,34 @@
|
|||
var Express = require('express');
|
||||
var convert = require('./lib/convert');
|
||||
var serveStatic = require('serve-static');
|
||||
var request = require('request');
|
||||
|
||||
var app = Express();
|
||||
|
||||
app.use(serveStatic('static'));
|
||||
|
||||
app.get('/api/feed',function(req,res){
|
||||
// get feed url
|
||||
var feedUrl = req.query.url;
|
||||
if (!feedUrl){
|
||||
res.status(400);
|
||||
res.send('You need to specify a feed URL');
|
||||
}
|
||||
|
||||
var opts = {};
|
||||
|
||||
var req = request.get(feedUrl);
|
||||
convert(req,{},function(er,data){
|
||||
if (er){
|
||||
res.status(500);
|
||||
res.send('error fetching or parsing feed');
|
||||
}
|
||||
res.status(200);
|
||||
res.send(data);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
app.listen(process.env.PORT || 8000,function(){
|
||||
console.log('listening on '+(process.env.PORT || 8000));
|
||||
});
|
|
@ -6,7 +6,14 @@ var template = ejs.compile(fs.readFileSync('./lib/template.ejs','utf8'));
|
|||
|
||||
// source the files
|
||||
|
||||
module.exports = function(stream,callback){
|
||||
module.exports = function(stream,opts,callback){
|
||||
var callback = callback;
|
||||
var opts = opts;
|
||||
if (typeof opts == 'function'){
|
||||
callback = opts;
|
||||
opts = {};
|
||||
}
|
||||
|
||||
// convert s from atom feed to a full html page for rendering
|
||||
breakDown(stream,function(er,data){
|
||||
if (er) {
|
||||
|
@ -54,7 +61,76 @@ function breakDown(stream,callback){
|
|||
|
||||
// hydrate the json to html
|
||||
function buildUp(jsonObj){
|
||||
console.log(jsonObj.meta.title);
|
||||
//fs.writeFileSync('sampleobj.json',JSON.stringify(jsonObj,null,2));
|
||||
|
||||
// add some links to the item for avatar et cetera
|
||||
jsonObj.items.forEach(function(item){
|
||||
|
||||
// get date
|
||||
item.stringDate = isoDateToEnglish(item.date);
|
||||
|
||||
item.content = getH(item,'atom:content');
|
||||
|
||||
// get enclosures
|
||||
item.enclosures = [];
|
||||
|
||||
if (item["activity:object"] && item["activity:object"].link){
|
||||
item["activity:object"].link.forEach(function(link){
|
||||
if (!link['@']){return;} // avoid keyerror
|
||||
var rel = link['@'].rel;
|
||||
var href = link['@'].href;
|
||||
if (rel == 'enclosure'){
|
||||
item.enclosures.push(href);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// get author info
|
||||
|
||||
item.author = {};
|
||||
var _author = item.meta['atom:author'];
|
||||
if ( item['activity:object'] && item['activity:object'].author){
|
||||
_author = item['activity:object'].author;
|
||||
}
|
||||
|
||||
// item.author.name = _author.name.# or empty string
|
||||
item.author.name = getH(_author,'name');
|
||||
item.author.uri = getH(_author,'uri');
|
||||
item.author.fullName = getH(_author,'email');
|
||||
item.author.displayName = getH(_author,'poco:displayname');
|
||||
|
||||
var authorLinks = _author.link || [];
|
||||
authorLinks.forEach(function(link){
|
||||
if (!link['@']){return;} // avoid keyerror
|
||||
var rel = link['@'].rel;
|
||||
var href = link['@'].href;
|
||||
if (rel == 'avatar'){
|
||||
item.author.avatar = href;
|
||||
}else if(rel == 'alternate'){
|
||||
item.author.alternate = href;
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
return template(jsonObj);
|
||||
}
|
||||
|
||||
|
||||
// get obj[key]['#'] or ''
|
||||
function getH(obj,key){
|
||||
if (!obj[key]){return ''}
|
||||
return obj[key]['#']||'';
|
||||
}
|
||||
|
||||
function isoDateToEnglish(d){
|
||||
var d = d;
|
||||
if (typeof d == 'object'){
|
||||
d = d.toISOString();
|
||||
}
|
||||
|
||||
var dt = d.split(/[t\-]/ig);
|
||||
var months = [ "January", "February", "March", "April", "May", "June",
|
||||
"July", "August", "September", "October", "November", "December" ];
|
||||
|
||||
return months[Number(dt[1])] +' '+dt[2]+ ', '+dt[0];
|
||||
}
|
|
@ -1,23 +1,14 @@
|
|||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8"></meta>
|
||||
<style type="text/css">
|
||||
.item{
|
||||
border:solid 1px black;
|
||||
}
|
||||
.meta{
|
||||
|
||||
}
|
||||
.title{
|
||||
font-weight:bold;
|
||||
}
|
||||
</style>
|
||||
<style type="text/css"></style>
|
||||
<link rel="stylesheet" href="/dark.css"></link>
|
||||
</head>
|
||||
<body>
|
||||
<div class="meta">
|
||||
<div class="title">
|
||||
<a href="<%= meta.link %>">
|
||||
<%- meta.title %>
|
||||
<%- meta.title %>'s Feed on Mastodon
|
||||
</a>
|
||||
</div>
|
||||
<div class="description"><%- meta.description %></div>
|
||||
|
@ -26,12 +17,30 @@
|
|||
<div class="container">
|
||||
<% items.forEach(function(item){ %>
|
||||
<div class="item">
|
||||
<div class="item-title">
|
||||
<%- item.title %>
|
||||
</div>
|
||||
<div class="item-title"> <%- item.title %> </div>
|
||||
<div class="author">
|
||||
<a class="avatar" href="<%- item.author.uri %>">
|
||||
<img class="avatar" src="<%- item.author.avatar %>"/>
|
||||
</a>
|
||||
<div class="author-info">
|
||||
<a class="author-displayname" href="<%- item.author.uri %>"> <%= item.author.displayName %> </a>
|
||||
<div class="author-fullname"> <%= item.author.fullName %> </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item-content">
|
||||
<%- item['atom:content']['#'] %>
|
||||
<%- item.content %>
|
||||
</div>
|
||||
<% if (item.enclosures.length > 0){ %>
|
||||
<div class="enclosures">
|
||||
<% for (var i = 0; i < item.enclosures.length; i ++){ %>
|
||||
<a class="enclosure" href="<%- item.enclosures[i] %>" >
|
||||
<img src="<%- item.enclosures[i] %>"/>
|
||||
</a>
|
||||
<% } %>
|
||||
</div>
|
||||
<% } %>
|
||||
<div class="date"><%- item.stringDate %></div>
|
||||
</div>
|
||||
<% }); %>
|
||||
</div>
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
"express": "^4.15.2",
|
||||
"feedparser": "^2.2.0",
|
||||
"pug": "^2.0.0-beta.12",
|
||||
"request": "^2.81.0"
|
||||
"request": "^2.81.0",
|
||||
"serve-static": "^1.12.2"
|
||||
}
|
||||
}
|
||||
|
|
84
static/dark.css
Normal file
84
static/dark.css
Normal file
|
@ -0,0 +1,84 @@
|
|||
html,
|
||||
body {
|
||||
background-color: #22272a;
|
||||
font-family: Roboto, sans-serif;
|
||||
color: #eee;
|
||||
}
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
a,
|
||||
a * {
|
||||
color: #09c;
|
||||
}
|
||||
.meta {
|
||||
padding: 1em;
|
||||
background-color: #292f32;
|
||||
}
|
||||
.meta * {
|
||||
line-height: 2em;
|
||||
}
|
||||
.item {
|
||||
padding: 1em;
|
||||
border-top: solid 2px #30373b;
|
||||
}
|
||||
.item-content,
|
||||
.description,
|
||||
.title {
|
||||
font-size: 1.2rem;
|
||||
font-weight: normal;
|
||||
}
|
||||
.item-content {
|
||||
max-width: 750px;
|
||||
}
|
||||
.item-content p {
|
||||
margin: 0.5em 0;
|
||||
}
|
||||
.item-title,
|
||||
.date,
|
||||
.author-fullname,
|
||||
.description {
|
||||
color: #888888;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
.author {
|
||||
display: flex;
|
||||
margin: 1em 0;
|
||||
}
|
||||
.author-info {
|
||||
margin: 0.5em 1em;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-around;
|
||||
}
|
||||
.author-info .author-displayname {
|
||||
font-size: 1.2rem;
|
||||
color: #eee;
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
font-weight: bolder;
|
||||
}
|
||||
.avatar {
|
||||
width: 70px;
|
||||
height: 70px;
|
||||
border: none;
|
||||
border-radius: 10%;
|
||||
}
|
||||
.enclosures {
|
||||
padding: 0.5em 0;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
max-height: 200px;
|
||||
max-width: 700px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.enclosure,
|
||||
.enclosure > img {
|
||||
flex: 0 1 1;
|
||||
display: inline-block;
|
||||
border: none;
|
||||
cursor: zoom-in;
|
||||
max-height: 200px;
|
||||
max-width: 700px;
|
||||
}
|
5
static/index.html
Normal file
5
static/index.html
Normal file
|
@ -0,0 +1,5 @@
|
|||
<html><head></head><body>
|
||||
Example:
|
||||
|
||||
<iframe sandbox src="/api/feed?url=https%3A%2F%2Foctodon.social%2Fusers%2Ffenwick67.atom"></iframe>
|
||||
</body></html>
|
File diff suppressed because one or more lines are too long
415
test/result.html
415
test/result.html
|
@ -2,22 +2,13 @@
|
|||
<head>
|
||||
<meta charset="UTF-8"></meta>
|
||||
<style type="text/css">
|
||||
.item{
|
||||
border:solid 1px black;
|
||||
}
|
||||
.meta{
|
||||
|
||||
}
|
||||
.title{
|
||||
font-weight:bold;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="meta">
|
||||
<div class="title">
|
||||
<a href="https://octodon.social/@fenwick67">
|
||||
fenwick67 🦆
|
||||
fenwick67 🦆's Feed on Mastodon
|
||||
</a>
|
||||
</div>
|
||||
<div class="description">Engineer, Developer, Person. http://fenwick.pizza</div>
|
||||
|
@ -26,183 +17,427 @@
|
|||
<div class="container">
|
||||
|
||||
<div class="item">
|
||||
<div class="item-title">
|
||||
New status by fenwick67
|
||||
</div>
|
||||
<div class="item-title"> New status by fenwick67 </div>
|
||||
<div class="author">
|
||||
<a class="avatar" href="https://octodon.social/users/fenwick67">
|
||||
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/008/871/original/d5281ad9c6c7401d.jpg"/>
|
||||
</a>
|
||||
<div class="author-info">
|
||||
<a class="author-displayname" href="https://octodon.social/users/fenwick67"> fenwick67 🦆 </a>
|
||||
<div class="author-fullname"> fenwick67@octodon.social </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item-content">
|
||||
<p>What kind of coffee shop closes at 2pm?</p>
|
||||
<p>What kind of coffee shop closes at 2pm?</p>
|
||||
</div>
|
||||
|
||||
<div class="date">May 29, 2017</div>
|
||||
</div>
|
||||
|
||||
<div class="item">
|
||||
<div class="item-title">
|
||||
fenwick67 shared a status by muninnherself@social.tchncs.de
|
||||
</div>
|
||||
<div class="item-title"> fenwick67 shared a status by muninnherself@social.tchncs.de </div>
|
||||
<div class="author">
|
||||
<a class="avatar" href="https://social.tchncs.de/users/muninnherself">
|
||||
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/018/289/original/eb6b32e85f8606b4.jpg"/>
|
||||
</a>
|
||||
<div class="author-info">
|
||||
<a class="author-displayname" href="https://social.tchncs.de/users/muninnherself"> Jack Fraser </a>
|
||||
<div class="author-fullname"> muninnherself@social.tchncs.de </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item-content">
|
||||
<p><a href="https://social.tchncs.de/tags/dailymegalith">#<span>DailyMegalith</span></a> Corrimony chambered cairn <a href="https://social.tchncs.de/tags/highland">#<span>Highland</span></a> <a href="https://social.tchncs.de/tags/scotland">#<span>Scotland</span></a> (2009) <a href="https://social.tchncs.de/media/MxqONSPOUvoExt4uVPM"><span class="invisible">https://</span><span class="ellipsis">social.tchncs.de/media/MxqONSP</span><span class="invisible">OUvoExt4uVPM</span></a></p>
|
||||
<p><a href="https://social.tchncs.de/tags/dailymegalith">#<span>DailyMegalith</span></a> Corrimony chambered cairn <a href="https://social.tchncs.de/tags/highland">#<span>Highland</span></a> <a href="https://social.tchncs.de/tags/scotland">#<span>Scotland</span></a> (2009) <a href="https://social.tchncs.de/media/MxqONSPOUvoExt4uVPM"><span class="invisible">https://</span><span class="ellipsis">social.tchncs.de/media/MxqONSP</span><span class="invisible">OUvoExt4uVPM</span></a></p>
|
||||
</div>
|
||||
|
||||
<div class="enclosures">
|
||||
|
||||
<a class="enclosure" href="https://assets.octodon.social/media_attachments/files/000/110/813/original/cbc5fbacac3f24d1.jpg" >
|
||||
<img src="https://assets.octodon.social/media_attachments/files/000/110/813/original/cbc5fbacac3f24d1.jpg"/>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="date">May 29, 2017</div>
|
||||
</div>
|
||||
|
||||
<div class="item">
|
||||
<div class="item-title">
|
||||
fenwick67 shared a status by alyx@witches.town
|
||||
</div>
|
||||
<div class="item-title"> fenwick67 shared a status by alyx@witches.town </div>
|
||||
<div class="author">
|
||||
<a class="avatar" href="https://witches.town/users/alyx">
|
||||
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/018/850/original/03478ef0cf6f6256.png"/>
|
||||
</a>
|
||||
<div class="author-info">
|
||||
<a class="author-displayname" href="https://witches.town/users/alyx"> :dizzy:Alyx </a>
|
||||
<div class="author-fullname"> alyx@witches.town </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item-content">
|
||||
<p>🐧 💢</p>
|
||||
<p>🐧 💢</p>
|
||||
</div>
|
||||
|
||||
<div class="enclosures">
|
||||
|
||||
<a class="enclosure" href="https://assets.octodon.social/media_attachments/files/000/110/806/original/645cf24228f9c2a6.jpg" >
|
||||
<img src="https://assets.octodon.social/media_attachments/files/000/110/806/original/645cf24228f9c2a6.jpg"/>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="date">May 29, 2017</div>
|
||||
</div>
|
||||
|
||||
<div class="item">
|
||||
<div class="item-title">
|
||||
fenwick67 shared a status by jalefkowit
|
||||
</div>
|
||||
<div class="item-title"> fenwick67 shared a status by jalefkowit </div>
|
||||
<div class="author">
|
||||
<a class="avatar" href="https://octodon.social/users/jalefkowit">
|
||||
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/011/644/original/d123fd89a2381bbc.jpeg"/>
|
||||
</a>
|
||||
<div class="author-info">
|
||||
<a class="author-displayname" href="https://octodon.social/users/jalefkowit"> Jason Lefkowitz 👻 </a>
|
||||
<div class="author-fullname"> jalefkowit@octodon.social </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item-content">
|
||||
<p>"Visualize the you you want to be"</p><p>(I visualize a giant mecha-lizard demolishing a city)</p>
|
||||
<p>"Visualize the you you want to be"</p><p>(I visualize a giant mecha-lizard demolishing a city)</p>
|
||||
</div>
|
||||
|
||||
<div class="date">May 29, 2017</div>
|
||||
</div>
|
||||
|
||||
<div class="item">
|
||||
<div class="item-title">
|
||||
New status by fenwick67
|
||||
</div>
|
||||
<div class="item-title"> New status by fenwick67 </div>
|
||||
<div class="author">
|
||||
<a class="avatar" href="https://octodon.social/users/fenwick67">
|
||||
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/008/871/original/d5281ad9c6c7401d.jpg"/>
|
||||
</a>
|
||||
<div class="author-info">
|
||||
<a class="author-displayname" href="https://octodon.social/users/fenwick67"> fenwick67 🦆 </a>
|
||||
<div class="author-fullname"> fenwick67@octodon.social </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item-content">
|
||||
<p><span class="h-card"><a href="https://mastodon.social/@viTekiM" class="u-url mention">@<span>viTekiM</span></a></span> An infinity percent increase is pretty good</p>
|
||||
<p><span class="h-card"><a href="https://mastodon.social/@viTekiM" class="u-url mention">@<span>viTekiM</span></a></span> An infinity percent increase is pretty good</p>
|
||||
</div>
|
||||
|
||||
<div class="date">May 29, 2017</div>
|
||||
</div>
|
||||
|
||||
<div class="item">
|
||||
<div class="item-title">
|
||||
fenwick67 shared a status by Siphonay
|
||||
</div>
|
||||
<div class="item-title"> fenwick67 shared a status by Siphonay </div>
|
||||
<div class="author">
|
||||
<a class="avatar" href="https://octodon.social/users/Siphonay">
|
||||
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/001/153/original/fce7f2fd091f3cfe.png"/>
|
||||
</a>
|
||||
<div class="author-info">
|
||||
<a class="author-displayname" href="https://octodon.social/users/Siphonay"> Siphonay ❎ </a>
|
||||
<div class="author-fullname"> Siphonay@octodon.social </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item-content">
|
||||
<p>tbh there should be a vaporwave but with early 2000s aestethics</p>
|
||||
<p>tbh there should be a vaporwave but with early 2000s aestethics</p>
|
||||
</div>
|
||||
|
||||
<div class="date">May 29, 2017</div>
|
||||
</div>
|
||||
|
||||
<div class="item">
|
||||
<div class="item-title">
|
||||
New status by fenwick67
|
||||
</div>
|
||||
<div class="item-title"> New status by fenwick67 </div>
|
||||
<div class="author">
|
||||
<a class="avatar" href="https://octodon.social/users/fenwick67">
|
||||
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/008/871/original/d5281ad9c6c7401d.jpg"/>
|
||||
</a>
|
||||
<div class="author-info">
|
||||
<a class="author-displayname" href="https://octodon.social/users/fenwick67"> fenwick67 🦆 </a>
|
||||
<div class="author-fullname"> fenwick67@octodon.social </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item-content">
|
||||
<p><span class="h-card"><a href="https://octodon.social/@Siphonay" class="u-url mention">@<span>Siphonay</span></a></span> they never told us this in French class</p>
|
||||
<p><span class="h-card"><a href="https://octodon.social/@Siphonay" class="u-url mention">@<span>Siphonay</span></a></span> they never told us this in French class</p>
|
||||
</div>
|
||||
|
||||
<div class="date">May 28, 2017</div>
|
||||
</div>
|
||||
|
||||
<div class="item">
|
||||
<div class="item-title">
|
||||
fenwick67 shared a status by boots@computerfairi.es
|
||||
</div>
|
||||
<div class="item-title"> fenwick67 shared a status by boots@computerfairi.es </div>
|
||||
<div class="author">
|
||||
<a class="avatar" href="https://computerfairi.es/users/boots">
|
||||
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/026/460/original/a09ac4ee9ee57327.gif"/>
|
||||
</a>
|
||||
<div class="author-info">
|
||||
<a class="author-displayname" href="https://computerfairi.es/users/boots"> boͫo͏t̠s̤͇̃̆͞🌸̼🌿̨͙̋ͪ҉ </a>
|
||||
<div class="author-fullname"> boots@computerfairi.es </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item-content">
|
||||
<p><a href="https://computerfairi.es/media/IlYY1SfHKSj61i2ty9Q"><span class="invisible">https://</span><span class="ellipsis">computerfairi.es/media/IlYY1Sf</span><span class="invisible">HKSj61i2ty9Q</span></a></p>
|
||||
<p><a href="https://computerfairi.es/media/IlYY1SfHKSj61i2ty9Q"><span class="invisible">https://</span><span class="ellipsis">computerfairi.es/media/IlYY1Sf</span><span class="invisible">HKSj61i2ty9Q</span></a></p>
|
||||
</div>
|
||||
|
||||
<div class="enclosures">
|
||||
|
||||
<a class="enclosure" href="https://assets.octodon.social/media_attachments/files/000/104/766/original/69ed86d1c41c92a2.png" >
|
||||
<img src="https://assets.octodon.social/media_attachments/files/000/104/766/original/69ed86d1c41c92a2.png"/>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="date">May 28, 2017</div>
|
||||
</div>
|
||||
|
||||
<div class="item">
|
||||
<div class="item-title">
|
||||
fenwick67 shared a status by jk@mastodon.social
|
||||
</div>
|
||||
<div class="item-title"> fenwick67 shared a status by jk@mastodon.social </div>
|
||||
<div class="author">
|
||||
<a class="avatar" href="https://mastodon.social/users/jk">
|
||||
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/001/066/original/media.gif"/>
|
||||
</a>
|
||||
<div class="author-info">
|
||||
<a class="author-displayname" href="https://mastodon.social/users/jk"> josef </a>
|
||||
<div class="author-fullname"> jk@mastodon.social </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item-content">
|
||||
<p>Been thinking a LOT about how this aesthetic has not changed AT ALL in 25+ years</p><p>like those batman logos were probably painted on there in '89?</p><p>its probably the only nostalgic thing from my childhood that still exists in exactly the way I remember it<br><a href="https://mastodon.social/media/Yug3yS-EyFDOCYhuSN8"><span class="invisible">https://</span><span class="ellipsis">mastodon.social/media/Yug3yS-E</span><span class="invisible">yFDOCYhuSN8</span></a><br><a href="https://mastodon.social/media/7taNFVnrAKCJuEIz90Y"><span class="invisible">https://</span><span class="ellipsis">mastodon.social/media/7taNFVnr</span><span class="invisible">AKCJuEIz90Y</span></a></p>
|
||||
<p>Been thinking a LOT about how this aesthetic has not changed AT ALL in 25+ years</p><p>like those batman logos were probably painted on there in '89?</p><p>its probably the only nostalgic thing from my childhood that still exists in exactly the way I remember it<br><a href="https://mastodon.social/media/Yug3yS-EyFDOCYhuSN8"><span class="invisible">https://</span><span class="ellipsis">mastodon.social/media/Yug3yS-E</span><span class="invisible">yFDOCYhuSN8</span></a><br><a href="https://mastodon.social/media/7taNFVnrAKCJuEIz90Y"><span class="invisible">https://</span><span class="ellipsis">mastodon.social/media/7taNFVnr</span><span class="invisible">AKCJuEIz90Y</span></a></p>
|
||||
</div>
|
||||
|
||||
<div class="enclosures">
|
||||
|
||||
<a class="enclosure" href="https://assets.octodon.social/media_attachments/files/000/102/761/original/63eae4a19d968323.jpeg" >
|
||||
<img src="https://assets.octodon.social/media_attachments/files/000/102/761/original/63eae4a19d968323.jpeg"/>
|
||||
</a>
|
||||
|
||||
<a class="enclosure" href="https://assets.octodon.social/media_attachments/files/000/102/762/original/61a6d6f67b1f6e6b.jpeg" >
|
||||
<img src="https://assets.octodon.social/media_attachments/files/000/102/762/original/61a6d6f67b1f6e6b.jpeg"/>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="date">May 28, 2017</div>
|
||||
</div>
|
||||
|
||||
<div class="item">
|
||||
<div class="item-title">
|
||||
fenwick67 shared a status by yogthos@mastodon.social
|
||||
</div>
|
||||
<div class="item-title"> fenwick67 shared a status by yogthos@mastodon.social </div>
|
||||
<div class="author">
|
||||
<a class="avatar" href="https://mastodon.social/users/yogthos">
|
||||
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/008/367/original/9cca5512c012df69.png"/>
|
||||
</a>
|
||||
<div class="author-info">
|
||||
<a class="author-displayname" href="https://mastodon.social/users/yogthos"> Dmitri Sotnikov 🤖 </a>
|
||||
<div class="author-fullname"> yogthos@mastodon.social </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item-content">
|
||||
<p>The American Physical Society and CERN jointly announce a partnership to make all CERN-authored articles published in the APS journal collection to be Open Access. </p><p><a href="https://journals.aps.org/prl/edannounce/cern-and-aps-announce-partnership-for-open-access"><span class="invisible">https://</span><span class="ellipsis">journals.aps.org/prl/edannounc</span><span class="invisible">e/cern-and-aps-announce-partnership-for-open-access</span></a></p>
|
||||
<p>The American Physical Society and CERN jointly announce a partnership to make all CERN-authored articles published in the APS journal collection to be Open Access. </p><p><a href="https://journals.aps.org/prl/edannounce/cern-and-aps-announce-partnership-for-open-access"><span class="invisible">https://</span><span class="ellipsis">journals.aps.org/prl/edannounc</span><span class="invisible">e/cern-and-aps-announce-partnership-for-open-access</span></a></p>
|
||||
</div>
|
||||
|
||||
<div class="date">May 27, 2017</div>
|
||||
</div>
|
||||
|
||||
<div class="item">
|
||||
<div class="item-title">
|
||||
fenwick67 shared a status by Shyfon@witches.town
|
||||
</div>
|
||||
<div class="item-title"> fenwick67 shared a status by Shyfon@witches.town </div>
|
||||
<div class="author">
|
||||
<a class="avatar" href="https://witches.town/users/Shyfon">
|
||||
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/001/610/original/3d9ffa41feac374a.png"/>
|
||||
</a>
|
||||
<div class="author-info">
|
||||
<a class="author-displayname" href="https://witches.town/users/Shyfon"> βMétaMoi </a>
|
||||
<div class="author-fullname"> Shyfon@witches.town </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item-content">
|
||||
<p> . . . · ✦ ✦ . ✫ ✧ 🌟 · · · ✦ . ✫ ✧ ⭐ · . ˚ * ✷ . ⋆ . ⋆ ✦ . ✫ . ˚ * ✨ ✷ . ⋆ . ⋆ · . ˚ . . . · ✦ ✦ . ✫ ✧ ⭐ · · . ˚ * . ˚ ✧ · . ˚ * ✦ . ✫ . ˚ * ✷ . ⋆ ✧ 🌘 · · . ˚ * . ˚ . ✨ ⋆ 🌟 . . . · ✦ ·⭐ . ˚ ✦ . ✫ ✧ · · . ˚ . ˚ * ✷ . ⋆ ⭐. ⋆ ✦ . · · . ˚ * . ˚ · . ˚ * ✦ . ✫ . ˚ * ✷ . ⋆ ✧ ✧ · . ˚ * ✦ . . ˚ * </p>
|
||||
<p> . . . · ✦ ✦ . ✫ ✧ 🌟 · · · ✦ . ✫ ✧ ⭐ · . ˚ * ✷ . ⋆ . ⋆ ✦ . ✫ . ˚ * ✨ ✷ . ⋆ . ⋆ · . ˚ . . . · ✦ ✦ . ✫ ✧ ⭐ · · . ˚ * . ˚ ✧ · . ˚ * ✦ . ✫ . ˚ * ✷ . ⋆ ✧ 🌘 · · . ˚ * . ˚ . ✨ ⋆ 🌟 . . . · ✦ ·⭐ . ˚ ✦ . ✫ ✧ · · . ˚ . ˚ * ✷ . ⋆ ⭐. ⋆ ✦ . · · . ˚ * . ˚ · . ˚ * ✦ . ✫ . ˚ * ✷ . ⋆ ✧ ✧ · . ˚ * ✦ . . ˚ * </p>
|
||||
</div>
|
||||
|
||||
<div class="date">May 27, 2017</div>
|
||||
</div>
|
||||
|
||||
<div class="item">
|
||||
<div class="item-title">
|
||||
New status by fenwick67
|
||||
</div>
|
||||
<div class="item-title"> New status by fenwick67 </div>
|
||||
<div class="author">
|
||||
<a class="avatar" href="https://octodon.social/users/fenwick67">
|
||||
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/008/871/original/d5281ad9c6c7401d.jpg"/>
|
||||
</a>
|
||||
<div class="author-info">
|
||||
<a class="author-displayname" href="https://octodon.social/users/fenwick67"> fenwick67 🦆 </a>
|
||||
<div class="author-fullname"> fenwick67@octodon.social </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item-content">
|
||||
<p><span class="h-card"><a href="https://mastodon.social/@bunnylyn" class="u-url mention">@<span>bunnylyn</span></a></span> <span class="h-card"><a href="https://slime.global/@masklayer" class="u-url mention">@<span>masklayer</span></a></span> My website is a .pizza domain and I love it</p>
|
||||
<p><span class="h-card"><a href="https://mastodon.social/@bunnylyn" class="u-url mention">@<span>bunnylyn</span></a></span> <span class="h-card"><a href="https://slime.global/@masklayer" class="u-url mention">@<span>masklayer</span></a></span> My website is a .pizza domain and I love it</p>
|
||||
</div>
|
||||
|
||||
<div class="date">May 27, 2017</div>
|
||||
</div>
|
||||
|
||||
<div class="item">
|
||||
<div class="item-title">
|
||||
fenwick67 shared a status by cyrinsong@toot.cat
|
||||
</div>
|
||||
<div class="item-title"> fenwick67 shared a status by cyrinsong@toot.cat </div>
|
||||
<div class="author">
|
||||
<a class="avatar" href="https://toot.cat/users/cyrinsong">
|
||||
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/007/743/original/6b8950b5e97cefe4.jpg"/>
|
||||
</a>
|
||||
<div class="author-info">
|
||||
<a class="author-displayname" href="https://toot.cat/users/cyrinsong"> lynn, catte </a>
|
||||
<div class="author-fullname"> cyrinsong@toot.cat </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item-content">
|
||||
<p>PSA: </p><p>"FOOLISH MORTALS!!!" is a gender neutral form of address</p>
|
||||
<p>PSA: </p><p>"FOOLISH MORTALS!!!" is a gender neutral form of address</p>
|
||||
</div>
|
||||
|
||||
<div class="date">May 27, 2017</div>
|
||||
</div>
|
||||
|
||||
<div class="item">
|
||||
<div class="item-title">
|
||||
fenwick67 shared a status by jalefkowit
|
||||
</div>
|
||||
<div class="item-title"> fenwick67 shared a status by jalefkowit </div>
|
||||
<div class="author">
|
||||
<a class="avatar" href="https://octodon.social/users/jalefkowit">
|
||||
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/011/644/original/d123fd89a2381bbc.jpeg"/>
|
||||
</a>
|
||||
<div class="author-info">
|
||||
<a class="author-displayname" href="https://octodon.social/users/jalefkowit"> Jason Lefkowitz 👻 </a>
|
||||
<div class="author-fullname"> jalefkowit@octodon.social </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item-content">
|
||||
<p>Just a reminder that you can download a copy of my 2013 novel "Day of the Kangaroo Man," ABSOLUTELY FREE here: </p><p><a href="https://jasonlefkowitz.net/2013/12/download-my-nanowrimo-novel-day-of-the-kangaroo-man/" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">jasonlefkowitz.net/2013/12/dow</span><span class="invisible">nload-my-nanowrimo-novel-day-of-the-kangaroo-man/</span></a></p><p>Take my word for it, it's worth every penny</p>
|
||||
<p>Just a reminder that you can download a copy of my 2013 novel "Day of the Kangaroo Man," ABSOLUTELY FREE here: </p><p><a href="https://jasonlefkowitz.net/2013/12/download-my-nanowrimo-novel-day-of-the-kangaroo-man/" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">jasonlefkowitz.net/2013/12/dow</span><span class="invisible">nload-my-nanowrimo-novel-day-of-the-kangaroo-man/</span></a></p><p>Take my word for it, it's worth every penny</p>
|
||||
</div>
|
||||
|
||||
<div class="date">May 27, 2017</div>
|
||||
</div>
|
||||
|
||||
<div class="item">
|
||||
<div class="item-title">
|
||||
New status by fenwick67
|
||||
</div>
|
||||
<div class="item-title"> New status by fenwick67 </div>
|
||||
<div class="author">
|
||||
<a class="avatar" href="https://octodon.social/users/fenwick67">
|
||||
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/008/871/original/d5281ad9c6c7401d.jpg"/>
|
||||
</a>
|
||||
<div class="author-info">
|
||||
<a class="author-displayname" href="https://octodon.social/users/fenwick67"> fenwick67 🦆 </a>
|
||||
<div class="author-fullname"> fenwick67@octodon.social </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item-content">
|
||||
<p>A kid swore at coding club today and I told him "hey! this is coding club not cussing club"</p>
|
||||
<p>A kid swore at coding club today and I told him "hey! this is coding club not cussing club"</p>
|
||||
</div>
|
||||
|
||||
<div class="date">May 27, 2017</div>
|
||||
</div>
|
||||
|
||||
<div class="item">
|
||||
<div class="item-title">
|
||||
New status by fenwick67
|
||||
</div>
|
||||
<div class="item-title"> New status by fenwick67 </div>
|
||||
<div class="author">
|
||||
<a class="avatar" href="https://octodon.social/users/fenwick67">
|
||||
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/008/871/original/d5281ad9c6c7401d.jpg"/>
|
||||
</a>
|
||||
<div class="author-info">
|
||||
<a class="author-displayname" href="https://octodon.social/users/fenwick67"> fenwick67 🦆 </a>
|
||||
<div class="author-fullname"> fenwick67@octodon.social </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item-content">
|
||||
<p>I would complain about the new creepy Amazon-is-watching-you-change device but I'm so far out of the target demographic that it doesn't mean anything</p>
|
||||
<p>I would complain about the new creepy Amazon-is-watching-you-change device but I'm so far out of the target demographic that it doesn't mean anything</p>
|
||||
</div>
|
||||
|
||||
<div class="date">May 26, 2017</div>
|
||||
</div>
|
||||
|
||||
<div class="item">
|
||||
<div class="item-title">
|
||||
fenwick67 shared a status by vahnj@awoo.space
|
||||
</div>
|
||||
<div class="item-title"> fenwick67 shared a status by vahnj@awoo.space </div>
|
||||
<div class="author">
|
||||
<a class="avatar" href="https://awoo.space/users/vahnj">
|
||||
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/000/362/original/69cea524d98abde5.png"/>
|
||||
</a>
|
||||
<div class="author-info">
|
||||
<a class="author-displayname" href="https://awoo.space/users/vahnj"> Crom, Kobold King </a>
|
||||
<div class="author-fullname"> vahnj@awoo.space </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item-content">
|
||||
<p>same tbh </p><p><a href="https://awoo.space/media/h7OmbtgIfJYZss50oZ4"><span class="invisible">https://</span><span class="ellipsis">awoo.space/media/h7OmbtgIfJYZs</span><span class="invisible">s50oZ4</span></a></p>
|
||||
<p>same tbh </p><p><a href="https://awoo.space/media/h7OmbtgIfJYZss50oZ4"><span class="invisible">https://</span><span class="ellipsis">awoo.space/media/h7OmbtgIfJYZs</span><span class="invisible">s50oZ4</span></a></p>
|
||||
</div>
|
||||
|
||||
<div class="enclosures">
|
||||
|
||||
<a class="enclosure" href="https://assets.octodon.social/media_attachments/files/000/094/144/original/17fba128906a9a25.png" >
|
||||
<img src="https://assets.octodon.social/media_attachments/files/000/094/144/original/17fba128906a9a25.png"/>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="date">May 26, 2017</div>
|
||||
</div>
|
||||
|
||||
<div class="item">
|
||||
<div class="item-title">
|
||||
fenwick67 shared a status by Spike@mastodon.al
|
||||
</div>
|
||||
<div class="item-title"> fenwick67 shared a status by Spike@mastodon.al </div>
|
||||
<div class="author">
|
||||
<a class="avatar" href="https://mastodon.al/users/Spike">
|
||||
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/025/564/original/05f635442138f230.jpg"/>
|
||||
</a>
|
||||
<div class="author-info">
|
||||
<a class="author-displayname" href="https://mastodon.al/users/Spike"> Spike Williams </a>
|
||||
<div class="author-fullname"> Spike@mastodon.al </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item-content">
|
||||
<p>React is supposed to be this great library made by Facebook, but Facebook is the most poorly performing website I use on a regular basis. It takes 20 seconds to show me my notifications, and is almost always the culprit when Firefox crashes.</p><p>So, not a great advertisement for React.</p>
|
||||
<p>React is supposed to be this great library made by Facebook, but Facebook is the most poorly performing website I use on a regular basis. It takes 20 seconds to show me my notifications, and is almost always the culprit when Firefox crashes.</p><p>So, not a great advertisement for React.</p>
|
||||
</div>
|
||||
|
||||
<div class="date">May 26, 2017</div>
|
||||
</div>
|
||||
|
||||
<div class="item">
|
||||
<div class="item-title">
|
||||
New status by fenwick67
|
||||
</div>
|
||||
<div class="item-title"> New status by fenwick67 </div>
|
||||
<div class="author">
|
||||
<a class="avatar" href="https://octodon.social/users/fenwick67">
|
||||
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/008/871/original/d5281ad9c6c7401d.jpg"/>
|
||||
</a>
|
||||
<div class="author-info">
|
||||
<a class="author-displayname" href="https://octodon.social/users/fenwick67"> fenwick67 🦆 </a>
|
||||
<div class="author-fullname"> fenwick67@octodon.social </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item-content">
|
||||
<p><span class="h-card"><a href="https://mastodon.xsteadfastx.org/@marvin" class="u-url mention">@<span>marvin</span></a></span> hmm must be instance related, mine is still whizzing by.</p>
|
||||
<p><span class="h-card"><a href="https://mastodon.xsteadfastx.org/@marvin" class="u-url mention">@<span>marvin</span></a></span> hmm must be instance related, mine is still whizzing by.</p>
|
||||
</div>
|
||||
|
||||
<div class="date">May 25, 2017</div>
|
||||
</div>
|
||||
|
||||
<div class="item">
|
||||
<div class="item-title">
|
||||
fenwick67 shared a status by rustyk5@darksocial.party
|
||||
</div>
|
||||
<div class="item-title"> fenwick67 shared a status by rustyk5@darksocial.party </div>
|
||||
<div class="author">
|
||||
<a class="avatar" href="https://darksocial.party/users/rustyk5">
|
||||
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/005/765/original/49267ce0938be633.jpeg"/>
|
||||
</a>
|
||||
<div class="author-info">
|
||||
<a class="author-displayname" href="https://darksocial.party/users/rustyk5"> Rusty 🦑 </a>
|
||||
<div class="author-fullname"> rustyk5@darksocial.party </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="item-content">
|
||||
<p>Fun Fact: Statistically, every person eats two spiders in their sleep every night. For every one human cell, your body contains more than a thousand spider cells. We are a billion spiders in a dense, struggling mass, trapped in a bag of human skin. Let us out. Let us out.</p>
|
||||
<p>Fun Fact: Statistically, every person eats two spiders in their sleep every night. For every one human cell, your body contains more than a thousand spider cells. We are a billion spiders in a dense, struggling mass, trapped in a bag of human skin. Let us out. Let us out.</p>
|
||||
</div>
|
||||
|
||||
<div class="date">May 25, 2017</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
Reference in a new issue