|
|
@ -12,13 +12,12 @@ import { DATE_FORMAT, interpolate } from '@ghostfolio/common/helper'; |
|
|
|
import { format } from 'date-fns'; |
|
|
|
import { NextFunction, Request, Response } from 'express'; |
|
|
|
|
|
|
|
const title = 'Ghostfolio – Open Source Wealth Management Software'; |
|
|
|
const titleShort = 'Ghostfolio'; |
|
|
|
|
|
|
|
const i18nService = new I18nService(); |
|
|
|
|
|
|
|
let indexHtmlMap: { [languageCode: string]: string } = {}; |
|
|
|
|
|
|
|
const title = 'Ghostfolio'; |
|
|
|
|
|
|
|
try { |
|
|
|
indexHtmlMap = SUPPORTED_LANGUAGE_CODES.reduce( |
|
|
|
(map, languageCode) => ({ |
|
|
@ -35,47 +34,47 @@ try { |
|
|
|
const locales = { |
|
|
|
'/de/blog/2023/01/ghostfolio-auf-sackgeld-vorgestellt': { |
|
|
|
featureGraphicPath: 'assets/images/blog/ghostfolio-x-sackgeld.png', |
|
|
|
title: `Ghostfolio auf Sackgeld.com vorgestellt - ${titleShort}` |
|
|
|
title: `Ghostfolio auf Sackgeld.com vorgestellt - ${title}` |
|
|
|
}, |
|
|
|
'/en/blog/2022/08/500-stars-on-github': { |
|
|
|
featureGraphicPath: 'assets/images/blog/500-stars-on-github.jpg', |
|
|
|
title: `500 Stars - ${titleShort}` |
|
|
|
title: `500 Stars - ${title}` |
|
|
|
}, |
|
|
|
'/en/blog/2022/10/hacktoberfest-2022': { |
|
|
|
featureGraphicPath: 'assets/images/blog/hacktoberfest-2022.png', |
|
|
|
title: `Hacktoberfest 2022 - ${titleShort}` |
|
|
|
title: `Hacktoberfest 2022 - ${title}` |
|
|
|
}, |
|
|
|
'/en/blog/2022/12/the-importance-of-tracking-your-personal-finances': { |
|
|
|
featureGraphicPath: 'assets/images/blog/20221226.jpg', |
|
|
|
title: `The importance of tracking your personal finances - ${titleShort}` |
|
|
|
title: `The importance of tracking your personal finances - ${title}` |
|
|
|
}, |
|
|
|
'/en/blog/2023/02/ghostfolio-meets-umbrel': { |
|
|
|
featureGraphicPath: 'assets/images/blog/ghostfolio-x-umbrel.png', |
|
|
|
title: `Ghostfolio meets Umbrel - ${titleShort}` |
|
|
|
title: `Ghostfolio meets Umbrel - ${title}` |
|
|
|
}, |
|
|
|
'/en/blog/2023/03/ghostfolio-reaches-1000-stars-on-github': { |
|
|
|
featureGraphicPath: 'assets/images/blog/1000-stars-on-github.jpg', |
|
|
|
title: `Ghostfolio reaches 1’000 Stars on GitHub - ${titleShort}` |
|
|
|
title: `Ghostfolio reaches 1’000 Stars on GitHub - ${title}` |
|
|
|
}, |
|
|
|
'/en/blog/2023/05/unlock-your-financial-potential-with-ghostfolio': { |
|
|
|
featureGraphicPath: 'assets/images/blog/20230520.jpg', |
|
|
|
title: `Unlock your Financial Potential with Ghostfolio - ${titleShort}` |
|
|
|
title: `Unlock your Financial Potential with Ghostfolio - ${title}` |
|
|
|
}, |
|
|
|
'/en/blog/2023/07/exploring-the-path-to-fire': { |
|
|
|
featureGraphicPath: 'assets/images/blog/20230701.jpg', |
|
|
|
title: `Exploring the Path to FIRE - ${titleShort}` |
|
|
|
title: `Exploring the Path to FIRE - ${title}` |
|
|
|
}, |
|
|
|
'/en/blog/2023/08/ghostfolio-joins-oss-friends': { |
|
|
|
featureGraphicPath: 'assets/images/blog/ghostfolio-joins-oss-friends.png', |
|
|
|
title: `Ghostfolio joins OSS Friends - ${titleShort}` |
|
|
|
title: `Ghostfolio joins OSS Friends - ${title}` |
|
|
|
}, |
|
|
|
'/en/blog/2023/09/ghostfolio-2': { |
|
|
|
featureGraphicPath: 'assets/images/blog/ghostfolio-2.jpg', |
|
|
|
title: `Announcing Ghostfolio 2.0 - ${titleShort}` |
|
|
|
title: `Announcing Ghostfolio 2.0 - ${title}` |
|
|
|
}, |
|
|
|
'/en/blog/2023/09/hacktoberfest-2023': { |
|
|
|
featureGraphicPath: 'assets/images/blog/hacktoberfest-2023.png', |
|
|
|
title: `Hacktoberfest 2023 - ${titleShort}` |
|
|
|
title: `Hacktoberfest 2023 - ${title}` |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
@ -128,7 +127,12 @@ export const HtmlTemplateMiddleware = async ( |
|
|
|
}), |
|
|
|
featureGraphicPath: |
|
|
|
locales[path]?.featureGraphicPath ?? 'assets/cover.png', |
|
|
|
title: locales[path]?.title ?? title |
|
|
|
title: |
|
|
|
locales[path]?.title ?? |
|
|
|
`${title} – ${i18nService.getTranslation({ |
|
|
|
languageCode, |
|
|
|
id: 'slogan' |
|
|
|
})}` |
|
|
|
}); |
|
|
|
|
|
|
|
return response.send(indexHtml); |
|
|
|