Squashed commit of the following:
commit 19ec350ca9c3a2ec9da6ee3823f3b0a09efe3eaa Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Tue Nov 22 16:07:42 2016 +0000 Update changelog commit 73428d3d94c659e5e4431b6740ba10dc2a609e44 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Tue Nov 22 16:03:37 2016 +0000 output of gulp compress commit 4bb8038e787e35b5d38be9d63600b10bb9d75a07 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Tue Nov 22 16:03:11 2016 +0000 import Guzzle’s ClientException namespace commit 4bcb676bb95274da2422023fefa88b8d246b7f97 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Tue Nov 22 16:02:24 2016 +0000 Update manual testing token commit d902de76f00b4f3bba94ce6528f87e43f6c113f9 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Tue Nov 22 16:01:52 2016 +0000 output of gulp js-assets commit 0a495956e4f540aae0d1515229dd29c30c76fd64 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Tue Nov 22 16:01:27 2016 +0000 Update new note page to use Mapbox GL JS commit bf22004256179c9487c668eb77785a9bc90227bc Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Mon Nov 21 18:47:59 2016 +0000 output of gulp js-assets commit 22ed61cb853d98a4638754d44f042841e2b4495c Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Mon Nov 21 18:47:06 2016 +0000 Attempting to use mapbox gl on the newnote page commit 47fd891f1b3f0da59d10e937f7ed11f3b603c4af Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Sat Nov 19 17:21:53 2016 +0000 gulp derived assets commit 19e83f33b1c8c7a90a74d0ad17a6cace8761bcef Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Sat Nov 19 17:21:16 2016 +0000 Move .map styles into mapbox.scss commit 3d848d59126032671907a1e354cf121441d9a6e3 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Sat Nov 19 17:12:51 2016 +0000 gulp derived assets commit 9e51e8690ac8b782bc56663e7ec682837b27d4a1 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Sat Nov 19 17:12:32 2016 +0000 Link to mapbox-gl files commit 296b5fd7770f2a1c5c26ed4efedd99a7a0ad0bed Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Sat Nov 19 17:12:08 2016 +0000 Use mapbox gl to add maps to notes commit bd031df6e969b7af741730acabe41465f68bd3a1 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Sat Nov 19 17:11:27 2016 +0000 Update sass to style mapbox gl maps commit a7cd5e6eaa9510b5c9de672b6d5ed6917dabd7c6 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Fri Nov 18 16:19:45 2016 +0000 output of gulp compress commit fe63c7ed394d62cd0e47a9ef718d9629d8643e71 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Fri Nov 18 16:18:47 2016 +0000 output of gulp sass commit 15ac4012681635753a4b1f52d81f7f9e24830eb4 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Fri Nov 18 16:18:05 2016 +0000 Add a dividing line between notes and bio on the homepage commit 5ada66b1a01ae57359145eb757cab65769400f1e Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Fri Nov 18 16:12:01 2016 +0000 output of gulp sass commit 86adf97c3831c3310683a25c2671c7560700de1a Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Fri Nov 18 16:11:33 2016 +0000 Resize note metadata for spacial flow commit 3f3fc51ea8df8206d5b13512295ac09827bb2ede Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Fri Nov 18 15:37:21 2016 +0000 output of gulp sass commit df6f7f827641dc4deca621d099357757f760ece4 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Fri Nov 18 15:36:51 2016 +0000 Use system UI fonts commit b71950275ddaf274b26195694a07c1b58f746725 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Fri Nov 18 15:31:30 2016 +0000 output of gulp compress commit 5ff5d73a803b9bcc4e2f314946c1d757dcabae67 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Fri Nov 18 15:30:12 2016 +0000 output of gulp js-assets commit d8ff563569223bddc836ab9f8fc7c43970273b44 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Fri Nov 18 15:29:27 2016 +0000 use containing divs in new place section of form commit 3cbf3083612210cdd7609c930737cf7a698ec024 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Fri Nov 18 14:39:27 2016 +0000 gulp sass output commit 239b742a355a397f5b84377b26b2d7a4254bd50e Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Fri Nov 18 14:38:52 2016 +0000 Better spacing of form elements on mobile commit a20279e3f4216b87ff59ed4e507b6de9e212db9f Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Fri Nov 18 13:41:31 2016 +0000 Derived assets commit 86ebd05472498814084e86fb0c2d674633f00096 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Fri Nov 18 13:40:42 2016 +0000 Use containing divs for flex layout commit 00e0e6f3f462ca575e92209a86ada67b7f5ff757 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Thu Nov 17 14:38:39 2016 +0000 Correct scss according to stylelint commit 6dd8ff4d13c3ab83c6a811501b817c45b89338ce Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Thu Nov 17 14:33:46 2016 +0000 Get stylelint working commit 9b9a64defd9335014b46070e2b92a392929f4aa5 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Thu Nov 17 09:48:28 2016 +0000 Add missing new-line to match style commit 2521446f32420047d6d5f7372f4f7afc17200a1c Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Tue Nov 15 13:16:45 2016 +0000 Add logging during an error, improve the error message commit 095507bec225992aac510a2ca852f65c197f0298 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Tue Nov 15 13:15:59 2016 +0000 Update test token commit 374ef70fecaedf041f12a57688ed9596e25a2ce6 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Tue Nov 15 13:15:16 2016 +0000 Remove typekit for now commit f5671ad435732ddb3288a2e02de7631a6acb4183 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Fri Nov 11 16:06:01 2016 +0000 Better designed new note form commit f38df507b85502e733fa38e970cd584f7d79bca1 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Fri Nov 11 13:28:21 2016 +0000 More styling, use normal pagination, improve bio commit 077076d4f92014d488bca5d4dbbab5af913e6cf0 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Fri Nov 11 00:05:56 2016 +0000 Use an anchor for permalinks, re-word projects page commit 37c6e862b693c2bfd3a39654a533627e0f73fd1a Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Thu Nov 10 23:58:54 2016 +0000 The resulting CSS files commit 1a3b6d7064b1b67238ffd3909d6d1ae54a4f78e1 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Thu Nov 10 23:31:53 2016 +0000 Sass for very basic redesign commit e5d9e9d41b50d7f316fcae9bae75863aa09a7d63 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Thu Nov 10 23:00:35 2016 +0000 Use app.(s)css commit 231c5292e68220f588e9d300975bb19dfea20b4f Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Thu Nov 10 22:59:50 2016 +0000 Restructure homepage to show notes, also show bio when on '/', but note '/notes' commit 11a272b2a3050297dd84105a6c70adc937a0c409 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Thu Nov 10 17:49:30 2016 +0000 Set my homepage to the stream of notes commit 2e46ccad4038be64b5007f15dabee0321061fe98 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Tue Nov 8 23:58:11 2016 +0000 Drop sanitize.css and use normalize.css instead, also fix compress method commit 8082403d7464a873691fabab07ae4f6116993cdf Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Tue Nov 8 23:48:35 2016 +0000 Sort out yarn dependencies commit 8ef7137d160ae8577e42ab1fd19e957aa37cf08b Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Tue Nov 8 23:39:49 2016 +0000 Remove the compiled css commit 8284cdf838f5222eff87c942f119d6000a1b6fc6 Author: Jonny Barnes <jonny@jonnybarnes.uk> Date: Tue Nov 8 23:16:27 2016 +0000 Remove sass files
This commit is contained in:
parent
edb3c9cd8d
commit
bcb01b6438
74 changed files with 1273 additions and 1728 deletions
|
@ -1,16 +1,49 @@
|
|||
/* global L */
|
||||
/* global mapboxgl */
|
||||
//This code runs on page load and looks for <div class="map">, then adds map
|
||||
var mapDivs = document.querySelectorAll('.map');
|
||||
mapboxgl.accessToken = 'pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiY2l2cDhjYW04MDAwcjJ0cG1uZnhqcm82ayJ9.qA2zeVA-nsoMh9IFrd5KQw';
|
||||
for (var i = 0; i < mapDivs.length; i++) {
|
||||
var mapDiv = mapDivs[i];
|
||||
var latitude = mapDiv.dataset.latitude;
|
||||
var longitude = mapDiv.dataset.longitude;
|
||||
L.mapbox.accessToken = 'pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiVlpndW1EYyJ9.aP9fxAqLKh7lj0LpFh5k1w';
|
||||
var map = L.mapbox.map(mapDiv, 'jonnybarnes.gnoihnim')
|
||||
.setView([latitude, longitude], 15)
|
||||
.addLayer(L.mapbox.tileLayer('jonnybarnes.gnoihnim', {
|
||||
detectRetina: true
|
||||
}));
|
||||
L.marker([latitude, longitude]).addTo(map);
|
||||
map.scrollWheelZoom.disable();
|
||||
var el = document.createElement('div');
|
||||
el.classList.add('marker');
|
||||
var mapMenu = document.createElement('div');
|
||||
mapMenu.classList.add('map-menu');
|
||||
var streetsInput = document.createElement('input');
|
||||
streetsInput.setAttribute('id', 'streets');
|
||||
streetsInput.setAttribute('type', 'radio');
|
||||
streetsInput.setAttribute('name', 'toggle');
|
||||
streetsInput.setAttribute('value', 'streets');
|
||||
streetsInput.setAttribute('checked', 'checked');
|
||||
streetsInput.addEventListener('click', function () {
|
||||
map.setStyle('mapbox://styles/mapbox/streets-v9');
|
||||
});
|
||||
var streetsLabel = document.createElement('label');
|
||||
streetsLabel.setAttribute('for', 'streets');
|
||||
streetsLabel.appendChild(document.createTextNode('Streets'));
|
||||
var satelliteInput = document.createElement('input');
|
||||
satelliteInput.setAttribute('id', 'satellite');
|
||||
satelliteInput.setAttribute('type', 'radio');
|
||||
satelliteInput.setAttribute('name', 'toggle');
|
||||
satelliteInput.setAttribute('value', 'streets');
|
||||
satelliteInput.addEventListener('click', function () {
|
||||
map.setStyle('mapbox://styles/mapbox/satellite-v9');
|
||||
});
|
||||
var satelliteLabel = document.createElement('label');
|
||||
satelliteLabel.setAttribute('for', 'satellite');
|
||||
satelliteLabel.appendChild(document.createTextNode('Satellite'));
|
||||
mapMenu.appendChild(streetsInput);
|
||||
mapMenu.appendChild(streetsLabel);
|
||||
mapMenu.appendChild(satelliteInput);
|
||||
mapMenu.appendChild(satelliteLabel);
|
||||
var map = new mapboxgl.Map({
|
||||
container: mapDiv,
|
||||
style: 'mapbox://styles/mapbox/streets-v9',
|
||||
center: [longitude, latitude],
|
||||
zoom: 15,
|
||||
scrollZoom: false
|
||||
});
|
||||
new mapboxgl.Marker(el, {offset: [-10, -20]}).setLngLat([longitude, latitude]).addTo(map);
|
||||
mapDiv.appendChild(mapMenu);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* global L, alertify */
|
||||
/* global mapboxgl, alertify */
|
||||
if ('geolocation' in navigator) {
|
||||
var button = document.querySelector('#locate');
|
||||
if (button.addEventListener) {
|
||||
|
@ -53,39 +53,59 @@ function addMap(latitude, longitude, places) {
|
|||
if (arguments.length == 2) {
|
||||
places = null;
|
||||
}
|
||||
var form = button.parentNode;
|
||||
var div = document.createElement('div');
|
||||
div.setAttribute('id', 'map');
|
||||
// the form has a fieldset element that we are actually targetting
|
||||
var form = document.querySelector('.note-ui');
|
||||
var mapDiv = document.createElement('div');
|
||||
mapDiv.classList.add('map');
|
||||
//add the map div
|
||||
form.appendChild(div);
|
||||
L.mapbox.accessToken = 'pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiVlpndW1EYyJ9.aP9fxAqLKh7lj0LpFh5k1w';
|
||||
var map = L.mapbox.map('map', 'jonnybarnes.gnoihnim')
|
||||
.setView([latitude, longitude], 15)
|
||||
.addLayer(L.mapbox.tileLayer('jonnybarnes.gnoihnim', {
|
||||
detectRetina: true
|
||||
}));
|
||||
//add a marker for the current location
|
||||
var marker = L.marker([latitude, longitude], {
|
||||
draggable: true
|
||||
}).addTo(map);
|
||||
//when the location marker is dragged, if the new place form elements exist
|
||||
//update the lat/lng values
|
||||
marker.on('dragend', function () {
|
||||
var mapMarkerLatitude = getLatitudeFromMapboxMarker(marker.getLatLng());
|
||||
var mapMarkerLongitude = getLongitudeFromMapboxMarker(marker.getLatLng());
|
||||
var coordsOption = document.querySelector('#option-coords');
|
||||
if (coordsOption != null) {
|
||||
coordsOption.value = 'geo:' + mapMarkerLatitude + ',' + mapMarkerLongitude;
|
||||
}
|
||||
var placeFormLatitude = document.querySelector('#place-latitude');
|
||||
if (placeFormLatitude !== null) {
|
||||
placeFormLatitude.value = mapMarkerLatitude;
|
||||
}
|
||||
var placeFormLongitude = document.querySelector('#place-longitude');
|
||||
if (placeFormLongitude !== null) {
|
||||
placeFormLongitude.value = mapMarkerLongitude;
|
||||
}
|
||||
form.appendChild(mapDiv);
|
||||
//set up the mapbox gl map
|
||||
mapboxgl.accessToken = 'pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiY2l2cDhjYW04MDAwcjJ0cG1uZnhqcm82ayJ9.qA2zeVA-nsoMh9IFrd5KQw';
|
||||
var map = new mapboxgl.Map({
|
||||
container: mapDiv,
|
||||
style: 'mapbox://styles/mapbox/streets-v9',
|
||||
center: [longitude, latitude],
|
||||
zoom: 15
|
||||
});
|
||||
//create the current location marker
|
||||
var el = document.createElement('div');
|
||||
el.classList.add('marker');
|
||||
//create the map style menu
|
||||
var mapMenu = document.createElement('div');
|
||||
mapMenu.classList.add('map-menu');
|
||||
var streetsInput = document.createElement('input');
|
||||
streetsInput.setAttribute('id', 'streets');
|
||||
streetsInput.setAttribute('type', 'radio');
|
||||
streetsInput.setAttribute('name', 'toggle');
|
||||
streetsInput.setAttribute('value', 'streets');
|
||||
streetsInput.setAttribute('checked', 'checked');
|
||||
streetsInput.addEventListener('click', function () {
|
||||
map.setStyle('mapbox://styles/mapbox/streets-v9');
|
||||
});
|
||||
var streetsLabel = document.createElement('label');
|
||||
streetsLabel.setAttribute('for', 'streets');
|
||||
streetsLabel.appendChild(document.createTextNode('Streets'));
|
||||
var satelliteInput = document.createElement('input');
|
||||
satelliteInput.setAttribute('id', 'satellite');
|
||||
satelliteInput.setAttribute('type', 'radio');
|
||||
satelliteInput.setAttribute('name', 'toggle');
|
||||
satelliteInput.setAttribute('value', 'streets');
|
||||
satelliteInput.addEventListener('click', function () {
|
||||
map.setStyle('mapbox://styles/mapbox/satellite-v9');
|
||||
});
|
||||
var satelliteLabel = document.createElement('label');
|
||||
satelliteLabel.setAttribute('for', 'satellite');
|
||||
satelliteLabel.appendChild(document.createTextNode('Satellite'));
|
||||
mapMenu.appendChild(streetsInput);
|
||||
mapMenu.appendChild(streetsLabel);
|
||||
mapMenu.appendChild(satelliteInput);
|
||||
mapMenu.appendChild(satelliteLabel);
|
||||
//add the map menu
|
||||
mapDiv.appendChild(mapMenu);
|
||||
//add a marker for the current location
|
||||
new mapboxgl.Marker(el, {offset: [-10, -20]}).setLngLat([longitude, latitude]).addTo(map);
|
||||
//create containing div for flexbox
|
||||
var containingDiv = document.createElement('div');
|
||||
//create the <select> element and give it a no location default
|
||||
var selectEl = document.createElement('select');
|
||||
selectEl.setAttribute('name', 'location');
|
||||
|
@ -97,9 +117,12 @@ function addMap(latitude, longitude, places) {
|
|||
geoLocation.setAttribute('selected', 'selected');
|
||||
geoLocation.setAttribute('id', 'option-coords');
|
||||
geoLocation.setAttribute('value', 'geo:' + latitude + ',' + longitude);
|
||||
geoLocation.dataset.latitude = latitude;
|
||||
geoLocation.dataset.longitude = longitude;
|
||||
geoLocation.appendChild(document.createTextNode('Send co-ordinates'));
|
||||
selectEl.appendChild(geoLocation);
|
||||
form.insertBefore(selectEl, div);
|
||||
containingDiv.appendChild(selectEl);
|
||||
form.insertBefore(containingDiv, mapDiv);
|
||||
if (places !== null) {
|
||||
//add the places both to the map and <select>
|
||||
places.forEach(function (item) {
|
||||
|
@ -110,19 +133,16 @@ function addMap(latitude, longitude, places) {
|
|||
option.dataset.latitude = item[2];
|
||||
option.dataset.longitude = item[3];
|
||||
selectEl.appendChild(option);
|
||||
var placeMarker = L.marker([item[2], item[3]], {
|
||||
icon: L.mapbox.marker.icon({
|
||||
'marker-size': 'large',
|
||||
'marker-symbol': 'building',
|
||||
'marker-color': '#fa0'
|
||||
})
|
||||
}).addTo(map);
|
||||
var name = 'Name: ' + item[0];
|
||||
placeMarker.bindPopup(name, {
|
||||
closeButton: true
|
||||
});
|
||||
placeMarker.on('click', function () {
|
||||
map.panTo([item[2], item[3]]);
|
||||
var placeMarkerIcon = document.createElement('div');
|
||||
placeMarkerIcon.classList.add('marker');
|
||||
new mapboxgl.Marker(placeMarkerIcon, {offset: [-10, -20]}).setLngLat([item[3], item[2]]).addTo(map);
|
||||
placeMarkerIcon.addEventListener('click', function () {
|
||||
map.flyTo({
|
||||
center: [
|
||||
item[3],
|
||||
item[2]
|
||||
]
|
||||
});
|
||||
selectPlace(item[1]);
|
||||
});
|
||||
});
|
||||
|
@ -131,7 +151,12 @@ function addMap(latitude, longitude, places) {
|
|||
if (selectEl.value !== 'no-location') {
|
||||
var placeLat = selectEl[selectEl.selectedIndex].dataset.latitude;
|
||||
var placeLon = selectEl[selectEl.selectedIndex].dataset.longitude;
|
||||
map.panTo([placeLat, placeLon]);
|
||||
map.flyTo({
|
||||
center: [
|
||||
placeLon,
|
||||
placeLat
|
||||
]
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -143,6 +168,7 @@ function addMap(latitude, longitude, places) {
|
|||
//the event listener
|
||||
newLocButton.addEventListener('click', function() {
|
||||
//add the form elements
|
||||
var nameDiv = document.createElement('div');
|
||||
var nameLabel = document.createElement('label');
|
||||
nameLabel.setAttribute('for', 'place-name');
|
||||
nameLabel.classList.add('place-label');
|
||||
|
@ -152,6 +178,9 @@ function addMap(latitude, longitude, places) {
|
|||
nameEl.setAttribute('name', 'place-name');
|
||||
nameEl.setAttribute('id', 'place-name');
|
||||
nameEl.setAttribute('type', 'text');
|
||||
nameDiv.appendChild(nameLabel);
|
||||
nameDiv.appendChild(nameEl);
|
||||
var descDiv = document.createElement('div');
|
||||
var descLabel = document.createElement('label');
|
||||
descLabel.setAttribute('for', 'place-description');
|
||||
descLabel.classList.add('place-label');
|
||||
|
@ -161,6 +190,9 @@ function addMap(latitude, longitude, places) {
|
|||
descEl.setAttribute('name', 'place-description');
|
||||
descEl.setAttribute('id', 'place-description');
|
||||
descEl.setAttribute('type', 'text');
|
||||
descDiv.appendChild(descLabel);
|
||||
descDiv.appendChild(descEl);
|
||||
var latDiv = document.createElement('div');
|
||||
var latLabel = document.createElement('label');
|
||||
latLabel.setAttribute('for', 'place-latitude');
|
||||
latLabel.classList.add('place-label');
|
||||
|
@ -169,7 +201,10 @@ function addMap(latitude, longitude, places) {
|
|||
latEl.setAttribute('name', 'place-latitude');
|
||||
latEl.setAttribute('id', 'place-latitude');
|
||||
latEl.setAttribute('type', 'text');
|
||||
latEl.value = getLatitudeFromMapboxMarker(marker.getLatLng());
|
||||
latEl.value = getLatitudeFromMapbox(map.getCenter());
|
||||
latDiv.appendChild(latLabel);
|
||||
latDiv.appendChild(latEl);
|
||||
var lonDiv = document.createElement('div');
|
||||
var lonLabel = document.createElement('label');
|
||||
lonLabel.setAttribute('for', 'place-longitude');
|
||||
lonLabel.classList.add('place-label');
|
||||
|
@ -178,21 +213,19 @@ function addMap(latitude, longitude, places) {
|
|||
lonEl.setAttribute('name', 'place-longitude');
|
||||
lonEl.setAttribute('id', 'place-longitude');
|
||||
lonEl.setAttribute('type', 'text');
|
||||
lonEl.value = getLongitudeFromMapboxMarker(marker.getLatLng());
|
||||
lonEl.value = getLongitudeFromMapbox(map.getCenter());
|
||||
lonDiv.appendChild(lonLabel);
|
||||
lonDiv.appendChild(lonEl);
|
||||
var placeSubmit = document.createElement('button');
|
||||
placeSubmit.setAttribute('id', 'place-submit');
|
||||
placeSubmit.setAttribute('value', 'Submit New Place');
|
||||
placeSubmit.setAttribute('name', 'place-submit');
|
||||
placeSubmit.setAttribute('type', 'button');
|
||||
placeSubmit.appendChild(document.createTextNode('Submit New Place'));
|
||||
form.appendChild(nameLabel);
|
||||
form.appendChild(nameEl);
|
||||
form.appendChild(descLabel);
|
||||
form.appendChild(descEl);
|
||||
form.appendChild(latLabel);
|
||||
form.appendChild(latEl);
|
||||
form.appendChild(lonLabel);
|
||||
form.appendChild(lonEl);
|
||||
form.appendChild(nameDiv);
|
||||
form.appendChild(descDiv);
|
||||
form.appendChild(latDiv);
|
||||
form.appendChild(lonDiv);
|
||||
form.appendChild(placeSubmit);
|
||||
//the event listener for the new place form
|
||||
placeSubmit.addEventListener('click', function () {
|
||||
|
@ -217,18 +250,15 @@ function addMap(latitude, longitude, places) {
|
|||
throw new Error(placeJson.error_description);
|
||||
}
|
||||
//remove un-needed form elements
|
||||
form.removeChild(document.querySelector('#place-name'));
|
||||
form.removeChild(document.querySelector('#place-description'));
|
||||
form.removeChild(document.querySelector('#place-latitude'));
|
||||
form.removeChild(document.querySelector('#place-longitude'));
|
||||
//iterate through labels and remove parent div elements
|
||||
var labels = document.querySelectorAll('.place-label');
|
||||
for (var i = 0; i < labels.length; ++i) {
|
||||
form.removeChild(labels[i]);
|
||||
form.removeChild(labels[i].parentNode);
|
||||
}
|
||||
form.removeChild(document.querySelector('#place-submit'));
|
||||
form.removeChild(document.querySelector('#create-new-place'));
|
||||
//remove location marker
|
||||
map.removeLayer(marker);
|
||||
var newPlaceButton = document.querySelector('#create-new-place');
|
||||
//in order to remove a DOM Node, you need to run removeChild on the parent Node
|
||||
newPlaceButton.parentNode.removeChild(newPlaceButton);
|
||||
//add place marker
|
||||
var newOption = document.createElement('option');
|
||||
newOption.setAttribute('value', placeJson.uri);
|
||||
|
@ -236,20 +266,13 @@ function addMap(latitude, longitude, places) {
|
|||
newOption.dataset.latitude = placeJson.latitude;
|
||||
newOption.dataset.longitude = placeJson.longitude;
|
||||
selectEl.appendChild(newOption);
|
||||
var newPlaceMarker = L.marker([placeJson.latitude, placeJson.longitude], {
|
||||
icon: L.mapbox.marker.icon({
|
||||
'marker-size': 'large',
|
||||
'marker-symbol': 'building',
|
||||
'marker-color': '#fa0'
|
||||
})
|
||||
}).addTo(map);
|
||||
map.panTo([placeJson.latitude, placeJson.longitude]);
|
||||
var newName = 'Name: ' + placeJson.name;
|
||||
newPlaceMarker.bindPopup(newName, {
|
||||
closeButton: true
|
||||
});
|
||||
newPlaceMarker.on('click', function () {
|
||||
map.panTo([placeJson.latitude, placeJson.longitude]);
|
||||
var newPlaceMarkerIcon = document.createElement('div');
|
||||
newPlaceMarkerIcon.classList.add('marker');
|
||||
var newPlaceMarker = new mapboxgl.Marker(newPlaceMarkerIcon, {offset: [-10, -20]}).setLngLat([placeJson.longitude, placeJson.latitude]).addTo(map);
|
||||
map.flyTo({center: [placeJson.longitude, placeJson.latitude]});
|
||||
|
||||
newPlaceMarkerIcon.addEventListener('click', function () {
|
||||
map.flyTo({center: [placeJson.longitude, placeJson.latitude]});
|
||||
selectPlace(placeJson.uri);
|
||||
});
|
||||
//make selected
|
||||
|
@ -260,7 +283,7 @@ function addMap(latitude, longitude, places) {
|
|||
});
|
||||
});
|
||||
});
|
||||
form.insertBefore(newLocButton, div);
|
||||
containingDiv.appendChild(newLocButton);
|
||||
}
|
||||
|
||||
function parseLocation(point) {
|
||||
|
@ -275,16 +298,16 @@ function selectPlace(uri) {
|
|||
document.querySelector('select [value="' + uri + '"]').selected = true;
|
||||
}
|
||||
|
||||
function getLatitudeFromMapboxMarker(latlng) {
|
||||
var resultArray = /\((.*)\)/.exec(latlng);
|
||||
var location = resultArray[1].split(' ');
|
||||
|
||||
return location[0].replace(',', '');
|
||||
}
|
||||
|
||||
function getLongitudeFromMapboxMarker(latlng) {
|
||||
var resultArray = /\((.*)\)/.exec(latlng);
|
||||
function getLatitudeFromMapbox(lnglat) {
|
||||
var resultArray = /\((.*)\)/.exec(lnglat);
|
||||
var location = resultArray[1].split(' ');
|
||||
|
||||
return location[1];
|
||||
}
|
||||
|
||||
function getLongitudeFromMapbox(lnglat) {
|
||||
var resultArray = /\((.*)\)/.exec(lnglat);
|
||||
var location = resultArray[1].split(' ');
|
||||
|
||||
return location[0].replace(',', '');
|
||||
}
|
||||
|
|
20
resources/assets/sass/app.scss
vendored
20
resources/assets/sass/app.scss
vendored
|
@ -1,2 +1,20 @@
|
|||
// @import "node_modules/bootstrap-sass/assets/stylesheets/bootstrap";
|
||||
// app.scss
|
||||
|
||||
// https://css-tricks.com/box-sizing/#article-header-id-6
|
||||
// and https://css-tricks.com/rems-ems/
|
||||
html {
|
||||
box-sizing: border-box;
|
||||
font-size: 24px;
|
||||
}
|
||||
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: inherit;
|
||||
}
|
||||
|
||||
@import "layout";
|
||||
@import "styles";
|
||||
@import "pagination";
|
||||
@import "note-form";
|
||||
@import "mapbox";
|
||||
|
|
12
resources/assets/sass/components/colours.scss
vendored
12
resources/assets/sass/components/colours.scss
vendored
|
@ -1,12 +0,0 @@
|
|||
//colours.scss
|
||||
body {
|
||||
color: $base03;
|
||||
}
|
||||
|
||||
header a {
|
||||
color: $base03;
|
||||
}
|
||||
|
||||
a {
|
||||
color: $blue;
|
||||
}
|
46
resources/assets/sass/components/fonts.scss
vendored
46
resources/assets/sass/components/fonts.scss
vendored
|
@ -1,46 +0,0 @@
|
|||
//fonts.scss
|
||||
|
||||
body {
|
||||
text-rendering: optimizeLegibility;
|
||||
font-feature-settings: "liga";
|
||||
font-family: $font-stack-body;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
code {
|
||||
font-family: $font-stack-code;
|
||||
font-weight: 200;
|
||||
}
|
||||
|
||||
#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;
|
||||
}
|
54
resources/assets/sass/components/forms.scss
vendored
54
resources/assets/sass/components/forms.scss
vendored
|
@ -1,54 +0,0 @@
|
|||
//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;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
textarea {
|
||||
font-size: 1.2em; //textarea doesn’t resize with the rest
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
//twitter.scss
|
||||
|
||||
.twitter-tweet-rendered {
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
.twitter-tweet-rendered + .note {
|
||||
margin-top: 0;
|
||||
}
|
42
resources/assets/sass/global.scss
vendored
42
resources/assets/sass/global.scss
vendored
|
@ -1,42 +0,0 @@
|
|||
//global.scss
|
||||
|
||||
//variables
|
||||
$font-stack-body: "leitura-news", serif;
|
||||
$font-stack-headers: "prenton", sans-serif;
|
||||
$font-stack-code: "Operator Mono", "Monaco", "Inconsolata", monospace;
|
||||
|
||||
//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";
|
214
resources/assets/sass/layout.scss
vendored
214
resources/assets/sass/layout.scss
vendored
|
@ -1,213 +1,47 @@
|
|||
//layout.scss
|
||||
// import.scss
|
||||
|
||||
html {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: inherit;
|
||||
body {
|
||||
max-width: 25em;
|
||||
margin: 0 auto;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
#topheader {
|
||||
display: flex;
|
||||
flex-flow: row;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#topheader a {
|
||||
padding: 0.5em 1em;
|
||||
.h-entry {
|
||||
padding-top: 1rem;
|
||||
}
|
||||
|
||||
#topheader h1 {
|
||||
font-size: 1em;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
nav {
|
||||
padding-top: 0.5em;
|
||||
}
|
||||
|
||||
.social-list {
|
||||
padding-left: 2em;
|
||||
}
|
||||
|
||||
// notes
|
||||
|
||||
.note {
|
||||
background-color: $base2;
|
||||
box-shadow: 0 0 10px 2px $base1;
|
||||
padding: 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;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.note-metadata {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
font-size: 0.75em;
|
||||
}
|
||||
|
||||
.social-links {
|
||||
float: right;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.social-links a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.icon {
|
||||
width: auto;
|
||||
height: 1em;
|
||||
}
|
||||
|
||||
.coordinates {
|
||||
font-size: 60%;
|
||||
color: $base0;
|
||||
}
|
||||
|
||||
.reply {
|
||||
margin-left: 2em;
|
||||
margin-right: 2em;
|
||||
font-size: 0.8em;
|
||||
padding: 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;
|
||||
.social-links svg {
|
||||
padding-left: 3px;
|
||||
}
|
||||
|
||||
.mini-h-card img {
|
||||
height: 1em;
|
||||
border-radius: 2px;
|
||||
vertical-align: text-bottom;
|
||||
display: inline-block;
|
||||
height: 1rem;
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
article h1 {
|
||||
font-size: 1.2em;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
body > .h-card {
|
||||
margin-top: 5px;
|
||||
border-top: 1px solid grey;
|
||||
}
|
||||
|
|
26
resources/assets/sass/mapbox.scss
vendored
Normal file
26
resources/assets/sass/mapbox.scss
vendored
Normal file
|
@ -0,0 +1,26 @@
|
|||
// mapbox.scss
|
||||
|
||||
.map {
|
||||
margin-top: 4px; //to see underling of note metadata
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
.marker {
|
||||
background-image: url(data:image/png;base64,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);
|
||||
background-size: contain;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
.map-menu {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
background: white;
|
||||
padding: 0.4rem;
|
||||
}
|
||||
|
||||
.map-menu label {
|
||||
margin-left: 3px;
|
||||
margin-right: 3px;
|
||||
}
|
39
resources/assets/sass/note-form.scss
vendored
Normal file
39
resources/assets/sass/note-form.scss
vendored
Normal file
|
@ -0,0 +1,39 @@
|
|||
// note-form.scss
|
||||
|
||||
.note-ui {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
@media (min-width: 600px) {
|
||||
.note-ui > div {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
padding: 0.2rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 599px) {
|
||||
input[name="photo[]"] {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.note-ui label {
|
||||
width: 5em;
|
||||
margin-right: 0.5rem;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.note-ui input:not([type=submit]),
|
||||
.note-ui textarea {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.note-ui textarea {
|
||||
padding: 0.1rem 0.3rem;
|
||||
}
|
||||
|
||||
#locate {
|
||||
margin-right: 0.4rem;
|
||||
}
|
14
resources/assets/sass/pagination.scss
vendored
Normal file
14
resources/assets/sass/pagination.scss
vendored
Normal file
|
@ -0,0 +1,14 @@
|
|||
// pagination.scss
|
||||
|
||||
.pagination {
|
||||
width: 100%;
|
||||
height: 3rem;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.pagination li {
|
||||
list-style-type: none;
|
||||
}
|
28
resources/assets/sass/styles.scss
vendored
Normal file
28
resources/assets/sass/styles.scss
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
// styles.scss
|
||||
|
||||
body {
|
||||
// from smashingmagazine.com/2015/11/using-system-ui-fonts-practical-guide
|
||||
font-family: -apple-system, BlinkMacSystemFont,
|
||||
"Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell",
|
||||
"Fira Sans", "Droid Sans", "Helvetica Neue",
|
||||
sans-serif;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
border-bottom: 1px solid;
|
||||
color: blue;
|
||||
}
|
||||
|
||||
.social-links a {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.icon {
|
||||
height: 1em;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
code {
|
||||
word-wrap: break-word;
|
||||
}
|
|
@ -28,3 +28,22 @@ Notes « Jonny Barnes
|
|||
<script src="/assets/prism/prism.js"></script>
|
||||
<link rel="stylesheet" href="/assets/prism/prism.css">
|
||||
@stop
|
||||
|
||||
@section('bio')
|
||||
@if ($homepage === true)
|
||||
<div class="h-card">
|
||||
<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>.</p>
|
||||
<p>I am active to varying degrees on several <a href="https://indieweb.org/silo">silos</a>:</p>
|
||||
<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 nickname is normally <code class="nickname">jonnybarnes</code> for other services. Here’s a <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>
|
||||
</div>
|
||||
@endif
|
||||
@stop
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
<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="/assets/frontend/sanitize.css">
|
||||
<link rel="stylesheet" href="/assets/css/global.css">
|
||||
<link rel="stylesheet" href="/assets/frontend/normalize.css">
|
||||
<link rel="stylesheet" href="/assets/css/app.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">
|
||||
|
@ -30,8 +30,9 @@
|
|||
<main>
|
||||
@yield('content')
|
||||
</main>
|
||||
<script src="https://use.typekit.net/kmb3cdb.js" integrity="sha384-mpb7gf0UhF7wg6RwyN8wjnUeYN5pG6R35be4pz2PBIh4d1Re99c8huq9fP6i+zYR" crossorigin="anonymous"></script>
|
||||
<script>try{Typekit.load({ async: true });}catch(e){}</script>
|
||||
@section('bio')
|
||||
@show
|
||||
|
||||
@section('scripts')
|
||||
<!--scripts go here when needed-->
|
||||
@show
|
||||
|
|
|
@ -14,7 +14,7 @@ Articles « Jonny Barnes
|
|||
<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>
|
||||
<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'] }}">⚓</a></span>
|
||||
</header>
|
||||
<div class="e-content">
|
||||
{!! $article['main'] !!}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<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>
|
||||
<p>I collaborated on a project with Eric Mill (<a href="https://twitter.com/konklone">@konklone</a>) 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>
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<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>
|
||||
<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 }}">⚓</a></span>
|
||||
</header>
|
||||
<div class="e-content">
|
||||
{!! $article->main !!}
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
<link rel="stylesheet" href="https://api.mapbox.com/mapbox.js/v2.4.0/mapbox.css" integrity="sha384-ZDBUvY/seENyR1fE6u4p1oMFfsKVjIlkiB6TrCdXjeZVPlYanREcmZopTV8WFZ0q" crossorigin="anonymous">
|
||||
<script src="https://api.mapbox.com/mapbox.js/v2.4.0/mapbox.js" integrity="sha384-RIOuxiXOmovmIxeDCaAvWrMaX/XWXpPiRTUIBEjiZt5HQ8orGVqQhlmfno0eoLaX" crossorigin="anonymous"></script>
|
||||
<link rel="stylesheet" href="https://api.mapbox.com/mapbox-gl-js/v0.28.0/mapbox-gl.css" integrity="sha384-dCW/5IRoXPf5hkwrejBih/Unwf0nefL7NDk8hFitylhgPyk1YB4K9nwT5thMO2lV" crossorigin="anonymous">
|
||||
<script src="https://api.mapbox.com/mapbox-gl-js/v0.28.0/mapbox-gl.js" integrity="sha384-Q8pgRmod5Yo3TQg5NSTfk4lNXS6Seqm160e2XA+RXpgGqdGOzX5c+UU6IoohcdWZ" crossorigin="anonymous"></script>
|
||||
|
|
|
@ -2,14 +2,66 @@
|
|||
<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>
|
||||
<div>
|
||||
<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') }}"
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="content" accesskey="n">Note: </label>
|
||||
<textarea name="content"
|
||||
id="content"
|
||||
placeholder="Note"
|
||||
autofocus="autofocus">{{ old('content') }}</textarea>
|
||||
</div>
|
||||
@if ($micropub === true)
|
||||
<label for="syndication" accesskey="s">Syndication: </label>@if($syndication)<ul class="syndication-targets-list" name="syndication">@foreach($syndication as $syn)<li><input type="checkbox" name="syndicate-to[]" id="{{ $syn['target'] }}" value="{{ $syn['target'] }}" checked="checked"> <label for="{{ $syn['target'] }}">{{ $syn['name'] }}</label></li>@endforeach</ul>@endif
|
||||
<a href="/refresh-syndication-targets">Refresh Syndication Targets</a><br>
|
||||
@if($syndication)
|
||||
<div>
|
||||
<label for="syndication" accesskey="s">Syndication: </label>
|
||||
<ul class="syndication-targets-list" name="syndication">
|
||||
@foreach($syndication as $syn)
|
||||
<li><input type="checkbox"
|
||||
name="syndicate-to[]"
|
||||
id="{{ $syn['target'] }}"
|
||||
value="{{ $syn['target'] }}"
|
||||
checked="checked"
|
||||
> <label for="{{ $syn['target'] }}">{{ $syn['name'] }}</label>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
<div>
|
||||
<a href="/refresh-syndication-targets">Refresh Syndication Targets</a>
|
||||
</div>
|
||||
@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>
|
||||
<div>
|
||||
<label for="photo" accesskey="p">Photo: </label>
|
||||
<input type="file"
|
||||
accept="image/*"
|
||||
value="Upload"
|
||||
name="photo[]"
|
||||
id="photo"
|
||||
multiple
|
||||
>
|
||||
</div>
|
||||
<div>
|
||||
<label for="locate" accesskey="l"></label>
|
||||
<button type="button"
|
||||
name="locate"
|
||||
id="locate"
|
||||
value="Locate"
|
||||
disabled
|
||||
>Locate</button>
|
||||
<button type="submit"
|
||||
name="submit"
|
||||
id="submit"
|
||||
value="Submit"
|
||||
>Submit</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
|
|
@ -15,13 +15,17 @@
|
|||
@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->placeLink)in <span class="p-location h-card"><a class="p-name u-url" href="{{ $note->placeLink }}">{{ $note->address }}</a><data class="p-latitude" value="{{ $note->latitude }}"></data><data class="p-longitude" value="{{ $note->longitude }}"></data></span>
|
||||
@elseif($note->address)in <span class="p-location h-adr">{!! $note->address !!}<data class="p-latitude" value="{{ $note->latitude }}"></data><data class="p-longitude" value="{{ $note->longitude }}"></data></span>@endif
|
||||
@if($note->replies > 0) @include('templates.replies-icon'): {{ $note->replies }}@endif
|
||||
@if($note->tweet_id || $note->facebook_url)@include('templates.social-links', ['tweet_id' => $note->tweet_id, 'facebook_url' => $note->facebook_url])@endif
|
||||
@if ($note->placeLink)
|
||||
<div class="map" data-latitude="{{ $note->latitude }}" data-longitude="{{ $note->longitude }}"></div>
|
||||
@endif
|
||||
<div>
|
||||
<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->placeLink)in <span class="p-location h-card"><a class="p-name u-url" href="{{ $note->placeLink }}">{{ $note->address }}</a><data class="p-latitude" value="{{ $note->latitude }}"></data><data class="p-longitude" value="{{ $note->longitude }}"></data></span>
|
||||
@elseif($note->address)in <span class="p-location h-adr">{!! $note->address !!}<data class="p-latitude" value="{{ $note->latitude }}"></data><data class="p-longitude" value="{{ $note->longitude }}"></data></span>@endif
|
||||
@if($note->replies > 0) @include('templates.replies-icon'): {{ $note->replies }}@endif
|
||||
</div>
|
||||
<div class="social-links">
|
||||
@if($note->tweet_id || $note->facebook_url)@include('templates.social-links', ['tweet_id' => $note->tweet_id, 'facebook_url' => $note->facebook_url])@endif
|
||||
</div>
|
||||
</div>
|
||||
@if ($note->placeLink)
|
||||
<div class="map" data-latitude="{{ $note->latitude }}" data-longitude="{{ $note->longitude }}"></div>
|
||||
@endif
|
||||
</div>
|
||||
|
|
|
@ -1,21 +1,19 @@
|
|||
<span class="social-links">
|
||||
@if($tweet_id !== null)<a class="u-syndication" href="https://twitter.com/i/web/status/{{ $tweet_id }}" title="View note on Twitter">
|
||||
<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 fill="#4099FF" 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>@endif
|
||||
@if($facebook_url !== null)<a class="u-syndication" href="{{ $facebook_url }}" title="View note on Facebook">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" preservedAspectRatio="xMinYMin meet" viewBox="0 0 266.893 266.895" class="icon">
|
||||
<path id="Blue_1_" fill="#3C5A99" d="M248.082,262.307c7.854,0,14.223-6.369,14.223-14.225V18.812
|
||||
c0-7.857-6.368-14.224-14.223-14.224H18.812c-7.857,0-14.224,6.367-14.224,14.224v229.27c0,7.855,6.366,14.225,14.224,14.225
|
||||
H248.082z"
|
||||
/>
|
||||
<path id="f" fill="#FFFFFF" d="M182.409,262.307v-99.803h33.499l5.016-38.895h-38.515V98.777c0-11.261,3.127-18.935,19.275-18.935
|
||||
l20.596-0.009V45.045c-3.562-0.474-15.788-1.533-30.012-1.533c-29.695,0-50.025,18.126-50.025,51.413v28.684h-33.585v38.895h33.585
|
||||
v99.803H182.409z"
|
||||
/>
|
||||
</svg>
|
||||
</a>@endif
|
||||
</span>
|
||||
@if($tweet_id !== null)<a class="u-syndication" href="https://twitter.com/i/web/status/{{ $tweet_id }}" title="View note on Twitter">
|
||||
<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 fill="#4099FF" 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>@endif
|
||||
@if($facebook_url !== null)<a class="u-syndication" href="{{ $facebook_url }}" title="View note on Facebook">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" preservedAspectRatio="xMinYMin meet" viewBox="0 0 266.893 266.895" class="icon">
|
||||
<path id="Blue_1_" fill="#3C5A99" d="M248.082,262.307c7.854,0,14.223-6.369,14.223-14.225V18.812
|
||||
c0-7.857-6.368-14.224-14.223-14.224H18.812c-7.857,0-14.224,6.367-14.224,14.224v229.27c0,7.855,6.366,14.225,14.224,14.225
|
||||
H248.082z"
|
||||
/>
|
||||
<path id="f" fill="#FFFFFF" d="M182.409,262.307v-99.803h33.499l5.016-38.895h-38.515V98.777c0-11.261,3.127-18.935,19.275-18.935
|
||||
l20.596-0.009V45.045c-3.562-0.474-15.788-1.533-30.012-1.533c-29.695,0-50.025,18.126-50.025,51.413v28.684h-33.585v38.895h33.585
|
||||
v99.803H182.409z"
|
||||
/>
|
||||
</svg>
|
||||
</a>@endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue