feat: rework metadata loading to use site-specific config file

This commit is contained in:
David Bailey 2024-01-11 16:53:37 +01:00
parent c202b778e0
commit 2ea575f229
3 changed files with 21 additions and 16 deletions

View file

@ -78,6 +78,7 @@ $twig->addRuntimeLoader(new class implements RuntimeLoaderInterface {
function render_twig($template, $args = []) {
global $twig;
global $FONT_AWESOME_ARRAY;
global $SITE_CONFIG;
$args['fa'] = $FONT_AWESOME_ARRAY;
@ -85,27 +86,27 @@ function render_twig($template, $args = []) {
$settings = $post['settings'] ?? [];
$meta = $post['post_metadata'] ?? [];
$args['banner'] ??= $settings['banners'] ?? [
["src"=> "/static/banner/0.png"],
["src" => "/static/banner/1.png"]
];
$args['banner'] ??= $settings['banners'] ?? $SITE_CONFIG['banners'];
$args['og'] = array_merge([
"title" => $meta['title'] ?? "Dergennibble",
"site_name" => $SITE_CONFIG['opengraph']['site_name'],
"title" => $meta['title'] ?? $SITE_CONFIG['opengraph']['site_name'],
"url" => $_SERVER['REQUEST_URI'],
"description" => $meta['description']
?? $settings['description']
?? "The softest spot to find dragons on"
?? $SITE_CONFIG['opengraph']['description']
], $args['og'] ?? []);
if(($meta['type'] ?? '') == 'image') {
$args['og']['image'] ??= "https://lucidragons.de" . $post['post_file_dir'];
$args['og']['image'] ??= $meta['media_file'];
}
$args['og']['image'] ??= 'https://lucidragons.de' . $args['banner'][0]["src"];
$args['og']['image'] ??= $SITE_CONFIG['uri_prefix'] . $args['banner'][0]["src"];
$args['banner'] = json_encode($args['banner']);
$args['site_config'] = $SITE_CONFIG;
echo $twig->render($template, $args);
}

View file

@ -3,8 +3,10 @@
{% extends "root.html" %}
{% block feed_links %}
<link rel="alternate" type="application/rss+xml" title="DergSite Global Feed" href="https://lucidragons.de/feed">
<link rel="alternate" type="application/atom+xml" title="DergSite Feed for {{post.post_path}}" href="https://lucidragons.de/feed/atom{{post.post_path}}">
{{ parent() }}
<link rel="alternate" type="application/atom+xml" title="{{og.site_name}} Feed for {{post.post_path}}" href="{{site_config.uri_prefix}}/feed/atom{{post.post_path}}">
{% endblock %}
{% block second_title %}

View file

@ -1,31 +1,33 @@
<!DOCTYPE html>
<html>
<head>
<title>The Dergsite - {{og.title}}</title>
<title>{{og.site_name}} - {{og.title}}</title>
<link rel="stylesheet" href="/static/dergstyle.css">
<link rel="icon" type="image/x-icon" href="/static/icon.jpeg">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="viewport" content="width=device-width,initial-scale=0.8">
{% block feed_links %}
<link rel="alternate" type="application/rss+xml" title="DergSite Global Feed" href="https://lucidragons.de/feed">
<link rel="alternate" type="application/rss+xml" title="{{og.site_name}} Global Feed" href="{{site_config.uri_prefix}}/feed">
{% endblock %}
{% block extra_head %}{% endblock %}
{% block opengraph_tags %}
<meta property="og:site_name" content="The Dergsite">
<meta property="og:site_name" content="{{og.site_name}}">
<meta property="og:url" content="{{og.url}}" />
<meta property="og:title" content="{{ og.title|e }}" />
<meta property="twitter:title" content="{{ og.title|e }}" />
<meta name="twitter:title" content="{{ og.title|e }}" />
<meta property="og:description" content="{{ og.description|e }}" />
<meta property="twitter:description" content="{{ og.description|e }}" />
<meta name="twitter:description" content="{{ og.description|e }}" />
<meta property="og:image" content="{{og.image}}" />
<meta name="twitter:image" content="{{og.image}}" />
<meta property="al:android:app_name" content="Medium" />
{% endblock %}
<script type="text/javascript">