fix: favicon path

This commit is contained in:
2026-07-24 12:32:40 +02:00
parent 49978afd4c
commit b13bb738ce
3 changed files with 13 additions and 19 deletions
+2 -1
View File
@@ -12,5 +12,6 @@
"updated_on": "Updated on", "updated_on": "Updated on",
"authored": "By", "authored": "By",
"copyright": "<a style=\"text-decoration:none;color:inherit;\" target=_blank href=\"https://creativecommons.org/licenses/by-nc/4.0/\">CC BY-NC</a>", "copyright": "<a style=\"text-decoration:none;color:inherit;\" target=_blank href=\"https://creativecommons.org/licenses/by-nc/4.0/\">CC BY-NC</a>",
"footer": "" "footer": "",
"favicon_ico": ""
} }
+1 -1
View File
@@ -2,10 +2,10 @@
<html lang="%VITE_APP_LANG%"> <html lang="%VITE_APP_LANG%">
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<link rel="icon" href="@articles/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<title>%VITE_APP_TITLE_NO_HTML%</title> <title>%VITE_APP_TITLE_NO_HTML%</title>
<link rel="stylesheet" type="text/css" href="/src/style.scss" /> <link rel="stylesheet" type="text/css" href="/src/style.scss" />
<link rel='shortcut icon' href='/favicon.ico' />
<meta property="og:url" content="%VITE_BASE_URL%" /> <meta property="og:url" content="%VITE_BASE_URL%" />
<meta property="og:title" content="%VITE_APP_TITLE_NO_HTML%" /> <meta property="og:title" content="%VITE_APP_TITLE_NO_HTML%" />
<link rel="alternate" href="%VITE_BASE_URL%/rss.xml" type="application/rss+xml" title="RSS 2.0" /> <link rel="alternate" href="%VITE_BASE_URL%/rss.xml" type="application/rss+xml" title="RSS 2.0" />
+10 -17
View File
@@ -37,10 +37,7 @@ function readArticleMetadata(path: string): Record<string, string> | null {
return metadata; return metadata;
} }
function formatArticlePage( function formatArticlePage(metadata: Record<string, string>, baseHtml: string): string {
metadata: Record<string, string>,
baseHtml: string,
): string {
let outHtml = baseHtml; let outHtml = baseHtml;
outHtml = outHtml.replace(/<.*?property="og:url".*?>/gm, ""); outHtml = outHtml.replace(/<.*?property="og:url".*?>/gm, "");
outHtml = outHtml.replace( outHtml = outHtml.replace(
@@ -50,10 +47,7 @@ function formatArticlePage(
const blog_title = articlesConfig.title.replace(/(<([^>]+)>)/gi, "").trim(); const blog_title = articlesConfig.title.replace(/(<([^>]+)>)/gi, "").trim();
if (metadata.title) { if (metadata.title) {
const title = metadata.title.replace(/(<([^>]+)>)/gi, "").trim(); const title = metadata.title.replace(/(<([^>]+)>)/gi, "").trim();
outHtml = outHtml.replace( outHtml = outHtml.replace(/<title>.*?<\/title>/gm, `<title>${blog_title}${title}</title>`);
/<title>.*?<\/title>/gm,
`<title>${blog_title}${title}</title>`,
);
outHtml = outHtml.replace(/<.*?property="og:title".*?>/gm, ""); outHtml = outHtml.replace(/<.*?property="og:title".*?>/gm, "");
outHtml = outHtml.replace( outHtml = outHtml.replace(
/<\/head>/gm, /<\/head>/gm,
@@ -82,10 +76,7 @@ function addFeedArticle(metadata: Record<string, string>, feed: Feed) {
id: metadata.path, id: metadata.path,
link: `${articlesConfig.base_url}${metadata.path}/`, link: `${articlesConfig.base_url}${metadata.path}/`,
date: new Date(Date.parse(metadata.date)), date: new Date(Date.parse(metadata.date)),
image: metadata.thumbnail.replace( image: metadata.thumbnail.replace("./", articlesConfig.base_url + metadata.path + "/"),
"./",
articlesConfig.base_url + metadata.path + "/",
),
}); });
} }
} }
@@ -107,7 +98,7 @@ const feed = new Feed({
id: articlesConfig.base_url, id: articlesConfig.base_url,
link: articlesConfig.base_url, link: articlesConfig.base_url,
language: articlesConfig.lang, language: articlesConfig.lang,
favicon: articlesConfig.base_url + "articles/favicon.ico", favicon: articlesConfig.base_url + "/favicon.ico",
generator: "md-blog", generator: "md-blog",
feedLinks: { feedLinks: {
json: articlesConfig.base_url + "feed.json", json: articlesConfig.base_url + "feed.json",
@@ -125,10 +116,7 @@ const feed = new Feed({
}); });
metadatas.forEach((metadata) => { metadatas.forEach((metadata) => {
fs.writeFileSync( fs.writeFileSync(`dist/${metadata.path}/index.html`, formatArticlePage(metadata, indexContent));
`dist/${metadata.path}/index.html`,
formatArticlePage(metadata, indexContent),
);
console.info(`Wrote dist/${metadata.path}/index.html`); console.info(`Wrote dist/${metadata.path}/index.html`);
addFeedArticle(metadata, feed); addFeedArticle(metadata, feed);
}); });
@@ -139,3 +127,8 @@ fs.writeFileSync("dist/atom.xml", feed.atom1());
console.info(`Wrote dist/atom.xml`); console.info(`Wrote dist/atom.xml`);
fs.writeFileSync("dist/rss.xml", feed.rss2()); fs.writeFileSync("dist/rss.xml", feed.rss2());
console.info(`Wrote dist/rss.xml`); console.info(`Wrote dist/rss.xml`);
if (articlesConfig.favicon_ico) {
fs.copyFileSync(`articles/${articlesConfig.favicon_ico}`, "dist/favicon.ico");
console.info(`Wrote dist/favicon.ico`);
}