mirror of
https://codeberg.org/PostERG/xamxam.git
synced 2026-05-06 11:09:18 +02:00
- templates/public/head.php: add centralised OG/Twitter tag rendering via $ogTags array; supports type, title, description, url, image, image_alt, site_name, article_author, article_published_time; twitter:card switches between summary_large_image / summary based on presence of og:image - public/tfe.php: populate full article OG tags — og:type=article, canonical URL, og:image resolved from banner_path → first image file in thesis_files → omitted, og:image:alt, article:author, article:published_time (year-01-01); twitter:card summary_large_image when image present - public/index.php, search.php, apropos.php, licence.php: add basic og:type=website tags (title, description, canonical url, site_name) Sharing a thesis link on Slack, WhatsApp, iMessage, or any social platform will now render a rich preview card with the thesis title, synopsis excerpt, and cover/banner image.
53 lines
1.6 KiB
PHP
53 lines
1.6 KiB
PHP
<?php
|
||
require_once __DIR__ . '/../config/bootstrap.php';
|
||
require_once APP_ROOT . '/src/Database.php';
|
||
require_once APP_ROOT . '/src/Parsedown.php';
|
||
|
||
$currentNav = 'licence';
|
||
|
||
try {
|
||
$db = Database::getInstance();
|
||
$dbPage = $db->getPage('licenses');
|
||
$content = $dbPage ? $dbPage['content'] : '';
|
||
$licencePageTitle = $dbPage ? $dbPage['title'] : 'Licences';
|
||
} catch (Exception $e) {
|
||
error_log("Error loading licence page: " . $e->getMessage());
|
||
$content = '';
|
||
$licencePageTitle = 'Licences';
|
||
}
|
||
|
||
$pd = new Parsedown();
|
||
$pd->setSafeMode(true);
|
||
$html = $pd->text($content);
|
||
|
||
$pageTitle = $licencePageTitle . ' – Posterg';
|
||
$metaDescription = 'Informations sur les licences d\'utilisation des mémoires publiés sur Posterg, le répertoire des TFE de l\'erg.';
|
||
$ogTags = [
|
||
'type' => 'website',
|
||
'title' => $pageTitle,
|
||
'description' => $metaDescription,
|
||
'url' => 'https://posterg.erg.be/licence.php',
|
||
'site_name' => 'Posterg – ERG',
|
||
];
|
||
$extraCss = ['assets/apropos.css'];
|
||
?>
|
||
<?php include APP_ROOT . '/templates/public/head.php'; ?>
|
||
<body class="apropos-body">
|
||
<a href="#main-content" class="skip-link">Aller au contenu principal</a>
|
||
|
||
<?php include APP_ROOT . '/templates/nav.php'; ?>
|
||
<?php include APP_ROOT . '/templates/search-bar.php'; ?>
|
||
|
||
<main class="apropos-main" id="main-content">
|
||
<div class="apropos-description apropos-page-content apropos-single">
|
||
<?php if (!empty(trim($content))): ?>
|
||
<?= $html ?>
|
||
<?php else: ?>
|
||
<p>Contenu à venir.</p>
|
||
<?php endif; ?>
|
||
</div>
|
||
</main>
|
||
|
||
</body>
|
||
</html>
|