fix html, add footer to note
This commit is contained in:
parent
c380a178f0
commit
4524a66c49
|
@ -153,7 +153,11 @@ export const createArticleActivity = (article: Article, user: User) => {
|
|||
};
|
||||
|
||||
const objectId = fillRoute("object", article.id);
|
||||
const content = readFileSync(article.file as string, "utf-8");
|
||||
const content = readFileSync(article.file as string, "utf-8") + `
|
||||
|
||||
[Read on site](${canonicalUrl})
|
||||
`;
|
||||
|
||||
activity.object = {
|
||||
id: objectId,
|
||||
actor,
|
||||
|
@ -179,9 +183,15 @@ export const createArticleObject = (article: Article, nickname: string) => {
|
|||
const actor = fillRoute("actor", nickname);
|
||||
const context = fillRoute("context", article.id);
|
||||
const objectId = fillRoute("object", article.id);
|
||||
const content = readFileSync(article.file as string, "utf-8");
|
||||
const published = typeof article.created_at === "number" ? new Date(article.created_at) : article.created_at;
|
||||
|
||||
const canonicalUrl = `https://${process.env.blog_host}/${article.slug}.html`;
|
||||
const content = readFileSync(article.file as string, "utf-8") + `
|
||||
|
||||
[Read on site](${canonicalUrl})
|
||||
`;
|
||||
|
||||
const published = typeof article.created_at === "number" ? new Date(article.created_at) : article.created_at;
|
||||
|
||||
const followers = fillRoute("followers", nickname);
|
||||
|
||||
const obj: Record<string, any> = {
|
||||
|
@ -197,7 +207,7 @@ export const createArticleObject = (article: Article, nickname: string) => {
|
|||
mediaType: "text/html",
|
||||
source: {
|
||||
mediaType: "text/markdown",
|
||||
content
|
||||
content: content
|
||||
},
|
||||
published
|
||||
}
|
||||
|
|
|
@ -46,7 +46,15 @@ else if (c === "new-article") {
|
|||
|
||||
const htmlFilename = `pages/${slug}.html`;
|
||||
const markdown = fs.readFileSync(filename, "utf-8");
|
||||
const html = md.render(markdown);
|
||||
const rendered = md.render(markdown);
|
||||
const html = `<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>${title}</title>
|
||||
</head>
|
||||
<body>
|
||||
${rendered}
|
||||
`;
|
||||
fs.writeFileSync(htmlFilename, html);
|
||||
|
||||
const article = await insertArticle(user.id, slug, title);
|
||||
|
|
|
@ -7,13 +7,7 @@ import { getBySlug as getArticleBySlug, getById, getByUserId, getAll as getAllAr
|
|||
import { userToPerson, TYPE as ACTIVITYPUB_TYPE, handleInboxPost, createArticleObject, CONTEXT, createArticleActivity } from "./activity.js";
|
||||
import { handleFollowerGet } from "./follower.js";
|
||||
import { handleWebfingerGet } from "./net.js";
|
||||
|
||||
const escapeHtml = (unsafe: string) => unsafe
|
||||
.replaceAll("&", "&")
|
||||
.replaceAll("<", "<")
|
||||
.replaceAll(">", ">")
|
||||
.replaceAll("\"", """)
|
||||
.replace("'", "'");
|
||||
import { escapeHtml } from "./util.js";
|
||||
|
||||
const port = parseInt(process.env.port || "8080");
|
||||
const app = express();
|
||||
|
|
|
@ -18,3 +18,11 @@ export const fixDates = <T>(record: Record<string, any>, columns: string[] = ["c
|
|||
});
|
||||
return record as T;
|
||||
};
|
||||
|
||||
export const escapeHtml = (unsafe: string) => unsafe
|
||||
.replaceAll("&", "&")
|
||||
.replaceAll("<", "<")
|
||||
.replaceAll(">", ">")
|
||||
.replaceAll("\"", """)
|
||||
.replace("'", "'")
|
||||
;
|
Loading…
Reference in New Issue