Initial commit to new repo

This commit is contained in:
Jonny Barnes 2016-05-19 15:01:28 +01:00
parent a267f9bfcc
commit a5173c981b
292 changed files with 17472 additions and 0 deletions

View 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

View 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

View file

@ -0,0 +1,9 @@
@extends('master')
@section('title')
Edit Client « Admin CP
@stop
@section('content')
<p>Successfully deleted the client information.</p>
@stop

View 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

View file

@ -0,0 +1,9 @@
@extends('master')
@section('title')
Deleted Contact « Admin CP
@stop
@section('content')
<p>Successfully deleted the contact information.</p>
@stop

View 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

View 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

View 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

View 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

View 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

View file

@ -0,0 +1,9 @@
@extends('master')
@section('title')
Edit Client « Admin CP
@stop
@section('content')
<p>Successfully edited the client information.</p>
@stop

View 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

View file

@ -0,0 +1,9 @@
@extends('master')
@section('title')
Edit Contact « Admin CP
@stop
@section('content')
<p>Successfully edited the contact information.</p>
@stop

View 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

View 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

View 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

View file

@ -0,0 +1,9 @@
@extends('master')
@section('title')
Edit Place « Admin CP
@stop
@section('content')
<p>Successfully edited the place information.</p>
@stop

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View file

@ -0,0 +1,9 @@
@extends('master')
@section('title')
New Client « Admin CP
@stop
@section('content')
<p>Succesfully created new client info.</p>
@stop

View 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

View file

@ -0,0 +1,9 @@
@extends('master')
@section('title')
New Contact « Admin CP
@stop
@section('content')
<p>Succesfully created new contact entry.</p>
@stop

View 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

View 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

View 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

View file

@ -0,0 +1,9 @@
@extends('master')
@section('title')
New Place « Admin CP
@stop
@section('content')
<p>Succesfully created new place info.</p>
@stop

View 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

View 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

View 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

View 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>

View file

@ -0,0 +1,9 @@
@extends('master')
@section('title')
Contacts « Jonny Barnes
@stop
@section('content')
@include('contact-template', array('contact' => $contact))
@stop

View 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

View 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>

View 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 Im 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 Ive 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 theres <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 theyre not listed above then I dont 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

View 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

View 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>

View 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 youll 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

View 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>

View 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('&infin;'); ?></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

View 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>Im 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

View 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>

View 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

View 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

View file

@ -0,0 +1,24 @@
@extends('master')
@section('title')
{{ strip_tags($article->title) }} <?php echo html_entity_decode("&laquo;"); ?> 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('&infin;'); ?></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

View file

@ -0,0 +1,13 @@
@extends('master')
@section('title')
Notes <?php echo html_entity_decode('&laquo;'); ?> 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

View 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>

View 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>

View 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
View file

@ -0,0 +1 @@

View file

@ -0,0 +1,9 @@
@extends('master')
@section('title')
WebMentions « Jonny Barnes
@stop
@section('content')
<p>My WebMention endpoint.</p>
@stop

View 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>