Compare commits

...

4 Commits

5 changed files with 45 additions and 41 deletions

View File

@ -130,16 +130,19 @@ export async function signAndSend(activity: Activity, inbox: string) {
}
async function sendToFollowers(activity: Create, db: Database) {
// TODO: only send to unique inboxes
db.each("SELECT inbox FROM followers", (err, result) => {
db.all("SELECT inbox FROM followers", (err, results) => {
if (err) {
console.log("Error getting followers: ", err);
return;
}
const inbox = "https://" + new URL(result.inbox).host + "/inbox";
const inboxes = results.map(it => "https://" + new URL(it.inbox).host + "/inbox");
// convert to a Set to deduplicate inboxes
(new Set(inboxes))
.forEach(inbox => {
console.log(`Federating ${activity.object.id} to ${inbox}`);
signAndSend(activity, inbox);
});
});
}
export default function federate(toFederate: [string, Article][], db: Database) {

View File

@ -11,7 +11,9 @@ metadata.layout = "default.html.ejs"
<% for (const post of posts) { %>
<article itemscope itemtype="https://schema.org/BlogPosting">
<h2 class="article-title" itemprop="headline">
<%- fancyLink(post.metadata.title, post.metadata.permalink, `itemprop="url mainEntityOfPage"`) %>
<a href="<%= post.metadata.permalink %>" itemprop="url mainEntityOfPage">
<%= post.metadata.title %>
</a>
</h2>
<%- include("includes/article-meta.html.ejs", { metadata: post.metadata }) %>
<div class="article-content" itemprop="description">

View File

@ -42,6 +42,7 @@ body {
article {
margin-bottom: 75px;
color: var(--content-text-color);
border-bottom: 1px solid var(--accent-color);
@media (min-width: 768px) {
a::before { content: "["; }
@ -81,14 +82,6 @@ article {
color: var(--secondary-ui-text-color);
}
&::after {
content: "";
width: calc(100% - 2 * 30px); // account for .container padding, don't overflow
height: 1px;
background-color: var(--accent-color);
position: absolute;
}
.article-title {
margin-top: 20px;
margin-bottom: 0;
@ -147,16 +140,20 @@ article {
}
#comments-container {
.comments-list {
margin-top: 0px;
padding-left: 0px;
}
border-bottom: 1px solid var(--accent-color);
padding-bottom: 55px;
.comment-user-avatar {
width: 50px;
border-radius: 5px;
float: left;
margin-right: 10px;
border-radius: 5px;
}
@media (min-width: 768px) {
.comments-list {
margin-top: 0px;
padding-left: 0px;
}
.comment-info {
@ -165,9 +162,10 @@ article {
}
.comment-children {
margin-left: 50px;
margin-left: 60px;
margin-top: 20px;
}
}
}
.search {
@ -399,22 +397,17 @@ figure {
// Footer
.site-footer {
padding-top: 20px;
padding-bottom: 20px;
margin-top: 75px;
margin-bottom: 20px;
background-color: var(--ui-background-color);
font-size: 16px;
> div {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: flex-start;
flex-wrap: wrap;
padding-top: 10px;
// border-top: 3px solid var(--accent-color);
}
.site-title {
margin: 0;
font-variant: small-caps;
@ -463,6 +456,10 @@ figure {
.pagination {
text-align: center;
p {
margin: 0;
}
.pagination-link {
color: var(--accent-color);

View File

@ -1,5 +1,7 @@
<p class="article-meta">
<meta itemprop="author" value="Shadowfacts">
<div itemprop="author" itemscope="" itemtype="https://schema.org/Person">
<meta itemprop="name" content="Shadowfacts">
</div>
on
<span>
<% const formatted = formatDate(metadata.date, "MMM Do, YYYY") %>

View File

@ -69,7 +69,7 @@
</div>
<footer class="site-footer container">
<div>
<!-- <div> -->
<div>
<h2 class="site-title">Shadowfacts</h2>
<p class="ui-controls">
@ -91,7 +91,7 @@
<li><%- fancyLink("Mastodon", "https://social.shadowfacts.net/users/shadowfacts", "rel=me") %></li>
</ul>
</nav>
</div>
<!-- </div> -->
<script>
(() => {