Feature/resolve feature graphic of blog post (#1168)
* Resolve feature graphic of blog post * Update changelog
This commit is contained in:
parent
d8531ddfcb
commit
7fa4e6ebd2
@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
- Set up `ng-extract-i18n-merge` to improve the i18n extraction and merge workflow
|
- Set up `ng-extract-i18n-merge` to improve the i18n extraction and merge workflow
|
||||||
- Set up language localization for German (`de`)
|
- Set up language localization for German (`de`)
|
||||||
|
- Resolved the feature graphic of the blog post
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
|
@ -1,13 +1,33 @@
|
|||||||
import * as path from 'path';
|
import * as path from 'path';
|
||||||
|
|
||||||
import { DEFAULT_LANGUAGE_CODE } from '@ghostfolio/common/config';
|
import { DEFAULT_LANGUAGE_CODE } from '@ghostfolio/common/config';
|
||||||
import { Injectable, NestMiddleware } from '@nestjs/common';
|
import { Injectable, Logger, NestMiddleware } from '@nestjs/common';
|
||||||
import { NextFunction, Request, Response } from 'express';
|
import { NextFunction, Request, Response } from 'express';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class FrontendMiddleware implements NestMiddleware {
|
export class FrontendMiddleware implements NestMiddleware {
|
||||||
use(req: Request, res: Response, next: NextFunction) {
|
use(req: Request, res: Response, next: NextFunction) {
|
||||||
if (req.path.startsWith('/api/') || this.isFileRequest(req.url)) {
|
if (req.url.includes('cover.png')) {
|
||||||
|
Logger.log(`Referer: ${req.headers.referer}`, 'FrontendMiddleware');
|
||||||
|
|
||||||
|
// Resolve feature graphic for blog post
|
||||||
|
if (req.headers.referer?.includes('500-stars-on-github')) {
|
||||||
|
res.sendFile(
|
||||||
|
path.join(
|
||||||
|
__dirname,
|
||||||
|
'..',
|
||||||
|
'client',
|
||||||
|
'assets',
|
||||||
|
'images',
|
||||||
|
'blog',
|
||||||
|
'500-stars-on-github.jpg'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
// Skip
|
||||||
|
next();
|
||||||
|
}
|
||||||
|
} else if (req.path.startsWith('/api/') || this.isFileRequest(req.url)) {
|
||||||
// Skip
|
// Skip
|
||||||
next();
|
next();
|
||||||
} else if (req.path.startsWith('/de/')) {
|
} else if (req.path.startsWith('/de/')) {
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<article>
|
<article>
|
||||||
<div class="mb-4 text-center">
|
<div class="mb-4 text-center">
|
||||||
<h1 class="mb-1">500 Stars</h1>
|
<h1 class="mb-1">500 Stars</h1>
|
||||||
<div class="mb-3 text-muted"><small>2022-08-13</small></div>
|
<div class="mb-3 text-muted"><small>2022-08-18</small></div>
|
||||||
<img
|
<img
|
||||||
alt="500 Stars on GitHub Teaser"
|
alt="500 Stars on GitHub Teaser"
|
||||||
class="rounded w-100"
|
class="rounded w-100"
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
>
|
>
|
||||||
<div class="flex-grow-1">
|
<div class="flex-grow-1">
|
||||||
<div class="h6 m-0 text-truncate">500 Stars on GitHub</div>
|
<div class="h6 m-0 text-truncate">500 Stars on GitHub</div>
|
||||||
<div class="d-flex text-muted">2022-08-10</div>
|
<div class="d-flex text-muted">2022-08-18</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="align-items-center d-flex">
|
<div class="align-items-center d-flex">
|
||||||
<ion-icon
|
<ion-icon
|
||||||
|
@ -6,70 +6,70 @@
|
|||||||
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
|
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io</loc>
|
<loc>https://ghostfol.io</loc>
|
||||||
<lastmod>2022-08-13T00:00:00+00:00</lastmod>
|
<lastmod>2022-08-18T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/de/blog/2021/07/hallo-ghostfolio</loc>
|
<loc>https://ghostfol.io/de/blog/2021/07/hallo-ghostfolio</loc>
|
||||||
<lastmod>2022-08-13T00:00:00+00:00</lastmod>
|
<lastmod>2022-08-18T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/about</loc>
|
<loc>https://ghostfol.io/en/about</loc>
|
||||||
<lastmod>2022-08-13T00:00:00+00:00</lastmod>
|
<lastmod>2022-08-18T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/about/changelog</loc>
|
<loc>https://ghostfol.io/en/about/changelog</loc>
|
||||||
<lastmod>2022-08-13T00:00:00+00:00</lastmod>
|
<lastmod>2022-08-18T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/blog</loc>
|
<loc>https://ghostfol.io/en/blog</loc>
|
||||||
<lastmod>2022-08-13T00:00:00+00:00</lastmod>
|
<lastmod>2022-08-18T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/blog/2021/07/hello-ghostfolio</loc>
|
<loc>https://ghostfol.io/en/blog/2021/07/hello-ghostfolio</loc>
|
||||||
<lastmod>2022-08-13T00:00:00+00:00</lastmod>
|
<lastmod>2022-08-18T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/blog/2022/01/ghostfolio-first-months-in-open-source</loc>
|
<loc>https://ghostfol.io/en/blog/2022/01/ghostfolio-first-months-in-open-source</loc>
|
||||||
<lastmod>2022-08-13T00:00:00+00:00</lastmod>
|
<lastmod>2022-08-18T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/blog/2022/07/ghostfolio-meets-internet-identity</loc>
|
<loc>https://ghostfol.io/en/blog/2022/07/ghostfolio-meets-internet-identity</loc>
|
||||||
<lastmod>2022-08-13T00:00:00+00:00</lastmod>
|
<lastmod>2022-08-18T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/blog/2022/07/how-do-i-get-my-finances-in-order</loc>
|
<loc>https://ghostfol.io/en/blog/2022/07/how-do-i-get-my-finances-in-order</loc>
|
||||||
<lastmod>2022-08-13T00:00:00+00:00</lastmod>
|
<lastmod>2022-08-18T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/blog/2022/08/500-stars-on-github</loc>
|
<loc>https://ghostfol.io/en/blog/2022/08/500-stars-on-github</loc>
|
||||||
<lastmod>2022-08-13T00:00:00+00:00</lastmod>
|
<lastmod>2022-08-18T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/demo</loc>
|
<loc>https://ghostfol.io/en/demo</loc>
|
||||||
<lastmod>2022-08-13T00:00:00+00:00</lastmod>
|
<lastmod>2022-08-18T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/faq</loc>
|
<loc>https://ghostfol.io/en/faq</loc>
|
||||||
<lastmod>2022-08-13T00:00:00+00:00</lastmod>
|
<lastmod>2022-08-18T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/features</loc>
|
<loc>https://ghostfol.io/en/features</loc>
|
||||||
<lastmod>2022-08-13T00:00:00+00:00</lastmod>
|
<lastmod>2022-08-18T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/markets</loc>
|
<loc>https://ghostfol.io/en/markets</loc>
|
||||||
<lastmod>2022-08-13T00:00:00+00:00</lastmod>
|
<lastmod>2022-08-18T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/pricing</loc>
|
<loc>https://ghostfol.io/en/pricing</loc>
|
||||||
<lastmod>2022-08-13T00:00:00+00:00</lastmod>
|
<lastmod>2022-08-18T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/register</loc>
|
<loc>https://ghostfol.io/en/register</loc>
|
||||||
<lastmod>2022-08-13T00:00:00+00:00</lastmod>
|
<lastmod>2022-08-18T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://ghostfol.io/en/resources</loc>
|
<loc>https://ghostfol.io/en/resources</loc>
|
||||||
<lastmod>2022-08-13T00:00:00+00:00</lastmod>
|
<lastmod>2022-08-18T00:00:00+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
</urlset>
|
</urlset>
|
||||||
|
@ -19,10 +19,7 @@
|
|||||||
name="twitter:description"
|
name="twitter:description"
|
||||||
content="Ghostfolio is a lightweight wealth management application for individuals to keep track of stocks, ETFs or cryptocurrencies"
|
content="Ghostfolio is a lightweight wealth management application for individuals to keep track of stocks, ETFs or cryptocurrencies"
|
||||||
/>
|
/>
|
||||||
<meta
|
<meta name="twitter:image" content="https://ghostfol.io/assets/cover.png" />
|
||||||
name="twitter:image"
|
|
||||||
content="https://ghostfol.io/en/assets/cover.png"
|
|
||||||
/>
|
|
||||||
<meta
|
<meta
|
||||||
name="twitter:title"
|
name="twitter:title"
|
||||||
content="Ghostfolio – Open Source Wealth Management Software"
|
content="Ghostfolio – Open Source Wealth Management Software"
|
||||||
@ -38,11 +35,8 @@
|
|||||||
/>
|
/>
|
||||||
<meta property="og:type" content="website" />
|
<meta property="og:type" content="website" />
|
||||||
<meta property="og:url" content="https://ghostfol.io" />
|
<meta property="og:url" content="https://ghostfol.io" />
|
||||||
<meta
|
<meta property="og:image" content="https://ghostfol.io/assets/cover.png" />
|
||||||
property="og:image"
|
<meta property="og:updated_time" content="2022-08-18T00:00:00+00:00" />
|
||||||
content="https://ghostfol.io/en/assets/cover.png"
|
|
||||||
/>
|
|
||||||
<meta property="og:updated_time" content="2022-05-28T00:00:00+00:00" />
|
|
||||||
<meta
|
<meta
|
||||||
property="og:site_name"
|
property="og:site_name"
|
||||||
content="Ghostfolio – Open Source Wealth Management Software"
|
content="Ghostfolio – Open Source Wealth Management Software"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user