Updating files and added php formatting

First commit to the new repo so I'm doing a bit of housecleaning, which
is cleaning up some old files, adding some changes that had been made
elsewhere and adding a php format config file to normalize formatting
across multiple projects.
This commit is contained in:
are0h 2022-10-21 13:35:12 -07:00
parent a66377e597
commit b5877e2385
8 changed files with 340 additions and 194 deletions

74
.php-cs-fixer.php Normal file
View file

@ -0,0 +1,74 @@
<?php
$config = new PhpCsFixer\Config();
return $config
->setRiskyAllowed(true)
->setRules([
'@PSR12' => true,
'array_indentation' => true,
'array_syntax' => [
'syntax' => 'short',
],
'combine_consecutive_unsets' => true,
'method_chaining_indentation' => true,
'class_attributes_separation' => [
'elements' => [
'const' => 'none',
'method' => 'one',
'property' => 'none',
'trait_import' => 'none',
],
],
'multiline_whitespace_before_semicolons' => [
'strategy' => 'no_multi_line',
],
'single_quote' => false,
'binary_operator_spaces' => [
'default' => 'single_space',
'operators' => [
'=' => 'align_single_space_minimal',
'=>' => 'align_single_space_minimal',
],
],
'braces' => [
'allow_single_line_closure' => true,
],
'concat_space' => [
'spacing' => 'one',
],
'declare_equal_normalize' => true,
'function_typehint_space' => true,
'single_line_comment_style' => [
'comment_types' => [
'hash',
],
],
'include' => true,
'lowercase_cast' => true,
'no_extra_blank_lines' => [
'tokens' => [
'curly_brace_block',
'extra',
'parenthesis_brace_block',
'throw',
]
],
'no_multiline_whitespace_around_double_arrow' => true,
'no_spaces_around_offset' => true,
'no_unused_imports' => true,
'no_whitespace_before_comma_in_array' => true,
'no_whitespace_in_blank_line' => true,
'object_operator_without_whitespace' => true,
'single_blank_line_before_namespace' => true,
'ternary_operator_spaces' => true,
'trim_array_spaces' => true,
'unary_operator_spaces' => true,
'whitespace_after_comma_in_array' => true,
'single_line_after_imports' => true,
'ordered_imports' => [
'sort_algorithm' => 'none',
],
//Other rules here...
])
->setLineEnding("\n");

View file

@ -1,64 +1,82 @@
{
"index-content-no-image": "The path of the <a href='#'>righteous</a> man is beset on ALL sides by the iniquities of the selfish and the tyranny of evil men. Blessed is he who, in the name of charity and good will, shepherds the weak through the valley of darkness, for he is truly his brother's keeper and the finder of lost children. And I will strike down upon thee with great vengeance and furious anger those who would attempt to poison and destroy My brothers. And you will know My name is the Lord when I lay My vengeance upon thee.",
"index-content": "<img src='/assets/images/global/default-avi.png'><br>The path of the <a href='#'>righteous</a> man is beset on ALL sides by the iniquities of the selfish and the tyranny of evil men. Blessed is he who, in the name of charity and good will, shepherds the weak through the valley of darkness, for he is truly his brother's keeper and the finder of lost children. <code>And I will strike down upon thee with great vengeance</code> and furious anger those who would attempt to poison and destroy My brothers. And you will know My name is the Lord when I lay My vengeance upon thee.",
"content": "<img src='/assets/images/global/default-avi.png'><br>The path of the <a href='#'>righteous</a> man is beset on ALL sides by the iniquities of the selfish and the tyranny of evil men. Blessed is he who, in the name of charity and good will, shepherds the weak through the valley of darkness, for he is truly his brother's keeper and the finder of lost children. <code>And I will strike down upon thee with great vengeance</code> and furious anger those who would attempt to poison and destroy My brothers. And you will know My name is the Lord when I lay My vengeance upon thee.<pre><code>server\n { listen 80; server_name yourcoolassdomain.com; \n\tlocation / \n\t\t{ \n\t\t\tproxy_pass https://127.0.0.1:2314; \n\t\t\tproxy_http_version 1.1; \n\t\t\tproxy_set_header \n\t\t\tUpgrade $http_upgrade; \n\t\t\tproxy_set_header Connection 'upgrade'; \n\t\t\tproxy_set_header Host $host; \n\t\t\tproxy_cache_bypass $http_upgrade; \n\t\t} \n\t} </code></pre>",
"content": "<img src='/assets/images/global/default-avi.png'><sup>this is mini text</sup><br>The path of the <a href='#'>righteous</a> man is beset on ALL sides by the iniquities of the selfish and the tyranny of evil men. Blessed is he who, in the name of charity and good will, shepherds the weak through the valley of darkness, for he is truly his brother's keeper and the finder of lost children. <code>And I will strike down upon thee with great vengeance</code> and furious anger those who would attempt to poison and destroy My brothers. And you will know My name is the Lord when I lay My vengeance upon thee.<pre><code>server\n { listen 80; server_name yourcoolassdomain.com; \n\tlocation / \n\t\t{ \n\t\t\tproxy_pass https://127.0.0.1:2314; \n\t\t\tproxy_http_version 1.1; \n\t\t\tproxy_set_header \n\t\t\tUpgrade $http_upgrade; \n\t\t\tproxy_set_header Connection 'upgrade'; \n\t\t\tproxy_set_header Host $host; \n\t\t\tproxy_cache_bypass $http_upgrade; \n\t\t} \n\t} </code></pre><br><iframe src='https://www.youtube.com/embed/dHtB3Gg5hCg' title='YouTube video player' width='100%' height='400'></iframe>",
"feature": "/assets/video/blog/2022/01/one.mp4, /assets/images/blog/2022/03/01.jpg, /assets/images/blog/2022/03/02.jpg, /assets/images/blog/2022/03/03.jpg",
"files": "/assets/docs/blog/2022/01/one.pdf, /assets/docs/blog/2022/01/two.txt, /assets/docs/blog/2022/01/three.rtf, /assets/sound/blog/2022/01/one.mp3, /assets/sound/blog/2022/01/two.mp3,",
"meta": {
"who": "Are0h",
"when": "6 hours ago",
"when": "2022 Jan Sun 30",
"tags": [
{ "label": "star trek discovery", "slug": "star-trek-discovery" },
{ "label": " sonequa martin-green", "slug": "sonequa-martin-green" },
{ "label": " faves", "slug": "faves" },
{ "label": " damn", "slug": "damn" },
{ "label": " sci-fi", "slug": "sci-fi" },
{ "label": " tv", "slug": "tv" }
{
"label": "star trek discovery",
"slug": "star-trek-discovery"
},
{
"label": " sonequa martin-green",
"slug": "sonequa-martin-green"
},
{
"label": " faves",
"slug": "faves"
},
{
"label": " damn",
"slug": "damn"
},
{
"label": " sci-fi",
"slug": "sci-fi"
},
{
"label": " tv",
"slug": "tv"
}
]
},
"recent_posts": [
{
"title": "Teyonah Parris",
"slug": "teyonah-parris",
"feature": "content/blog-images/2018/11/chi-raq.jpg",
"feature": "/assets/video/blog/2022/01/one.mp4, /assets/images/blog/2022/03/01.jpg, /assets/images/blog/2022/03/02.jpg, /assets/images/blog/2022/03/03.jpg",
"path": "2020/06",
"created": "2018 Nov 11th"
},
{
"title": "Aja Naomi-King",
"slug": "aja-naomi-king",
"feature": "content/blog-images/2018/11/chi-raq.jpg",
"feature": "/assets/images/blog/2022/03/01.jpg, /assets/images/blog/2022/03/02.jpg, /assets/images/blog/2022/03/03.jpg",
"path": "2020/06",
"created": "2018 Nov 11th"
},
{
"title": "Sonequa Martin-Green",
"slug": "sonequa-martin-green",
"feature": "content/blog-images/2018/11/chi-raq.jpg",
"feature": "/assets/images/blog/2022/03/02.jpg, /assets/images/blog/2022/03/03.jpg",
"path": "2020/06",
"created": "2018 Nov 11th"
},
{
"title": "Jameela Jamil",
"slug": "jameela-jamil",
"feature": "content/blog-images/2018/11/chi-raq.jpg",
"feature": "/assets/images/blog/2022/03/03.jpg",
"path": "2020/06",
"created": "2018 Nov 11th"
},
{
"title": "I/'m so behind",
"slug": "im-so-behind",
"feature": "content/blog-images/2018/11/chi-raq.jpg",
"feature": "/assets/images/blog/2022/03/03.jpg",
"path": "2020/06",
"created": "2018 Nov 11th"
}
],
"featured_posts": [
{
"id": 6,
"uuid": "e322f21e-3317-4795-a7e8-a280c4611406",
"title": "Roberta MF Draper",
"feature": "/assets/images/blog/2020/06/bobbie-draper-the-expanse-1170x585.jpg",
"feature": "/src/themes/theme-rikc03/rikc03/assets/images/test/2018/05/nxt_08202016dg_2622.jpg",
"path": "2020/06",
"layout": "page",
"tags": "faves, damn, the expanse, sci-fi, frankie adams",
@ -74,7 +92,39 @@
"id": 4,
"uuid": "9051e9df-c723-42c6-bf77-59f5bb8caeac",
"title": "Michael MF Burnam",
"feature": "/assets/images/blog/2020/06/Sonequa-Martin-Green-as-Michael-Burnham-in-Star-Trek-Discovery-season-3.jpg",
"feature": "/src/themes/theme-rikc03/rikc03/assets/images/test/2018/05/13603447_1213326028679516_1212043235232357993_o.jpg",
"path": "2020/06",
"layout": "page",
"tags": "star trek discovery, sonequa martin-green, faves, damn, sci-fi, tv",
"author": "Are0h",
"deleted": false,
"menu": true,
"featured": true,
"published": true,
"slug": "michael-mf-burnam",
"content": "Yall acting like Michael won/'t give you those hands."
},
{
"id": 6,
"uuid": "e322f21e-3317-4795-a7e8-a280c4611406",
"title": "Roberta MF Draper",
"feature": "/assets/video/blog/2022/01/one.mp4",
"path": "2020/06",
"layout": "page",
"tags": "faves, damn, the expanse, sci-fi, frankie adams",
"author": "Are0h",
"deleted": false,
"menu": false,
"featured": true,
"published": true,
"slug": "roberta-mf-draper",
"content": "Even Amos doesn/'t want any smoke with Mars/' Finest. She will fuck your whole shit up. Bad. \r\n\r\nRENDER ON SAVE WORKS!\r\n"
},
{
"id": 4,
"uuid": "9051e9df-c723-42c6-bf77-59f5bb8caeac",
"title": "Michael MF Burnam",
"feature": "/src/themes/theme-rikc03/rikc03/assets/images/test/2018/05/13603447_1213326028679516_1212043235232357993_o.jpg",
"path": "2020/06",
"layout": "page",
"tags": "star trek discovery, sonequa martin-green, faves, damn, sci-fi, tv",

View file

@ -9,25 +9,48 @@
"default_avi": "/assets/images/global/default-avi.png",
"bucket": [{ "item": "one" }, { "item": "two" }, { "item": "three" }],
"tag_list": [
{ "title": "Swaggy Disgust", "slug": "swaggy-disgust", "path": "2020/06" }
{
"title": "Swaggy Disgust",
"slug": "swaggy-disgust",
"path": "2020/06",
"feature": "/src/themes/theme-rikc03/rikc03/assets/images/test/2018/05/PREACHER_S2_207_SP_03.jpg"
},
{
"title": "Swaggy Disgust 2",
"slug": "swaggy-disgust-2",
"path": "2020/06",
"feature": "/src/themes/theme-rikc03/rikc03/assets/images/test/2018/05/nxt_08202016dg_2622.jpg"
},
{
"title": "Swaggy Disgust",
"slug": "swaggy-disgust",
"path": "2020/06",
"feature": "/src/themes/theme-rikc03/rikc03/assets/images/test/2018/05/PREACHER_S2_207_SP_03.jpg"
},
{
"title": "Swaggy Disgust 2",
"slug": "swaggy-disgust-2",
"path": "2020/06",
"feature": "/src/themes/theme-rikc03/rikc03/assets/images/test/2018/05/nxt_08202016dg_2622.jpg"
}
],
"menu": [
{
"title": "This is the first page",
"title": "First",
"id": "3",
"slug": "page-one",
"uuid": "b60d6843-e957-43ac-8425-65145142236c",
"path": "2021/04"
},
{
"title": "This is the second page",
"title": "Second",
"id": "4",
"slug": "page-two",
"uuid": "b60d6843-e957-43ac-8425-65145142236d",
"path": "2021/04"
},
{
"title": "This is the second page",
"title": "Third",
"id": "5",
"slug": "page-three",
"uuid": "b60d6843-e957-43ac-8425-65145142236d",

View file

@ -7,7 +7,7 @@ class StartKit
public function __construct()
{
$settings = json_decode(file_get_contents("./package.json"), true);
$theme = $settings["config"]["current_theme"];
$theme = $settings["config"]["current_theme"];
new ThemeEngine(
"src/themes/theme-" . $theme,
"/src/themes/theme-" . $theme . "/" . $theme

View file

@ -10,22 +10,22 @@ class ThemeEngine
public function __construct(string $themePath, string $themeAssetPath)
{
$var = [];
$this->themePath = $themePath;
$var = [];
$this->themePath = $themePath;
$this->themeAssetPath = $themeAssetPath;
$path = explode('/', $themeAssetPath);
$this->themeFolder = $path[4];
$this->settings = json_decode(
$path = explode('/', $themeAssetPath);
$this->themeFolder = $path[4];
$this->settings = json_decode(
file_get_contents('./data/settings.json'),
true
);
$this->posts = json_decode(file_get_contents('./data/posts.json'), true);
$this->posts = json_decode(file_get_contents('./data/posts.json'), true);
$this->archives = json_decode(
file_get_contents('./data/archives.json'),
true
);
$this->loader = new \Twig\Loader\FilesystemLoader(
$themePath.'/'.$path[4]
$themePath . '/' . $path[4]
);
$this->twig = new \Twig\Environment($this->loader, []);
$this->router($_SERVER['REQUEST_URI']);
@ -34,19 +34,19 @@ class ThemeEngine
public function router(string $request)
{
$pageInfo = [
'keywords' => $this->settings['keywords'],
'description' => $this->settings['description'],
'image' => $this->themeAssetPath.'/assets/images/global/default-bg.jpg',
'keywords' => $this->settings['keywords'],
'description' => $this->settings['description'],
'image' => $this->themeAssetPath . '/assets/images/global/default-bg.jpg',
];
$featureList = explode(',', $this->posts['feature']);
$fileList = explode(',', $this->posts['files']);
$fileList = explode(',', $this->posts['files']);
$images = [];
$files = [];
$files = [];
foreach ($featureList as $file) {
$item = trim($file);
$ext = pathinfo($item, PATHINFO_EXTENSION);
$ext = pathinfo($item, PATHINFO_EXTENSION);
if ($item != null || $item != '') {
array_push($images, ['file' => $item, 'type' => trim($ext)]);
}
@ -54,7 +54,7 @@ class ThemeEngine
foreach ($fileList as $file) {
$item = trim($file);
$ext = pathinfo($item, PATHINFO_EXTENSION);
$ext = pathinfo($item, PATHINFO_EXTENSION);
if ($item != null || $item != '') {
array_push($files, ['file' => $item, 'type' => trim($ext)]);
}
@ -63,74 +63,70 @@ class ThemeEngine
$menu = $this->settings['menu'];
switch ($request) {
case '/':
$recent = $this->posts['recent_posts'];
$recent = $this->posts['recent_posts'];
$featured = $this->posts['featured_posts'];
$template = 'index.twig';
$content = $this->posts['index-content'];
$content = $this->posts['index-content-no-image'];
$pageOptions = [
'debug' => true, // for theme kit
'theme' => $this->themeFolder, // for theme kit
'title' => 'This is Fipamo',
'dynamicRender' => $this->settings['dynamicRender'],
'background' => $this->themeAssetPath.'/assets/images/global/default-bg.jpg',
'recent' => $recent,
'featured' => $featured,
'info' => $pageInfo,
'menu' => $menu,
'content' => $content,
'media' => $images,
'files' => $files,
'debug' => true, // for theme kit
'theme' => $this->themeFolder, // for theme kit
'title' => 'This is Fipamo',
'dynamicRender' => $this->settings['dynamicRender'],
'background' => $this->themeAssetPath . '/assets/images/global/default-bg.jpg',
'recent' => $recent,
'featured' => $featured,
'info' => $pageInfo,
'menu' => $menu,
'content' => $content,
'media' => $images,
'files' => $files,
];
break;
case '/page':
$content = $this->posts['content'];
$meta = $this->posts['meta'];
$template = $request.'.twig';
$content = $this->posts['content'];
$meta = $this->posts['meta'];
$template = $request . '.twig';
$pageOptions = [
'debug' => true, // for theme kit
'theme' => $this->themeFolder, // for theme kit
'title' => 'Page Title',
'dynamicRender' => $this->settings['dynamicRender'],
'background' => $this->themeAssetPath.'/assets/images/global/default-bg.jpg',
'content' => $content,
'meta' => $meta,
'info' => $pageInfo,
'menu' => $menu,
'media' => $images,
'files' => $files,
'debug' => true, // for theme kit
'theme' => $this->themeFolder, // for theme kit
'title' => 'Page Title',
'dynamicRender' => $this->settings['dynamicRender'],
'background' => $this->themeAssetPath . '/assets/images/global/default-bg.jpg',
'content' => $content,
'meta' => $meta,
'info' => $pageInfo,
'menu' => $menu,
'media' => $images,
'files' => $files,
];
break;
case '/tags':
$tags = $this->settings['tag_list'];
$template = 'tags.twig';
$tags = $this->settings['tag_list'];
$template = 'tags.twig';
$pageOptions = [
'debug' => true, // for theme kit
'theme' => $this->themeFolder, // for theme kit
'title' => 'Pages Tagged as Tag',
'dynamicRender' => $this->settings['dynamicRender'],
'background' => $this->themeAssetPath.'/assets/images/global/default-bg.jpg',
'tag_list' => $tags,
'info' => $pageInfo,
'menu' => $menu,
'media' => $images,
'files' => $files,
'debug' => true, // for theme kit
'theme' => $this->themeFolder, // for theme kit
'title' => 'Pages Tagged as Tag',
'dynamicRender' => $this->settings['dynamicRender'],
'background' => $this->themeAssetPath . '/assets/images/global/default-bg.jpg',
'tag_list' => $tags,
'info' => $pageInfo,
'menu' => $menu,
];
break;
case '/archive':
$archive = $this->archives;
$template = 'archive.twig';
$archive = $this->archives;
$template = 'archive.twig';
$pageOptions = [
'debug' => true, // for theme kit
'theme' => $this->themeFolder, // for theme kit
'title' => 'Archive',
'dynamicRender' => $this->settings['dynamicRender'],
'background' => $this->themeAssetPath.'/assets/images/global/default-bg.jpg',
'archives' => $archive['archives'],
'info' => $pageInfo,
'menu' => $menu,
'media' => $images,
'files' => $files,
'debug' => true, // for theme kit
'theme' => $this->themeFolder, // for theme kit
'title' => 'Archive',
'dynamicRender' => $this->settings['dynamicRender'],
'background' => $this->themeAssetPath . '/assets/images/global/default-bg.jpg',
'archives' => $archive['archives'],
'info' => $pageInfo,
'menu' => $menu,
];
break;
default:
@ -138,18 +134,18 @@ class ThemeEngine
// throw new \ErrorException($errstr, $errno, 0, $errfile, $errline);
$error = $errstr;
});
$template = 'error.twig';
$template = 'error.twig';
$pageOptions = [
'debug' => true, // for theme kit
'theme' => $this->themeFolder, // for theme kit
'title' => 'Uh oh',
'dynamicRender' => $this->settings['dynamicRender'],
'background' => $this->themeAssetPath.'/assets/images/global/default-bg.jpg',
'info' => $pageInfo,
'content' => "Uh Oh, so there's a problem.",
'menu' => $menu,
'media' => $images,
'files' => $files,
'debug' => true, // for theme kit
'theme' => $this->themeFolder, // for theme kit
'title' => 'Uh oh',
'dynamicRender' => $this->settings['dynamicRender'],
'background' => $this->themeAssetPath . '/assets/images/global/default-bg.jpg',
'info' => $pageInfo,
'content' => "Uh Oh, so there's a problem.",
'menu' => $menu,
'media' => $images,
'files' => $files,
];
break;

View file

@ -1,7 +1,7 @@
<?php
require "vendor/autoload.php";
require 'vendor/autoload.php';
use engine\StartKit as StartKit;
use engine\StartKit;
new StartKit();

View file

@ -1,45 +1,45 @@
{% extends "frame.twig" %}
{% block title %}
{{ title }}
{{ title }}
{% endblock %}
{% block mainContent %}
<section>
<div class="page-title">
<span>{{title}}</span>
</div>
</section>
<article>
<div class="page">
{% for item in archives %}
<div class="archive-item">
<span class="year">
{{item.year}}
</span>
{% for data in item.year_data %}
<div class="archive-month">
<span class="month">
{{data.full_month}}
</span>
{% for page in data.pages %}
{% if dynamicRender is defined %}
{% if dynamicRender == 'true' %}
<a href="{{ "/"~item.year~"/"~data.month~"/"~page.slug }}">{{page.title}}</a><br />
{% else %}
<a href="{{ "/"~item.year~"/"~data.month~"/"~page.slug~".html" }}">{{page.title}}</a><br />
{% endif %}
{% block mainContent %}
<section>
<div class="page-title">
<span>{{ title }}</span>
</div>
</section>
<article>
<div class="page">
{% for item in archives %}
<div class="archive-item">
<span class="year">
{{ item.year }}
</span>
{% for data in item.year_data %}
<div class="archive-month">
<span class="month">
{{ data.full_month }}
</span>
{% for page in data.pages %}
{% if dynamicRender is defined %}
{% if dynamicRender == 'true' %}
<a href="{{ "/"~item.year~"/"~data.month~"/"~page.slug }}">{{ page.title }}</a><br/>
{% else %}
<a href="{{ "/"~item.year~"/"~data.month~"/"~page.slug~".html" }}">{{ page.title }}</a><br/>
{% endif %}
{% else %}
<a href="{{ "/"~item.year~"/"~data.month~"/"~page.slug~".html" }}">{{page.title}}</a><br />
{% endif %}
{% endfor %}
</div>
{% else %}
<a href="{{ "/"~item.year~"/"~data.month~"/"~page.slug~".html" }}">{{ page.title }}</a><br/>
{% endif %}
{% endfor %}
</div>
{% endfor %}
</div>
{% endfor %}
{% endfor %}
</div>
{% endfor %}
</div>
</article>
{% endblock %}
</div>
</article>
{% endblock %}

View file

@ -1,59 +1,62 @@
{% extends "frame.twig" %}
{% block title %}
{{ title }}
{{ title }}
{% endblock %}
{% block mainContent %}
<section>
<div class="page-title">
<span>{{title}}</span>
</div>
</section>
<article>
<div class="page">
<p>{{content | raw}}</p>
<div>
<div class="page_files">
<div class="page_doc">
<strong>Files</strong><br/>
{% for doc in files %}
{% if doc.type != "mp3" %}
{% set path = doc.file|split('/') %}
<a href="{{doc.file}}">{{path[6]}}</a>
{% block mainContent %}
<section>
<div class="page-title">
<span>{{ title }}</span>
</div>
</section>
<article>
<div class="page">
<p>{{ content | raw }}</p>
<div>
<div class="page_files">
<div class="page_doc">
<strong>Files</strong><br/>
{% for doc in files %}
{% if doc.type != "mp3" %}
{% set path = doc.file|split('/') %}
<a href="{{ doc.file }}">{{ path[6] }}</a>
{% endif %}
{% endfor %}
</div>
<div class="page_sounds">
<strong>Sounds</strong><br/>
{% for doc in files %}
{% if doc.type == "mp3" %}
<audio controls>
<source src="{{doc.file}}" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
{% endif %}
{% endfor %}
</div>
{% endif %}
{% endfor %}
</div>
<div class="page_sounds">
<strong>Sounds</strong><br/>
{% for doc in files %}
{% if doc.type == "mp3" %}
<audio controls>
<source src="{{ doc.file }}" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
{% endif %}
{% endfor %}
</div>
</div>
<br/>
{{meta['who']}} dropped this {{ meta['when'] }}<br />
<strong>tags: </strong>
{% for tag in meta['tags'] %}
{% if dynamicRender is defined %}
{% if dynamicRender == 'true' %}
<a href="{{ "/tags/"~tag.slug }}">{{ tag.label }}</a>
{% else %}
<a href="{{ "/tags/"~tag.slug~".html" }}">{{ tag.label }}</a>
{% endif %}
{% else %}
<a href="{{ "/tags/"~tag.slug~".html" }}">{{ tag.label }}</a>
{% endif %}
{% endfor %}
</div>
<br/>
{{ meta['who'] }}
dropped this
{{ meta['when'] }}<br/>
<strong>tags:
</strong>
{% for tag in meta['tags'] %}
{% if dynamicRender is defined %}
{% if dynamicRender == 'true' %}
<a href="{{ "/tags/"~tag.slug }}">{{ tag.label }}</a>
{% else %}
<a href="{{ "/tags/"~tag.slug~".html" }}">{{ tag.label }}</a>
{% endif %}
{% else %}
<a href="{{ "/tags/"~tag.slug~".html" }}">{{ tag.label }}</a>
{% endif %}
{% endfor %}
</div>
</div>
</article>
{% endblock %}
</div>
</div>
</article>
{% endblock %}