Initial commit to new repo
This commit is contained in:
parent
a267f9bfcc
commit
a5173c981b
292 changed files with 17472 additions and 0 deletions
2
resources/assets/sass/app.scss
vendored
Normal file
2
resources/assets/sass/app.scss
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
// @import "node_modules/bootstrap-sass/assets/stylesheets/bootstrap";
|
||||
|
12
resources/assets/sass/components/colours.scss
vendored
Normal file
12
resources/assets/sass/components/colours.scss
vendored
Normal file
|
@ -0,0 +1,12 @@
|
|||
//colours.scss
|
||||
body {
|
||||
color: $base03;
|
||||
}
|
||||
|
||||
header a {
|
||||
color: $base03;
|
||||
}
|
||||
|
||||
a {
|
||||
color: $blue;
|
||||
}
|
41
resources/assets/sass/components/fonts.scss
vendored
Normal file
41
resources/assets/sass/components/fonts.scss
vendored
Normal file
|
@ -0,0 +1,41 @@
|
|||
//fonts.scss
|
||||
|
||||
body {
|
||||
text-rendering: optimizeLegibility;
|
||||
font-feature-settings: "liga";
|
||||
font-family: $font-stack-body;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
#topheader h1 {
|
||||
font-family: $font-stack-body;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-family: $font-stack-headers;
|
||||
}
|
||||
|
||||
#topheader a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
nav {
|
||||
font-feature-settings: "dlig";
|
||||
}
|
||||
|
||||
article header h1 a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
article div a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
footer {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.emoji {
|
||||
width: auto;
|
||||
height: 1em;
|
||||
}
|
45
resources/assets/sass/components/forms.scss
vendored
Normal file
45
resources/assets/sass/components/forms.scss
vendored
Normal file
|
@ -0,0 +1,45 @@
|
|||
//forms.scss
|
||||
|
||||
form {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
fieldset {
|
||||
min-width: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
input[type="text"], input[type="file"], textarea {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
input, button, textarea {
|
||||
-webkit-appearance: none;
|
||||
-moz-appearance: none;
|
||||
background-color: $base03;
|
||||
color: $base3;
|
||||
border: 1px solid $base3;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
transition: 0.5s ease-in-out;
|
||||
background-color: $base3;
|
||||
color: $base03;
|
||||
}
|
||||
|
||||
button:disabled {
|
||||
background-color: $base1;
|
||||
color: $base03;
|
||||
}
|
||||
|
||||
input[type="checkbox"] {
|
||||
-webkit-appearance: checkbox;
|
||||
-moz-appearance: checkbox;
|
||||
}
|
||||
|
||||
#photo {
|
||||
background: inherit;
|
||||
color: inherit;
|
||||
border: none;
|
||||
}
|
9
resources/assets/sass/components/twitter.scss
vendored
Normal file
9
resources/assets/sass/components/twitter.scss
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
//twitter.scss
|
||||
|
||||
.twitter-tweet-rendered {
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
.twitter-tweet-rendered + .note {
|
||||
margin-top: 0;
|
||||
}
|
41
resources/assets/sass/global.scss
vendored
Normal file
41
resources/assets/sass/global.scss
vendored
Normal file
|
@ -0,0 +1,41 @@
|
|||
//global.scss
|
||||
|
||||
//variables
|
||||
$font-stack-body: "leitura-news", serif;
|
||||
$font-stack-headers: "prenton", sans-serif;
|
||||
|
||||
//solarized variables TERMCOL
|
||||
$base03: #002b36;//brblack
|
||||
$base02: #073642;//black
|
||||
$base01: #586e75;//brgreen
|
||||
$base00: #657b83;//bryellow
|
||||
$base0: #839496;//brblue
|
||||
$base1: #93a1a1;//brcyan
|
||||
$base2: #eee8d5;//white
|
||||
$base3: #fdf6e3;//brwhite
|
||||
$yellow: #b58900;
|
||||
$orange: #cb4b16;
|
||||
$red: #dc322f;
|
||||
$magenta: #d33682;
|
||||
$violet: #6c71c4;
|
||||
$blue: #268bd2;
|
||||
$cyan: #2aa198;
|
||||
$green: #859900;
|
||||
|
||||
//global styles
|
||||
html {
|
||||
background: url('/assets/img/escheresque.png');
|
||||
}
|
||||
|
||||
.map {
|
||||
height: 150px;
|
||||
}
|
||||
|
||||
//layout
|
||||
@import "layout";
|
||||
|
||||
//components
|
||||
@import "components/fonts";
|
||||
@import "components/colours";
|
||||
@import "components/forms";
|
||||
@import "components/twitter";
|
197
resources/assets/sass/layout.scss
vendored
Normal file
197
resources/assets/sass/layout.scss
vendored
Normal file
|
@ -0,0 +1,197 @@
|
|||
//layout.scss
|
||||
|
||||
//boxes
|
||||
html {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
*, *:before, *:after {
|
||||
box-sizing: inherit;
|
||||
}
|
||||
|
||||
#topheader {
|
||||
display: flex;
|
||||
flex-flow: row;
|
||||
}
|
||||
|
||||
#topheader a {
|
||||
padding: 0.5em 1em;
|
||||
}
|
||||
|
||||
nav {
|
||||
padding-top: 0.5em;
|
||||
}
|
||||
|
||||
.social-list {
|
||||
padding-left: 2em;
|
||||
}
|
||||
|
||||
.note {
|
||||
background-color: $base2;
|
||||
box-shadow: 0 0 10px 2px $base1;
|
||||
padding: 0.5em 0.5em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
.note:after {
|
||||
content: " ";
|
||||
display: block;
|
||||
height: 0;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.note a {
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.note .e-content p:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.note-metadata {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.social-links {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.social-links a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.icon {
|
||||
width: auto;
|
||||
height: 1em;
|
||||
fill: $blue;
|
||||
}
|
||||
|
||||
.reply {
|
||||
margin-left: 2em;
|
||||
margin-right: 2em;
|
||||
font-size: 0.8em;
|
||||
padding: 0.5em 0.5em;
|
||||
}
|
||||
|
||||
.reply-to {
|
||||
margin-left: 2em;
|
||||
margin-right: 2em;
|
||||
font-size: 0.8em;
|
||||
padding-top: 2em;
|
||||
}
|
||||
|
||||
.reply-to + .note {
|
||||
margin-top: 0.3em;
|
||||
}
|
||||
|
||||
.mini-h-card {
|
||||
border-radius: 2px;
|
||||
border: 1px solid $base01;
|
||||
padding: 0 0.2em;
|
||||
text-decoration: none;
|
||||
margin-right: 5px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.mini-h-card img {
|
||||
height: 1.26em;
|
||||
display: inline;
|
||||
border-radius: 2px;
|
||||
vertical-align: text-bottom;
|
||||
}
|
||||
|
||||
.like-photo {
|
||||
height: 1.26em;
|
||||
}
|
||||
|
||||
.reply .e-content {
|
||||
margin-top: 0.5em;
|
||||
padding-left: 0.5em;
|
||||
}
|
||||
|
||||
.notes-subtitle {
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
.note-photo {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
image-orientation: from-image;
|
||||
}
|
||||
|
||||
//articles
|
||||
|
||||
article header {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.8em;
|
||||
}
|
||||
|
||||
.post-info {
|
||||
font-size: 0.8em;
|
||||
font-style: italic;
|
||||
margin-top: -0.8em;
|
||||
}
|
||||
|
||||
//contacts
|
||||
.contact {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.contact-links {
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
.contact img {
|
||||
height: auto;
|
||||
width: 2em;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.contact-info {
|
||||
margin-left: 2em;
|
||||
}
|
||||
|
||||
#map {
|
||||
height: 300px;
|
||||
}
|
||||
|
||||
/* media queries */
|
||||
@media (min-width: 700px) {
|
||||
main {
|
||||
margin-left: 10em;
|
||||
margin-right: 10em;
|
||||
}
|
||||
|
||||
footer {
|
||||
margin-left: 13em;
|
||||
margin-right: 13em;
|
||||
}
|
||||
|
||||
.youtube {
|
||||
width: 640px;
|
||||
height: 360px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 699px) {
|
||||
main {
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
article {
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
footer {
|
||||
margin-left: 15px;
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
.youtube {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
}
|
19
resources/lang/en/auth.php
Normal file
19
resources/lang/en/auth.php
Normal file
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Authentication Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used during authentication for various
|
||||
| messages that we need to display to the user. You are free to modify
|
||||
| these language lines according to your application's requirements.
|
||||
|
|
||||
*/
|
||||
|
||||
'failed' => 'These credentials do not match our records.',
|
||||
'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
|
||||
|
||||
];
|
19
resources/lang/en/pagination.php
Normal file
19
resources/lang/en/pagination.php
Normal file
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Pagination Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used by the paginator library to build
|
||||
| the simple pagination links. You are free to change them to anything
|
||||
| you want to customize your views to better match your application.
|
||||
|
|
||||
*/
|
||||
|
||||
'previous' => '« Previous',
|
||||
'next' => 'Next »',
|
||||
|
||||
];
|
22
resources/lang/en/passwords.php
Normal file
22
resources/lang/en/passwords.php
Normal file
|
@ -0,0 +1,22 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Password Reset Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are the default lines which match reasons
|
||||
| that are given by the password broker for a password update attempt
|
||||
| has failed, such as for an invalid token or invalid new password.
|
||||
|
|
||||
*/
|
||||
|
||||
'password' => 'Passwords must be at least six characters and match the confirmation.',
|
||||
'reset' => 'Your password has been reset!',
|
||||
'sent' => 'We have e-mailed your password reset link!',
|
||||
'token' => 'This password reset token is invalid.',
|
||||
'user' => "We can't find a user with that e-mail address.",
|
||||
|
||||
];
|
113
resources/lang/en/validation.php
Normal file
113
resources/lang/en/validation.php
Normal file
|
@ -0,0 +1,113 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Validation Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines contain the default error messages used by
|
||||
| the validator class. Some of these rules have multiple versions such
|
||||
| as the size rules. Feel free to tweak each of these messages here.
|
||||
|
|
||||
*/
|
||||
|
||||
'accepted' => 'The :attribute must be accepted.',
|
||||
'active_url' => 'The :attribute is not a valid URL.',
|
||||
'after' => 'The :attribute must be a date after :date.',
|
||||
'alpha' => 'The :attribute may only contain letters.',
|
||||
'alpha_dash' => 'The :attribute may only contain letters, numbers, and dashes.',
|
||||
'alpha_num' => 'The :attribute may only contain letters and numbers.',
|
||||
'array' => 'The :attribute must be an array.',
|
||||
'before' => 'The :attribute must be a date before :date.',
|
||||
'between' => [
|
||||
'numeric' => 'The :attribute must be between :min and :max.',
|
||||
'file' => 'The :attribute must be between :min and :max kilobytes.',
|
||||
'string' => 'The :attribute must be between :min and :max characters.',
|
||||
'array' => 'The :attribute must have between :min and :max items.',
|
||||
],
|
||||
'boolean' => 'The :attribute field must be true or false.',
|
||||
'confirmed' => 'The :attribute confirmation does not match.',
|
||||
'date' => 'The :attribute is not a valid date.',
|
||||
'date_format' => 'The :attribute does not match the format :format.',
|
||||
'different' => 'The :attribute and :other must be different.',
|
||||
'digits' => 'The :attribute must be :digits digits.',
|
||||
'digits_between' => 'The :attribute must be between :min and :max digits.',
|
||||
'distinct' => 'The :attribute field has a duplicate value.',
|
||||
'email' => 'The :attribute must be a valid email address.',
|
||||
'exists' => 'The selected :attribute is invalid.',
|
||||
'filled' => 'The :attribute field is required.',
|
||||
'image' => 'The :attribute must be an image.',
|
||||
'in' => 'The selected :attribute is invalid.',
|
||||
'in_array' => 'The :attribute field does not exist in :other.',
|
||||
'integer' => 'The :attribute must be an integer.',
|
||||
'ip' => 'The :attribute must be a valid IP address.',
|
||||
'json' => 'The :attribute must be a valid JSON string.',
|
||||
'max' => [
|
||||
'numeric' => 'The :attribute may not be greater than :max.',
|
||||
'file' => 'The :attribute may not be greater than :max kilobytes.',
|
||||
'string' => 'The :attribute may not be greater than :max characters.',
|
||||
'array' => 'The :attribute may not have more than :max items.',
|
||||
],
|
||||
'mimes' => 'The :attribute must be a file of type: :values.',
|
||||
'min' => [
|
||||
'numeric' => 'The :attribute must be at least :min.',
|
||||
'file' => 'The :attribute must be at least :min kilobytes.',
|
||||
'string' => 'The :attribute must be at least :min characters.',
|
||||
'array' => 'The :attribute must have at least :min items.',
|
||||
],
|
||||
'not_in' => 'The selected :attribute is invalid.',
|
||||
'numeric' => 'The :attribute must be a number.',
|
||||
'present' => 'The :attribute field must be present.',
|
||||
'regex' => 'The :attribute format is invalid.',
|
||||
'required' => 'The :attribute field is required.',
|
||||
'required_if' => 'The :attribute field is required when :other is :value.',
|
||||
'required_unless' => 'The :attribute field is required unless :other is in :values.',
|
||||
'required_with' => 'The :attribute field is required when :values is present.',
|
||||
'required_with_all' => 'The :attribute field is required when :values is present.',
|
||||
'required_without' => 'The :attribute field is required when :values is not present.',
|
||||
'required_without_all' => 'The :attribute field is required when none of :values are present.',
|
||||
'same' => 'The :attribute and :other must match.',
|
||||
'size' => [
|
||||
'numeric' => 'The :attribute must be :size.',
|
||||
'file' => 'The :attribute must be :size kilobytes.',
|
||||
'string' => 'The :attribute must be :size characters.',
|
||||
'array' => 'The :attribute must contain :size items.',
|
||||
],
|
||||
'string' => 'The :attribute must be a string.',
|
||||
'timezone' => 'The :attribute must be a valid zone.',
|
||||
'unique' => 'The :attribute has already been taken.',
|
||||
'url' => 'The :attribute format is invalid.',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Custom Validation Language Lines
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify custom validation messages for attributes using the
|
||||
| convention "attribute.rule" to name the lines. This makes it quick to
|
||||
| specify a specific custom language line for a given attribute rule.
|
||||
|
|
||||
*/
|
||||
|
||||
'custom' => [
|
||||
'attribute-name' => [
|
||||
'rule-name' => 'custom-message',
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Custom Validation Attributes
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| The following language lines are used to swap attribute place-holders
|
||||
| with something more reader friendly such as E-Mail Address instead
|
||||
| of "email". This simply helps us make messages a little cleaner.
|
||||
|
|
||||
*/
|
||||
|
||||
'attributes' => [],
|
||||
|
||||
];
|
13
resources/views/admin/deletearticle.blade.php
Normal file
13
resources/views/admin/deletearticle.blade.php
Normal file
|
@ -0,0 +1,13 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
Delete Article? « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<form action="/admin/blog/delete/{{ $id }}" method="post">
|
||||
<label for="delete">Are you sure you want to delete this post? </label><input type="checkbox" name="delete" id="delete">
|
||||
<br>
|
||||
<input type="submit" id="submit" value="Submit">
|
||||
</form>
|
||||
@stop
|
9
resources/views/admin/deletearticlesuccess.blade.php
Normal file
9
resources/views/admin/deletearticlesuccess.blade.php
Normal file
|
@ -0,0 +1,9 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
Article Deleted « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<p>You have successfully deletd the article with id: {{ $id }}</p>
|
||||
@stop
|
9
resources/views/admin/deleteclientsuccess.blade.php
Normal file
9
resources/views/admin/deleteclientsuccess.blade.php
Normal file
|
@ -0,0 +1,9 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
Edit Client « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<p>Successfully deleted the client information.</p>
|
||||
@stop
|
14
resources/views/admin/deletecontact.blade.php
Normal file
14
resources/views/admin/deletecontact.blade.php
Normal file
|
@ -0,0 +1,14 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
Delete Contact? « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<form action="/admin/contacts/delete/{{ $id }}" method="post">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||
<label for="delete">Are you sure you want to delete this contact? </label><input type="checkbox" name="delete" id="delete">
|
||||
<br>
|
||||
<input type="submit" id="submit" value="Submit">
|
||||
</form>
|
||||
@stop
|
9
resources/views/admin/deletecontactsuccess.blade.php
Normal file
9
resources/views/admin/deletecontactsuccess.blade.php
Normal file
|
@ -0,0 +1,9 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
Deleted Contact « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<p>Successfully deleted the contact information.</p>
|
||||
@stop
|
13
resources/views/admin/deletetoken.blade.php
Normal file
13
resources/views/admin/deletetoken.blade.php
Normal file
|
@ -0,0 +1,13 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
Delete Token? « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<form action="/admin/tokens/delete/{{ $id }}" method="post">
|
||||
<label for="delete">Are you sure you want to delete this token? </label><input type="checkbox" name="delete" id="delete">
|
||||
<br>
|
||||
<input type="submit" id="submit" value="Submit">
|
||||
</form>
|
||||
@stop
|
9
resources/views/admin/deletetokensuccess.blade.php
Normal file
9
resources/views/admin/deletetokensuccess.blade.php
Normal file
|
@ -0,0 +1,9 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
Token Deleted « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<p>You have successfully deletd the token: {{ $id }}</p>
|
||||
@stop
|
41
resources/views/admin/editarticle.blade.php
Normal file
41
resources/views/admin/editarticle.blade.php
Normal file
|
@ -0,0 +1,41 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
Edit Article « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<form action="/admin/blog/edit/{{ $id }}" method="post" accept-charset="utf-8">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||
<label for="title">Title (URL):</label>
|
||||
<br>
|
||||
<input type="text" name="title" id="title" value="{!! $post['0']['title'] !!}">
|
||||
<br>
|
||||
<input type="url" name="url" id="url" value="{!! $post['0']['url'] !!}">
|
||||
<br>
|
||||
<label for="main">Main:</label>
|
||||
<br>
|
||||
<textarea name="main" id="main">{{ $post['0']['main'] }}</textarea>
|
||||
<br>
|
||||
<label for="published">Published:</label><input type="checkbox" name="published" value="1"@if($post['0']['published'] == '1') checked="checked"@endif>
|
||||
<br>
|
||||
<input type="submit" name="save" value="Save">
|
||||
</form>
|
||||
<h2>Preview</h2>
|
||||
@stop
|
||||
|
||||
@section('scripts')
|
||||
@parent
|
||||
<script src="{{ elixir('assets/js/marked.min.js') }}"></script>
|
||||
<script>
|
||||
var preview = document.createElement('div');
|
||||
preview.classList.add('preview');
|
||||
var main = document.querySelector('main');
|
||||
main.appendChild(preview);
|
||||
var textarea = document.querySelector('textarea');
|
||||
window.setInterval(function () {
|
||||
var markdown = textarea.value;
|
||||
preview.innerHTML = marked(markdown);
|
||||
}, 5000);
|
||||
</script>
|
||||
@stop
|
9
resources/views/admin/editarticlesuccess.blade.php
Normal file
9
resources/views/admin/editarticlesuccess.blade.php
Normal file
|
@ -0,0 +1,9 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
Article Successfully Edited « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<p>Successfully edited article with id: {{ $id }}</p>
|
||||
@stop
|
15
resources/views/admin/editclient.blade.php
Normal file
15
resources/views/admin/editclient.blade.php
Normal file
|
@ -0,0 +1,15 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
Edit Client « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<h1>Edit Client</h1>
|
||||
<form action="/admin/clients/edit/{{ $id }}" method="post" accept-charset="utf-8">
|
||||
<input type="text" name="client_url" id="client_url" value="{{ $client_url }}"><br>
|
||||
<input type="text" name="client_name" id="client_name" value="{{ $client_name }}"><br>
|
||||
<input type="submit" name="edit" value="Edit"><br><br>
|
||||
<input type="submit" name="delete" value="Delete">
|
||||
</form>
|
||||
@stop
|
9
resources/views/admin/editclientsuccess.blade.php
Normal file
9
resources/views/admin/editclientsuccess.blade.php
Normal file
|
@ -0,0 +1,9 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
Edit Client « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<p>Successfully edited the client information.</p>
|
||||
@stop
|
20
resources/views/admin/editcontact.blade.php
Normal file
20
resources/views/admin/editcontact.blade.php
Normal file
|
@ -0,0 +1,20 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
Edit Contact « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<h1>Edit Contact</h1>
|
||||
<form action="/admin/contacts/edit/{{ $contact->id }}" method="post" enctype="multipart/form-data" accept-charset="utf-8">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||
<label for="name">Real Name:</label> <input type="text" name="name" id="name" placeholder="Real Name" value="{{ $contact->name }}"><br>
|
||||
<label for="nick">Nick:</label> <input type="text" name="nick" id="nick" placeholder="local_nick" value="{{ $contact->nick }}"><br>
|
||||
<label for="homepage">Homepage:</label> <input type="text" name="homepage" id="homepage" placeholder="https://homepage.com" value="{{ $contact->homepage }}"><br>
|
||||
<label for="twitter">Twitter Nick:</label> <input type="text" name="twitter" id="twitter" placeholder="Twitter handle" value="{{ $contact->twitter }}"><br>
|
||||
<label for="avatar">Avatar:</label> <input type="file" accept="image/*" value="Upluad" name="avatar" id="avatar"><br>
|
||||
<input type="submit" name="submit" value="Submit">
|
||||
</form>
|
||||
<p>Or do you want to <a href="/admin/contacts/delete/{{ $contact->id }}">delete</a> this contact?</p>
|
||||
<p>Instead of uploading an image, you can <a href="/admin/contacts/edit/{{ $contact->id }}/getavatar">grab from their homepage</a>?</p>
|
||||
@stop
|
9
resources/views/admin/editcontactsuccess.blade.php
Normal file
9
resources/views/admin/editcontactsuccess.blade.php
Normal file
|
@ -0,0 +1,9 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
Edit Contact « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<p>Successfully edited the contact information.</p>
|
||||
@stop
|
18
resources/views/admin/editnote.blade.php
Normal file
18
resources/views/admin/editnote.blade.php
Normal file
|
@ -0,0 +1,18 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
Edit Note « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<form action="/admin/note/edit/{{ $id }}" method="post" accept-charset="utf-8">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||
<fieldset class="note-ui">
|
||||
<legend>Edit Note</legend>
|
||||
<label for="in-reply-to" accesskey="r">Reply-to: </label><input type="text" name="in-reply-to" id="in-reply-to" placeholder="in-reply-to-1 in-reply-to-2 …" tabindex="1" value="{{ $note->in_reply_to }}"><br>
|
||||
<label for="content" accesskey="n">Note: </label><textarea name="content" id="content" placeholder="Note" tabindex="2">{{ $note->originalNote }}</textarea><br>
|
||||
<label for="webmentions" accesskey="w">Send webmentions: </label><input type="checkbox" name="webmentions" id="webmentions" checked="checked" tabindex="3"><br>
|
||||
<label for="kludge"></label><input type="submit" value="Submit" tabindex="6"><br>
|
||||
</fieldset>
|
||||
</form>
|
||||
@stop
|
9
resources/views/admin/editnotesuccess.blade.php
Normal file
9
resources/views/admin/editnotesuccess.blade.php
Normal file
|
@ -0,0 +1,9 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
Note Successfully Edited « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<p>Successfully edited note with id: {{ $id }}.</p>
|
||||
@stop
|
18
resources/views/admin/editplace.blade.php
Normal file
18
resources/views/admin/editplace.blade.php
Normal file
|
@ -0,0 +1,18 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
Edit Place « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<h1>Edit Place</h1>
|
||||
<form action="/admin/places/edit/{{ $id }}" method="post" accept-charset="utf-8">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||
<input type="text" name="name" id="name" value="{{ $name }}"><br>
|
||||
<input type="text" name="description" id="description" value="{{ $description }}"><br>
|
||||
<input type="text" name="latitude" id="latitude" value="{{ $latitude }}"><br>
|
||||
<input type="text" name="longitude" id="longitude" value="{{ $longitude }}"><br>
|
||||
<input type="submit" name="edit" value="Edit"><br><br>
|
||||
<input type="submit" name="delete" value="Delete">
|
||||
</form>
|
||||
@stop
|
9
resources/views/admin/editplacesuccess.blade.php
Normal file
9
resources/views/admin/editplacesuccess.blade.php
Normal file
|
@ -0,0 +1,9 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
Edit Place « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<p>Successfully edited the place information.</p>
|
||||
@stop
|
10
resources/views/admin/getavatarsuccess.blade.php
Normal file
10
resources/views/admin/getavatarsuccess.blade.php
Normal file
|
@ -0,0 +1,10 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
New Contact Avatar « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<p>Successfully saved the avatar contact</p>
|
||||
<img src="/assets/profile-images/{{ $homepage }}/image">
|
||||
@stop
|
14
resources/views/admin/listarticles.blade.php
Normal file
14
resources/views/admin/listarticles.blade.php
Normal file
|
@ -0,0 +1,14 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
List Articles « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<p>Select article to edit:</p>
|
||||
<ol reversed>
|
||||
@foreach($posts as $post)
|
||||
<li><a href="/admin/blog/edit/{{ $post['id'] }}">{{ $post['title'] }}</a>@if($post['published'] == '0')<span class="notpublished">not published</span>@endif <a href="/admin/blog/delete/{{ $post['id'] }}">Delete?</a>
|
||||
@endforeach
|
||||
</ol>
|
||||
@stop
|
17
resources/views/admin/listclients.blade.php
Normal file
17
resources/views/admin/listclients.blade.php
Normal file
|
@ -0,0 +1,17 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
List Clients « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<h1>Clients</h1>
|
||||
<ul>
|
||||
@foreach($clients as $client)
|
||||
<li>{{ $client['client_url'] }} : {{ $client['client_name'] }}
|
||||
<a href="/admin/clients/edit/{{ $client['id'] }}">edit?</a>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
<p>Createn a <a href="/admin/clients/new">new entry</a>?</p>
|
||||
@stop
|
27
resources/views/admin/listcontacts.blade.php
Normal file
27
resources/views/admin/listcontacts.blade.php
Normal file
|
@ -0,0 +1,27 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
List Contacts « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<h1>Contacts</h1>
|
||||
<table>
|
||||
<tr>
|
||||
<th>Real Name</th>
|
||||
<th>Nick</th>
|
||||
<th>Homepage</th>
|
||||
<th>Twitter</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
@foreach($contacts as $contact)
|
||||
<tr>
|
||||
<td>{{ $contact->name }}</td>
|
||||
<td>{{ $contact->nick }}</td>
|
||||
<td>{{ $contact->homepage }}</td>
|
||||
<td>{{ $contact->twitter }}</td>
|
||||
<td><a href="/admin/contacts/edit/{{ $contact->id }}">edit</a></td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
@stop
|
14
resources/views/admin/listnotes.blade.php
Normal file
14
resources/views/admin/listnotes.blade.php
Normal file
|
@ -0,0 +1,14 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
List Notes « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<p>Select note to edit:</p>
|
||||
<ol reversed>
|
||||
@foreach($notes as $note)
|
||||
<li><a href="/admin/note/edit/{{ $note->id }}">{{ $note->originalNote }}</a></li>
|
||||
@endforeach
|
||||
</ol>
|
||||
@stop
|
15
resources/views/admin/listplaces.blade.php
Normal file
15
resources/views/admin/listplaces.blade.php
Normal file
|
@ -0,0 +1,15 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
List Places « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<h1>Places</h1>
|
||||
<ul>
|
||||
@foreach($places as $place)
|
||||
<li>{{ $place['name'] }} <a href="/admin/places/edit/{{ $place['id'] }}">edit?</a></li>
|
||||
@endforeach
|
||||
</ul>
|
||||
<p>Createn a <a href="/admin/places/new">new entry</a>?</p>
|
||||
@stop
|
21
resources/views/admin/listtokens.blade.php
Normal file
21
resources/views/admin/listtokens.blade.php
Normal file
|
@ -0,0 +1,21 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
List Tokens « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<h1>Tokens</h1>
|
||||
<ul>
|
||||
@foreach($tokens as $token => $data)
|
||||
<li>{{ $token }}
|
||||
<ul>
|
||||
@foreach($data as $key => $value)
|
||||
<li>{{ $key }}: <?php if(is_array($value)) { echo '<ul>'; foreach($value as $scope) { echo "<li>$scope</li>"; } echo '</ul>'; } else { echo $value; }; ?></li>
|
||||
@endforeach
|
||||
</ul>
|
||||
<a href="/admin/tokens/delete/{{ $token }}">delete?</a>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
@stop
|
49
resources/views/admin/newarticle.blade.php
Normal file
49
resources/views/admin/newarticle.blade.php
Normal file
|
@ -0,0 +1,49 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
New Article « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
@if(isset($message))<p class="error">{{ $message }}</p>@endif
|
||||
<form action="/admin/blog/new" method="post" accept-charset="utf-8" enctype="multipart/form-data" id="newarticle">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||
<label for="title">Title (URL):</label>
|
||||
<br>
|
||||
<input type="text" name="title" id="title" value="{{ old('title') }}" placeholder="Title here">
|
||||
<br>
|
||||
<input type="text" name="url" id="url" value="{{ old('url') }}" placeholder="Article URL">
|
||||
<br>
|
||||
<label for="main">Main:</label>
|
||||
<br>
|
||||
<textarea name="main" id="main" placeholder="Article here">{{ old('main') }}</textarea>
|
||||
<br>
|
||||
<label for="published">Published:</label><input type="checkbox" name="published" id="published" value="1">
|
||||
<br>
|
||||
<p>Or you can upload an <code>.md</code> file:</p><input type="file" accept=".md" name="article">
|
||||
<br>
|
||||
<button type="submit" name="save">Save</button>
|
||||
</form>
|
||||
<h2>Preview</h2>
|
||||
@stop
|
||||
|
||||
@section('scripts')
|
||||
@parent
|
||||
<script src="{{ elixir('assets/js/marked.min.js') }}"></script>
|
||||
<script>
|
||||
var preview = document.createElement('div');
|
||||
preview.classList.add('preview');
|
||||
var main = document.querySelector('main');
|
||||
main.appendChild(preview);
|
||||
var textarea = document.querySelector('textarea');
|
||||
window.setInterval(function () {
|
||||
var markdown = textarea.value;
|
||||
preview.innerHTML = marked(markdown);
|
||||
}, 5000);
|
||||
</script>
|
||||
<script src="{{ elixir('assets/js/store2.min.js') }}"></script>
|
||||
<script src="{{ elixir('assets/js/alertify.js') }}"></script>
|
||||
<script src="{{ elixir('assets/js/form-save.js') }}"></script>
|
||||
|
||||
<link rel="stylesheet" href="{{ elixir('assets/css/alertify.css') }}">
|
||||
@stop
|
9
resources/views/admin/newarticlesuccess.blade.php
Normal file
9
resources/views/admin/newarticlesuccess.blade.php
Normal file
|
@ -0,0 +1,9 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
New Article Success « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<p>Successfully created article with id: {{ $id }}, title: {{ $title }}</p>
|
||||
@stop
|
15
resources/views/admin/newclient.blade.php
Normal file
15
resources/views/admin/newclient.blade.php
Normal file
|
@ -0,0 +1,15 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
New Client « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<h1>New Client</h1>
|
||||
<form action="/admin/clients/new" method="post" accept-charset="utf-8">
|
||||
<input type="hidden" name="_token" value="{{ csrftoken() }}">
|
||||
<input type="text" name="client_url" id="client_url" placeholder="client_url"><br>
|
||||
<input type="text" name="client_name" id="client_name" placeholder="client_name"><br>
|
||||
<input type="submit" name="submit" value="Submit">
|
||||
</form>
|
||||
@stop
|
9
resources/views/admin/newclientsuccess.blade.php
Normal file
9
resources/views/admin/newclientsuccess.blade.php
Normal file
|
@ -0,0 +1,9 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
New Client « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<p>Succesfully created new client info.</p>
|
||||
@stop
|
17
resources/views/admin/newcontact.blade.php
Normal file
17
resources/views/admin/newcontact.blade.php
Normal file
|
@ -0,0 +1,17 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
New Contact « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<h1>New Contact</h1>
|
||||
<form action="/admin/contacts/new" method="post" accept-charset="utf-8">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||
<label for="name">Real Name:</label> <input type="text" name="name" id="name" placeholder="Real Name"><br>
|
||||
<label for="nick">Nick:</label> <input type="text" name="nick" id="nick" placeholder="local_nick"><br>
|
||||
<label for="homepage">Homepage:</label> <input type="text" name="homepage" id="homepage" placeholder="https://homepage.com"><br>
|
||||
<label for="twitter">Twitter Nick:</label> <input type="text" name="twitter" id="twitter" placeholder="Twitter handle"><br>
|
||||
<input type="submit" name="submit" value="Submit">
|
||||
</form>
|
||||
@stop
|
9
resources/views/admin/newcontactsuccess.blade.php
Normal file
9
resources/views/admin/newcontactsuccess.blade.php
Normal file
|
@ -0,0 +1,9 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
New Contact « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<p>Succesfully created new contact entry.</p>
|
||||
@stop
|
34
resources/views/admin/newnote.blade.php
Normal file
34
resources/views/admin/newnote.blade.php
Normal file
|
@ -0,0 +1,34 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
New Note « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
@if (count($errors) > 0)
|
||||
<div class="errors">
|
||||
<ul>
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
@include('templates.new-note-form', [
|
||||
'micropub' => false,
|
||||
'action' => '/admin/note/new',
|
||||
'id' => 'newnote-admin'
|
||||
])
|
||||
@stop
|
||||
|
||||
@section('scripts')
|
||||
<link rel="styelsheet" href="https://api.mapbox.com/mapbox.js/v2.2.3/mapbox.css">
|
||||
<script src="https://api.mapbox.com/mapbox.js/v2.2.3/mapbox.js"></script>
|
||||
|
||||
<script src="{{ elixir('assets/js/newnote.js') }}"></script>
|
||||
<script src="{{ elixir('assets/js/store2.min.js') }}"></script>
|
||||
<script src="{{ elixir('assets/js/alertify.js') }}"></script>
|
||||
<script src="{{ elixir('assets/js/form-save.js') }}"></script>
|
||||
|
||||
<link rel="stylesheet" href="{{ elixir('assets/css/alertify.css') }}">
|
||||
@stop
|
9
resources/views/admin/newnotesuccess.blade.php
Normal file
9
resources/views/admin/newnotesuccess.blade.php
Normal file
|
@ -0,0 +1,9 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
New Note Success « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<p>Successfully created note with id: {{ $id }}. {{ $shorturl }}</p>
|
||||
@stop
|
24
resources/views/admin/newplace.blade.php
Normal file
24
resources/views/admin/newplace.blade.php
Normal file
|
@ -0,0 +1,24 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
New Place « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<h1>New Place</h1>
|
||||
<form action="/admin/places/new" method="post" accept-charset="utf-8">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||
<label for="name">Name:</label> <input type="text" name="name" id="name" placeholder="Place Name"><br>
|
||||
<label for="description">Description:</label> <input type="text" name="description" id="description" placeholder="Description"><br>
|
||||
<label for="latitude">Latitude:</label> <input type="text" name="latitude" id="latitude" placeholder="Latitude"><br>
|
||||
<label for="longitude">Longitude:</label> <input type="text" name="longitude" id="longitude" placeholder="Longitude"><br>
|
||||
<input type="submit" name="submit" value="Submit">
|
||||
<h2>Location</h2>
|
||||
<button type="button" name="locate" id="locate">Locate</button>
|
||||
</form>
|
||||
@stop
|
||||
|
||||
@section('scripts')
|
||||
<script src="/assets/js/libs/mapbox.v2.2.1.js"></script>
|
||||
<script src="{{ elixir('assets/js/newplace.js') }}"></script>
|
||||
@stop
|
9
resources/views/admin/newplacesuccess.blade.php
Normal file
9
resources/views/admin/newplacesuccess.blade.php
Normal file
|
@ -0,0 +1,9 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
New Place « Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<p>Succesfully created new place info.</p>
|
||||
@stop
|
24
resources/views/admin/welcome.blade.php
Normal file
24
resources/views/admin/welcome.blade.php
Normal file
|
@ -0,0 +1,24 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
Admin CP
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<h1>Hello {{ $name }}!</h1>
|
||||
|
||||
<h2>Articles</h2>
|
||||
<p>You can either <a href="/admin/blog/new">create</a> new blog posts, or <a href="/admin/blog/edit">edit</a> them.<p>
|
||||
|
||||
<h2>Notes</h2>
|
||||
<p>You can either <a href="/admin/note/new">create</a> new notes, or <a href="/admin/note/edit">edit</a> them.<p>
|
||||
|
||||
<h2>Tokens</h2>
|
||||
<p>See all <a href="/admin/tokens">issued tokens</a>.</p>
|
||||
|
||||
<h2>Contacts</h2>
|
||||
<p>You can either <a href="/admin/contacts/new">create</a> new contacts, or <a href="/admin/contacts/edit">edit</a> them.</p>
|
||||
|
||||
<h2>Places</h2>
|
||||
<p>You can either <a href="/admin/places/new">create</a> new places, or <a href="/admin/places/edit">edit</a> them.</p>
|
||||
@stop
|
31
resources/views/allnotes.blade.php
Normal file
31
resources/views/allnotes.blade.php
Normal file
|
@ -0,0 +1,31 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
Notes « Jonny Barnes
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<div class="h-feed">
|
||||
<!-- the following span stops microformat parses going haywire generating
|
||||
a name property for the h-feed -->
|
||||
<span class="p-name"></span>
|
||||
@foreach ($notes as $note)
|
||||
<div class="h-entry">
|
||||
@include('templates.note', ['note' => $note])
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
{!! $notes->render() !!}
|
||||
@stop
|
||||
|
||||
@section('scripts')
|
||||
<link rel="stylesheet" href="https://api.mapbox.com/mapbox.js/v2.2.3/mapbox.css">
|
||||
<script src="https://api.mapbox.com/mapbox.js/v2.2.3/mapbox.js"></script>
|
||||
|
||||
<script src="{{ elixir('assets/js/Autolinker.min.js') }}"></script>
|
||||
<script src="{{ elixir('assets/js/links.js') }}"></script>
|
||||
<script src="{{ elixir('assets/js/maps.js') }}"></script>
|
||||
|
||||
<script src="{{ elixir('assets/js/prism.js') }}"></script>
|
||||
<link rel="stylesheet" href="{{ elixir('assets/css/prism.css') }}">
|
||||
@stop
|
13
resources/views/allplaces.blade.php
Normal file
13
resources/views/allplaces.blade.php
Normal file
|
@ -0,0 +1,13 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
Places « Jonny Barnes
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<ul>
|
||||
@foreach($places as $place)
|
||||
<li><a href="/places/{{ $place->slug }}">{{ $place->name }}</a></li>
|
||||
@endforeach
|
||||
</ul>
|
||||
@stop
|
10
resources/views/contact-template.blade.php
Normal file
10
resources/views/contact-template.blade.php
Normal file
|
@ -0,0 +1,10 @@
|
|||
<div class="contact h-card">
|
||||
<div class="contact-info">
|
||||
<span class="p-name">{{ $contact->name }}</span> <a href="/contacts/{{ $contact->nick }}">{{ '@' . $contact->nick }}</a>
|
||||
<ul class="contact-links">
|
||||
<li><i class="fa fa-globe fa-fw"></i><a href="{{ $contact->homepage }}" class="u-url">{{ $contact->homepagePretty }}</a></li>
|
||||
@if($contact->twitter != null)<li><i class="fa fa-twitter fa-fw"></i><a href="https://twitter.com/{{ $contact->twitter }}">{{ $contact->twitter }}</a></li>@endif
|
||||
</ul>
|
||||
</div>
|
||||
<img src="{{ $contact->image }}" alt="" class="u-photo">
|
||||
</div>
|
9
resources/views/contact.blade.php
Normal file
9
resources/views/contact.blade.php
Normal file
|
@ -0,0 +1,9 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
Contacts « Jonny Barnes
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
@include('contact-template', array('contact' => $contact))
|
||||
@stop
|
11
resources/views/contacts.blade.php
Normal file
11
resources/views/contacts.blade.php
Normal file
|
@ -0,0 +1,11 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
Contacts « Jonny Barnes
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
@foreach($contacts as $contact)
|
||||
@include('contact-template', array('contact' => $contact))
|
||||
@endforeach
|
||||
@stop
|
47
resources/views/errors/503.blade.php
Normal file
47
resources/views/errors/503.blade.php
Normal file
|
@ -0,0 +1,47 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Be right back.</title>
|
||||
|
||||
<link href="https://fonts.googleapis.com/css?family=Lato:100" rel="stylesheet" type="text/css">
|
||||
|
||||
<style>
|
||||
html, body {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
color: #B0BEC5;
|
||||
display: table;
|
||||
font-weight: 100;
|
||||
font-family: 'Lato';
|
||||
}
|
||||
|
||||
.container {
|
||||
text-align: center;
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.content {
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 72px;
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="content">
|
||||
<div class="title">Be right back.</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
29
resources/views/homepage.blade.php
Normal file
29
resources/views/homepage.blade.php
Normal file
|
@ -0,0 +1,29 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
Jonny Barnes
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<div class="h-card">
|
||||
<h2>Hello</h2>
|
||||
<p>My name is <span class="p-name p-author">Jonny Barnes</span>, and I’m from <a href="https://en.wikipedia.org/wiki/Manchester" class="h-adr p-adr"><span class="p-locality">Manchester</span>, <abbr class="p-country-name" title="United Kingdom">UK</abbr></a>. I love everything web-related and this is a little place on the web I call my own. My aim now is to try and adhere to the <a href="https://indiewebcamp.com/principles">IndieWeb principles</a> and thus own my data.</p>
|
||||
<p>My aim for this homepage is to turn it into a stream of my latest notes and articles I’ve written. Then maybe pull data from places like <a href="https://last.fm">last.fm</a>. Talking of which:</p>
|
||||
|
||||
<h2>Me Around the Web</h2>
|
||||
<p>Obviously there’s <a href="/" class="u-url u-uid">this website</a>, which is my main online identity.</p>
|
||||
<p>I am active to varying degrees on several <a href="https://indiewebcamp.com/silo">silos</a>:
|
||||
<ul class="social-list">
|
||||
<li>I keep in touch with friends on <a rel="me" href="https://www.facebook.com/jonnybarnes" class="u-url">Facebook</a></li>
|
||||
<li>I follow people I find interesting on <a rel="me" href="https://twitter.com/jonnybarnes" class="u-url">Twitter</a></li>
|
||||
<li>I geek out on <a rel="me" href="https://alpha.app.net/jonnybarnes" class="u-url">app.net</a></li>
|
||||
<li>I exist on <a rel="me" href="https://plus.google.com/117317270900655269082" class="u-url">Google+</a></li>
|
||||
<!--<li>I post photos to <a rel="me" href="http://www.flickr.com/photos/22212133@N03/" class="u-url">flickr</a></li>-->
|
||||
<li>I push code to <a rel="me" href="https://github.com/jonnybarnes" class="u-url">GitHub</a></li>
|
||||
<li>I scrobble songs to <a rel="me" href="https://last.fm/user/jonnymbarnes" class="u-url">last.fm</a> that I listen to on <a rel="me" href="https://open.spotify.com/user/jonnybarnes89" class="u-url">Spotify</a></li>
|
||||
</ul>
|
||||
<p>My usual online handle is <span class="nickname">jonnybarnes</span> for other services, though if they’re not listed above then I don’t actively use the service. My usual <a href="/assets/img/jmb-bw.png" class="u-photo photo">profile pic</a>. I also have a <a class="pgpkey" href="/assets/jonnybarnes-public-key-ecc.asc">PGP key</a>, with <a href="/notes/5g">fingerprint</a>.</p>
|
||||
|
||||
<p>Though of course all this activity should eventually “flow” through this website if it is to truely be my online identity.</p>
|
||||
</div>
|
||||
@stop
|
12
resources/views/login.blade.php
Normal file
12
resources/views/login.blade.php
Normal file
|
@ -0,0 +1,12 @@
|
|||
@extends('master')
|
||||
@section('title')Login @stop
|
||||
|
||||
@section('content')
|
||||
<h2>Login</h2>
|
||||
<form action="login" method="post">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||
<input type="text" name="username" placeholder="username">
|
||||
<input type="password" name="password" placeholder="password">
|
||||
<input type="submit" name="submit" value="Login">
|
||||
</form>
|
||||
@stop
|
58
resources/views/master.blade.php
Normal file
58
resources/views/master.blade.php
Normal file
|
@ -0,0 +1,58 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en-GB">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>@if (App::environment() == 'local'){!! "[testing] -"!!}@endif @yield('title')</title>
|
||||
<meta name="viewport" content="width=device-width">
|
||||
<link rel="stylesheet" href="{{ elixir('assets/css/sanitize.min.css') }}">
|
||||
<link rel="stylesheet" href="{{ elixir('assets/css/global.css') }}">
|
||||
<link rel="openid.server" href="https://indieauth.com/openid">
|
||||
<link rel="openid.delegate" href="https://jonnybarnes.uk">
|
||||
<link rel="authorization_endpoint" href="https://indieauth.com/auth">
|
||||
<link rel="token_endpoint" href="{{ config('app.url') }}/api/token">
|
||||
<link rel="micropub" href="{{ config('app.url') }}/api/post">
|
||||
<link rel="webmention" href="{{ config('app.url') }}/webmention">
|
||||
<link rel="shortcut icon" href="/assets/img/jmb-bw.png">
|
||||
<link rel="pgpkey" href="/assets/jonnybarnes-public-key-ecc.asc">
|
||||
</head>
|
||||
<body>
|
||||
<header id="topheader">
|
||||
<a rel="author" href="/">
|
||||
<h1>Jonny Barnes</h1>
|
||||
</a>
|
||||
<nav>
|
||||
<a href="/blog">Articles</a>
|
||||
<a href="/notes">Notes</a>
|
||||
<a href="/projects">Projects</a>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
@yield('content')
|
||||
</main>
|
||||
<script src="//use.typekit.net/kmb3cdb.js"></script>
|
||||
<script>try{Typekit.load({ async: true });}catch(e){}</script>
|
||||
@section('scripts')
|
||||
<!--scripts go here when needed-->
|
||||
@show
|
||||
|
||||
{{-- The piwik code that should only be shown in production --}}
|
||||
@if (env('PIWIK_URL') !== null)
|
||||
<!-- Piwik -->
|
||||
<script type="text/javascript">
|
||||
var _paq = _paq || [];
|
||||
_paq.push(['trackPageView']);
|
||||
_paq.push(['enableLinkTracking']);
|
||||
(function() {
|
||||
var u="{{ env('PIWIK_URL') }}";
|
||||
_paq.push(['setTrackerUrl', u+'/piwik.php']);
|
||||
_paq.push(['setSiteId', {{ env('PIWIK_SITE_ID') }}]);
|
||||
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
||||
g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'/piwik.js'; s.parentNode.insertBefore(g,s);
|
||||
})();
|
||||
</script>
|
||||
<noscript><p><img src="{{ env('PIWIK_URL') }}/piwik.php?idsite={{ env('PIWIK_SITE_ID') }}" style="border:0;" alt="" /></p></noscript>
|
||||
<!-- End Piwik Code -->
|
||||
@endif
|
||||
</body>
|
||||
</html>
|
45
resources/views/micropubnewnotepage.blade.php
Normal file
45
resources/views/micropubnewnotepage.blade.php
Normal file
|
@ -0,0 +1,45 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
New Note « Jonny Barnes
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<p>This is my UI for posting new notes, hopefully you’ll soon be able to use this if your site supports the micropub API.</p>
|
||||
@if($errors->endpoint->first() != '')
|
||||
<p class="error">{{ $errors->endpoint->first() }}</p>
|
||||
@endif
|
||||
@if($errors->indieauth->first() != '')
|
||||
<p class="error">{{ $errors->indieauth->first() }}</p>
|
||||
@endif
|
||||
@if($url === null)
|
||||
<form action="/beginauth" method="post" id="login">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||
<fieldset>
|
||||
<legend>IndieAuth</legend>
|
||||
<label for="indie_auth_url" accesskey="a">Web Address: </label><input type="text" name="me" id="indie_auth_url" placeholder="yourdomain.com">
|
||||
<label for="kludge"></label><button type="submit" name="sign-in" id="sign-in" value="Sign in">Sign in</button>
|
||||
</fieldset>
|
||||
</form>
|
||||
@else
|
||||
<p>You are authenticated as <code>{{ $url }}</code>, <a href="/logout">log out</a>.</p>
|
||||
@endif
|
||||
@include('templates.new-note-form', [
|
||||
'micropub' => true,
|
||||
'action' => '/notes/new',
|
||||
'id' => 'newnote'
|
||||
])
|
||||
@stop
|
||||
|
||||
@section('scripts')
|
||||
<link rel="stylesheet" href="https://api.mapbox.com/mapbox.js/v2.2.3/mapbox.css">
|
||||
<script src="https://api.mapbox.com/mapbox.js/v2.2.3/mapbox.js"></script>
|
||||
|
||||
<script src="{{ elixir('assets/js/fetch.js') }}"></script>
|
||||
<script src="{{ elixir('assets/js/store2.min.js') }}"></script>
|
||||
<script src="{{ elixir('assets/js/alertify.js') }}"></script>
|
||||
<script src="{{ elixir('assets/js/form-save.js') }}"></script>
|
||||
<script src="{{ elixir('assets/js/newnote.js') }}"></script>
|
||||
|
||||
<link rel="stylesheet" href="{{ elixir('assets/css/alertify.css') }}">
|
||||
@stop
|
4
resources/views/mini-hcard-template.blade.php
Normal file
4
resources/views/mini-hcard-template.blade.php
Normal file
|
@ -0,0 +1,4 @@
|
|||
<a class="h-card vcard mini-h-card" href="{{ $contact->homepage }}">
|
||||
<img class="u-photo photo logo" alt="" src="{{ $contact->photo }}">
|
||||
{!! $contact->name !!}
|
||||
</a>
|
30
resources/views/multipost.blade.php
Normal file
30
resources/views/multipost.blade.php
Normal file
|
@ -0,0 +1,30 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
Articles « Jonny Barnes
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
@if (count($data) == 0)
|
||||
<p>No articles exist for this time.</p>
|
||||
@endif
|
||||
@foreach ($data as $article)
|
||||
@if ($article['url'] != '')<article class="link h-entry">@else<article class="h-entry">@endif
|
||||
<header>
|
||||
<h1 class="p-name">
|
||||
<a href="@if($article['url'] == ''){{ $article['link'] }}@else{{ $article['url'] }}@endif">{{ $article['title'] }}</a>
|
||||
</h1>
|
||||
<span class="post-info">Posted <time class="dt-published" title="{{ $article['tooltip_time'] }}" datetime="{{ $article['w3c_time'] }}">{{ $article['human_time'] }}</time> - <a title="Permalink" href="{{ $article['link'] }}"><span class="permalink"><?php echo html_entity_decode('∞'); ?></span></a></span>
|
||||
</header>
|
||||
<div class="e-content">
|
||||
{!! $article['main'] !!}
|
||||
</div>
|
||||
</article>
|
||||
@endforeach
|
||||
{!! $data->render() !!}
|
||||
@stop
|
||||
|
||||
@section('scripts')
|
||||
<script src="{{ elixir('assets/js/prism.js') }}"></script>
|
||||
<link rel="stylesheet" href="{{ elixir('assets/css/prism.css') }}">
|
||||
@stop
|
14
resources/views/projects.blade.php
Normal file
14
resources/views/projects.blade.php
Normal file
|
@ -0,0 +1,14 @@
|
|||
@extends('master')
|
||||
@section('title')Jonny Barnes’ Projects @stop
|
||||
|
||||
@section('content')
|
||||
<div id="projects">
|
||||
<h2>Projects</h2>
|
||||
<h3><a href="https://shaaaaaaaaaaaaa.com">Shaaaaaaaaaaaaa.com</a></h3>
|
||||
<p>I’m collaborating on a project with Eric Mill (@konklone) to help people test their HTTPS certificates for weak signature algorithms. SHA-1 is the current standard, but is too weak. People should use a form of SHA-2.</p>
|
||||
<h3><a href="https://github.com/jonnybarnes/indieweb">IndieWeb tools</a></h3>
|
||||
<p>This library consists of various useful tools for running an IndieWeb aware site.</p>
|
||||
<h3><a href="https://github.com/jonnybarnes/webmentions-parser">Webmentions Parser</a></h3>
|
||||
<p>A tool to parse incoming webmentions to a site, including determining the author of the source webmention.</p>
|
||||
</div>
|
||||
@stop
|
22
resources/views/rss.blade.php
Normal file
22
resources/views/rss.blade.php
Normal file
|
@ -0,0 +1,22 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>Jonny Barnes.uk</title>
|
||||
<atom:link href="{{ config('app.url') }}/feed" rel="self" type="application/rss+xml" />
|
||||
<description>An RSS feed of the blog posts found on jonnybarnes.uk</description>
|
||||
<link>https://jonnybarnes.uk</link>
|
||||
<lastBuildDate>{{ $buildDate }}</lastBuildDate>
|
||||
<ttl>1800</ttl>
|
||||
|
||||
@foreach($articles as $article)
|
||||
<item>
|
||||
<title>{{ strip_tags($article->title) }}</title>
|
||||
<description><![CDATA[{{ $article->main }}@if($article->url)<p><a href="{{ config('app.url') }}{{ $article->link }}">Permalink</a></p>@endif]]></description>
|
||||
<link>@if($article->url != ''){{ $article->url }}@else{{ config('app.url') }}{{ $article->link }}@endif</link>
|
||||
<guid>{{ config('app.url') }}{{ $article->link }}</guid>
|
||||
<pubDate>{{ $article->pubdate }}</pubDate>
|
||||
</item>
|
||||
@endforeach
|
||||
|
||||
</channel>
|
||||
</rss>
|
43
resources/views/singlenote.blade.php
Normal file
43
resources/views/singlenote.blade.php
Normal file
|
@ -0,0 +1,43 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
{{ strip_tags($note->note) }} « Notes « Jonny Barnes
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<div class="h-entry">
|
||||
@include('templates.note', ['note' => $note])
|
||||
@foreach($replies as $reply)
|
||||
<div class="reply p-comment h-cite">
|
||||
<a class="h-card vcard mini-h-card p-author" href="{{ $reply['url'] }}">
|
||||
<img src="{{ $reply['photo'] }}" alt="" class="photo u-photo logo"> <span class="fn">{{ $reply['name'] }}</span>
|
||||
</a> said at <a class="dt-published" href="{{ $reply['source'] }}">{{ $reply['date'] }}</a>
|
||||
<div class="e-content p-name">
|
||||
{!! $reply['reply'] !!}
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
@if(count($likes) > 0)<h1 class="notes-subtitle">Likes</h1>@endif
|
||||
@foreach($likes as $like)
|
||||
<a href="{{ $like['url'] }}"><img src="{{ $like['photo'] }}" alt="" class="like-photo"></a>
|
||||
@endforeach
|
||||
@if(count($reposts) > 0)<h1 class="notes-subtitle">Reposts</h1>@endif
|
||||
@foreach($reposts as $repost)
|
||||
<p><a class="h-card vcard mini-h-card p-author" href="{{ $repost['url'] }}">
|
||||
<img src="{{ $repost['photo'] }}" alt="profile picture of {{ $repost['name'] }}" class="photo u-photo logo"> <span class="fn">{{ $repost['name'] }}</span>
|
||||
</a> reposted this at <a href="{{ $repost['repost'] }}">{{ $repost['date'] }}</a>.</p>
|
||||
@endforeach
|
||||
@stop
|
||||
|
||||
@section('scripts')
|
||||
<link rel="stylesheet" href="https://api.mapbox.com/mapbox.js/v2.2.3/mapbox.css">
|
||||
<script src="https://api.mapbox.com/mapbox.js/v2.2.3/mapbox.js"></script>
|
||||
|
||||
<script src="{{ elixir('assets/js/Autolinker.min.js') }}"></script>
|
||||
<script src="{{ elixir('assets/js/links.js') }}"></script>
|
||||
<script src="{{ elixir('assets/js/maps.js') }}"></script>
|
||||
|
||||
<script src="{{ elixir('assets/js/prism.js') }}"></script>
|
||||
<link rel="stylesheet" href="{{ elixir('assets/css/prism.css') }}">
|
||||
@stop
|
21
resources/views/singleplace.blade.php
Normal file
21
resources/views/singleplace.blade.php
Normal file
|
@ -0,0 +1,21 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
{{ $place->name }} « Places « Jonny Barnes
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<div class="h-card">
|
||||
<h1 class="p-name">{{ $place->name }}</h1>
|
||||
<p class="p-note">{{ $place->description or 'No description'}}</p>
|
||||
<div class="map" data-latitude="{{ $place->latitude }}" data-longitude="{{ $place->longitude }}"></div>
|
||||
<p class="latlnginfo">Latitude: <span class="p-latitude">{{ $place->latitude }}</span>, longitude: <span class="p-longitude">{{ $place->longitude }}</span></p>
|
||||
</div>
|
||||
@stop
|
||||
|
||||
@section('scripts')
|
||||
<script src="https://api.mapbox.com/mapbox.js/v2.2.3/mapbox.js"></script>
|
||||
<link rel="stylesheet" href="https://api.mapbox.com/mapbox.js/v2.2.3/mapbox.css">
|
||||
|
||||
<script src="{{ elixir('assets/js/maps.js') }}"></script>
|
||||
@stop
|
24
resources/views/singlepost.blade.php
Normal file
24
resources/views/singlepost.blade.php
Normal file
|
@ -0,0 +1,24 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
{{ strip_tags($article->title) }} <?php echo html_entity_decode("«"); ?> Jonny Barnes
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
@if($article->url != '')<article class="link h-entry">@else<article class="h-entry">@endif
|
||||
<header>
|
||||
<h1 class="p-name">
|
||||
<a href="@if($article->url == ''){{ $article->link }}@else{{ $article->url }}@endif">{{ $article->title }}</a>
|
||||
</h1>
|
||||
<span class="post-info">Posted <time class="dt-published" title="{{ $article->tooltip_time }}" datetime="{{ $article->w3c_time }}">{{ $article->human_time }}</time> - <a title="Permalink" href="{{ $article->link }}"><span class="permalink"><?php echo html_entity_decode('∞'); ?></span></a></span>
|
||||
</header>
|
||||
<div class="e-content">
|
||||
{!! $article->main !!}
|
||||
</div>
|
||||
</article>
|
||||
@stop
|
||||
|
||||
@section('scripts')
|
||||
<script src="{{ elixir('assets/js/prism.js') }}"></script>
|
||||
<link rel="stylesheet" href="{{ elixir('assets/css/prism.css') }}">
|
||||
@stop
|
13
resources/views/taggednotes.blade.php
Normal file
13
resources/views/taggednotes.blade.php
Normal file
|
@ -0,0 +1,13 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
Notes <?php echo html_entity_decode('«'); ?> Jonny Barnes
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<h2>Notes tagged with <em>{{ $tag }}</em></h2>
|
||||
@foreach ($notes as $note)
|
||||
<div>{!! $note->note !!}
|
||||
<a href="/note/{{ $note->id }}">{{ $note->human_time }}</a></div>
|
||||
@endforeach
|
||||
@stop
|
16
resources/views/templates/new-note-form.blade.php
Normal file
16
resources/views/templates/new-note-form.blade.php
Normal file
|
@ -0,0 +1,16 @@
|
|||
<form action="{{ $action }}" method="post" enctype="multipart/form-data" accept-charset="utf-8" id="{{ $id }}">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||
<fieldset class="note-ui">
|
||||
<legend>New Note</legend>
|
||||
<label for="in-reply-to" accesskey="r">Reply-to: </label><input type="text" name="in-reply-to" id="in-reply-to" placeholder="in-reply-to-1 in-reply-to-2 …" value="{{ old('in-reply-to') }}">
|
||||
<label for="content" accesskey="n">Note: </label><textarea name="content" id="content" placeholder="Note" autofocus>{{ old('content') }}</textarea>
|
||||
<label for="webmentions" accesskey="w">Send webmentions: </label><input type="checkbox" name="webmentions" id="webmentions" checked="checked"><br>
|
||||
@if ($micropub === true)
|
||||
<label for="syndication" accesskey="s">Syndication: </label>@if($syndication)<ul class="syndication-targets-list" name="syndication">@foreach($syndication as $target)<li><input type="checkbox" name="mp-syndicate-to[]" id="{{ $target }}" value="{{ $target }}" checked="checked"> <label for="{{ $target }}">{{ $target }}</label></li>@endforeach</ul>@endif
|
||||
<a href="/refresh-syndication-targets">Refresh Syndication Targets</a><br>
|
||||
@endif
|
||||
<label for="photo" accesskey="p">Photo: </label><input type="file" accept="image/*" value="Upload" name="photo[]" id="photo" multiple>
|
||||
<label for="locate" accesskey="l"></label><button type="button" name="locate" id="locate" value="Locate" disabled>Locate</button>
|
||||
<label for="kludge"></label><button type="submit" name="submit" id="submit" value="Submit">Submit</button>
|
||||
</fieldset>
|
||||
</form>
|
26
resources/views/templates/note.blade.php
Normal file
26
resources/views/templates/note.blade.php
Normal file
|
@ -0,0 +1,26 @@
|
|||
@if ($note->twitter)
|
||||
{!! $note->twitter->html !!}
|
||||
@elseif ($note->in_reply_to)
|
||||
<div class="p-in-reply-to h-cite reply-to">
|
||||
In reply to <a href="{{ $note->reply_to }}" class="u-url">{{ $note->in_reply_to }}</a>
|
||||
</div>
|
||||
@endif
|
||||
<div class="note">
|
||||
<div class="e-content p-name">
|
||||
{!! $note->note !!}
|
||||
@if(count($note->photoURLs) > 0)
|
||||
@foreach($note->photoURLs as $photoURL)
|
||||
<img src="{{ $photoURL }}" alt="" class="note-photo">
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
<div class="note-metadata">
|
||||
<a class="u-url" href="/notes/{{ $note->nb60id }}"><time class="dt-published" datetime="{{ $note->iso8601_time }}">{{ $note->human_time }}</time></a>@if($note->client_name) via <a class="client" href="{{ $note->client_id }}">{{ $note->client_name }}</a>@endif
|
||||
@if($note->address)<span class="note-address p-location">in @if($note->placeLink)<a href="{{ $note->placeLink }}">@endif<span class="p-name">{{ $note->address }}</span>@if($note->placeLink)</a>@endif</span>@endif
|
||||
@if($note->replies > 0) - <span class="reply-count"><i class="fa fa-comments"></i> {{ $note->replies }}</span>@endif
|
||||
@if($note->tweet_id)@include('templates.social-links', ['tweet_id' => $note->tweet_id, 'nb60id' => $note->nb60id])@endif
|
||||
@if ($note->latitude)
|
||||
<div class="map" data-latitude="{{ $note->latitude }}" data-longitude="{{ $note->longitude }}"></div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
31
resources/views/templates/social-links.blade.php
Normal file
31
resources/views/templates/social-links.blade.php
Normal file
|
@ -0,0 +1,31 @@
|
|||
<span class="social-links">
|
||||
<a class="u-syndication" href="https://twitter.com/jonnybarnes/status/{{ $tweet_id }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" preserveAspectRatio="xMinYMin meet" viewBox="0 0 171.5054 139.37839" class="icon">
|
||||
<g transform="translate(-282.32053,-396.30734)">
|
||||
<path d="m 453.82593,412.80619 c -6.3097,2.79897 -13.09189,4.68982 -20.20852,5.54049 7.26413,-4.35454 12.84406,-11.24992 15.47067,-19.46675 -6.79934,4.03295 -14.3293,6.96055 -22.34461,8.53841 -6.41775,-6.83879 -15.56243,-11.111 -25.68298,-11.111 -19.43159,0 -35.18696,15.75365 -35.18696,35.18525 0,2.75781 0.31128,5.44359 0.91155,8.01875 -29.24344,-1.46723 -55.16995,-15.47582 -72.52461,-36.76396 -3.02879,5.19662 -4.76443,11.24048 -4.76443,17.6891 0,12.20777 6.21194,22.97747 15.65332,29.28716 -5.76773,-0.18265 -11.19331,-1.76565 -15.93716,-4.40083 -0.004,0.14663 -0.004,0.29412 -0.004,0.44248 0,17.04767 12.12889,31.26806 28.22555,34.50266 -2.95247,0.80436 -6.06101,1.23398 -9.26989,1.23398 -2.2673,0 -4.47114,-0.22124 -6.62011,-0.63114 4.47801,13.97857 17.47214,24.15143 32.86992,24.43441 -12.04227,9.43796 -27.21366,15.06335 -43.69965,15.06335 -2.84014,0 -5.64082,-0.16722 -8.39349,-0.49223 15.57186,9.98421 34.06703,15.8094 53.93768,15.8094 64.72024,0 100.11301,-53.61524 100.11301,-100.11387 0,-1.52554 -0.0343,-3.04251 -0.10204,-4.55261 6.87394,-4.95995 12.83891,-11.15646 17.55618,-18.21305 z" />
|
||||
</g>
|
||||
</svg>
|
||||
</a> -
|
||||
<indie-action do="reply" with="/notes/{{ $nb60id }}">
|
||||
<a href="https://twitter.com/intent/tweet?in_reply_to={{ $tweet_id }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMinYMin meet" viewBox="0 0 920.898 1000" class="icon">
|
||||
<path d="M0 470.52q0 -6.832 3.416 -13.664t6.344 -9.76l3.416 -3.416 376.736 -273.768q20.496 -15.616 35.38 -5.368t14.884 40.016v111.264l26.84 1.952q96.136 8.296 181.292 54.168t145.424 117.12 94.428 165.432 32.696 196.176q-60.512 -106.872 -161.284 -174.704t-222.284 -78.08q-49.288 -4.392 -97.112 1.464v137.128q0 29.768 -14.884 40.016t-35.38 -5.368l-376.736 -274.256q-13.176 -11.224 -13.176 -26.352z"/>
|
||||
</svg>
|
||||
</a>
|
||||
</indie-action>
|
||||
<indie-action do="repost" with="/notes/{{ $nb60id }}">
|
||||
<a href="https://twitter.com/intent/retweet?tweet_id={{ $tweet_id }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1071.429 1000" class="icon">
|
||||
<path d="M714.24 839.296q0 7.254 -5.301 12.555t-12.555 5.301h-535.68q-4.464 0 -7.533 -1.116t-5.022 -3.906 -3.069 -4.464 -1.674 -6.417 -.558 -6.417v-334.79999999999995h-107.136q-14.508 0 -25.11 -10.602t-10.602 -25.11q0 -13.392 8.37 -22.878l178.56 -214.272q10.602 -12.276 27.342 -12.276t27.342 12.276l178.56 214.272q8.37 9.486 8.37 22.878 0 14.508 -10.602 25.11t-25.11 10.602h-107.136v214.272h321.408q8.928 0 13.95 6.138l89.28 107.136q3.906 6.138 3.906 11.718zm357.12 -232.128q0 13.392 -8.37 22.878l-178.56 214.272q-11.16 12.834 -27.342 12.834t-27.342 -12.834l-178.56 -214.272q-8.37 -9.486 -8.37 -22.878 0 -14.508 10.602 -25.11t25.11 -10.602h107.136v-214.272h-321.408q-8.928 0 -13.95 -6.696l-89.28 -107.136q-3.906 -5.022 -3.906 -11.16 0 -7.254 5.301 -12.555t12.555 -5.301h535.68q4.464 0 7.533 1.116t5.022 3.906 3.069 4.464 1.674 6.417 .558 6.417v334.79999999999995h107.136q14.508 0 25.11 10.602t10.602 25.11z"/>
|
||||
</svg>
|
||||
</a>
|
||||
</indie-action>
|
||||
<indie-action do="like" with="/notes/{{ $nb60id }}">
|
||||
<a href="https://twitter.com/intent/favorite?tweet_id={{ $tweet_id }}">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMinYMin meet" viewBox="0 0 645 585" class="icon">
|
||||
<path d="M 297.29747,550.86823 C 283.52243,535.43191 249.1268,505.33855 220.86277,483.99412 C 137.11867,420.75228 125.72108,411.5999 91.719238,380.29088 C 29.03471,322.57071 2.413622,264.58086 2.5048478,185.95124 C 2.5493594,147.56739 5.1656152,132.77929 15.914734,110.15398 C 34.151433,71.768267 61.014996,43.244667 95.360052,25.799457 C 119.68545,13.443675 131.6827,7.9542046 172.30448,7.7296236 C 214.79777,7.4947896 223.74311,12.449347 248.73919,26.181459 C 279.1637,42.895777 310.47909,78.617167 316.95242,103.99205 L 320.95052,119.66445 L 330.81015,98.079942 C 386.52632,-23.892986 564.40851,-22.06811 626.31244,101.11153 C 645.95011,140.18758 648.10608,223.6247 630.69256,270.6244 C 607.97729,331.93377 565.31255,378.67493 466.68622,450.30098 C 402.0054,497.27462 328.80148,568.34684 323.70555,578.32901 C 317.79007,589.91654 323.42339,580.14491 297.29747,550.86823 z"/>
|
||||
<g transform="translate(129.28571,-64.285714)"/>
|
||||
</svg>
|
||||
</a>
|
||||
</indie-action>
|
||||
</span>
|
1
resources/views/vendor/.gitkeep
vendored
Normal file
1
resources/views/vendor/.gitkeep
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
|
9
resources/views/webmention-endpoint.blade.php
Normal file
9
resources/views/webmention-endpoint.blade.php
Normal file
|
@ -0,0 +1,9 @@
|
|||
@extends('master')
|
||||
|
||||
@section('title')
|
||||
WebMentions « Jonny Barnes
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<p>My WebMention endpoint.</p>
|
||||
@stop
|
45
resources/views/welcome.blade.php
Normal file
45
resources/views/welcome.blade.php
Normal file
|
@ -0,0 +1,45 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Laravel</title>
|
||||
|
||||
<link href="https://fonts.googleapis.com/css?family=Lato:100" rel="stylesheet" type="text/css">
|
||||
|
||||
<style>
|
||||
html, body {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
width: 100%;
|
||||
display: table;
|
||||
font-weight: 100;
|
||||
font-family: 'Lato';
|
||||
}
|
||||
|
||||
.container {
|
||||
text-align: center;
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.content {
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 96px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="content">
|
||||
<div class="title">Laravel 5</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Loading…
Add table
Add a link
Reference in a new issue