feat: ✨ add gallery page
This commit is contained in:
parent
9354f9f556
commit
add698651e
4 changed files with 86 additions and 22 deletions
|
@ -99,6 +99,7 @@ function render_twig($template, $args = []) {
|
||||||
"site_name" => $SITE_CONFIG['opengraph']['site_name'],
|
"site_name" => $SITE_CONFIG['opengraph']['site_name'],
|
||||||
"title" => $meta['title'] ?? $SITE_CONFIG['opengraph']['site_name'],
|
"title" => $meta['title'] ?? $SITE_CONFIG['opengraph']['site_name'],
|
||||||
"url" => $_SERVER['REQUEST_URI'],
|
"url" => $_SERVER['REQUEST_URI'],
|
||||||
|
"type" => "article",
|
||||||
"description" => $meta['description']
|
"description" => $meta['description']
|
||||||
?? $settings['description']
|
?? $settings['description']
|
||||||
?? $SITE_CONFIG['opengraph']['description']
|
?? $SITE_CONFIG['opengraph']['description']
|
||||||
|
@ -106,9 +107,10 @@ function render_twig($template, $args = []) {
|
||||||
|
|
||||||
if(($meta['type'] ?? '') == 'image') {
|
if(($meta['type'] ?? '') == 'image') {
|
||||||
$args['og']['image'] ??= $meta['media_file'];
|
$args['og']['image'] ??= $meta['media_file'];
|
||||||
|
$args['og']['type'] = "image";
|
||||||
}
|
}
|
||||||
|
|
||||||
$args['og']['image'] ??= $SITE_CONFIG['uri_prefix'] . $args['banner'][0]["src"];
|
$args['og']['image'] ??= $args['banner'][0]["src"];
|
||||||
|
|
||||||
$args['banner'] = json_encode($args['banner']);
|
$args['banner'] = json_encode($args['banner']);
|
||||||
|
|
||||||
|
@ -161,6 +163,25 @@ function try_render_post($SURI) {
|
||||||
]);
|
]);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'gallery':
|
||||||
|
if(preg_match('/^(.*[^\/])((?:#.*)?)$/', $SURI, $match)) {
|
||||||
|
header('Location: ' . $match[1] . '/' . $match[2]);
|
||||||
|
|
||||||
|
die();
|
||||||
|
}
|
||||||
|
|
||||||
|
$search_query = $post['post_metadata']['search_tags'] ??
|
||||||
|
('+type:image +path:' . $post['post_path'] . '/*');
|
||||||
|
|
||||||
|
$search_result = $adapter->perform_post_search($search_query);
|
||||||
|
|
||||||
|
echo render_twig('post_types/gallery.html', [
|
||||||
|
"post" => $post,
|
||||||
|
"subposts" => $adapter->get_subposts_by_path($SURI),
|
||||||
|
"gallery_images" => $search_result['results']
|
||||||
|
]);
|
||||||
|
break;
|
||||||
|
|
||||||
case 'image':
|
case 'image':
|
||||||
echo render_twig('post_types/image.html', [
|
echo render_twig('post_types/image.html', [
|
||||||
"post" => $post,
|
"post" => $post,
|
||||||
|
@ -227,9 +248,6 @@ function generate_website($SURI) {
|
||||||
header('Etag: W/"' . $SURI . '/' . strtotime($feed['feed_ts']) . '"');
|
header('Etag: W/"' . $SURI . '/' . strtotime($feed['feed_ts']) . '"');
|
||||||
|
|
||||||
echo $feed['feed'];
|
echo $feed['feed'];
|
||||||
} elseif(!preg_match('/^\s*text\/html/', $_SERVER['HTTP_ACCEPT'])) {
|
|
||||||
header('Location: /raw' . $SURI);
|
|
||||||
exit(0);
|
|
||||||
} elseif(true) {
|
} elseif(true) {
|
||||||
try_render_post($SURI);
|
try_render_post($SURI);
|
||||||
}
|
}
|
||||||
|
|
59
www/templates/post_types/gallery.html
Normal file
59
www/templates/post_types/gallery.html
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
|
||||||
|
|
||||||
|
{% extends "pathed_content.html" %}
|
||||||
|
|
||||||
|
{% block extra_head %}
|
||||||
|
<link rel="stylesheet" href="/static/directorystyle.css">
|
||||||
|
<link rel="stylesheet" href="/static/gallerystyle.css">
|
||||||
|
{%endblock%}
|
||||||
|
|
||||||
|
{%block content_article%}
|
||||||
|
{% if subposts|length > 0 %}
|
||||||
|
<table class="directory">
|
||||||
|
<h3>Art Subfolders:</h3>
|
||||||
|
<tr>
|
||||||
|
<th></th>
|
||||||
|
<th class="hsmol_hide">Name</th>
|
||||||
|
<th>Title</th>
|
||||||
|
<th class="entry_update_time hsmol_hide">Modified</th>
|
||||||
|
</tr>
|
||||||
|
{% for subpost in subposts %}
|
||||||
|
<tr class="entry">
|
||||||
|
<td>
|
||||||
|
{{ fa[subpost.post_metadata.icon] | raw }}
|
||||||
|
</td>
|
||||||
|
<td class="hsmol_hide">
|
||||||
|
<a href={{subpost.post_path}}>{{subpost.post_basename}}</a>
|
||||||
|
</td>
|
||||||
|
<td class="entry_title">
|
||||||
|
<a href={{subpost.post_path}}>{{ subpost.post_metadata.title }}</a>
|
||||||
|
</td>
|
||||||
|
<td class="entry_update_time hsmol_hide">
|
||||||
|
{{ subpost.post_update_time }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</table>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{{ content_html|raw }}
|
||||||
|
|
||||||
|
{% if gallery_images|length > 0 %}
|
||||||
|
<ul class="gallery">
|
||||||
|
{% for post in gallery_images %}
|
||||||
|
<li class="entry">
|
||||||
|
<a href={{post.post_path}}>
|
||||||
|
<figure>
|
||||||
|
<img src="{{post.post_metadata.media_file}}">
|
||||||
|
<figcaption>
|
||||||
|
{{ post.post_metadata.title }}
|
||||||
|
</figcaption>
|
||||||
|
</figure>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
{%else%}
|
||||||
|
<h4>How sad. There are no images yet... What a real shame :c </h4>
|
||||||
|
{% endif %}
|
||||||
|
{%endblock%}
|
|
@ -1,18 +0,0 @@
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>PHP Test</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<?php
|
|
||||||
|
|
||||||
echo '<p>Hello World</p>';
|
|
||||||
|
|
||||||
require 'src/templater.php';
|
|
||||||
|
|
||||||
$test = new TemplateFillout('test.dergplate');
|
|
||||||
|
|
||||||
$test->render();
|
|
||||||
|
|
||||||
?>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -24,12 +24,17 @@
|
||||||
<meta property="og:title" content="{{ og.title|e }}" />
|
<meta property="og:title" content="{{ og.title|e }}" />
|
||||||
<meta name="twitter:title" content="{{ og.title|e }}" />
|
<meta name="twitter:title" content="{{ og.title|e }}" />
|
||||||
|
|
||||||
|
<meta property="og:type" content="{{og.type}}" />
|
||||||
|
|
||||||
<meta property="og:description" content="{{ og.description|e }}" />
|
<meta property="og:description" content="{{ og.description|e }}" />
|
||||||
<meta name="twitter:description" content="{{ og.description|e }}" />
|
<meta name="twitter:description" content="{{ og.description|e }}" />
|
||||||
|
|
||||||
<meta property="og:image" content="{{og.image}}" />
|
<meta property="og:image" content="{{og.image}}" />
|
||||||
<meta name="twitter:image" content="{{og.image}}" />
|
<meta name="twitter:image" content="{{og.image}}" />
|
||||||
|
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="robots" content="max-image-preview:large">
|
||||||
|
|
||||||
<meta property="al:android:app_name" content="Medium" />
|
<meta property="al:android:app_name" content="Medium" />
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue