Initial Build
This commit is contained in:
parent
71cd3acccd
commit
6c0d9a3f98
140 changed files with 9802 additions and 2403 deletions
|
|
@ -3,14 +3,17 @@
|
|||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>{% block title %}Welcome!{% endblock %}</title>
|
||||
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22>⚫️</text><text y=%221.3em%22 x=%220.2em%22 font-size=%2276%22 fill=%22%23fff%22>sf</text></svg>">
|
||||
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22></text><text y=%221.3em%22 x=%220.2em%22 font-size=%2276%22 fill=%22%23fff%22>AD</text></svg>">
|
||||
{% block stylesheets %}
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
{% block importmap %}{{ importmap('app') }}{% endblock %}
|
||||
{% block importmap %}{{ importmap('main') }}{% endblock %}
|
||||
{% endblock %}
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name="turbo-prefetch" content="false">
|
||||
|
||||
{% set frankenphpHotReload = app.request.server.get('FRANKENPHP_HOT_RELOAD') %}
|
||||
{% if frankenphpHotReload %}
|
||||
<meta name="frankenphp-hot-reload:url" content="{{ frankenphpHotReload }}">
|
||||
|
|
@ -18,7 +21,17 @@
|
|||
<script src="https://cdn.jsdelivr.net/npm/frankenphp-hot-reload/+esm" type="module"></script>
|
||||
{% endif %}
|
||||
</head>
|
||||
<body>
|
||||
{% block body %}{% endblock %}
|
||||
<body class="secondary layout--v1 {{ app.user ? 'auth': '' }}">
|
||||
<div id="root">
|
||||
<header>
|
||||
{% block menu %}
|
||||
{{ include('front/menu/menu.html.twig') }}
|
||||
{% endblock %}
|
||||
</header>
|
||||
<main>
|
||||
{% block body %}{% endblock %}
|
||||
</main>
|
||||
</div>
|
||||
<div class="overlay"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
45
templates/brain/base.html.twig
Normal file
45
templates/brain/base.html.twig
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>{% block title %}Welcome!{% endblock %}</title>
|
||||
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22>⚫️</text><text y=%221.3em%22 x=%220.2em%22 font-size=%2276%22 fill=%22%23fff%22>sf</text></svg>">
|
||||
{% block stylesheets %}
|
||||
{% endblock %}
|
||||
|
||||
<meta name="turbo-prefetch" content="false">
|
||||
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://cdn.jsdelivr.net/npm/jodit@latest/es2021/jodit.fat.min.css"
|
||||
/>
|
||||
<script src="https://cdn.jsdelivr.net/npm/jodit@latest/es2021/jodit.fat.min.js"></script>
|
||||
|
||||
|
||||
{% block javascripts %}
|
||||
{% block importmap %}{{ importmap(['brain']) }}{% endblock %}
|
||||
{% endblock %}
|
||||
|
||||
{% set frankenphpHotReload = app.request.server.get('FRANKENPHP_HOT_RELOAD') %}
|
||||
{% if frankenphpHotReload %}
|
||||
<meta name="frankenphp-hot-reload:url" content="{{ frankenphpHotReload }}">
|
||||
<script src="https://cdn.jsdelivr.net/npm/idiomorph"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/frankenphp-hot-reload/+esm" type="module"></script>
|
||||
{% endif %}
|
||||
|
||||
</head>
|
||||
<body class="brain">
|
||||
<div id="brain-wrapper">
|
||||
<header>
|
||||
{% block admin_menu %}
|
||||
{{ include('brain/menu/menu.html.twig') }}
|
||||
{% endblock %}
|
||||
</header>
|
||||
<div class="page">
|
||||
{% block page_title %}{% endblock %}
|
||||
{% block actions %}{% endblock %}
|
||||
{% block admin %}{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
15
templates/brain/home/index.html.twig
Normal file
15
templates/brain/home/index.html.twig
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{% extends 'brain/base.html.twig' %}
|
||||
|
||||
{% block title %}Brain{% endblock %}
|
||||
|
||||
{% block page_title %}
|
||||
<h1>Brain</h1>
|
||||
{% endblock %}
|
||||
|
||||
{% block actions %}
|
||||
this will be some global admin actions
|
||||
{% endblock %}
|
||||
|
||||
{% block admin %}
|
||||
<p>This will be a dashboard of sorts</p>
|
||||
{% endblock %}
|
||||
31
templates/brain/menu/menu.html.twig
Normal file
31
templates/brain/menu/menu.html.twig
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
<nav>
|
||||
<menu class="level-1">
|
||||
<li class="level-1--item item"><a href="/">Home</a></li>
|
||||
<li class="level-1--item item"><a href="/brain">Brain Home</a></li>
|
||||
<li class="level-1--item sub-menu">
|
||||
<a class="sub-menu--link" href="/brain/post/list">Posts</a>
|
||||
<menu class="level-2">
|
||||
<li class="level-2--item"><a href="/brain/post/new">Add New Post</a></li>
|
||||
</menu>
|
||||
</li>
|
||||
<li class="level-1--item sub-menu">
|
||||
<a class="sub-menu--link" href="/brain/page/list">Pages</a>
|
||||
<menu class="level-2">
|
||||
<li class="level-2--item"><a href="/brain/page/new">Add New Page</a></li>
|
||||
</menu>
|
||||
</li>
|
||||
<li class="level-1--item sub-menu">
|
||||
<a class="sub-menu--link" href="/brain/photos/list">Photos</a>
|
||||
<menu class="level-2">
|
||||
<li class="level-2--item"><a href="/brain/photos/new">Add New Photos</a></li>
|
||||
</menu>
|
||||
</li>
|
||||
<li class="level-1--item sub-menu">
|
||||
<span class="sub-menu--link">Taxonomy</span>
|
||||
<menu class="level-2">
|
||||
<li class="level-2--item"><a href="/brain/category/new">Add New Category</a></li>
|
||||
<li class="level-2--item"><a href="/brain/tag/new">Add New Tag</a></li>
|
||||
</menu>
|
||||
</li>
|
||||
</menu>
|
||||
</nav>
|
||||
32
templates/brain/page/create.html.twig
Normal file
32
templates/brain/page/create.html.twig
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
{% extends 'brain/base.html.twig' %}
|
||||
|
||||
{% block title %}{{ action|capitalize}} Page{% endblock %}
|
||||
|
||||
{% block page_title %}<h1>Add New Page</h1>{% endblock %}
|
||||
|
||||
{# {% block actions%}Actions here{% endblock %} #}
|
||||
|
||||
{% block admin %}
|
||||
<section class="add-new--post">
|
||||
{{ form_start(form) }}
|
||||
<div class="form-errors">
|
||||
{{ form_errors(form) }}
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ form_row(form.title) }}
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ form_row(form.text) }}
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ form_row(form.url) }}
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ form_row(form.published) }}
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ form_rest(form) }}
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
</section>
|
||||
{% endblock %}
|
||||
33
templates/brain/page/index.html.twig
Normal file
33
templates/brain/page/index.html.twig
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{% extends 'brain/base.html.twig' %}
|
||||
|
||||
{% block title %}Pages{% endblock %}
|
||||
|
||||
{% block page_title %}<h1>All pages</h1>{% endblock %}
|
||||
|
||||
{# {% block actions%}Actions here{% endblock %} #}
|
||||
|
||||
{% block admin %}
|
||||
<div class="list">
|
||||
<h2><a href="/brain/page/new">New Page</a></h2>
|
||||
<table class="pages">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Title</td>
|
||||
<td>Edit</td>
|
||||
<td>View</td>
|
||||
<td>Published</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for page in pages %}
|
||||
<tr>
|
||||
<td>{{page.title}}</td>
|
||||
<td><a href="/brain/page/edit/{{page.getId()}}">Edit</a></td>
|
||||
<td><a href="/{{page.getUrl()}}">View</a><td>
|
||||
<td>{{page.published == 1 ? 'Yes' : 'No'}}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{% endblock %}
|
||||
42
templates/brain/photos/create.html.twig
Normal file
42
templates/brain/photos/create.html.twig
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
{% extends 'brain/base.html.twig' %}
|
||||
|
||||
{% block title %}{{ action|capitalize}} Photos{% endblock %}
|
||||
|
||||
{% block page_title %}<h1>Add New Photos</h1>{% endblock %}
|
||||
|
||||
|
||||
{% block admin %}
|
||||
<section class="add-new--post">
|
||||
{{ form_start(form) }}
|
||||
<div class="form-errors">
|
||||
{{ form_errors(form) }}
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ form_row(form.title) }}
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ form_row(form.date) }}
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ form_row(form.category) }}
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ form_row(form.thumbnail) }}
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ form_row(form.text)}}
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ form_row(form.uploads)}}
|
||||
<button type="button" class="add_item_link" data-collection-holder-id="photos_uploads">Add a photo</button>
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ form_row(form.url) }}
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ form_row(form.save)}}
|
||||
{{ form_row(form._token)}}
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
</section>
|
||||
{% endblock %}
|
||||
35
templates/brain/photos/index.html.twig
Normal file
35
templates/brain/photos/index.html.twig
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
{% extends 'brain/base.html.twig' %}
|
||||
|
||||
{% block title %}Photos{% endblock %}
|
||||
|
||||
{% block page_title %}<h1>All Photos</h1>{% endblock %}
|
||||
|
||||
{# {% block actions%}Actions here{% endblock %} #}
|
||||
|
||||
{% block admin %}
|
||||
<div class="list">
|
||||
<h2><a href="/brain/photos/new">New Photos</a></h2>
|
||||
<table class="posts">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Title</td>
|
||||
<td>Date</td>
|
||||
<td>Category</td>
|
||||
<td>Edit</td>
|
||||
<td>View</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for photo in photos %}
|
||||
<tr>
|
||||
<td>{{photo.title}}</td>
|
||||
<td>{{photo.getDate()|date('m/d/Y')}}</td>
|
||||
<td>{{photo.category.getTitle()}}</td>
|
||||
<td><a href="/brain/photos/edit/{{photo.getId()}}">Edit</a></td>
|
||||
<td><a href="/photos/{{photo.getUrl()}}">View</a><td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{% endblock %}
|
||||
42
templates/brain/post/create.html.twig
Normal file
42
templates/brain/post/create.html.twig
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
{% extends 'brain/base.html.twig' %}
|
||||
|
||||
{% block title %}{{ action|capitalize}} Post{% endblock %}
|
||||
|
||||
{% block page_title %}<h1>Add New Post</h1>{% endblock %}
|
||||
|
||||
{# {% block actions%}Actions here{% endblock %} #}
|
||||
|
||||
{% block admin %}
|
||||
<section class="add-new--post">
|
||||
{{ form_start(form) }}
|
||||
<div class="form-errors">
|
||||
{{ form_errors(form) }}
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
{{ form_row(form.title) }}
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ form_row(form.date) }}
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ form_row(form.text) }}
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ form_row(form.category) }}
|
||||
</div>
|
||||
{# <div class="row">
|
||||
{{ form_row(form.tags) }}
|
||||
</div> #}
|
||||
<div class="row">
|
||||
{{ form_row(form.url) }}
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ form_row(form.published) }}
|
||||
</div>
|
||||
<div class="row">
|
||||
{{ form_rest(form) }}
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
</section>
|
||||
{% endblock %}
|
||||
37
templates/brain/post/index.html.twig
Normal file
37
templates/brain/post/index.html.twig
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
{% extends 'brain/base.html.twig' %}
|
||||
|
||||
{% block title %}Posts {% endblock %}
|
||||
|
||||
{% block page_title %}<h1>All Posts</h1>{% endblock %}
|
||||
|
||||
{# {% block actions%}Actions here{% endblock %} #}
|
||||
|
||||
{% block admin %}
|
||||
<div class="list">
|
||||
<h2><a href="/brain/post/new">New Post</a></h2>
|
||||
<table class="posts">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Title</td>
|
||||
<td>Date</td>
|
||||
<td>Category</td>
|
||||
<td>Edit</td>
|
||||
<td>View</td>
|
||||
<td>Published</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for post in posts %}
|
||||
<tr>
|
||||
<td>{{post.title}}</td>
|
||||
<td>{{post.getDate()|date('m/d/Y')}}</td>
|
||||
<td>{{post.category.getTitle()}}</td>
|
||||
<td><a href="/brain/post/edit/{{post.getId()}}">Edit</a></td>
|
||||
<td><a href="/words/{{post.getUrl()}}">View</a><td>
|
||||
<td>{{post.published == 1 ? 'Published' : 'Unpublished'}}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{% endblock %}
|
||||
28
templates/front/category/detail.html.twig
Normal file
28
templates/front/category/detail.html.twig
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}Categories | Alex Daniels{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<section class="category">
|
||||
{% if posts|length %}
|
||||
<div class="posts">
|
||||
<h2>Posts</h2>
|
||||
<ul>
|
||||
{% for post in posts %}
|
||||
<li><a href="/words/{{post.url}}">{{post.title}}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if photos|length %}
|
||||
<div class="photos">
|
||||
<h2>Photos</h2>
|
||||
<ul>
|
||||
{% for photo in photos %}
|
||||
<li><a href="/photos/{{photo.url}}">{{photo.title}}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
{% endif %}
|
||||
</section>
|
||||
{% endblock %}
|
||||
16
templates/front/category/index.html.twig
Normal file
16
templates/front/category/index.html.twig
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}Categories | Alex Daniels{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<section class="categories">
|
||||
<h2>Categories</h2>
|
||||
<ul>
|
||||
{% for category in categories %}
|
||||
<li>
|
||||
<a href="/categories/{{category['urlSafeTitle']}}">{{category['title']}} ({{category['count']}})</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</section>
|
||||
{% endblock %}
|
||||
138
templates/front/home/index.html.twig
Normal file
138
templates/front/home/index.html.twig
Normal file
|
|
@ -0,0 +1,138 @@
|
|||
{% extends 'home.html.twig' %}
|
||||
|
||||
{% block title %}My Own Corner Of The Internet | Alex Daniels{% endblock %}
|
||||
|
||||
|
||||
{% block nav %}
|
||||
<nav>
|
||||
<h1><a href="/">AD</a></h1>
|
||||
<i class="icon icon-menu" aria-label="open menu"></i>
|
||||
<menu class="front-menu">
|
||||
<li><a href="/words">Writing</a></li>
|
||||
<li><a href="/photos">Photography</a></li>
|
||||
<li><a href="/about">About Me</a></li>
|
||||
{% if app.user %}
|
||||
<li><a href="/brain">Brain</a></li>
|
||||
<li><a href="/letmeout">Logout</a></li>
|
||||
{% endif %}
|
||||
</menu>
|
||||
</nav>
|
||||
{% endblock %}
|
||||
|
||||
|
||||
{% block intro %}
|
||||
<section id="intro">
|
||||
<p class="heading"> cat ./about.md</p>
|
||||
</section>
|
||||
{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<section id="body">
|
||||
<p class="about">
|
||||
hello, i'm alex<br>
|
||||
i'm a web developer based in portland, oregon<br><br>
|
||||
in my free time i enjoy hiking, camping, reading, photography, and more<br><br>
|
||||
welcome to my little corner of the internet
|
||||
</p>
|
||||
</section>
|
||||
{% endblock %}
|
||||
|
||||
{% block outro %}
|
||||
<section id="outro">
|
||||
<p class="heading"> ls ./menu</p>
|
||||
<div class="menu">
|
||||
<a data-scroll-to="cool-stuff">some cool stuff</a>
|
||||
<a data-scroll-to="work">work</a>
|
||||
<a data-scroll-to="contact">contact</a>
|
||||
</div>
|
||||
</section>
|
||||
<div id="continue" aria-label="continue"><i class="icon icon-arrow-down"></i></div>
|
||||
{% endblock %}
|
||||
|
||||
{% block underFold %}
|
||||
<section id="cool-stuff">
|
||||
<h2 class="title">Some Cool Stuff</h2>
|
||||
<div class="highlights">
|
||||
<div class="highlight left">
|
||||
<i class="icon icon-paperclip"></i>
|
||||
<h3>Item 1</h3>
|
||||
<img src="/photos/road_trip_test/thumbnail.png">
|
||||
<p>I took a 6 week road trip across the united states</p>
|
||||
<a href="/photos">Road Trip</a>
|
||||
</div>
|
||||
<div class="highlight middle">
|
||||
<i class="icon icon-paperclip"></i>
|
||||
<h3>Item 2</h3>
|
||||
<img src="/photos/road_trip_test/thumbnail.png">
|
||||
<p>Some text about a thing longer text asdf 1234</p>
|
||||
<a href="/words">Project</a>
|
||||
</div>
|
||||
<div class="highlight right">
|
||||
<i class="icon icon-paperclip"></i>
|
||||
<h3>Item 3</h3>
|
||||
<img src="/photos/road_trip_test/thumbnail.png">
|
||||
<p>Some text about a thing</p>
|
||||
<a href="/about">Project</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="work">
|
||||
<h2 class="title">Work</h2>
|
||||
<div class="jobs">
|
||||
<div class="left">
|
||||
<h3 class="title">Experience</h3>
|
||||
<div class="wrapper">
|
||||
<div class="job latest active" data-job-id="job-1">
|
||||
<h4 class="title">Engine Room Technology Company</h4>
|
||||
<p><strong>2021-2026</strong> - <em>Remote</em></p>
|
||||
</div>
|
||||
<div class="job first" data-job-id="job-2">
|
||||
<h4 class="title">Eastern Standard</h4>
|
||||
<p><strong>2016-2021</strong> - <em>Philadelphia, PA</em></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right">
|
||||
<h3 class="title">Highlights</h3>
|
||||
<div class="highlights">
|
||||
<div id="job-1" class="job-highlight show">
|
||||
<ul>
|
||||
<li>
|
||||
item 1
|
||||
</li>
|
||||
<li>
|
||||
item 2
|
||||
</li>
|
||||
<li>
|
||||
item 3
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="job-2" class="job-highlight hide">
|
||||
<ul>
|
||||
<li>
|
||||
2 item 1
|
||||
</li>
|
||||
<li>
|
||||
2 item 2
|
||||
</li>
|
||||
<li>
|
||||
2 item 3
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="contact">
|
||||
<h2 class="title">Contact</h2>
|
||||
<div class="info">
|
||||
<a href="mailto:hello@alexdaniels.dev" aria-label="email me"><i class="icon icon-email"></i></a>
|
||||
</div>
|
||||
</section>
|
||||
{% endblock %}
|
||||
|
||||
{% block footer %}
|
||||
<p>© 2026 Alex Daniels</p>
|
||||
{% endblock %}
|
||||
14
templates/front/home/menu.html.twig
Normal file
14
templates/front/home/menu.html.twig
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{% block menu %}
|
||||
<nav class="home">
|
||||
<h1>Alex Daniels</h1>
|
||||
<menu>
|
||||
<li><a href="/words">Writing</a></li>
|
||||
<li><a href="/photos">Photography</a></li>
|
||||
<li><a href="/about">About Me</a></li>
|
||||
{% if app.user %}
|
||||
<li><a href="/brain">Brain</a></li>
|
||||
<li><a href="/letmeout">Logout</a></li>
|
||||
{% endif %}
|
||||
</menu>
|
||||
</nav>
|
||||
{% endblock %}
|
||||
16
templates/front/menu/menu.html.twig
Normal file
16
templates/front/menu/menu.html.twig
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<nav class="main">
|
||||
<div class="top">
|
||||
<h1 class="title"><a href="/">AD</a></h1>
|
||||
<i class="icon icon-menu" aria-label="open menu"></i>
|
||||
</div>
|
||||
<menu class="menu">
|
||||
{# <li><a href="/">Home</a></li> #}
|
||||
<li><a href="/words">Writing</a></li>
|
||||
<li><a href="/photos">Photography</a></li>
|
||||
<li><a href="/about">About Me</a></li>
|
||||
{% if app.user %}
|
||||
<li><a href="/brain">Brain</a></li>
|
||||
<li><a href="/letmeout">Logout</a></li>
|
||||
{% endif %}
|
||||
</menu>
|
||||
</nav>
|
||||
16
templates/front/page/index.html.twig
Normal file
16
templates/front/page/index.html.twig
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{{page.title}} | Alex Daniels{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<section class="page">
|
||||
<h2>{{page.title}}</h2>
|
||||
{% if app.user %}
|
||||
<a href="/brain/page/edit/{{page.id}}">Edit</a><br>
|
||||
{% endif %}
|
||||
|
||||
<div class="text">
|
||||
{{ page.text|raw}}
|
||||
</div>
|
||||
</section>
|
||||
{% endblock %}
|
||||
33
templates/front/photos/detail.html.twig
Normal file
33
templates/front/photos/detail.html.twig
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{{photos['title']}} - Photography | Alex Daniels{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<article id="album">
|
||||
<h2 class="title">{{photos['title']}}</h2>
|
||||
<div class="meta">
|
||||
<p>{{ photos['date']|date('l M d Y')}}</p>
|
||||
<p>Filed Under: <a href="/categories/{{photos['urlSafeCategory']}}">{{photos['category']}}</a></p>
|
||||
</div>
|
||||
<div class="text">
|
||||
{{ photos['text']|raw }}
|
||||
</div>
|
||||
<ul class="photos">
|
||||
{% for photo in photos['uploads'] %}
|
||||
<li class="photo" data-equipment="{{photo['equipment']}}" data-location="{{photo['location']}}" data-caption="{{photo['caption']}}" data-date="{{photo['date']|date('l M d Y')}}" data-url="{{asset(photo['file'])}}" data-alt="{{photo['alt']}}">
|
||||
<img src="{{asset(photo['file'])}}" alt="{{photo['alt']}}">
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</article>
|
||||
<div id="open-image">
|
||||
<span class="close">X</span>
|
||||
<img src="" alt="" id="image">
|
||||
<div id="details">
|
||||
<p id="caption"></p>
|
||||
<p id="date"></p>
|
||||
<p id="location"></p>
|
||||
<p id="equipment"></p>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock body %}
|
||||
25
templates/front/photos/index.html.twig
Normal file
25
templates/front/photos/index.html.twig
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}Photography | Alex Daniels{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<h2>Photography</h2>
|
||||
<div class="photos">
|
||||
{% if app.user %}
|
||||
<div class="admin-actions">
|
||||
<a href="/brain/photos/new">Add New Album</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
<ul class="albums">
|
||||
{% for album in photos %}
|
||||
<li class="album">
|
||||
<a href="/photos/{{album['url']}}">
|
||||
<h3 class="title">{{album['title']}}</h3>
|
||||
<img src="{{asset(album['thumbnail'])}}" alt="{{ album['title'] ~ 'Thumbnail'}}">
|
||||
<p class="date">{{album['date']|date('l M d Y')}}</p>
|
||||
<div class="overlay"></div>
|
||||
</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endblock body %}
|
||||
21
templates/front/post/detail.html.twig
Normal file
21
templates/front/post/detail.html.twig
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}{{post.title}} - Writing | Alex Daniels{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<article class="post">
|
||||
<h2 class="title">{{post.title}}</h2>
|
||||
<div class="meta">
|
||||
{% if app.user %}
|
||||
<div class="admin-actions">
|
||||
<a href="/brain/post/edit/{{post.id}}">Edit</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
<p class="category">Filed under: <a href="/categories/{{urlSafeCategory}}">{{ post.category.getTitle() }}</a></p>
|
||||
<time class="published">{{ post.date|date('l M d Y') }}</time>
|
||||
</div>
|
||||
<div class="text">
|
||||
{{ post.text|raw }}
|
||||
</div>
|
||||
</article>
|
||||
{% endblock %}
|
||||
24
templates/front/post/index.html.twig
Normal file
24
templates/front/post/index.html.twig
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}Writing | Alex Daniels{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<section class="posts">
|
||||
<h2>Writing</h2>
|
||||
<p class="intro">A truly random smattering of thoughts and feelings. Things may not always be relevant, but they will always be irreverant.</p>
|
||||
<div class="list">
|
||||
<h3>Recent</h3>
|
||||
<ul>
|
||||
{% for post in posts %}
|
||||
<li>
|
||||
<article class="post">
|
||||
<a href="/categories/{{post['urlSafeCategory']}}" class="category">{{post['category']}}</a>
|
||||
<a href="/words/{{post['url']}}"><h4 class="title">{{post['title']}}</h4></a>
|
||||
<time class="published">{{post['date']|date('l M d Y')}}</time>
|
||||
</article>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
{% endblock %}
|
||||
116
templates/front/styleguide/styleguide.html.twig
Normal file
116
templates/front/styleguide/styleguide.html.twig
Normal file
|
|
@ -0,0 +1,116 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block body %}
|
||||
|
||||
<div id="colors">
|
||||
|
||||
</div>
|
||||
<div id="topography">
|
||||
<h1>H1. This is a Page Title.</h1>
|
||||
<h2>H2. This is a header.</h2>
|
||||
<h3>H3. This is a medium header.</h3>
|
||||
<h4>H4. This is a sidebar header.</h4>
|
||||
<h5>H5. This is a small header.</h5>
|
||||
<h6>H6. This is a tiny header.</h6>
|
||||
<p>A general paragraph will look like this.</p>
|
||||
</div>
|
||||
|
||||
<div id="inlineElements">
|
||||
<p><a href="#">This is a text link</a></p>
|
||||
<p><strong>Strong is used to indicate strong importance</strong></p>
|
||||
|
||||
<p>The <b>b element</b> is stylistically different text from normal text, without any special importance</p>
|
||||
|
||||
<p>The <em>i element</em> is text that is set off from the normal text</p>
|
||||
|
||||
<p>The <u>u element</u> is text with an unarticulated, though explicitly rendered, non-textual annotation</p>
|
||||
|
||||
<p>The <s>s element</s> is text with a strike through denoting cancelization</p>
|
||||
|
||||
<p><small>This small text is small for for fine print, etc.</small></p>
|
||||
|
||||
<p><q cite="https://developer.mozilla.org/en-US/docs/HTML/Element/q">This text is a short inline quotation</q></p>
|
||||
|
||||
<p><cite>This is a citation</cite>
|
||||
</div>
|
||||
|
||||
|
||||
{# <!-- change the HEX values here -->
|
||||
<div class="sectionHeading">
|
||||
<span class="sectionTitle">COLORS</span>
|
||||
<div class="sectionSeperator"></div>
|
||||
</div>
|
||||
|
||||
<ul id="colors">
|
||||
<li class="colorCircle color-1">
|
||||
<div class="colorHex">#C7D6BA</div>
|
||||
</li>
|
||||
<li class="colorCircle color-2">
|
||||
<div class="colorHex">#BAE3C2</div>
|
||||
</li>
|
||||
<li class="colorCircle color-3">
|
||||
<div class="colorHex">#C7EDC2</div>
|
||||
</li>
|
||||
<li class="colorCircle color-4">
|
||||
<div class="colorHex">#E5EDC2</div>
|
||||
</li>
|
||||
<li class="colorCircle color-5">
|
||||
<div class="colorHex">#E3E1BA</div>
|
||||
</li>
|
||||
</ul> #}
|
||||
|
||||
{# <div class="sectionHeading">
|
||||
<span class="sectionTitle">FORM ELEMENTS</span>
|
||||
<div class="sectionSeperator"></div>
|
||||
</div> #}
|
||||
|
||||
{# <div id="formElements">
|
||||
<form>
|
||||
<div class="form-item">
|
||||
<input type="text" placeholder="text field" name="" id="">
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<input type="text" required="required" placeholder="required text field" name="" id="">
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<textarea name="" id="" cols="40" rows="5"></textarea>
|
||||
</div>
|
||||
|
||||
<div class="form-item">
|
||||
<select name="" id="">
|
||||
<option value="default">-- Select --</option>
|
||||
<option value="">Only</option>
|
||||
<option value="">One</option>
|
||||
<option value="">Item</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-item">
|
||||
<select multiple name="" id="">
|
||||
<option value="">Select</option>
|
||||
<option value="">Multiple</option>
|
||||
<option value="">Items</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-item form-type-radios">
|
||||
<div class="form-item"><input type="radio" name="example-radios" id=""><label for="" class="option">Radio One</label></div>
|
||||
<div class="form-item"><input type="radio" name="example-radios" id=""><label for="" class="option">Radio Two</label></div>
|
||||
<div class="form-item"><input type="radio" name="example-radios" id=""><label for="" class="option">Radio Three</label></div>
|
||||
<div class="form-item"><input type="radio" name="example-radios" id=""><label for="" class="option">Radio Four</label></div>
|
||||
</div>
|
||||
|
||||
<div class="form-item form-type-checkboxes">
|
||||
<div class="form-item"><input type="checkbox" name="" id=""><label for="">checkbox 1</label></div>
|
||||
<div class="form-item"><input type="checkbox" name="" id=""><label for="">checkbox 2</label></div>
|
||||
<div class="form-item"><input type="checkbox" name="" id=""><label for="">checkbox 3</label></div>
|
||||
<div class="form-item"><input type="checkbox" name="" id=""><label for="">checkbox 4</label></div>
|
||||
</div>
|
||||
|
||||
<div class="form-actions">
|
||||
<input type="submit" class="form-submit">
|
||||
<input type="button" value="Cancel" class="form-submit">
|
||||
</div>
|
||||
</form>
|
||||
</div> #}
|
||||
{% endblock %}
|
||||
46
templates/home.html.twig
Normal file
46
templates/home.html.twig
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>{% block title %}Alex Daniels{% endblock %}</title>
|
||||
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22></text><text y=%221.3em%22 x=%220.2em%22 font-size=%2276%22 fill=%22%23fff%22>AD</text></svg>">
|
||||
{% block stylesheets %}
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
{% block importmap %}{{ importmap('landing') }}{% endblock %}
|
||||
{% endblock %}
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name="turbo-prefetch" content="false">
|
||||
|
||||
{% set frankenphpHotReload = app.request.server.get('FRANKENPHP_HOT_RELOAD') %}
|
||||
{% if frankenphpHotReload %}
|
||||
<meta name="frankenphp-hot-reload:url" content="{{ frankenphpHotReload }}">
|
||||
<script src="https://cdn.jsdelivr.net/npm/idiomorph"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/frankenphp-hot-reload/+esm" type="module"></script>
|
||||
{% endif %}
|
||||
</head>
|
||||
<body class="home layout--v1 {{ app.user ? 'auth': '' }}">
|
||||
<header>
|
||||
{% block nav %}{% endblock %}
|
||||
</header>
|
||||
<main id="root" class="v1">
|
||||
<div class="top">
|
||||
<div class="computer">
|
||||
{% block intro %}{% endblock %}
|
||||
{% block body %}{% endblock %}
|
||||
{% block outro %}{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="under-fold">
|
||||
{% block underFold %}{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<footer>
|
||||
{% block footer %}{% endblock %}
|
||||
</footer>
|
||||
</body>
|
||||
</html>
|
||||
18
templates/registration/register.html.twig
Normal file
18
templates/registration/register.html.twig
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}Register{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<h1>Register</h1>
|
||||
|
||||
{{ form_errors(registrationForm) }}
|
||||
|
||||
{{ form_start(registrationForm) }}
|
||||
{{ form_row(registrationForm.username) }}
|
||||
{{ form_row(registrationForm.plainPassword, {
|
||||
label: 'Password'
|
||||
}) }}
|
||||
|
||||
<button type="submit" class="btn">Register</button>
|
||||
{{ form_end(registrationForm) }}
|
||||
{% endblock %}
|
||||
38
templates/security/login.html.twig
Normal file
38
templates/security/login.html.twig
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
{% extends 'base.html.twig' %}
|
||||
|
||||
{% block title %}Log in!{% endblock %}
|
||||
|
||||
{% block body %}
|
||||
<form method="post">
|
||||
{% if error %}
|
||||
<div class="alert alert-danger">{{ error.messageKey|trans(error.messageData, 'security') }}</div>
|
||||
{% endif %}
|
||||
|
||||
{% if app.user %}
|
||||
<div class="mb-3">
|
||||
You are logged in as {{ app.user.userIdentifier }}, <a href="{{ logout_path() }}">Logout</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<h1 class="h3 mb-3 font-weight-normal">Please sign in</h1>
|
||||
<label for="username">Username</label>
|
||||
<input type="text" value="{{ last_username }}" name="_username" id="username" class="form-control" autocomplete="username" required autofocus>
|
||||
<label for="password">Password</label>
|
||||
<input type="password" name="_password" id="password" class="form-control" autocomplete="current-password" required>
|
||||
<input type="hidden" name="_csrf_token" data-controller="csrf-protection" value="{{ csrf_token('authenticate') }}">
|
||||
|
||||
{#
|
||||
Uncomment this section and add a remember_me option below your firewall to activate remember me functionality.
|
||||
See https://symfony.com/doc/current/security/remember_me.html
|
||||
|
||||
<div class="checkbox mb-3">
|
||||
<input type="checkbox" name="_remember_me" id="_remember_me">
|
||||
<label for="_remember_me">Remember me</label>
|
||||
</div>
|
||||
#}
|
||||
|
||||
<button class="btn btn-lg btn-primary" type="submit">
|
||||
Sign in
|
||||
</button>
|
||||
</form>
|
||||
{% endblock %}
|
||||
Loading…
Add table
Add a link
Reference in a new issue