Replaced Moment with Carbon #84
4
.gitignore
vendored
|
@ -48,8 +48,8 @@ public/assets/images/*
|
|||
content/*
|
||||
!content/themes
|
||||
content/themes/*
|
||||
!content/themes/fipamo-default
|
||||
!content/themes/fipamo-default/*
|
||||
!content/themes/fipamo-default-v2
|
||||
!content/themes/fipamo-default-v2/*
|
||||
|
||||
*.DS_Store
|
||||
*.codekit3
|
||||
|
|
114
app/Http/Controllers/Theming/ThemeController.php
Normal file
|
@ -0,0 +1,114 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Theming;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Interfaces\PageRepositoryInterface;
|
||||
use App\Services\AuthService;
|
||||
use App\Services\ThemeService;
|
||||
use App\Services\SortingService;
|
||||
|
||||
class ThemeController extends Controller
|
||||
{
|
||||
protected PageRepositoryInterface $pages;
|
||||
protected AuthService $auth;
|
||||
protected ThemeService $themes;
|
||||
protected SortingService $sort;
|
||||
|
||||
public function __construct(
|
||||
PageRepositoryInterface $pageRepository,
|
||||
AuthService $authService,
|
||||
ThemeService $themeService,
|
||||
SortingService $sortService,
|
||||
) {
|
||||
$this->pages = $pageRepository;
|
||||
$this->auth = $authService;
|
||||
$this->themes = $themeService;
|
||||
$this->sort = $sortService;
|
||||
$theme = $this->themes->getCurrentTheme();
|
||||
$themeTestImagePath = '../public/theme/images/global/';
|
||||
$themeTestCSSPath = '../public/theme/css/theme/';
|
||||
$themeTestScriptsPath = '../public/theme/scripts/theme/';
|
||||
//TODO: Create assset service class to handle moving theme assets around
|
||||
//move assets to public for testing
|
||||
foreach (
|
||||
new \DirectoryIterator('../content/themes/' . $theme . '/assets/images/global/') as $file
|
||||
) {
|
||||
if ($file->isDot()) {
|
||||
continue;
|
||||
}
|
||||
//make theme directory if not present
|
||||
if (!is_dir($themeTestImagePath)) {
|
||||
mkdir($themeTestImagePath, 0755, true);
|
||||
}
|
||||
|
||||
if (!is_file($themeTestImagePath . $file->getFileName())) {
|
||||
copy(
|
||||
'../content/themes/' .
|
||||
$theme .
|
||||
'/assets/images/global/' .
|
||||
$file->getFileName(),
|
||||
$themeTestImagePath . $file->getFileName()
|
||||
);
|
||||
} else {
|
||||
//image is already there, so chill
|
||||
}
|
||||
//print $file->getFilename() . "\n";
|
||||
}
|
||||
//clear test theme css and script directories
|
||||
$styles = glob($themeTestCSSPath . '*'); // get all file names
|
||||
foreach ($styles as $file) { // iterate files
|
||||
if (is_file($file)) {
|
||||
unlink($file); // delete file
|
||||
}
|
||||
}
|
||||
$scripts = glob($themeTestScriptsPath . '*'); // get all file names
|
||||
foreach ($scripts as $file) { // iterate files
|
||||
if (is_file($file)) {
|
||||
unlink($file); // delete file
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
//copy theme assets to public
|
||||
$newcss = glob('../content/themes/' . $theme . '/assets/css/*');
|
||||
if (!is_dir($themeTestCSSPath)) {
|
||||
mkdir($themeTestCSSPath, 0755, true);
|
||||
}
|
||||
foreach ($newcss as $file) { // iterate files
|
||||
if (is_file($file)) {
|
||||
$path = explode('/', $file);
|
||||
copy($file, $themeTestCSSPath . $path[6]);
|
||||
}
|
||||
}
|
||||
$newjs = glob('../content/themes/' . $theme . '/assets/scripts/*');
|
||||
if (!is_dir($themeTestScriptsPath)) {
|
||||
mkdir($themeTestScriptsPath, 0755, true);
|
||||
}
|
||||
foreach ($newjs as $file) { // iterate files
|
||||
if (is_file($file)) {
|
||||
$path = explode('/', $file);
|
||||
copy($file, $themeTestScriptsPath . $path[6]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function getView($view)
|
||||
{
|
||||
if ($this->auth::status()) {
|
||||
$page = $this->pages->getById('09E5A362-BA31-4AE2-9DEE-C93DFBE005C3')->first();
|
||||
$options = $this->sort->page($page);
|
||||
return view('fipamo-default-v2.base', [
|
||||
"debug" => "true",
|
||||
"theme" => 'fipamo-default-v2',
|
||||
"status" => $this->auth::status(),
|
||||
"title" => "THEME PAGE",
|
||||
"page" => $page,
|
||||
"info" => $options['info'],
|
||||
]);
|
||||
} else {
|
||||
return redirect('dashboard/start');
|
||||
}
|
||||
}
|
||||
}
|
|
@ -57,7 +57,14 @@ class FipamoServiceProvider extends ServiceProvider
|
|||
});
|
||||
|
||||
$this->app->bind(RenderService::class, function ($app) {
|
||||
return new RenderService();
|
||||
return new RenderService(
|
||||
new SortingService(
|
||||
new SettingsService(new DocService()),
|
||||
new ContentService(),
|
||||
new StringService(),
|
||||
),
|
||||
new SettingsService(new DocService())
|
||||
);
|
||||
});
|
||||
|
||||
$this->app->bind(SortingService::class, function ($app) {
|
||||
|
|
|
@ -4,7 +4,49 @@ namespace App\Services;
|
|||
|
||||
class RenderService
|
||||
{
|
||||
public function __construct()
|
||||
private $sort;
|
||||
private $settings;
|
||||
private $pageInfo;
|
||||
private $menu;
|
||||
private $background;
|
||||
|
||||
public function __construct(SortingService $sortingService, SettingsService $settingsService)
|
||||
{
|
||||
$this->sort = $sortingService;
|
||||
$this->settings = $settingsService;
|
||||
}
|
||||
|
||||
public function tag()
|
||||
{
|
||||
$list = $this->sort->tags();
|
||||
foreach ($list as $item) {
|
||||
$template = 'tags.twig';
|
||||
$pageOptions = [
|
||||
'title' => 'Pages Tagged as ' . $item['tag_name'],
|
||||
'background' => $this->pageInfo['image'],
|
||||
'tag_list' => $item['pages'],
|
||||
'info' => $this->pageInfo,
|
||||
'menu' => $this->menu,
|
||||
'media' => [['file' => $this->pageInfo['image'], 'type' => trim(pathinfo($this->pageInfo['image'], PATHINFO_EXTENSION))]],
|
||||
];
|
||||
|
||||
$html = $this->twig->render($template, $pageOptions);
|
||||
|
||||
$location = '../public/tags/' . $item['slug'] . '.html';
|
||||
|
||||
//if tags folder doesn't exist, make it
|
||||
if (!is_dir('../public/tags')) {
|
||||
mkdir('../public/tags', 0755, true);
|
||||
} else {
|
||||
}
|
||||
|
||||
if (!is_file($location)) {
|
||||
file_put_contents($location, $html);
|
||||
} else {
|
||||
($new = fopen($location, 'w')) or die('Unable to open file!');
|
||||
fwrite($new, $html);
|
||||
fclose($new);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -223,7 +223,7 @@ class SortingService
|
|||
'files' => $page['docs'],
|
||||
];
|
||||
}
|
||||
var_dump($pageOptions);
|
||||
//return $pageOptions;
|
||||
//var_dump($pageOptions);
|
||||
return $pageOptions;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,6 +19,11 @@ class ThemeService
|
|||
}
|
||||
}
|
||||
|
||||
public function getCurrentTheme()
|
||||
{
|
||||
return $this->settings->getGlobal()['theme'];
|
||||
}
|
||||
|
||||
public function getThemes()
|
||||
{
|
||||
return $this->themes;
|
||||
|
|
|
@ -15,6 +15,7 @@ return [
|
|||
|
||||
'paths' => [
|
||||
resource_path('views'),
|
||||
realpath(base_path('content/themes')),
|
||||
],
|
||||
|
||||
/*
|
||||
|
|
37
content/themes/fipamo-default-v2/archive.twig
Normal file
|
@ -0,0 +1,37 @@
|
|||
{% extends "frame.twig" %}
|
||||
|
||||
{% block title %}
|
||||
{{ title }}
|
||||
{% endblock %}
|
||||
|
||||
{% block mainContent %}
|
||||
<article>
|
||||
<h1>{{ title }}</h1>
|
||||
|
||||
<div role="archives">
|
||||
{% for item in archives %}
|
||||
<div role="archive-item">
|
||||
<h2>{{ item.year }}</h2>
|
||||
{% for data in item.year_data %}
|
||||
<div role="archive-month">
|
||||
<h3>{{ data.full_month }}</h3>
|
||||
{% 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>
|
||||
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</article>
|
||||
{% endblock %}
|
9
content/themes/fipamo-default-v2/assets/css/color.css
Normal file
|
@ -0,0 +1,9 @@
|
|||
/* BASE COLORS */
|
||||
:root {
|
||||
--primary: #1d3040;
|
||||
--secondary: #fc6399;
|
||||
--tertiary: #f5ab35;
|
||||
--highlight: #63fcc6ff;
|
||||
--white: #ebe5d4;
|
||||
--black: #32302f;
|
||||
}
|
202
content/themes/fipamo-default-v2/assets/css/frame.css
Normal file
|
@ -0,0 +1,202 @@
|
|||
html {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
font: 400 1.2em/1.4em var(--base-type);
|
||||
}
|
||||
|
||||
html body {
|
||||
background: var(--white);
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
perspective: 1px;
|
||||
transform-style: preserve-3d;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
overflow-y: scroll;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
/* GLOBALS */
|
||||
|
||||
a {
|
||||
color: var(--primary);
|
||||
text-decoration: none;
|
||||
border-bottom: 1px solid var(--secondary);
|
||||
transition: all 0.2s linear;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
border-bottom: 1px solid var(--highlight);
|
||||
}
|
||||
|
||||
sup {
|
||||
background: var(--black);
|
||||
color: var(--white);
|
||||
padding: 3px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
pre,
|
||||
code {
|
||||
background: var(--black);
|
||||
color: var(--highlight);
|
||||
border-radius: 3px;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
/* HEADER */
|
||||
|
||||
header {
|
||||
background: var(--primary);
|
||||
height: 90%;
|
||||
width: 100%;
|
||||
border-top: var(--white) 3px solid;
|
||||
}
|
||||
|
||||
/* HEADER -> Slideshow */
|
||||
|
||||
header > div[role="slide-show"] {
|
||||
width: 100%;
|
||||
height: 90%;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
header > div[role="slide-show"] > div[role="slide"] {
|
||||
transition: all 0.7s linear;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.hide {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.show {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
header > div[role="slide-show"] > div[role="slide"] > video {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
/* HEADER -> Navigation */
|
||||
|
||||
nav {
|
||||
width: 97%;
|
||||
margin: 10px auto;
|
||||
display: grid;
|
||||
grid-template-columns: 50% 50%;
|
||||
z-index: 1000;
|
||||
position: relative;
|
||||
color: var(--primary);
|
||||
}
|
||||
|
||||
nav img {
|
||||
width: 50px;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
nav div[role="nav-right"] {
|
||||
margin-left: auto;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
nav a[role="home-link"] {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
nav a[role="menu-link"] {
|
||||
background: var(--secondary);
|
||||
margin-bottom: 14px;
|
||||
padding: 3px;
|
||||
border-radius: 2px;
|
||||
display: inline-block;
|
||||
font-size: 0.8em;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
/* MAIN CONTENT */
|
||||
main {
|
||||
z-index: 2;
|
||||
background: var(--white);
|
||||
line-height: 30px;
|
||||
font-weight: lighter;
|
||||
width: 100%;
|
||||
color: var(--black);
|
||||
}
|
||||
|
||||
main > article {
|
||||
position: relative;
|
||||
background: var(--white);
|
||||
vertical-align: top;
|
||||
color: var(--black);
|
||||
padding: 0 15%;
|
||||
}
|
||||
|
||||
main > article > div[role="archives"] {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr 1fr;
|
||||
column-gap: 10px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
main article div[role="archives"] h1,
|
||||
main article div[role="archives"] h2,
|
||||
main article div[role="archives"] h3 {
|
||||
color: var(--primary);
|
||||
}
|
||||
|
||||
main > section {
|
||||
background: var(--primary);
|
||||
display: grid;
|
||||
grid-template-columns: 50% 50%;
|
||||
padding: 0 15%;
|
||||
max-width: 1000px;
|
||||
color: var(--secondary);
|
||||
}
|
||||
|
||||
main > section > div {
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
main > section[role="page-meta"] > div a {
|
||||
color: var(--white);
|
||||
}
|
||||
|
||||
/* FOOTER */
|
||||
footer {
|
||||
background: var(--highlight);
|
||||
padding: 30px 15%;
|
||||
color: var(--primary);
|
||||
}
|
||||
|
||||
/* RESPONSIVE */
|
||||
|
||||
@media only screen and (max-width: 640px) {
|
||||
main > article {
|
||||
padding: 0 10%;
|
||||
}
|
||||
|
||||
main > section {
|
||||
padding: 0 10%;
|
||||
}
|
||||
|
||||
footer {
|
||||
background: var(--highlight);
|
||||
padding: 30px 10%;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 480px) {
|
||||
main > section {
|
||||
display: inline-grid;
|
||||
grid-template-columns: 50%;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
3
content/themes/fipamo-default-v2/assets/css/start.css
Normal file
|
@ -0,0 +1,3 @@
|
|||
@import url("color.css");
|
||||
@import url("typography.css");
|
||||
@import url("frame.css");
|
29
content/themes/fipamo-default-v2/assets/css/typography.css
Normal file
|
@ -0,0 +1,29 @@
|
|||
:root {
|
||||
--base-type: helvetica, arial, sans-serif;
|
||||
--mono-type: "Lucida Console", monaco, monospace;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3 {
|
||||
color: var(--white);
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 2em;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 1.8em;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.5em;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
main > article > h1 {
|
||||
color: var(--primary);
|
||||
}
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 1 MiB After Width: | Height: | Size: 1 MiB |
Before Width: | Height: | Size: 202 KiB After Width: | Height: | Size: 202 KiB |
|
@ -0,0 +1,33 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 462 462" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g transform="matrix(1.58717,0,0,1.58717,-403.964,-376.506)">
|
||||
<g transform="matrix(1,0,0,1,200.753,94.1743)">
|
||||
<circle cx="92.268" cy="181.547" r="38.502" style="fill:rgb(252,99,153);"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,200.753,201.192)">
|
||||
<circle cx="92.268" cy="181.547" r="38.502" style="fill:rgb(252,99,153);"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,307.732,201.192)">
|
||||
<circle cx="92.268" cy="181.547" r="38.502" style="fill:rgb(252,99,153);"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,414.761,201.192)">
|
||||
<circle cx="92.268" cy="181.547" r="38.502" style="fill:rgb(171,183,183);"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,200.753,308.228)">
|
||||
<circle cx="92.268" cy="181.547" r="38.502" style="fill:rgb(252,99,153);"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,307.732,308.228)">
|
||||
<circle cx="92.268" cy="181.547" r="38.502" style="fill:rgb(171,183,183);"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,414.761,308.228)">
|
||||
<circle cx="92.268" cy="181.547" r="38.502" style="fill:rgb(171,183,183);"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,414.761,94.1743)">
|
||||
<circle cx="92.268" cy="181.547" r="38.502" style="fill:rgb(252,99,153);"/>
|
||||
</g>
|
||||
<g transform="matrix(6.12323e-17,1,-1,6.12323e-17,581.547,183.453)">
|
||||
<circle cx="92.268" cy="181.547" r="38.502" style="fill:rgb(252,99,153);"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
27
content/themes/fipamo-default-v2/assets/scripts/Base.js
Normal file
|
@ -0,0 +1,27 @@
|
|||
export default class Base {
|
||||
//--------------------------
|
||||
// constructor
|
||||
//--------------------------
|
||||
constructor() {
|
||||
this.currentSlide = 0;
|
||||
this.slides = document.querySelectorAll('[role="slide"]');
|
||||
//alert('FRESH');
|
||||
this.start();
|
||||
}
|
||||
start() {
|
||||
if (this.slides.length > 1) {
|
||||
this.slideInterval = setInterval(() => {
|
||||
this.slides[this.currentSlide].className = 'hide';
|
||||
this.currentSlide = (this.currentSlide + 1) % this.slides.length;
|
||||
this.slides[this.currentSlide].className = 'show';
|
||||
}, 3000);
|
||||
}
|
||||
}
|
||||
//--------------------------
|
||||
// methods
|
||||
//--------------------------
|
||||
|
||||
//--------------------------
|
||||
// event handlers
|
||||
//--------------------------
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
import Base from "./Base.js";
|
||||
|
||||
document.addEventListener(
|
||||
"DOMContentLoaded",
|
||||
function () {
|
||||
var base = new Base();
|
||||
},
|
||||
false
|
||||
);
|
103
content/themes/fipamo-default-v2/base.blade.php
Normal file
|
@ -0,0 +1,103 @@
|
|||
<!DOCTYPE html>
|
||||
@php
|
||||
if(isset($debug))
|
||||
{
|
||||
$assetPath = '/theme/';
|
||||
}else{
|
||||
$assetPath = '/assets/';
|
||||
}
|
||||
@endphp
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>
|
||||
@yield('title')
|
||||
</title>
|
||||
<meta charset="UTF-8"/>
|
||||
<meta name='viewport' content='width=device-width, initial-scale=1.0'/>
|
||||
<meta name="keywords" content="{{ $info['keywords'] }}"/>
|
||||
<meta name="description" content="{{$info['description']}} "/>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
|
||||
<meta property="og:image" content="{{$info["image"]}}"/>
|
||||
<meta name="twitter:image" content="{{$info["image"]}}"/>
|
||||
<link rel="stylesheet" type="text/css" href="{{ $assetPath."css/theme/start.css" }}">
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<div role="slide-show">
|
||||
@if(count($page['media'])>1)
|
||||
@foreach($page['media'] as $item)
|
||||
@if($item['type'] == "mp4")
|
||||
<div id="{{$loop->index}}" role="slide">
|
||||
<video controls autoplay muted>
|
||||
|
||||
<source src="{{$item['file']}}" type="video/mp4">
|
||||
|
||||
Please get a better browser. They're free.
|
||||
</video>
|
||||
</div>
|
||||
@else
|
||||
<div id="{{$loop->index}}"role='slide' class="slide hide" style="background: url({{ $item['file'] }}) no-repeat center center / cover"></div>
|
||||
@endif
|
||||
@endforeach
|
||||
@else
|
||||
@if($page['media'] != '')
|
||||
@if($page['media']['type'] == "mp4")
|
||||
<div id="0" role="slide">
|
||||
<video controls autoplay muted>
|
||||
|
||||
<source src="{{$page['media'][0]['file']}}" type="video/mp4">
|
||||
|
||||
Please get a better browser. They're free.
|
||||
</video>
|
||||
</div>
|
||||
@else
|
||||
<div id="0" role="slide" style="background: url({{ $page['media'][0]['file'] }}) no-repeat center center / cover"></div>
|
||||
@endif
|
||||
@endif
|
||||
@endif
|
||||
</div>
|
||||
<nav>
|
||||
<div class="left">
|
||||
<a href="/" class="logo-link">
|
||||
<img id="logo" src="{{ $assetPath."/images/global/the-logo.svg" }}"/>
|
||||
</a>
|
||||
</div>
|
||||
<div class="right">
|
||||
@if(isset($menu))
|
||||
@foreach($media as $link)
|
||||
@if(isset($dynamicRender))
|
||||
@if($dynamicRender == 'true')
|
||||
<a href="{{"/".$link['slug']}}" class="menu-link">{{link['title']}}</a><br/>
|
||||
@else
|
||||
<a href="{{"/".$link['slug'].".html"}}" class="menu-link">{{link['link']}}</a><br/>
|
||||
@endif
|
||||
@else
|
||||
<a href="{{"/".$link['slug'].".html"}}" class="menu-link">{{link['tilte']}}</a><br/>
|
||||
@endif
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
<div id="main-content" class="container">
|
||||
CONTAINTER BOY BOY
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
<div class="inner">
|
||||
@if(isset($dynamicRender))
|
||||
@if($dynamicRender == 'true')
|
||||
<a href="/archives">Archives</a><br/>
|
||||
@else
|
||||
<a href="/archives.html">Archives</a><br/>
|
||||
@endif
|
||||
@else
|
||||
<a href="/archives.html">Archives</a><br/>
|
||||
@endif
|
||||
© 2020 By Fipamo
|
||||
</div>
|
||||
</footer>
|
||||
<script src="{{ $assetPath."scripts/theme/ThemeStart.js" }}" type="module"></script>
|
||||
</body>
|
||||
</html>
|
110
content/themes/fipamo-default-v2/frame.twig
Normal file
|
@ -0,0 +1,110 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
{% if debug is defined %}
|
||||
{% set assetPath = theme~'/assets/' %}
|
||||
{% else %}
|
||||
{% set assetPath = '/assets/' %}
|
||||
{% endif %}
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>
|
||||
{% block title %}
|
||||
{{ title }}
|
||||
{% endblock %}
|
||||
</title>
|
||||
<meta charset="UTF-8"/>
|
||||
<meta name="theme-color" content="#fc6399"/>
|
||||
<meta name='viewport' content='width=device-width, initial-scale=1.0'/>
|
||||
<meta name="keywords" content="{{ info['keywords'] }}"/>
|
||||
<meta name="description" content="{{ info['description'] }} "/>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
|
||||
<meta property="og:image" content="{{ info["image"] }}"/>
|
||||
<meta name="twitter:image" content="{{ info["image"] }}"/>
|
||||
<link rel="stylesheet" type="text/css" href="{{ assetPath~"css/start.css?=ffgfg" }}">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<header>
|
||||
<div role="slide-show">
|
||||
{% if media|length > 1 %}
|
||||
{% for item in media %}
|
||||
{% if item.type == "mp4" %}
|
||||
<div id="{{ loop.index0 }}" role="slide">
|
||||
<video controls autoplay muted>
|
||||
|
||||
<source src="{{ item.file }}" type="video/mp4">
|
||||
|
||||
Please get a better browser. They're free.
|
||||
</video>
|
||||
</div>
|
||||
{% else %}
|
||||
<div id="{{ loop.index0 }}" role="slide" class="hide" style="background: url({{ item.file }}) no-repeat center center / cover"></div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
{% if media[0] != '' %}
|
||||
{% if media[0].type == "mp4" %}
|
||||
<div id="0" role="slide">
|
||||
<video controls autoplay muted>
|
||||
|
||||
<source src="{{ media[0].file }}" type="video/mp4">
|
||||
|
||||
Please get a better browser. They're free.
|
||||
</video>
|
||||
</div>
|
||||
{% else %}
|
||||
<div id="0" role="slide" style="background: url({{ media[0].file }}) no-repeat center center / cover"></div>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
<nav>
|
||||
{% apply spaceless %}
|
||||
<div role="nav-left">
|
||||
<a href="/" role="home-link">
|
||||
<img id="logo" src="{{ assetPath~"/images/global/the-logo.svg" }}"/>
|
||||
</a>
|
||||
</div>
|
||||
<div role="nav-right">
|
||||
{% if menu is defined %}
|
||||
{% for link in menu %}
|
||||
{% if dynamicRender is defined %}
|
||||
{% if dynamicRender == 'true' %}
|
||||
<a href="{{ "/"~link.slug }}" role="menu-link">{{ link.title }}</a><br/>
|
||||
{% else %}
|
||||
<a href="{{ "/"~link.slug~".html" }}" role="menu-link">{{ link.title }}</a><br/>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<a href="{{ "/"~link.slug~".html" }}" role="menu-link">{{ link.title }}</a><br/>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endapply %}
|
||||
</nav>
|
||||
</header>
|
||||
<main>
|
||||
{% apply spaceless %}
|
||||
{% block mainContent %}{% endblock %}
|
||||
{% endapply %}
|
||||
</main>
|
||||
|
||||
<footer>
|
||||
<div class="inner">
|
||||
{% if dynamicRender is defined %}
|
||||
{% if dynamicRender == 'true' %}
|
||||
<a href="/archives">Archives</a><br/>
|
||||
{% else %}
|
||||
<a href="/archives.html">Archives</a><br/>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<a href="/archives.html">Archives</a><br/>
|
||||
{% endif %}
|
||||
© 2022 Fipamo
|
||||
</div>
|
||||
</footer>
|
||||
<script src="{{ assetPath~"scripts/ThemeStart.js" }}" type="module"></script>
|
||||
</body>
|
||||
</html>
|
57
content/themes/fipamo-default-v2/index.twig
Normal file
|
@ -0,0 +1,57 @@
|
|||
{% extends "frame.twig" %}
|
||||
|
||||
{% block title %}
|
||||
{{ title }}
|
||||
{% endblock %}
|
||||
|
||||
{% block mainContent %}
|
||||
<article>
|
||||
<h1>{{ title }}</h1>
|
||||
<p>{{ content | raw }}</p>
|
||||
</article>
|
||||
<section role="page-meta">
|
||||
<div>
|
||||
<h2>RECENT</h2>
|
||||
{% for item in recent %}
|
||||
{% if dynamicRender is defined %}
|
||||
{% if dynamicRender == 'true' %}
|
||||
<a href="{{ "/"~item.path~"/"~item.slug }}">
|
||||
{{ item.title }}
|
||||
</a><br/>
|
||||
{% else %}
|
||||
<a href="{{ "/"~item.path~"/"~item.slug~".html" }}">
|
||||
{{ item.title }}
|
||||
</a><br/>
|
||||
{% endif %}
|
||||
|
||||
{% else %}
|
||||
<a href="{{ "/"~item.path~"/"~item.slug~".html" }}">
|
||||
{{ item.title }}
|
||||
</a><br/>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<h2>FEATURED</h2>
|
||||
{% for item in featured %}
|
||||
{% if dynamicRender is defined %}
|
||||
{% if dynamicRender == 'true' %}
|
||||
<a href="{{ "/"~item.path~"/"~item.slug }}">
|
||||
{{ item.title }}
|
||||
</a><br/>
|
||||
{% else %}
|
||||
<a href="{{ "/"~item.path~"/"~item.slug~".html" }}">
|
||||
{{ item.title }}
|
||||
</a><br/>
|
||||
{% endif %}
|
||||
|
||||
{% else %}
|
||||
<a href="{{ "/"~item.path~"/"~item.slug~".html" }}">
|
||||
{{ item.title }}
|
||||
</a><br/>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</section>
|
||||
{% endblock %}
|
57
content/themes/fipamo-default-v2/page.twig
Normal file
|
@ -0,0 +1,57 @@
|
|||
{% extends "frame.twig" %}
|
||||
|
||||
{% block title %}
|
||||
{{ title }}
|
||||
{% endblock %}
|
||||
|
||||
{% block mainContent %}
|
||||
<article>
|
||||
<h1>{{ title }}</h1>
|
||||
<p>{{ content | raw }}</p>
|
||||
</article>
|
||||
<section role="page-meta">
|
||||
<div>
|
||||
<h2>Files</h2>
|
||||
{% for doc in files %}
|
||||
{% if doc.type != "mp3" %}
|
||||
{% set path = doc.file|split('/') %}
|
||||
<a href="{{ doc.file }}">{{ path[6] }}</a>
|
||||
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div>
|
||||
<h2>Sounds</h2>
|
||||
{% 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>
|
||||
<h2>Info</h2>
|
||||
{{ meta['who'] }}
|
||||
dropped this
|
||||
{{ meta['when'] }}<br/>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<h2>Tags</h2>
|
||||
{% 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>
|
||||
</section>
|
||||
|
||||
{% endblock %}
|
23
content/themes/fipamo-default-v2/tags.twig
Normal file
|
@ -0,0 +1,23 @@
|
|||
{% extends "frame.twig" %}
|
||||
|
||||
{% block title %}
|
||||
{{ title }}
|
||||
{% endblock %}
|
||||
|
||||
{% block mainContent %}
|
||||
<article>
|
||||
<h1>{{ title }}</h1>
|
||||
{% for tag in tag_list %}
|
||||
{% if dynamicRender is defined %}
|
||||
{% if dynamicRender == 'true' %}
|
||||
<a href="{{ "/"~tag.path~"/"~tag.slug }}">{{ tag.title }}</a><br/>
|
||||
{% else %}
|
||||
<a href="{{ "/"~tag.path~"/"~tag.slug~".html" }}">{{ tag.title }}</a><br/>
|
||||
{% endif %}
|
||||
|
||||
{% else %}
|
||||
<a href="{{ "/"~tag.path~"/"~tag.slug~".html" }}">{{ tag.title }}</a><br/>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</article>
|
||||
{% endblock %}
|
|
@ -1,45 +0,0 @@
|
|||
{% extends "frame.twig" %}
|
||||
|
||||
{% block 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 %}
|
||||
|
||||
{% else %}
|
||||
<a href="{{ "/"~item.year~"/"~data.month~"/"~page.slug~".html" }}">{{page.title}}</a><br />
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
</article>
|
||||
{% endblock %}
|
|
@ -1,600 +0,0 @@
|
|||
h1, h2, h3 {
|
||||
color: #ebe5d4;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 2em;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 1.75em;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.5em;
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
html {
|
||||
line-height: 1.15;
|
||||
-ms-text-size-adjust: 100%;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
article,
|
||||
aside,
|
||||
footer,
|
||||
header,
|
||||
nav,
|
||||
section {
|
||||
display: block;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 2em;
|
||||
margin: 0.67em 0;
|
||||
line-height: 1em;
|
||||
}
|
||||
|
||||
figcaption,
|
||||
figure,
|
||||
main {
|
||||
display: block;
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 1em 40px;
|
||||
}
|
||||
|
||||
hr {
|
||||
box-sizing: content-box;
|
||||
height: 0;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
pre {
|
||||
font-family: monospace, monospace;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
a {
|
||||
background-color: transparent;
|
||||
-webkit-text-decoration-skip: objects;
|
||||
}
|
||||
|
||||
a:active,
|
||||
a:hover {
|
||||
outline-width: 0;
|
||||
}
|
||||
|
||||
abbr[title] {
|
||||
border-bottom: none;
|
||||
text-decoration: underline;
|
||||
text-decoration: underline dotted;
|
||||
}
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: inherit;
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
kbd,
|
||||
samp {
|
||||
font-family: monospace, monospace;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
dfn {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
mark {
|
||||
background-color: #ff0;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
small {
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
sub,
|
||||
sup {
|
||||
font-size: 60%;
|
||||
line-height: 0;
|
||||
position: relative;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -0.25em;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -0.55em;
|
||||
background: #151d26;
|
||||
color: #151d26;
|
||||
border-radius: 2px;
|
||||
padding: 0 2px 0 2px;
|
||||
margin: 0 2px 0 0;
|
||||
}
|
||||
|
||||
audio,
|
||||
video {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
audio:not([controls]) {
|
||||
display: none;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
img {
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
svg:not(:root) {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
button,
|
||||
input,
|
||||
optgroup,
|
||||
select,
|
||||
textarea {
|
||||
font-family: sans-serif;
|
||||
font-size: 100%;
|
||||
line-height: 1.15;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
button,
|
||||
input {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
button,
|
||||
select {
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
button, html [type=button],
|
||||
[type=reset],
|
||||
[type=submit] {
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
|
||||
[type=button]::-moz-focus-inner,
|
||||
[type=reset]::-moz-focus-inner,
|
||||
[type=submit]::-moz-focus-inner,
|
||||
button::-moz-focus-inner {
|
||||
border-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
[type=button]:-moz-focusring,
|
||||
[type=reset]:-moz-focusring,
|
||||
[type=submit]:-moz-focusring,
|
||||
button:-moz-focusring {
|
||||
outline: 1px dotted ButtonText;
|
||||
}
|
||||
|
||||
fieldset {
|
||||
border: 1px solid #c0c0c0;
|
||||
margin: 0 2px;
|
||||
padding: 0.35em 0.625em 0.75em;
|
||||
}
|
||||
|
||||
legend {
|
||||
box-sizing: border-box;
|
||||
color: inherit;
|
||||
display: table;
|
||||
max-width: 100%;
|
||||
padding: 0;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
progress {
|
||||
display: inline-block;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
textarea {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
[type=checkbox],
|
||||
[type=radio] {
|
||||
box-sizing: border-box;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
[type=number]::-webkit-inner-spin-button,
|
||||
[type=number]::-webkit-outer-spin-button {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
[type=search] {
|
||||
-webkit-appearance: textfield;
|
||||
outline-offset: -2px;
|
||||
}
|
||||
|
||||
[type=search]::-webkit-search-cancel-button,
|
||||
[type=search]::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
::-webkit-file-upload-button {
|
||||
-webkit-appearance: button;
|
||||
font: inherit;
|
||||
}
|
||||
|
||||
details,
|
||||
menu {
|
||||
display: block;
|
||||
}
|
||||
|
||||
summary {
|
||||
display: list-item;
|
||||
}
|
||||
|
||||
canvas {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
template {
|
||||
display: none;
|
||||
}
|
||||
|
||||
[hidden] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
form {
|
||||
display: inline-block;
|
||||
}
|
||||
form a {
|
||||
color: #151d26;
|
||||
}
|
||||
form p {
|
||||
background: #e8c33e;
|
||||
color: #151d26;
|
||||
padding: 5px;
|
||||
display: block;
|
||||
border-radius: 5px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
input[type=email], input[type=password], input[type=text] {
|
||||
border: 0;
|
||||
border-radius: 5px;
|
||||
padding: 5px;
|
||||
margin: 10px 5px 0 0;
|
||||
font: 18px Helvetica, Arial, sans-serif;
|
||||
display: inline-block;
|
||||
background: #151d26;
|
||||
color: #e8c33e;
|
||||
}
|
||||
|
||||
textarea {
|
||||
border: 0;
|
||||
border-radius: 3px;
|
||||
color: #ebe5d4;
|
||||
font: 15px Helvetica, Arial, sans-serif;
|
||||
background: #151d26;
|
||||
}
|
||||
|
||||
button, input[type=submit] {
|
||||
background: #7ED07E;
|
||||
color: #151d26;
|
||||
font: 20px Helvetica, Arial, sans-serif;
|
||||
border-radius: 5px;
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
border: 0;
|
||||
padding: 10px 0 5px 0;
|
||||
transition: all 0.3s linear;
|
||||
}
|
||||
|
||||
select {
|
||||
font: 14px Helvetica, Arial, sans-serif;
|
||||
border: 1px solid #FC6399;
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
appearance: none;
|
||||
color: #151d26;
|
||||
}
|
||||
|
||||
::-webkit-input-placeholder {
|
||||
font: 25px Helvetica, Arial, sans-serif;
|
||||
color: #ebe5d4;
|
||||
}
|
||||
|
||||
:-moz-placeholder {
|
||||
/* Firefox 18- */
|
||||
font: 25px Helvetica, Arial, sans-serif;
|
||||
color: #ebe5d4;
|
||||
}
|
||||
|
||||
::-moz-placeholder {
|
||||
/* Firefox 19+ */
|
||||
font: 15px Helvetica, Arial, sans-serif;
|
||||
color: #ebe5d4;
|
||||
}
|
||||
|
||||
:-ms-input-placeholder {
|
||||
font: 25px Helvetica, Arial, sans-serif;
|
||||
color: #ebe5d4;
|
||||
}
|
||||
|
||||
html {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
font: 400 1.2em/1.4em Helvetica, Arial, sans-serif;
|
||||
}
|
||||
html body {
|
||||
background: #ebe5d4;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
perspective: 1px;
|
||||
transform-style: preserve-3d;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
overflow-y: scroll;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
html body a {
|
||||
color: #151d26;
|
||||
text-decoration: none;
|
||||
border-bottom: 1px solid #7ED07E;
|
||||
}
|
||||
html body a:hover {
|
||||
border-bottom: 1px solid #FC6399;
|
||||
}
|
||||
html body code {
|
||||
background: #32302f;
|
||||
color: #7ED07E;
|
||||
border-radius: 3px;
|
||||
padding: 3px;
|
||||
}
|
||||
html body pre {
|
||||
background: #32302f;
|
||||
color: #7ED07E;
|
||||
border-radius: 3px;
|
||||
padding: 3px;
|
||||
}
|
||||
html body code {
|
||||
color: #FC6399;
|
||||
background: none;
|
||||
}
|
||||
html body svg.icons {
|
||||
width: 25px;
|
||||
fill: #ebe5d4;
|
||||
}
|
||||
html body header {
|
||||
background: #151d26;
|
||||
height: 90%;
|
||||
width: 100%;
|
||||
border-top: #ebe5d4 3px solid;
|
||||
}
|
||||
html body header #media {
|
||||
width: 100%;
|
||||
height: 90%;
|
||||
position: absolute;
|
||||
}
|
||||
html body header #media .slide {
|
||||
transition: all 0.7s linear;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
}
|
||||
html body header #media .hide {
|
||||
opacity: 0;
|
||||
}
|
||||
html body header #media .show {
|
||||
opacity: 1;
|
||||
}
|
||||
html body header #media video {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
html body header nav {
|
||||
width: 97%;
|
||||
margin: 10px auto;
|
||||
z-index: 1000;
|
||||
position: relative;
|
||||
color: #151d26;
|
||||
}
|
||||
html body header nav .left, html body header nav .right {
|
||||
width: 50%;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
}
|
||||
html body header nav .left a.logo-link {
|
||||
border-bottom: none;
|
||||
margin: 0 0 20px 0;
|
||||
display: block;
|
||||
}
|
||||
html body header nav .left a.logo-link #logo {
|
||||
width: 50px;
|
||||
border-bottom: none;
|
||||
}
|
||||
html body header nav .right {
|
||||
text-align: right;
|
||||
}
|
||||
html body header nav .right a.menu-link {
|
||||
background: #FC6399;
|
||||
margin-bottom: 4px;
|
||||
padding: 3px;
|
||||
border-radius: 2px;
|
||||
display: inline-block;
|
||||
font-size: 0.8em;
|
||||
border-bottom: none;
|
||||
}
|
||||
html body header nav .right a.menu-link:hover {
|
||||
background: #FC6399;
|
||||
}
|
||||
html body .container {
|
||||
z-index: 2;
|
||||
background: #ebe5d4;
|
||||
line-height: 30px;
|
||||
font-weight: lighter;
|
||||
width: 100%;
|
||||
color: #32302f;
|
||||
}
|
||||
html body .container article {
|
||||
position: relative;
|
||||
width: 80%;
|
||||
height: 80%;
|
||||
max-width: 840px;
|
||||
background: #ebe5d4;
|
||||
vertical-align: top;
|
||||
color: #32302f;
|
||||
margin: 0 auto;
|
||||
}
|
||||
html body .container article .index, html body .container article .page {
|
||||
padding: 0 0 15px 0;
|
||||
}
|
||||
html body .container article .index img, html body .container article .page img {
|
||||
display: block;
|
||||
width: 100%;
|
||||
}
|
||||
html body .container article .index h1, html body .container article .index h2, html body .container article .page h1, html body .container article .page h2 {
|
||||
color: #151d26;
|
||||
}
|
||||
html body .container article .index p, html body .container article .page p {
|
||||
font: 300 1.25em/1.6em Helvetica, Arial, sans-serif;
|
||||
}
|
||||
html body .container article .index .page_files .page_doc a, html body .container article .page .page_files .page_doc a {
|
||||
background: #32302f;
|
||||
border-radius: 3px;
|
||||
color: #ebe5d4;
|
||||
padding: 3px;
|
||||
margin: 0 5px 0 0;
|
||||
}
|
||||
html body .container article .index .meta, html body .container article .page .meta {
|
||||
font: 500 0.8em/1.3em Helvetica, Arial, sans-serif;
|
||||
padding: 5px 0 0 0;
|
||||
border-top: 1px solid #151d26;
|
||||
background: #ebe5d4;
|
||||
}
|
||||
html body .container article .index .meta a, html body .container article .page .meta a {
|
||||
font-size: 0.8em;
|
||||
font-weight: 400;
|
||||
}
|
||||
html body .container article .index .archive-item, html body .container article .page .archive-item {
|
||||
padding: 15px 0 20px 0;
|
||||
}
|
||||
html body .container article .index .archive-item span.year, html body .container article .page .archive-item span.year {
|
||||
font-size: 1.5em;
|
||||
font-weight: 500;
|
||||
padding: 5px;
|
||||
display: block;
|
||||
color: #151d26;
|
||||
}
|
||||
html body .container article .index .archive-item .archive-month, html body .container article .page .archive-item .archive-month {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
width: 30%;
|
||||
padding: 5px;
|
||||
}
|
||||
html body .container article .index .archive-item .archive-month span.month, html body .container article .page .archive-item .archive-month span.month {
|
||||
color: #FC6399;
|
||||
font-size: 1.5em;
|
||||
font-weight: 300;
|
||||
padding: 5px;
|
||||
display: block;
|
||||
}
|
||||
html body .container section {
|
||||
padding: 0 0 20px 0;
|
||||
background: #151d26;
|
||||
}
|
||||
html body .container section a {
|
||||
color: #ebe5d4;
|
||||
}
|
||||
html body .container section .index-lists, html body .container section .page-title {
|
||||
max-width: 840px;
|
||||
width: 80%;
|
||||
margin: 0 auto;
|
||||
padding: 20px 0 0 0;
|
||||
}
|
||||
html body .container section .index-lists span, html body .container section .page-title span {
|
||||
font-size: 2em;
|
||||
color: #FC6399;
|
||||
font-weight: 400;
|
||||
width: 80%;
|
||||
margin: 0 auto;
|
||||
padding: 20px 0 0 0;
|
||||
}
|
||||
html body .container section .index-lists .recent, html body .container section .index-lists .featured, html body .container section .page-title .recent, html body .container section .page-title .featured {
|
||||
display: inline-block;
|
||||
width: 50%;
|
||||
vertical-align: top;
|
||||
}
|
||||
html body .container section .index-lists label, html body .container section .page-title label {
|
||||
background: #32302f;
|
||||
color: #ebe5d4;
|
||||
font-size: 1.5em;
|
||||
line-height: 1.3;
|
||||
}
|
||||
html body footer {
|
||||
background: #ebe5d4;
|
||||
padding: 10px;
|
||||
color: #151d26;
|
||||
font-size: 0.8em;
|
||||
font-weight: 600;
|
||||
height: 100px;
|
||||
}
|
||||
html body footer .inner {
|
||||
margin: 20px auto;
|
||||
width: 80%;
|
||||
max-width: 840px;
|
||||
}
|
||||
html body footer .inner a {
|
||||
color: #FC6399;
|
||||
}
|
||||
html body header nav {
|
||||
width: 98%;
|
||||
}
|
||||
html body header span {
|
||||
font-size: 2.5em;
|
||||
}
|
||||
html body header .container article .index .archive-item .archive-month, html body header .container article .page .archive-item .archive-month {
|
||||
width: 45%;
|
||||
}
|
||||
html body header nav {
|
||||
width: 96%;
|
||||
}
|
||||
html body header .container article .index, html body header .container article .page {
|
||||
margin: 0;
|
||||
}
|
||||
html body header .container article .index p, html body header .container article .page p {
|
||||
font: 300 1em/1.6em Helvetica, Arial, sans-serif;
|
||||
}
|
||||
html body header .container section .index-lists .recent, html body header .container section .index-lists .featured {
|
||||
width: 100% !important;
|
||||
}
|
||||
html body header nav {
|
||||
width: 95%;
|
||||
}
|
||||
html body .container article .index, html body .container article .page {
|
||||
margin: 0;
|
||||
}
|
||||
html body .container article .index p, html body .container article .page p {
|
||||
font: 300 0.9em/1.7em Helvetica, Arial, sans-serif;
|
||||
}
|
||||
html body .container article .index .archive-item .archive-month, html body .container article .page .archive-item .archive-month {
|
||||
width: 95%;
|
||||
}
|
||||
|
||||
/*# sourceMappingURL=base.css.map */
|
|
@ -1 +0,0 @@
|
|||
{"version":3,"sourceRoot":"","sources":["../../../styles/_typography.sass","../../../styles/_normalize.sass","../../../styles/_colors.sass","../../../styles/_forms.sass","../../../styles/_structure.sass"],"names":[],"mappings":"AAGA;EACI;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;EACA;;;AChBJ;EACI;EACA;EACA;;;AAEJ;EACI;;;AAEJ;AAAA;AAAA;AAAA;AAAA;AAAA;EAMI;;;AAEJ;EACI;EACA;EACA;;;AAEJ;AAAA;AAAA;EAGI;;;AAEJ;EACI;;;AAEJ;EACI;EACA;EACA;;;AAEJ;EACI;EACA;;;AACJ;EACI;EACA;;;AAEJ;AAAA;EAEI;;;AAEJ;EACI;EACA;EACA;;;AAEJ;AAAA;EAEI;EACA;;;AAGJ;AAAA;EAEI;EACA;;;AAEJ;EACI;;;AAEJ;EACI;EACA;;;AAEJ;EACI;;;AAEJ;AAAA;EAEI;EACA;EACA;EACA;;;AAEJ;EACI;;;AAEJ;EACI;EACA,YCnFM;EDoFN,OCpFM;EDqFN;EACA;EACA;;;AAEJ;AAAA;EAEI;;;AAGA;EACI;EACA;;;AAER;EACI;;;AAGA;EACI;;;AAER;AAAA;AAAA;AAAA;AAAA;EAKI;EACA;EACA;EACA;;;AAEJ;AAAA;EAEI;;;AAEJ;AAAA;EAEI;;;AAEJ;AAAA;AAAA;EAGI;;;AAEJ;AAAA;AAAA;AAAA;EAII;EACA;;;AAEJ;AAAA;AAAA;AAAA;EAII;;;AAEJ;EACI;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;;;AAEJ;EACI;;;AAEJ;AAAA;EAEI;EACA;;;AAEJ;AAAA;EAEI;;;AAEJ;EACI;EACA;;;AAEJ;AAAA;EAEI;;;AAEJ;EACI;EACA;;;AAEJ;AAAA;EAEI;;;AAEJ;EACI;;;AAEJ;EACI;;;AAEJ;EACI;;;AAEJ;EACI;;;AEpMJ;EACI;;AACA;EACI,ODHE;;ACIN;EACI,YDHI;ECIJ,ODNE;ECOF;EACA;EACA;EACA;;;AAER;EACI;EACA;EACA;EACA;EACA;EACA;EACA,YDnBM;ECoBN,ODlBQ;;;ACoBZ;EACI;EACA;EACA,ODrBK;ECsBL;EACA,YD3BM;;;AC6BV;EACI,YD3BS;EC4BT,OD/BM;ECgCN;EACA;EACA;EACA;EACA;EACA;EACA;;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA,OD9CM;;;ACgDV;EACI;EACA,OD9CK;;;ACgDT;AACI;EACA;EACA,ODnDK;;;ACqDT;AACI;EACA;EACA,ODxDK;;;AC0DT;EACI;EACA,OD5DK;;;AEJT;EACE;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE,YFLK;EEML;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE,OFpBI;EEqBJ;EACA;;AAEA;EACE;;AAEJ;EACE,YFvBG;EEwBH,OF1BO;EE2BP;EACA;;AAEF;EACE,YF7BG;EE8BH,OFhCO;EEiCP;EACA;;AACF;EACE,OFtCO;EEuCP;;AAEF;EACE;EACA,MFxCG;;AE0CL;EACE,YF/CI;EEgDJ;EACA;EACA;;AACA;EACE;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AACF;EACE;;AACF;EACE;;AACF;EACE;EACA;EACA;;AACJ;EACE;EACA;EACA;EACA;EACA,OFzEE;;AE0EF;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;;AACA;EACE;EACA;;AACN;EACE;;AACA;EACE,YFxFC;EEyFD;EACA;EACA;EACA;EACA;EACA;;AACA;EACE,YFhGD;;AEkGT;EACE;EACA,YFjGG;EEkGH;EACA;EACA;EAEA,OFrGG;;AEsGH;EACE;EACA;EACA;EACA;EAEA,YF7GC;EE8GD;EACA,OF9GC;EE+GD;;AAGA;EACE;;AACA;EACE;EACA;;AACF;EACE,OF7HF;;AE8HA;EACE;;AAIE;EACE,YF/HP;EEgIO;EACA,OFlIP;EEmIO;EACA;;AACN;EACE;EACA;EACA;EACA,YFzIH;;AE0IG;EACE;EACA;;AAEJ;EACE;;AACA;EACE;EACA;EACA;EACA;EACA,OFzJJ;;AE0JE;EACE;EACA;EACA;EACA;;AACA;EACE,OF/JH;EEgKG;EACA;EACA;EACA;;AACV;EACE;EACA,YFvKE;;AEwKF;EACE,OFrKD;;AEsKD;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA,OFjLC;EEkLD;EACA;EACA;EACA;;AACF;EACE;EACA;EACA;;AACF;EACE,YFvLH;EEwLG,OFzLH;EE0LG;EACA;;AAER;EACE,YF9LG;EE+LH;EACA,OFpMI;EEqMJ;EACA;EACA;;AACA;EACE;EACA;EACA;;AACA;EACE,OF5MG;;AEkNP;EACE;;AACF;EACE;;AAKM;EACE;;AAIV;EACE;;AAGE;EACE;;AACA;EACE;;AAGF;EACE;;AAIR;EACE;;AAGA;EACE;;AACA;EACE;;AAEA;EACE","file":"base.css"}
|
|
@ -1,33 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 486 678" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g id="Logo" transform="matrix(1.36867,0,0,1.36867,-351.696,-71.9183)">
|
||||
<g transform="matrix(2.31599,0,0,2.31599,218.53,-99.4797)">
|
||||
<path d="M93.67,140.92L93.67,140.921C105.569,140.921 115.216,150.567 115.216,162.467L115.216,172.724L115.216,172.724L115.216,182.262C115.216,194.161 105.569,203.808 93.669,203.808C81.976,203.217 74.12,195.969 72.237,184.474L72.282,182.737L72.282,162.467L72.205,160.847C72.775,149.587 82.728,141.121 93.67,140.92Z" style="fill:rgb(252,99,153);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(2.31599,0,0,2.31599,218.53,-437.697)">
|
||||
<path d="M93.67,211.678L93.67,211.678C105.569,211.678 115.216,221.324 115.216,233.224L115.216,243.481L115.216,243.481L115.216,253.019C115.216,264.919 105.569,274.565 93.669,274.565C81.976,273.975 74.12,266.726 72.237,255.232L72.282,253.495L72.282,233.224L72.205,231.604C72.775,220.344 82.728,211.878 93.67,211.678Z" style="fill:rgb(252,99,153);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(2.31599,0,0,2.31599,218.53,241.338)">
|
||||
<path d="M93.67,69.288L93.67,69.288C105.569,69.288 115.216,78.934 115.216,90.834L115.216,101.091L115.216,101.091L115.216,110.629C115.216,122.528 105.569,132.175 93.669,132.175C81.976,131.584 74.12,124.336 72.237,112.842L72.282,111.105L72.282,90.834L72.205,89.214C72.775,77.954 82.728,69.488 93.67,69.288Z" style="fill:rgb(171,183,183);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(2.31599,0,0,2.31599,218.53,-104.112)">
|
||||
<path d="M38.059,142.92L38.059,142.921C49.958,142.921 59.605,152.567 59.605,164.467L59.605,174.724L59.605,174.724L59.605,184.262C59.605,196.161 49.958,205.808 38.058,205.808C26.365,205.217 18.509,197.969 16.626,186.474L16.671,184.737L16.671,164.467L16.594,162.847C17.164,151.587 27.117,143.121 38.059,142.92Z" style="fill:rgb(252,99,153);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(2.31599,0,0,2.31599,218.53,-104.112)">
|
||||
<path d="M148.331,142.92L148.331,142.921C160.23,142.921 169.877,152.567 169.877,164.467L169.877,174.724L169.877,174.724L169.877,184.262C169.877,196.161 160.23,205.808 148.331,205.808C136.637,205.217 128.782,197.969 126.898,186.474L126.943,184.737L126.943,164.467L126.867,162.847C127.436,151.587 137.389,143.121 148.331,142.92Z" style="fill:rgb(171,183,183);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(2.31599,0,0,2.31599,218.53,-437.697)">
|
||||
<path d="M38.059,211.678L38.059,211.678C49.958,211.678 59.605,221.324 59.605,233.224L59.605,243.481L59.605,243.481L59.605,253.019C59.605,264.919 49.958,274.565 38.058,274.565C26.365,273.975 18.509,266.726 16.626,255.232L16.671,253.495L16.671,233.224L16.594,231.604C17.164,220.344 27.117,211.878 38.059,211.678Z" style="fill:rgb(252,99,153);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(2.31599,0,0,2.31599,218.53,-437.697)">
|
||||
<path d="M148.331,211.678L148.331,211.678C160.23,211.678 169.877,221.324 169.877,233.224L169.877,243.481L169.877,243.481L169.877,253.019C169.877,264.919 160.23,274.565 148.331,274.565C136.637,273.975 128.782,266.726 126.898,255.232L126.943,253.495L126.943,233.224L126.867,231.604C127.436,220.344 137.389,211.878 148.331,211.678Z" style="fill:rgb(252,99,153);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(2.31599,0,0,2.31599,218.53,241.338)">
|
||||
<path d="M38.059,69.288L38.059,69.288C49.958,69.288 59.605,78.934 59.605,90.834L59.605,101.091L59.605,101.091L59.605,110.629C59.605,122.528 49.958,132.175 38.058,132.175C26.365,131.584 18.509,124.336 16.626,112.842L16.671,111.105L16.671,90.834L16.594,89.214C17.164,77.954 27.117,69.488 38.059,69.288Z" style="fill:rgb(252,99,153);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(2.31599,0,0,2.31599,218.53,241.338)">
|
||||
<path d="M148.331,69.288L148.331,69.288C160.23,69.288 169.877,78.934 169.877,90.834L169.877,101.091L169.877,101.091L169.877,110.629C169.877,122.528 160.23,132.175 148.331,132.175C136.637,131.584 128.782,124.336 126.898,112.842L126.943,111.105L126.943,90.834L126.867,89.214C127.436,77.954 137.389,69.488 148.331,69.288Z" style="fill:rgb(171,183,183);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 4.6 KiB |
|
@ -1,2 +0,0 @@
|
|||
(()=>{class e{constructor(){this.currentSlide=0,this.slides=document.querySelectorAll("#media .slide"),this.start()}start(){this.slides.length>1&&(this.slideInterval=setInterval((()=>{this.slides[this.currentSlide].className="slide hide",this.currentSlide=(this.currentSlide+1)%this.slides.length,this.slides[this.currentSlide].className="slide show"}),3e3))}}document.addEventListener("DOMContentLoaded",(function(){new e}),!1)})();
|
||||
//# sourceMappingURL=ThemeStart.js.map
|
|
@ -1 +0,0 @@
|
|||
{"mappings":"4BAKIA,KAAKC,aAAe,EACpBD,KAAKE,OAASC,SAASC,iBAAiB,iBACxCJ,KAAKK,QAEPA,QACML,KAAKE,OAAOI,OAAS,IACvBN,KAAKO,cAAgBC,aAAW,KAC9BR,KAAKE,OAAOF,KAAKC,cAAcQ,UAAY,aAC3CT,KAAKC,cAAgBD,KAAKC,aAAe,GAAKD,KAAKE,OAAOI,OAC1DN,KAAKE,OAAOF,KAAKC,cAAcQ,UAAY,eAC1C,OCbTN,SAASO,iBACP,oBACA,WACa,IAAIC,KAEjB","sources":["src/themes/theme-fipamo-default/com/Base.js","src/themes/theme-fipamo-default/com/ThemeStart.js"],"sourcesContent":["export default class Base {\n //--------------------------\n // constructor\n //--------------------------\n constructor() {\n this.currentSlide = 0;\n this.slides = document.querySelectorAll(\"#media .slide\");\n this.start();\n }\n start() {\n if (this.slides.length > 1) {\n this.slideInterval = setInterval(() => {\n this.slides[this.currentSlide].className = \"slide hide\";\n this.currentSlide = (this.currentSlide + 1) % this.slides.length;\n this.slides[this.currentSlide].className = \"slide show\";\n }, 3000);\n }\n }\n //--------------------------\n // methods\n //--------------------------\n\n //--------------------------\n // event handlers\n //--------------------------\n}\n","import Base from \"./Base.js\";\n\ndocument.addEventListener(\n \"DOMContentLoaded\",\n function () {\n var base = new Base();\n },\n false\n);\n"],"names":["this","currentSlide","slides","document","querySelectorAll","start","length","slideInterval","setInterval","className","addEventListener","$b8d4b81eabebe07b$export$2e2bcd8739ae039"],"version":3,"file":"ThemeStart.js.map"}
|
|
@ -1,112 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
{% if debug is defined %}
|
||||
{% set assetPath = '/src/themes/theme-'~theme~'/'~theme~'/assets/' %}
|
||||
{% else %}
|
||||
{% set assetPath = '/assets/' %}
|
||||
{% endif %}
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>
|
||||
{% block title %}
|
||||
{{ title }}
|
||||
{% endblock %}
|
||||
</title>
|
||||
<meta charset="UTF-8"/>
|
||||
<meta name='viewport' content='width=device-width, initial-scale=1.0'/>
|
||||
<meta name="keywords" content="{{ info['keywords'] }}"/>
|
||||
<meta name="description" content="{{info['description']}} "/>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
|
||||
<meta property="og:image" content="{{info["image"]}}"/>
|
||||
<meta name="twitter:image" content="{{info["image"]}}"/>
|
||||
<link rel="stylesheet" type="text/css" href="{{ assetPath~"css/base.css?=dfvbghh" }}">
|
||||
</head>
|
||||
<body>
|
||||
<!--
|
||||
<header style="background: url({{ background }}) no-repeat center center; background-size: cover">
|
||||
-->
|
||||
<header>
|
||||
<div id="media">
|
||||
{% if media|length > 1 %}
|
||||
{% for item in media %}
|
||||
{% if item.type == "mp4"%}
|
||||
<div id="{{loop.index0}}" class="slide">
|
||||
<video controls autoplay muted>
|
||||
|
||||
<source src="{{item.file}}" type="video/mp4">
|
||||
|
||||
Please get a better browser. They're free.
|
||||
</video>
|
||||
</div>
|
||||
{% else %}
|
||||
<div id="{{loop.index0}}" class="slide hide" style="background: url({{ item.file }}) no-repeat center center / cover"></div>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
{% if media[0] != '' %}
|
||||
{% if media[0].type == "mp4"%}
|
||||
<div id="0" class="slide">
|
||||
<video controls autoplay muted>
|
||||
|
||||
<source src="{{media[0].file}}" type="video/mp4">
|
||||
|
||||
Please get a better browser. They're free.
|
||||
</video>
|
||||
</div>
|
||||
{% else %}
|
||||
<div id="0" class="slide" style="background: url({{ media[0].file }}) no-repeat center center / cover"></div>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
<nav>
|
||||
{% apply spaceless %}
|
||||
<div class="left">
|
||||
<a href="/" class="logo-link">
|
||||
<img id="logo" src="{{ assetPath~"/images/global/the-logo.svg" }}"/>
|
||||
</a>
|
||||
</div>
|
||||
<div class="right">
|
||||
{% if menu is defined %}
|
||||
{% for link in menu %}
|
||||
{% if dynamicRender is defined %}
|
||||
{% if dynamicRender == 'true' %}
|
||||
<a href="{{"/"~link.slug}}" class="menu-link">{{link.title}}</a><br/>
|
||||
{% else %}
|
||||
<a href="{{"/"~link.slug~".html"}}" class="menu-link">{{link.title}}</a><br/>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<a href="{{"/"~link.slug~".html"}}" class="menu-link">{{link.title}}</a><br/>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endapply %}
|
||||
</nav>
|
||||
</header>
|
||||
<div id="main-content" class="container">
|
||||
{% apply spaceless %}
|
||||
{% block mainContent %}{% endblock %}
|
||||
{% endapply %}
|
||||
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
<div class="inner">
|
||||
{% if dynamicRender is defined %}
|
||||
{% if dynamicRender == 'true' %}
|
||||
<a href="/archives">Archives</a><br/>
|
||||
{% else %}
|
||||
<a href="/archives.html">Archives</a><br/>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<a href="/archives.html">Archives</a><br/>
|
||||
{% endif %}
|
||||
© 2020 By Fipamo
|
||||
</div>
|
||||
</footer>
|
||||
<script src="{{ assetPath~"scripts/ThemeStart.js" }}" type="text/javascript"></script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,51 +0,0 @@
|
|||
{% extends "frame.twig" %}
|
||||
|
||||
{% block title %}
|
||||
{{ title }}
|
||||
{% endblock %}
|
||||
|
||||
{% block mainContent %}
|
||||
<article>
|
||||
<div class="index">
|
||||
<h2>{{title}}</h2>
|
||||
<p>{{ content | raw }}</p>
|
||||
|
||||
</div>
|
||||
</article>
|
||||
<section>
|
||||
<div class="index-lists">
|
||||
<div class="recent">
|
||||
<span>RECENT</span><br />
|
||||
{% for item in recent %}
|
||||
{% if dynamicRender is defined %}
|
||||
{% if dynamicRender == 'true' %}
|
||||
<a href="{{ "/"~item.path~"/"~item.slug}}"> {{item.title}} </a><br />
|
||||
{% else %}
|
||||
<a href="{{ "/"~item.path~"/"~item.slug~".html" }}"> {{item.title}} </a><br />
|
||||
{% endif %}
|
||||
|
||||
{% else %}
|
||||
<a href="{{ "/"~item.path~"/"~item.slug~".html" }}"> {{item.title}} </a><br />
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
<div class="featured">
|
||||
<span>FEATURED</span><br />
|
||||
{% for item in featured %}
|
||||
{% if dynamicRender is defined %}
|
||||
{% if dynamicRender == 'true' %}
|
||||
<a href="{{ "/"~item.path~"/"~item.slug}}"> {{item.title}} </a><br />
|
||||
{% else %}
|
||||
<a href="{{ "/"~item.path~"/"~item.slug~".html" }}"> {{item.title}} </a><br />
|
||||
{% endif %}
|
||||
|
||||
{% else %}
|
||||
<a href="{{ "/"~item.path~"/"~item.slug~".html" }}"> {{item.title}} </a><br />
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
{% endblock %}
|
|
@ -1,60 +0,0 @@
|
|||
{% extends "frame.twig" %}
|
||||
|
||||
{% block title %}
|
||||
{{ title }}
|
||||
{% endblock %}
|
||||
|
||||
{% block mainContent %}
|
||||
<section>
|
||||
<div class="page-title">
|
||||
<span>{{title}}</span><br>
|
||||
This is a custom temlate
|
||||
</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>
|
||||
|
||||
</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 %}
|
|
@ -1,62 +0,0 @@
|
|||
{% extends "frame.twig" %}
|
||||
|
||||
{% block 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>
|
||||
|
||||
{% 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>
|
||||
</div>
|
||||
</article>
|
||||
{% endblock %}
|
|
@ -1,30 +0,0 @@
|
|||
{% extends "frame.twig" %}
|
||||
|
||||
{% block title %}
|
||||
{{ title }}
|
||||
{% endblock %}
|
||||
|
||||
{% block mainContent %}
|
||||
<section>
|
||||
<div class="page-title">
|
||||
<span>{{title}}</span>
|
||||
</div>
|
||||
</section>
|
||||
<article>
|
||||
<div class="page">
|
||||
{% for tag in tag_list %}
|
||||
{% if dynamicRender is defined %}
|
||||
{% if dynamicRender == 'true' %}
|
||||
<a href="{{"/"~tag.path~"/"~tag.slug}}">{{tag.title}}</a><br />
|
||||
{% else %}
|
||||
<a href="{{"/"~tag.path~"/"~tag.slug~".html"}}">{{tag.title}}</a><br />
|
||||
{% endif %}
|
||||
|
||||
{% else %}
|
||||
<a href="{{"/"~tag.path~"/"~tag.slug~".html"}}">{{tag.title}}</a><br />
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
</article>
|
||||
{% endblock %}
|
|
@ -3,6 +3,7 @@
|
|||
use Illuminate\Support\Facades\Route;
|
||||
use App\Http\Controllers\Dash\IndexController;
|
||||
use App\Http\Controllers\Dash\AuthController;
|
||||
use App\Http\Controllers\Theming\ThemeController;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
@ -32,3 +33,9 @@ Route::group(['prefix' => 'dashboard', 'middleware' => 'member.check'], function
|
|||
Route::get("/page/{mode}/{uuid}", [IndexController::class, 'page']);
|
||||
Route::get("/logout", [AuthController::class, 'exit']);
|
||||
});
|
||||
|
||||
//theming
|
||||
|
||||
Route::group(['prefix' => 'theme', 'middleware' => 'member.check'], function () {
|
||||
Route::get("/view/{view?}", [ThemeController::class, 'getView']);
|
||||
});
|
||||
|
|