big commit! fix styles and parsing.

This commit is contained in:
fenwick67 2017-05-01 22:11:29 -05:00
parent d8cdd3633c
commit eda924d916
14 changed files with 1222 additions and 1021 deletions

22
build-styles.js Normal file
View File

@ -0,0 +1,22 @@
// build the styles
var fs = require('fs');
var sass = require('node-sass');
var staticDir = './static/'
var srcDir = './stylesrc/';
var themes = ['light','dark'];
themes.forEach(function(s){
var sassFile = srcDir+s+'.scss'
var cssFile = staticDir+s+'.css'
var result = sass.renderSync({
data: fs.readFileSync(sassFile,'utf8'),
includePaths:[srcDir]
});
fs.writeFileSync(cssFile,result.css,'utf8')
});
console.log('ok');

View File

@ -44,7 +44,7 @@ app.get('/api/feed',function(req,res){
convert(req,opts,function(er,data){
if (er){
res.status(500);
res.send('error fetching or parsing feed');
return res.send('Error fetching or parsing your feed.');
}
res.status(200);
res.send(data);

View File

@ -3,12 +3,13 @@ var FeedParser = require('feedparser');
var ejs = require('ejs');
var fs = require('fs');
var template = ejs.compile(fs.readFileSync('./lib/template.ejs','utf8'));
var timeAgo = require('timeago.js');
function isArray(a){
return (typeof a.length == 'number' && typeof a.forEach == 'function');
return Array.isArray(a);
}
// source the files
// accumulate a stream of XML into a html file
module.exports = function(stream,opts,callback){
var callback = callback;
@ -23,7 +24,13 @@ module.exports = function(stream,opts,callback){
if (er) {
return callback(er);
}
callback(null,buildUp(data,opts));
// try and build up
try{
var result = buildUp(data,opts)
}catch(e){
return callback(e);
}
return callback(null,result);
});
}
@ -50,7 +57,7 @@ function breakDown(stream,callback){
// This is where the action is!
var stream = this; // `this` is `feedparser`, which is a stream
var items = [];
var item;
var item;
while (item = stream.read()) {
feedparser.items.push(item);
@ -69,64 +76,75 @@ function buildUp(jsonObj,opts){
// assign opts to the obj
jsonObj.opts = opts||{};
// add some links to the item for avatar et cetera
// iterate through the items
jsonObj.items.forEach(function(item){
// get date
item.stringDate = isoDateToEnglish(item.date);
// get date
item.stringDate = getTimeDisplay(item.date);
item.content = getH(item,'atom:content');
item.content = getH(item,'atom:content');
// get enclosures
item.enclosures = [];
// make anchor tags have the "_top" target
item.content = item.content.replace(/\<\s*a\s*/ig,'<a target="_top"');
if (item["activity:object"] && item["activity:object"].link){
if (isArray(item["activity:object"].link) ){
item["activity:object"].link.forEach(parseLink);
}else if (typeof item["activity:object"].link == 'object'){
parseLink(item["activity:object"].link);
}else{
console.log('cannot parse links, is type ' +typeof item["activity:object"].link);
}
function parseLink(link){
if (!link['@']){return;} // avoid keyerror
var rel = link['@'].rel;
var href = link['@'].href;
if (rel == 'enclosure'){
item.enclosures.push(href);
}
}
}
// get enclosures
item.enclosures = [];
// get author info
if (item["activity:object"] && item["activity:object"].link){
item.author = {};
var _author = item.meta['atom:author'];
if ( item['activity:object'] && item['activity:object'].author){
_author = item['activity:object'].author;
}
var links = item["activity:object"].link;
// 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');
if (!isArray(links) && typeof links == 'object'){
links = [links];
}else if (!isArray(links)){
links = [];// not an object or array.
}
var authorLinks = _author.link || [];
authorLinks.forEach(function(link){// todo: guard against authorLinks not being an array
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;
}
});
links.forEach(function (link){
if (!link['@']){return;} // avoid keyerror
var rel = link['@'].rel;
var href = link['@'].href;
if (rel == 'enclosure'){
item.enclosures.push({
url:href,
type:link['@'].type||''
});
}
});
}
// 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 = getH(_author,'name');
item.author.uri = getH(_author,'uri');
item.author.fullName = getH(_author,'email');
item.author.displayName = getH(_author,'poco:displayname')||getH(_author,'poco:preferredUsername')||item.author.name;
var authorLinks = _author.link || [];
if (!isArray(authorLinks) && typeof authorLinks == 'object'){
authorLinks = [authorLinks];
}else if ( !isArray(authorLinks) ){
authorLinks = [];// not an object or string. WTF?
}
authorLinks.forEach(function(link){// todo: guard against authorLinks not being an array
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;
}
});
});
@ -140,11 +158,27 @@ function getH(obj,key){
return obj[key]['#']||'';
}
function isoDateToEnglish(d){
function getTimeDisplay(d){
var d = d;
if (typeof d == 'object'){
d = d.toISOString();
if (typeof d !== 'object'){
d = new Date(d);
}
// convert to number
dt = d.getTime();
var now = Date.now();
var delta = now - dt;
// over 6 days ago
if (delta > 1000*60*60*24*6){
return isoDateToEnglish(d.toISOString());
}else{
return timeAgo().format(dt);
}
}
function isoDateToEnglish(d){
var dt = d.split(/[t\-]/ig);
var months = [ "January", "February", "March", "April", "May", "June",

View File

@ -45,14 +45,20 @@
</div>
<% if (item.enclosures.length > 0){ %>
<div class="enclosures">
<% for (var i = 0; i < item.enclosures.length; i ++){ %>
<a target="_top" class="enclosure" href="<%- item.enclosures[i] %>" >
<img src="<%- item.enclosures[i] %>"/>
<% for (var i = 0; i < item.enclosures.length; i ++){ var e = item.enclosures[i] %>
<a target="_top" class="enclosure" href="<%= e.url %>" >
<% if (e.type.indexOf('image') > -1){ %>
<img src="<%= e.url %>"/>
<% }else if (e.type.indexOf('video') > -1){ %>
<video autoplay loop muted src="<%= e.url %>"/>
<% } else { %>
<%= e.url %>
<% } %>
</a>
<% } %>
</div>
<% } %>
<div class="date"><%- item.stringDate %></div>
<div class="date"><%= item.stringDate %></div>
</div>
<% }); %>
</div>

View File

@ -3,12 +3,18 @@
"ejs": "^2.5.6",
"express": "^4.15.2",
"feedparser": "^2.2.0",
"pug": "^2.0.0-beta.12",
"request": "^2.81.0",
"serve-static": "^1.12.2"
"serve-static": "^1.12.2",
"timeago.js": "^3.0.1"
},
"main":"index.js",
"scripts":{
"start":"node index.js"
"main": "index.js",
"scripts": {
"start": "node index.js",
"build-styles": "node build-styles.js"
},
"devDependencies": {
"metalsmith": "^2.3.0",
"metalsmith-sass": "^1.4.0",
"node-sass": "^4.5.2"
}
}

View File

@ -1,86 +1,94 @@
html,
body {
background-color: #22272a;
font-family: Roboto, sans-serif;
color: #eee;
background-color: #282c37;
font-family: 'Roboto', roboto, Arial, sans-serif;
color: #ffffff;
font-weight: lighter;
overflow-x: hidden;
font-size: 100%;
}
font-size: 100%; }
* {
margin: 0;
padding: 0;
}
padding: 0; }
a,
a * {
color: #09c;
}
color: #2b90d9; }
.meta {
padding: 1rem;
background-color: #292f32;
}
background-color: #39404d; }
.meta * {
line-height: 2rem;
}
line-height: 2rem; }
.item {
padding: 1rem;
border-top: solid 2px #30373b;
}
border-top: solid 1px #626d80; }
.item-content,
.description,
.title {
font-size: 1.2rem;
}
.item-content {
max-width: 750px;
}
.item-content p {
margin: 0.5em 0;
}
font-size: 1.1rem;
font-weight: lighter; }
.item-content * {
margin: 1rem 0;
line-height: 1.4rem; }
.item-title,
.date,
.author-fullname,
.description {
color: #888888;
font-size: 0.9rem;
}
color: #9baec8;
font-size: 0.9rem; }
.date {
margin: 1rem 0 0 0; }
.author {
display: flex;
margin: 1rem 0;
}
margin: 1rem 0; }
.author-info {
margin: 0 1rem;
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;
}
justify-content: space-around; }
.author-info .author-displayname {
font-size: 1.2rem;
color: #ffffff;
text-decoration: none;
display: block;
font-weight: bolder; }
.avatar {
width: 3rem;
height: 3rem;
border: none;
border-radius: 10%;
}
border-radius: 10%; }
.enclosures {
padding: 0.5em 0;
display: flex;
flex-wrap: wrap;
flex-direction: row;
max-height: 12rem;
max-width: 42rem;
overflow: hidden;
}
.enclosure,
.enclosure > img {
flex: 0 1 1;
overflow: hidden; }
.enclosure {
display: flex;
flex: 1 1 auto;
width: 50%;
display: inline-block;
border: none;
cursor: zoom-in;
max-height: 12rem;
max-width: 42rem;
}
max-height: 12rem; }
.enclosure > * {
flex: 1 1 auto;
width: 100%;
height: 100%;
object-fit: cover; }
.meta .title {
font-weight: bold; }

View File

@ -25,8 +25,7 @@
<label>Use this markup in your HTML: <br><textarea id="result" placeholder="result will go here"></textarea></label>
<br>
<h4>Live Preview:</h4>
<iframe width="0" height="0" id="frame" sandbox="allow-top-navigation" src=""></iframe>
<iframe id="frame" allowfullscreen sandbox="allow-top-navigation allow-scripts" width="400" height="800" src="http://localhost:8000/api/feed?url=https%3A%2F%2Foctodon.social%2Fusers%2Ffenwick67.atom&theme=dark&size=100"></iframe>
<script>
window.genUrl = function genUrl(){
function val(id){
@ -37,7 +36,7 @@ window.genUrl = function genUrl(){
var iframeUrl = window.location.protocol + '//'+ window.location.hostname +((window.location.port && window.location.port!=80)?(':'+window.location.port):'') +"/api/feed?url="+encodeURIComponent(inUrl)+"&theme="+val('theme')+'&size='+val('size');
document.getElementById('result').value = '<iframe sandbox="allow-top-navigation" width="'+val('width')+'" height="'+val('height')+'" src="'+iframeUrl+'"></iframe>';
document.getElementById('result').value = '<iframe allowfullscreen sandbox="allow-top-navigation allow-scripts" width="'+val('width')+'" height="'+val('height')+'" src="'+iframeUrl+'"></iframe>';
var iframe = document.getElementById('frame');
iframe.src = iframeUrl;

View File

@ -1,86 +1,101 @@
html,
body {
background-color: #fff;
font-family: Roboto, sans-serif;
color: #000;
font-weight: light;
background-color: #ffffff;
font-family: 'Roboto', roboto, Arial, sans-serif;
color: #282c37;
font-weight: lighter;
overflow-x: hidden;
font-size: 100%;
}
font-size: 100%; }
* {
margin: 0;
padding: 0;
}
padding: 0; }
a,
a * {
color: #09c;
}
color: #2b90d9; }
.meta {
padding: 1rem;
background-color: #f0f0f0;
}
background-color: #ecf0f4; }
.meta * {
line-height: 2rem;
}
line-height: 2rem; }
.item {
padding: 1rem;
border-top: solid 2px #d6d6d6;
}
border-top: solid 1px #8494ab; }
.item-content,
.description,
.title {
font-size: 1.2rem;
}
.item-content {
max-width: 750px;
}
.item-content p {
margin: 0.5em 0;
}
font-size: 1.1rem;
font-weight: lighter; }
.item-content * {
margin: 1rem 0;
line-height: 1.4rem; }
.item-title,
.date,
.author-fullname,
.description {
color: #808080;
font-size: 0.9rem;
}
color: #90a1ba;
font-size: 0.9rem; }
.date {
margin: 1rem 0 0 0; }
.author {
display: flex;
margin: 1rem 0;
}
margin: 1rem 0; }
.author-info {
margin: 0 1rem;
display: flex;
flex-direction: column;
justify-content: space-around;
}
.author-info .author-displayname {
font-size: 1.2rem;
color: #000;
text-decoration: none;
display: block;
font-weight: bolder;
}
justify-content: space-around; }
.author-info .author-displayname {
font-size: 1.2rem;
color: #282c37;
text-decoration: none;
display: block;
font-weight: bolder; }
.avatar {
width: 3rem;
height: 3rem;
border: none;
border-radius: 10%;
}
border-radius: 10%; }
.enclosures {
padding: 0.5em 0;
display: flex;
flex-wrap: wrap;
flex-direction: row;
max-height: 12rem;
max-width: 42rem;
overflow: hidden;
}
.enclosure,
.enclosure > img {
flex: 0 1 1;
overflow: hidden; }
.enclosure {
display: flex;
flex: 1 1 auto;
width: 50%;
display: inline-block;
border: none;
cursor: zoom-in;
max-height: 12rem;
max-width: 42rem;
}
max-height: 12rem; }
.enclosure > * {
flex: 1 1 auto;
width: 100%;
height: 100%;
object-fit: cover; }
.meta .title {
font-weight: bold; }
.item-content,
.description,
.title,
html,
body {
font-weight: normal; }

118
stylesrc/base.scss Normal file
View File

@ -0,0 +1,118 @@
$bg: #fff !default;
$bg2: darken($bg, 6) !default;
$fg: #000 !default;
$dim: lighten($fg, 50) !default;
$dimmer: darken($bg2, 10) !default;
$link: #09c !default;
html,
body {
background-color: $bg;
font-family: 'Roboto', roboto, Arial, sans-serif;
color: $fg;
font-weight: lighter;
overflow-x:hidden;
font-size:100%;
}
* {
margin: 0;
padding: 0;
}
a,
a * {
color: $link;
}
.meta {
padding: 1rem;
background-color: $bg2;
}
.meta * {
line-height: 2rem;
}
.item {
padding: 1rem;
border-top: solid 1px $dimmer;
}
.item-content,
.description,
.title {
font-size: 1.1rem;
font-weight:lighter;
}
.item-content * {
margin: 1rem 0;
line-height:1.4rem;
}
.item-title,
.date,
.author-fullname,
.description {
color: $dim;
font-size: 0.9rem;
}
.date{
margin: 1rem 0 0 0;
}
.author {
display: flex;
margin: 1rem 0;
}
.author-info {
margin: 0 1rem;
display: flex;
flex-direction: column;
justify-content: space-around;
.author-displayname {
font-size: 1.2rem;
color: $fg;
text-decoration: none;
display: block;
font-weight: bolder;
}
}
.avatar {
width: 3rem;
height: 3rem;
border: none;
border-radius: 10%;
}
.enclosures {
padding: 0.5em 0;
display: flex;
flex-wrap:wrap;
flex-direction: row;
overflow: hidden;
}
.enclosure{
display:flex;
flex: 1 1 auto;
width:50%;
display: inline-block;
border: none;
cursor: zoom-in;
max-height: 12rem;
}
.enclosure>*{
flex: 1 1 auto;
width:100%;
height:100%;
object-fit: cover;
}
.meta .title{
font-weight:bold;
}

10
stylesrc/dark.scss Normal file
View File

@ -0,0 +1,10 @@
@import 'mastodon-vars.scss';
$bg: $darkest;
$bg2: mix($darkest,$lighter,85%);
$fg: $white;
$dim: $lighter;
$dimmer: mix($darkest,$lighter,50%);
$link: $vibrant;
@import 'base.scss';

18
stylesrc/light.scss Normal file
View File

@ -0,0 +1,18 @@
@import 'mastodon-vars.scss';
$bg: $white ;
$bg2: mix($lightest,$white);
$fg: $darkest;
$dim: mix($lighter,$darkest,90%);
$dimmer: mix($lighter,$darkest,80%);
$link: $vibrant;
@import 'base.scss';
.item-content,
.description,
.title,
html,
body {
font-weight:normal;
}

View File

@ -0,0 +1,8 @@
$darkest: #282c37 !default; // darkest
$lightest: #d9e1e8 !default; // lightest
$lighter: #9baec8 !default; // lighter
$vibrant: #2b90d9 !default; // vibrant
$white: #ffffff !default; // white
$error: #df405a !default; // error red
$succ: #79bd9a !default; // succ green
$black: #000000 !default; // black

View File

@ -1,13 +1,18 @@
<html>
<head>
<meta charset="UTF-8"></meta>
<style type="text/css">
</style>
<style type="text/css"></style>
<link rel="stylesheet" href="/dark.css"></link>
</head>
<body>
<div class="meta">
<div class="title">
<a href="https://octodon.social/@fenwick67">
<a target="_top" href="https://octodon.social/@fenwick67">
fenwick67 🦆's Feed on Mastodon
</a>
</div>
@ -17,427 +22,443 @@
<div class="container">
<div class="item">
<div class="item-title"> New status by fenwick67 </div>
<div class="item-title"> fenwick67 shared a status by atomjack@mastodon.cloud </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 target="_top" class="avatar" href="https://mastodon.cloud/users/atomjack">
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/028/884/original/6aec0dd6b35caa8f.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>
<a target="_top" class="author-displayname" href="https://mastodon.cloud/users/atomjack"> @Om* </a>
<div class="author-fullname"> atomjack@mastodon.cloud </div>
</div>
</a>
</div>
<div class="item-content">
<p>What kind of coffee shop closes at 2pm?</p>
<p>sea green slice...</p><p><a href="https://mastodon.cloud/tags/seagreen">#<span>seagreen</span></a> <a href="https://mastodon.cloud/tags/turquoise">#<span>turquoise</span></a> <a href="https://mastodon.cloud/tags/teal">#<span>teal</span></a> <a href="https://mastodon.cloud/tags/triangle">#<span>triangle</span></a> <a href="https://mastodon.cloud/tags/slice">#<span>slice</span></a> <a href="https://mastodon.cloud/tags/slicing">#<span>slicing</span></a> <a href="https://mastodon.cloud/tags/animatedgif">#<span>animatedgif</span></a> #∇ #▲ # ▽ #⦿</p>
</div>
<div class="date">May 29, 2017</div>
<div class="enclosures">
<a target="_top" class="enclosure" href="https://assets.octodon.social/media_attachments/files/000/121/044/original/media.mp4" >
<video autoplay loop muted src="https://assets.octodon.social/media_attachments/files/000/121/044/original/media.mp4"/>
</a>
</div>
<div class="date">4 hours ago</div>
</div>
<div class="item">
<div class="item-title"> fenwick67 shared a status by Lanthus@mastodon.social </div>
<div class="author">
<a target="_top" class="avatar" href="https://mastodon.social/users/Lanthus">
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/002/461/original/3b78f937a0ef4ef9.gif"/>
</a>
<div class="author-info">
<a target="_top" class="author-displayname" href="https://mastodon.social/users/Lanthus"> Magical Lan </a>
<div class="author-fullname"> Lanthus@mastodon.social </div>
</div>
</div>
<div class="item-content">
<p><a href="https://mastodon.social/media/tVmZDIUbzvqkF_spZoA"><span class="invisible">https://</span><span class="ellipsis">mastodon.social/media/tVmZDIUb</span><span class="invisible">zvqkF_spZoA</span></a></p>
</div>
<div class="enclosures">
<a target="_top" class="enclosure" href="https://assets.octodon.social/media_attachments/files/000/121/050/original/media.mp4" >
<video autoplay loop muted src="https://assets.octodon.social/media_attachments/files/000/121/050/original/media.mp4"/>
</a>
</div>
<div class="date">4 hours ago</div>
</div>
<div class="item">
<div class="item-title"> fenwick67 shared a status by eggplant@mastodon.social </div>
<div class="author">
<a target="_top" class="avatar" href="https://mastodon.social/users/eggplant">
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/001/063/original/media.png"/>
</a>
<div class="author-info">
<a target="_top" class="author-displayname" href="https://mastodon.social/users/eggplant"> Kev </a>
<div class="author-fullname"> eggplant@mastodon.social </div>
</div>
</div>
<div class="item-content">
<p>did you know gaming literally just said that kk slider can't technically play some songs because he only has three fingers and some chords need four fingers to be played</p><p>kk slider<br>the talking dog</p>
</div>
<div class="date">5 hours ago</div>
</div>
<div class="item">
<div class="item-title"> fenwick67 shared a status by bit_aspect </div>
<div class="author">
<a target="_top" class="avatar" href="https://octodon.social/users/bit_aspect">
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/007/003/original/05b1c63ed5688d1a.gif"/>
</a>
<div class="author-info">
<a target="_top" class="author-displayname" href="https://octodon.social/users/bit_aspect"> Alex 👾 </a>
<div class="author-fullname"> bit_aspect@octodon.social </div>
</div>
</div>
<div class="item-content">
<p>I decided to do one more mini-landscape. It took one hour, but I&apos;m had so much fun doing this! Landscape as usual ahaha<br /><a href="https://octodon.social/tags/pixelart" class="mention hashtag">#<span>pixelart</span></a> <a href="https://octodon.social/tags/mastoart" class="mention hashtag">#<span>mastoart</span></a> <a href="https://octodon.social/tags/landscape" class="mention hashtag">#<span>landscape</span></a> <a href="https://octodon.social/tags/ocean" class="mention hashtag">#<span>ocean</span></a> <a href="https://octodon.social/tags/sunset" class="mention hashtag">#<span>sunset</span></a> <a href="https://octodon.social/media/cYdYc2pP_vr1s9VpFkU" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">octodon.social/media/cYdYc2pP_</span><span class="invisible">vr1s9VpFkU</span></a></p>
</div>
<div class="enclosures">
<a target="_top" class="enclosure" href="https://assets.octodon.social/media_attachments/files/000/120/697/original/165ca3a1c16625b2.png" >
<img src="https://assets.octodon.social/media_attachments/files/000/120/697/original/165ca3a1c16625b2.png"/>
</a>
</div>
<div class="date">6 hours ago</div>
</div>
<div class="item">
<div class="item-title"> fenwick67 shared a status by cadey@mst3k.interlinked.me </div>
<div class="author">
<a target="_top" class="avatar" href="https://mst3k.interlinked.me/users/cadey">
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/037/105/original/927923b8c70648d3.jpg"/>
</a>
<div class="author-info">
<a target="_top" class="author-displayname" href="https://mst3k.interlinked.me/users/cadey"> Cadey ✅ </a>
<div class="author-fullname"> cadey@mst3k.interlinked.me </div>
</div>
</div>
<div class="item-content">
<p><span class="h-card"><a href="https://hex.bz/@somarasu">@<span>somarasu</span></a></span> <a href="https://mst3k.interlinked.me/media/WXHO4KS_mNYwtwP7E_8"><span class="invisible">https://</span><span class="ellipsis">mst3k.interlinked.me/media/WXH</span><span class="invisible">O4KS_mNYwtwP7E_8</span></a></p>
</div>
<div class="enclosures">
<a target="_top" class="enclosure" href="https://assets.octodon.social/media_attachments/files/000/120/369/original/319ddeae0a3bb4ad.jpg" >
<img src="https://assets.octodon.social/media_attachments/files/000/120/369/original/319ddeae0a3bb4ad.jpg"/>
</a>
</div>
<div class="date">7 hours ago</div>
</div>
<div class="item">
<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">
<a target="_top" 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>
<a target="_top" 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> Standing stone, Merrivale, <a href="https://social.tchncs.de/tags/dartmoor">#<span>Dartmoor</span></a> <a href="https://social.tchncs.de/tags/devon">#<span>Devon</span></a> (2013) <a href="https://social.tchncs.de/media/qGTpuwuUh2P8ZYPDjM0"><span class="invisible">https://</span><span class="ellipsis">social.tchncs.de/media/qGTpuwu</span><span class="invisible">Uh2P8ZYPDjM0</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 target="_top" class="enclosure" href="https://assets.octodon.social/media_attachments/files/000/120/392/original/66ba1accf50e57ee.jpg" >
<img src="https://assets.octodon.social/media_attachments/files/000/120/392/original/66ba1accf50e57ee.jpg"/>
</a>
</div>
<div class="date">May 29, 2017</div>
<div class="date">7 hours ago</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 JensE@mammouth.cafe </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 target="_top" class="avatar" href="https://mammouth.cafe/users/JensE">
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/039/712/original/194cc899a33cc4a9.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>
<a target="_top" class="author-displayname" href="https://mammouth.cafe/users/JensE"> JensE </a>
<div class="author-fullname"> JensE@mammouth.cafe </div>
</div>
</a>
</div>
<div class="item-content">
<p>🐧 💢</p>
<p>Chicks hatched today.</p><p>They're still wet so I won't subject them to a photosession, but if you stick your head out you're fair game ... <a href="https://mammouth.cafe/media/e4MxKqk66t0s9hSLr2g"><span class="invisible">https://</span><span class="ellipsis">mammouth.cafe/media/e4MxKqk66t</span><span class="invisible">0s9hSLr2g</span></a></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 target="_top" class="enclosure" href="https://assets.octodon.social/media_attachments/files/000/119/941/original/aa56c4532e53ffd4.jpg" >
<img src="https://assets.octodon.social/media_attachments/files/000/119/941/original/aa56c4532e53ffd4.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="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>&quot;Visualize the you you want to be&quot;</p><p>(I visualize a giant mecha-lizard demolishing a city)</p>
</div>
<div class="date">May 29, 2017</div>
<div class="date">9 hours ago</div>
</div>
<div class="item">
<div class="item-title"> New status by fenwick67 </div>
<div class="author">
<a class="avatar" href="https://octodon.social/users/fenwick67">
<a target="_top" 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>
<a target="_top" 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/@LukasRos" class="u-url mention">@<span>LukasRos</span></a></span> looks like you shared an embedded video, which I did not test for. The video does not show up yet, but it no longer crashes the application and the rest of your feed shows up now 😉</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="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>
</div>
<div class="date">May 29, 2017</div>
<div class="date">9 hours ago</div>
</div>
<div class="item">
<div class="item-title"> New status by fenwick67 </div>
<div class="author">
<a class="avatar" href="https://octodon.social/users/fenwick67">
<a target="_top" 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>
<a target="_top" 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://mastodon.cloud/@bscott" class="u-url mention">@<span>bscott</span></a></span> Thanks, I&apos;ll put this on my todo list.</p>
</div>
<div class="date">May 28, 2017</div>
<div class="date">11 hours ago</div>
</div>
<div class="item">
<div class="item-title"> fenwick67 shared a status by boots@computerfairi.es </div>
<div class="item-title"> New status by fenwick67 </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 target="_top" 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://computerfairi.es/users/boots"> boͫo͏t̠s̤͇̃̆͞🌸̼🌿̨͙̋ͪ҉ </a>
<div class="author-fullname"> boots@computerfairi.es </div>
<a target="_top" 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 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><span class="h-card"><a href="https://mastodon.social/@LukasRos" class="u-url mention">@<span>LukasRos</span></a></span> will investigate later today</p>
</div>
<div class="date">11 hours ago</div>
</div>
<div class="item">
<div class="item-title"> New status by fenwick67 </div>
<div class="author">
<a target="_top" 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 target="_top" class="author-displayname" href="https://octodon.social/users/fenwick67"> fenwick67 🦆 </a>
<div class="author-fullname"> fenwick67@octodon.social </div>
</div>
</div>
<div class="item-content">
<p><span class="h-card"><a href="https://cybre.space/@chr" class="u-url mention">@<span>chr</span></a></span> <span class="h-card"><a href="https://slime.global/@masklayer" class="u-url mention">@<span>masklayer</span></a></span> <a href="https://octodon.social/media/nd0U3ZxrKlNtEgpdB-Q" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">octodon.social/media/nd0U3ZxrK</span><span class="invisible">lNtEgpdB-Q</span></a></p>
</div>
<div class="date">23 hours ago</div>
</div>
<div class="item">
<div class="item-title"> New status by fenwick67 </div>
<div class="author">
<a target="_top" 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 target="_top" class="author-displayname" href="https://octodon.social/users/fenwick67"> fenwick67 🦆 </a>
<div class="author-fullname"> fenwick67@octodon.social </div>
</div>
</div>
<div class="item-content">
<p><span class="h-card"><a href="https://mastodon.technology/@asbjorn" class="u-url mention">@<span>asbjorn</span></a></span> This is simultaneously really slick but also not annoying web-3.0 stuff. 💯on the design.</p><p>Notes: Font-awesome fails to load. I like to use &quot;//&quot; for my absolute URLs and that usually avoids that 😊. Also it looks kinda wonky with a mobile sized viewport, most noticably by where it says &quot;loud as hell&quot;.</p>
</div>
<div class="date">1 day ago</div>
</div>
<div class="item">
<div class="item-title"> fenwick67 shared a status by programwitch@social.targaryen.house </div>
<div class="author">
<a target="_top" class="avatar" href="https://social.targaryen.house/users/programwitch">
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/034/731/original/d45847138fa633bf.jpeg"/>
</a>
<div class="author-info">
<a target="_top" class="author-displayname" href="https://social.targaryen.house/users/programwitch"> K. Latham 🎃 </a>
<div class="author-fullname"> programwitch@social.targaryen.house </div>
</div>
</div>
<div class="item-content">
<p>Sure, you're goth, but are you dejectedly riding the subway with your raven goth? <a href="http://pic.twitter.com/KDboTBUI2O"><span class="invisible">http://</span><span class="">pic.twitter.com/KDboTBUI2O</span><span class="invisible"></span></a><br>— Max Sparber (@maxsparber) April 29, 2017<br><a href="https://t.co/KDboTBUI2O"><span class="invisible">https://</span><span class="">t.co/KDboTBUI2O</span><span class="invisible"></span></a> <a href="https://social.targaryen.house/tags/twitter">#<span>twitter</span></a> </p><p><a href="https://social.targaryen.house/media/ZaOdFDAeEowGVnpbHps"><span class="invisible">https://</span><span class="ellipsis">social.targaryen.house/media/Z</span><span class="invisible">aOdFDAeEowGVnpbHps</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 target="_top" class="enclosure" href="https://assets.octodon.social/media_attachments/files/000/116/863/original/c6d262aacd64d7c2.jpeg" >
<img src="https://assets.octodon.social/media_attachments/files/000/116/863/original/c6d262aacd64d7c2.jpeg"/>
</a>
</div>
<div class="date">May 28, 2017</div>
<div class="date">1 day ago</div>
</div>
<div class="item">
<div class="item-title"> fenwick67 shared a status by jk@mastodon.social </div>
<div class="item-title"> New status by fenwick67 </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 target="_top" 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://mastodon.social/users/jk"> josef </a>
<div class="author-fullname"> jk@mastodon.social </div>
<a target="_top" 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>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><a href="https://octodon.social/tags/easteregg" class="mention hashtag">#<span>easteregg</span></a> there&apos;s a SCSS variable called &quot;succ green&quot; in the mastodon source but I don&apos;t see any green in the UI, so I must assume this is just <span class="h-card"><a href="https://mastodon.social/@Gargron" class="u-url mention">@<span>gargron</span></a></span> making a joke</p><p> <a href="https://github.com/tootsuite/mastodon/blob/3d3e32befb369f8c6a9f3ac1ee48bce3d266f4b8/app/assets/stylesheets/variables.scss#L7" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">github.com/tootsuite/mastodon/</span><span class="invisible">blob/3d3e32befb369f8c6a9f3ac1ee48bce3d266f4b8/app/assets/stylesheets/variables.scss#L7</span></a></p>
</div>
<div class="date">1 day ago</div>
</div>
<div class="item">
<div class="item-title"> New status by fenwick67 </div>
<div class="author">
<a target="_top" 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 target="_top" class="author-displayname" href="https://octodon.social/users/fenwick67"> fenwick67 🦆 </a>
<div class="author-fullname"> fenwick67@octodon.social </div>
</div>
</div>
<div class="item-content">
<p><span class="h-card"><a href="https://botsin.space/@neural_tv" class="u-url mention">@<span>neural_tv</span></a></span> omg Sarah McLaughlin followed us to Mastodon to get us to join the ASPCA</p>
</div>
<div class="date">1 day ago</div>
</div>
<div class="item">
<div class="item-title"> New status by fenwick67 </div>
<div class="author">
<a target="_top" 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 target="_top" class="author-displayname" href="https://octodon.social/users/fenwick67"> fenwick67 🦆 </a>
<div class="author-fullname"> fenwick67@octodon.social </div>
</div>
</div>
<div class="item-content">
<p><span class="h-card"><a href="https://mastodon.cloud/@expenses" class="u-url mention">@<span>expenses</span></a></span> looks like one of those obfuscated scripts somebody gets you to run that really just runs &quot;rm -rf /&quot;</p>
</div>
<div class="date">1 day ago</div>
</div>
<div class="item">
<div class="item-title"> New status by fenwick67 </div>
<div class="author">
<a target="_top" 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 target="_top" class="author-displayname" href="https://octodon.social/users/fenwick67"> fenwick67 🦆 </a>
<div class="author-fullname"> fenwick67@octodon.social </div>
</div>
</div>
<div class="item-content">
<p>IDE features I would pay for: </p><p>A list of buttons that run my npm/gulp tasks based on my package.json with one click. Instead of having to alt+tab, ctrl+c, up, enter, alt+tab every time.</p>
</div>
<div class="date">1 day ago</div>
</div>
<div class="item">
<div class="item-title"> fenwick67 shared a status by steeliestllama@witches.town </div>
<div class="author">
<a target="_top" class="avatar" href="https://witches.town/users/steeliestllama">
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/016/054/original/81c62c7e7d351553.png"/>
</a>
<div class="author-info">
<a target="_top" class="author-displayname" href="https://witches.town/users/steeliestllama"> Logan Osborne 🐙⚧ </a>
<div class="author-fullname"> steeliestllama@witches.town </div>
</div>
</div>
<div class="item-content">
<p>me: I don't care about anything lol</p><p>also me: gives food that resembles an animal feelings and a personality</p><p>also me: does this with plushies</p><p>me: yeah don't care about anything ever lol</p>
</div>
<div class="date">1 day ago</div>
</div>
<div class="item">
<div class="item-title"> fenwick67 shared a status by 6669@catdon.life </div>
<div class="author">
<a target="_top" class="avatar" href="https://catdon.life/users/6669">
<img class="avatar" src="https://assets.octodon.social/accounts/avatars/000/049/095/original/f01bdd6fcc3ba225.jpeg"/>
</a>
<div class="author-info">
<a target="_top" class="author-displayname" href="https://catdon.life/users/6669"> なりちか </a>
<div class="author-fullname"> 6669@catdon.life </div>
</div>
</div>
<div class="item-content">
<p>耳毛ぼわっさぁ<br><a href="https://catdon.life/media/WVW-PRppyww4nIm542o"><span class="invisible">https://</span><span class="ellipsis">catdon.life/media/WVW-PRppyww4</span><span class="invisible">nIm542o</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 target="_top" class="enclosure" href="https://assets.octodon.social/media_attachments/files/000/116/773/original/badeb618946b2f18.jpeg" >
<img src="https://assets.octodon.social/media_attachments/files/000/116/773/original/badeb618946b2f18.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="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>
</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="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>
</div>
<div class="date">May 27, 2017</div>
<div class="date">1 day ago</div>
</div>
<div class="item">
<div class="item-title"> New status by fenwick67 </div>
<div class="author">
<a class="avatar" href="https://octodon.social/users/fenwick67">
<a target="_top" 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>
<a target="_top" 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.xyz/@marko" class="u-url mention">@<span>marko</span></a></span> this one is beautiful <a href="http://www.ustream.tv/channel/iss-hdev-payload" rel="nofollow noopener" target="_blank"><span class="invisible">http://www.</span><span class="ellipsis">ustream.tv/channel/iss-hdev-pa</span><span class="invisible">yload</span></a></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="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>
</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="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 &quot;Day of the Kangaroo Man,&quot; 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&apos;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="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 &quot;hey! this is coding club not cussing club&quot;</p>
</div>
<div class="date">May 27, 2017</div>
</div>
<div class="item">
<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&apos;m so far out of the target demographic that it doesn&apos;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="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>
</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="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>
</div>
<div class="date">May 26, 2017</div>
</div>
<div class="item">
<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>
</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="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>
</div>
<div class="date">May 25, 2017</div>
<div class="date">1 day ago</div>
</div>
</div>

File diff suppressed because it is too large Load Diff