Squashed commit of the following:

commit bb79d80d284bf22ae17857b37630d3075635057e
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Mon Dec 5 11:06:53 2016 +0000

    Update changelog regarding Makefile

commit d74d0ac99da0b898d1a08ed270629bb00b492e34
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sun Dec 4 19:24:09 2016 +0000

    make output

commit 5c7ad5830ec881a5c22bd737cac1ec3430577eb3
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sun Dec 4 19:22:25 2016 +0000

    Remove gulp

commit 160947dcd346d3c0016a15fe3b64d6f194d33bfc
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sun Dec 4 19:10:57 2016 +0000

    Updated fetch dependency

commit 25b8f300d93c3e6e129c7ac6ab31e85c12cebc6a
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sun Dec 4 18:45:21 2016 +0000

    Copy frontend assets into place

commit 65b02a14e98215899efc4f5673953bdf23f4c942
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Sun Dec 4 18:40:28 2016 +0000

    Add the target file for `sass`, and set the scss files as the prerequisits

commit 7442df5040ac1459d5f088690390ef043f968852
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Fri Dec 2 21:44:19 2016 +0000

    Makefile output so far

commit 8580a61aa2fb6326b99f58cb2d0418a45d734054
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Fri Dec 2 21:42:32 2016 +0000

    Create sourcemaps during js uglification

commit facdbbf81f4907ce394dcb5719b76451fd45e539
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Fri Dec 2 21:40:48 2016 +0000

    We can now uglify js files and compress all frontend assets

commit 866c4fa0d70377f80061533989c4d8e6d00c818c
Author: Jonny Barnes <jonny@jonnybarnes.uk>
Date:   Thu Dec 1 15:57:49 2016 +0000

    A simple makefile
This commit is contained in:
Jonny Barnes 2016-12-05 11:07:22 +00:00
commit cc65b45f91
41 changed files with 245 additions and 1728 deletions

36
Makefile Normal file
View file

@ -0,0 +1,36 @@
# A Makefile to run various tasks
.PHONY: sass js compress
jsfiles := $(wildcard resources/assets/js/*.js)
sassfiles := $(wildcard resources/assets/sass/*.scss)
yarnfiles:= node_modules/whatwg-fetch/fetch.js \
node_modules/alertify.js/dist/js/alertify.js \
node_modules/store2/dist/store2.min.js \
node_modules/autolinker/dist/Autolinker.min.js \
node_modules/marked/marked.min.js
assets := public/assets/css/app.css \
public/assets/prism/prism.css public/assets/prism/prism.js \
$(wildcard public/assets/js/*.js) \
$(wildcard pubilc/assets/frontend/*.css) \
$(wildcard public/assets/frontend/*.js)
sass: public/assets/css/app.css
public/assets/css/app.css: $(sassfiles)
sassc --style compressed --sourcemap resources/assets/sass/app.scss public/assets/css/app.css
frontend: $(yarnfiles)
for f in $^; do \
cp $$f public/assets/frontend/`basename $$f`; \
done;
js: $(jsfiles)
for f in $^; do \
uglifyjs $$f --screw-ie8 --compress --mangle --source-map public/assets/js/`basename $$f`.map --output public/assets/js/`basename $$f`; \
done;
compress: $(assets)
for f in $^; do \
zopfli $$f; \
bro --force --quality 11 --input $$f --output $$f.br; \
done;

View file

@ -3,6 +3,7 @@
## Version {next}
- Some minor style tweaks
- Fix some validation issues
- Switch to Makefile for front-end build tasks
## Version 0.0.17 (2016-11-25)
- Add a basic search feature using Laravel Scout and Algolia (issue#38)

View file

@ -1,89 +0,0 @@
'use strict';
var gulp = require('gulp');
var sass = require('gulp-sass');
var brotli = require('gulp-brotli');
var uglify = require('gulp-uglify');
var zopfli = require('gulp-zopfli');
var sourcemaps = require('gulp-sourcemaps');
var autoprefixer = require('gulp-autoprefixer');
gulp.task('sass', function () {
return gulp.src('./resources/assets/sass/app.scss')
.pipe(sourcemaps.init())
.pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError))
.pipe(autoprefixer({browsers: ['last 2 version']}))
.pipe(sourcemaps.write('./maps'))
.pipe(gulp.dest('./public/assets/css'));
});
gulp.task('js-assets', function () {
//return gulp.src(['resources/assets/js/**/*'])
// .pipe(gulp.dest('./public/assets/js'));
return gulp.src(['resources/assets/js/**/*'])
.pipe(sourcemaps.init())
.pipe(uglify())
.pipe(sourcemaps.write('./maps'))
.pipe(gulp.dest('./public/assets/js'));
});
gulp.task('frontend', function () {
//copy JS files
gulp.src([
'node_modules/whatwg-fetch/fetch.js',
'node_modules/alertify.js/dist/js/alertify.js',
'node_modules/store2/dist/store2.min.js',
'node_modules/autolinker/dist/Autolinker.min.js',
'node_modules/marked/marked.min.js',
])
.pipe(gulp.dest('public/assets/frontend/'));
//copy CSS files
gulp.src([
'node_modules/alertify.js/dist/css/alertify.css',
'node_modules/normalize.css/normalize.css',
])
.pipe(gulp.dest('public/assets/frontend/'));
});
gulp.task('compress', function () {
//hand-made css
gulp.src('public/assets/css/*.css')
.pipe(zopfli({ format: 'gzip', append: true }))
.pipe(gulp.dest('public/assets/css/'));
gulp.src('public/assets/css/*.css')
.pipe(brotli.compress({mode: 1, quality: 11}))
.pipe(gulp.dest('public/assets/css/'));
//hand-made js
gulp.src('public/assets/js/*.js')
.pipe(zopfli({ format: 'gzip', append: true }))
.pipe(gulp.dest('public/assets/js/'));
gulp.src('public/assets/js/*.js')
.pipe(brotli.compress({mode: 1, quality: 11}))
.pipe(gulp.dest('public/assets/js/'));
//bower components
gulp.src('public/assets/frontend/*.css')
.pipe(zopfli({ format: 'gzip', append: true }))
.pipe(gulp.dest('public/assets/frontend/'));
gulp.src('public/assets/frontend/*.js')
.pipe(zopfli({ format: 'gzip', append: true }))
.pipe(gulp.dest('public/assets/frontend/'));
gulp.src('public/assets/frontend/*.css')
.pipe(brotli.compress({mode: 1, quality: 11}))
.pipe(gulp.dest('public/assets/frontend/'));
gulp.src('public/assets/frontend/*.js')
.pipe(brotli.compress({mode: 1, quality: 11}))
.pipe(gulp.dest('public/assets/frontend/'));
//prism
gulp.src('public/assets/prism/*.css')
.pipe(zopfli({ format: 'gzip', append: true }))
.pipe(gulp.dest('public/assets/prism/'));
gulp.src('public/assets/prism/*.js')
.pipe(zopfli({ format: 'gzip', append: true }))
.pipe(gulp.dest('public/assets/prism/'));
gulp.src('public/assets/prism/*.css')
.pipe(brotli.compress({mode: 1, quality: 11}))
.pipe(gulp.dest('public/assets/prism/'));
gulp.src('public/assets/prism/*.js')
.pipe(brotli.compress({mode: 1, quality: 11}))
.pipe(gulp.dest('public/assets/prism/'));
});

View file

@ -12,13 +12,6 @@
"whatwg-fetch": "^1.0.0"
},
"devDependencies": {
"gulp": "~3.9",
"gulp-autoprefixer": "^3.1.0",
"gulp-brotli": "^1.0.1",
"gulp-sass": "^2.3.2",
"gulp-sourcemaps": "^2.2.0",
"gulp-uglify": "^2.0.0",
"gulp-zopfli": "^1.0.0",
"lint-staged": "^3.2.1",
"pre-commit": "^1.1.3",
"stylelint-config-standard": "^14.0.0"

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,15 @@
{
"version": 3,
"file": "app.css",
"sources": [
"../../../resources/assets/sass/app.scss",
"../../../resources/assets/sass/layout.scss",
"../../../resources/assets/sass/styles.scss",
"../../../resources/assets/sass/pagination.scss",
"../../../resources/assets/sass/note-form.scss",
"../../../resources/assets/sass/mapbox.scss",
"../../../resources/assets/sass/contacts.scss"
],
"mappings": "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",
"names": []
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -20,6 +20,28 @@
arrayBuffer: 'ArrayBuffer' in self
}
if (support.arrayBuffer) {
var viewClasses = [
'[object Int8Array]',
'[object Uint8Array]',
'[object Uint8ClampedArray]',
'[object Int16Array]',
'[object Uint16Array]',
'[object Int32Array]',
'[object Uint32Array]',
'[object Float32Array]',
'[object Float64Array]'
]
var isDataView = function(obj) {
return obj && DataView.prototype.isPrototypeOf(obj)
}
var isArrayBufferView = ArrayBuffer.isView || function(obj) {
return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1
}
}
function normalizeName(name) {
if (typeof name !== 'string') {
name = String(name)
@ -152,14 +174,36 @@
function readBlobAsArrayBuffer(blob) {
var reader = new FileReader()
var promise = fileReaderReady(reader)
reader.readAsArrayBuffer(blob)
return fileReaderReady(reader)
return promise
}
function readBlobAsText(blob) {
var reader = new FileReader()
var promise = fileReaderReady(reader)
reader.readAsText(blob)
return fileReaderReady(reader)
return promise
}
function readArrayBufferAsText(buf) {
var view = new Uint8Array(buf)
var chars = new Array(view.length)
for (var i = 0; i < view.length; i++) {
chars[i] = String.fromCharCode(view[i])
}
return chars.join('')
}
function bufferClone(buf) {
if (buf.slice) {
return buf.slice(0)
} else {
var view = new Uint8Array(buf.byteLength)
view.set(new Uint8Array(buf))
return view.buffer
}
}
function Body() {
@ -167,7 +211,9 @@
this._initBody = function(body) {
this._bodyInit = body
if (typeof body === 'string') {
if (!body) {
this._bodyText = ''
} else if (typeof body === 'string') {
this._bodyText = body
} else if (support.blob && Blob.prototype.isPrototypeOf(body)) {
this._bodyBlob = body
@ -175,11 +221,12 @@
this._bodyFormData = body
} else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {
this._bodyText = body.toString()
} else if (!body) {
this._bodyText = ''
} else if (support.arrayBuffer && ArrayBuffer.prototype.isPrototypeOf(body)) {
// Only support ArrayBuffers for POST method.
// Receiving ArrayBuffers happens via Blobs, instead.
} else if (support.arrayBuffer && support.blob && isDataView(body)) {
this._bodyArrayBuffer = bufferClone(body.buffer)
// IE 10-11 can't handle a DataView body.
this._bodyInit = new Blob([this._bodyArrayBuffer])
} else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {
this._bodyArrayBuffer = bufferClone(body)
} else {
throw new Error('unsupported BodyInit type')
}
@ -204,6 +251,8 @@
if (this._bodyBlob) {
return Promise.resolve(this._bodyBlob)
} else if (this._bodyArrayBuffer) {
return Promise.resolve(new Blob([this._bodyArrayBuffer]))
} else if (this._bodyFormData) {
throw new Error('could not read FormData body as blob')
} else {
@ -212,27 +261,28 @@
}
this.arrayBuffer = function() {
return this.blob().then(readBlobAsArrayBuffer)
}
this.text = function() {
var rejected = consumed(this)
if (rejected) {
return rejected
}
if (this._bodyBlob) {
return readBlobAsText(this._bodyBlob)
} else if (this._bodyFormData) {
throw new Error('could not read FormData body as text')
if (this._bodyArrayBuffer) {
return consumed(this) || Promise.resolve(this._bodyArrayBuffer)
} else {
return Promise.resolve(this._bodyText)
return this.blob().then(readBlobAsArrayBuffer)
}
}
} else {
this.text = function() {
var rejected = consumed(this)
return rejected ? rejected : Promise.resolve(this._bodyText)
}
this.text = function() {
var rejected = consumed(this)
if (rejected) {
return rejected
}
if (this._bodyBlob) {
return readBlobAsText(this._bodyBlob)
} else if (this._bodyArrayBuffer) {
return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))
} else if (this._bodyFormData) {
throw new Error('could not read FormData body as text')
} else {
return Promise.resolve(this._bodyText)
}
}
@ -260,7 +310,10 @@
function Request(input, options) {
options = options || {}
var body = options.body
if (Request.prototype.isPrototypeOf(input)) {
if (typeof input === 'string') {
this.url = input
} else {
if (input.bodyUsed) {
throw new TypeError('Already read')
}
@ -271,12 +324,10 @@
}
this.method = input.method
this.mode = input.mode
if (!body) {
if (!body && input._bodyInit != null) {
body = input._bodyInit
input.bodyUsed = true
}
} else {
this.url = input
}
this.credentials = options.credentials || this.credentials || 'omit'
@ -294,7 +345,7 @@
}
Request.prototype.clone = function() {
return new Request(this)
return new Request(this, { body: this._bodyInit })
}
function decode(body) {
@ -310,16 +361,17 @@
return form
}
function headers(xhr) {
var head = new Headers()
var pairs = (xhr.getAllResponseHeaders() || '').trim().split('\n')
pairs.forEach(function(header) {
var split = header.trim().split(':')
var key = split.shift().trim()
var value = split.join(':').trim()
head.append(key, value)
function parseHeaders(rawHeaders) {
var headers = new Headers()
rawHeaders.split('\r\n').forEach(function(line) {
var parts = line.split(':')
var key = parts.shift().trim()
if (key) {
var value = parts.join(':').trim()
headers.append(key, value)
}
})
return head
return headers
}
Body.call(Request.prototype)
@ -330,10 +382,10 @@
}
this.type = 'default'
this.status = options.status
this.status = 'status' in options ? options.status : 200
this.ok = this.status >= 200 && this.status < 300
this.statusText = options.statusText
this.headers = options.headers instanceof Headers ? options.headers : new Headers(options.headers)
this.statusText = 'statusText' in options ? options.statusText : 'OK'
this.headers = new Headers(options.headers)
this.url = options.url || ''
this._initBody(bodyInit)
}
@ -371,35 +423,16 @@
self.fetch = function(input, init) {
return new Promise(function(resolve, reject) {
var request
if (Request.prototype.isPrototypeOf(input) && !init) {
request = input
} else {
request = new Request(input, init)
}
var request = new Request(input, init)
var xhr = new XMLHttpRequest()
function responseURL() {
if ('responseURL' in xhr) {
return xhr.responseURL
}
// Avoid security warnings on getResponseHeader when not allowed by CORS
if (/^X-Request-URL:/m.test(xhr.getAllResponseHeaders())) {
return xhr.getResponseHeader('X-Request-URL')
}
return
}
xhr.onload = function() {
var options = {
status: xhr.status,
statusText: xhr.statusText,
headers: headers(xhr),
url: responseURL()
headers: parseHeaders(xhr.getAllResponseHeaders() || '')
}
options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')
var body = 'response' in xhr ? xhr.response : xhr.responseText
resolve(new Response(body, options))
}

Binary file not shown.

Binary file not shown.

View file

@ -1,2 +1,2 @@
function getKeys(){for(var e=[],t=document.querySelectorAll("input[type=text], textarea"),r=0;r<t.length;r++){var o=getFormElement(t[r]);if(o!==!1){var n=o.id+"~"+t[r].id;e.push(n)}}return e}function getFormElement(e){if("body"!==e.nodeName.toLowerCase()){var t=e.parentNode;return"form"===t.nodeName.toLowerCase()?t:getFormElement(t)}return!1}var feature={addEventListener:!!window.addEventListener,querySelectorAll:!!document.querySelectorAll};if(feature.addEventListener&&feature.querySelectorAll)for(var keys=getKeys(),i=0;i<keys.length;i++)if(store.get(keys[i])){var formId=keys[i].split("~")[1];document.getElementById(formId).value=store.get(keys[i])}for(var timerId=window.setInterval(function(){for(var e=!1,t=document.querySelectorAll("input[type=text], textarea"),r=0;r<t.length;r++){var o=getFormElement(t[r]).id+"~"+t[r].id;store.get(o)!==t[r].value&&""!==t[r].value&&(store.set(o,t[r].value),e=!0)}e===!0&&(alertify.logPosition("top right"),alertify.success("Auto saved text"))},5e3),forms=document.querySelectorAll("form"),f=0;f<forms.length;f++){var form=forms[f];form.addEventListener("submit",function(){window.clearInterval(timerId);for(var e=form.id,t=store.keys(),r=0;r<t.length;r++)t[r].indexOf(e)>-1&&store.remove(t[r])})}
//# sourceMappingURL=maps/form-save.js.map
//# sourceMappingURL=public/assets/js/form-save.js.map

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1 @@
{"version":3,"sources":["resources/assets/js/form-save.js"],"names":["getKeys","keys","formFields","document","querySelectorAll","f","length","parent","getFormElement","key","id","push","elem","nodeName","toLowerCase","parentNode","feature","addEventListener","window","i","store","get","formId","split","getElementById","value","timerId","setInterval","saved","inputs","set","alertify","logPosition","success","forms","form","clearInterval","storedKeys","indexOf","remove"],"mappings":"AA6CA,QAASA,WAGL,IAAK,GAFDC,MACAC,EAAaC,SAASC,iBAAiB,8BAClCC,EAAI,EAAGA,EAAIH,EAAWI,OAAQD,IAAK,CACxC,GAAIE,GAASC,eAAeN,EAAWG,GACvC,IAAIE,KAAW,EAAO,CAClB,GAAIE,GAAMF,EAAOG,GAAK,IAAMR,EAAWG,GAAGK,EAC1CT,GAAKU,KAAKF,IAGlB,MAAOR,GAEX,QAASO,gBAAeI,GACpB,GAAoC,SAAhCA,EAAKC,SAASC,cAA0B,CACxC,GAAIP,GAASK,EAAKG,UAClB,OAAsC,SAAlCR,EAAOM,SAASC,cACTP,EAEAC,eAAeD,GAG1B,OAAO,EAjEf,GAAIS,UACAC,mBAAqBC,OAAOD,iBAC5Bb,mBAAqBD,SAASC,iBAGlC,IAAIY,QAAQC,kBAAoBD,QAAQZ,iBAEpC,IAAK,GADDH,MAAOD,UACFmB,EAAI,EAAGA,EAAIlB,KAAKK,OAAQa,IAC7B,GAAIC,MAAMC,IAAIpB,KAAKkB,IAAK,CACpB,GAAIG,QAASrB,KAAKkB,GAAGI,MAAM,KAAK,EAChCpB,UAASqB,eAAeF,QAAQG,MAAQL,MAAMC,IAAIpB,KAAKkB,IAqBnE,IAAK,GAhBDO,SAAUR,OAAOS,YAAY,WAG7B,IAAK,GAFDC,IAAQ,EACRC,EAAS1B,SAASC,iBAAiB,8BAC9Be,EAAI,EAAGA,EAAIU,EAAOvB,OAAQa,IAAK,CACpC,GAAIV,GAAMD,eAAeqB,EAAOV,IAAIT,GAAK,IAAMmB,EAAOV,GAAGT,EACrDU,OAAMC,IAAIZ,KAASoB,EAAOV,GAAGM,OAA6B,KAApBI,EAAOV,GAAGM,QAChDL,MAAMU,IAAIrB,EAAKoB,EAAOV,GAAGM,OACzBG,GAAQ,GAGZA,KAAU,IACVG,SAASC,YAAY,aACrBD,SAASE,QAAQ,qBAEtB,KACCC,MAAQ/B,SAASC,iBAAiB,QAC7BC,EAAI,EAAGA,EAAI6B,MAAM5B,OAAQD,IAAK,CACnC,GAAI8B,MAAOD,MAAM7B,EACjB8B,MAAKlB,iBAAiB,SAAU,WAC5BC,OAAOkB,cAAcV,QAGrB,KAAK,GAFDJ,GAASa,KAAKzB,GACd2B,EAAajB,MAAMnB,OACdkB,EAAI,EAAGA,EAAIkB,EAAW/B,OAAQa,IAC/BkB,EAAWlB,GAAGmB,QAAQhB,IAAU,GAChCF,MAAMmB,OAAOF,EAAWlB","file":"public/assets/js/form-save.js"}

View file

@ -1,2 +1,2 @@
for(var autolinker=new Autolinker,ytidregex=/watch\?v=([A-Za-z0-9\-_]+)/,spotifyregex=/https\:\/\/play\.spotify\.com\/(.*)\b/,notes=document.querySelectorAll(".e-content"),i=0;i<notes.length;i++){var ytid=notes[i].textContent.match(ytidregex);if(null!==ytid){var yid=ytid[1],yiframe=document.createElement("iframe");yiframe.classList.add("youtube"),yiframe.setAttribute("src","//www.youtube.com/embed/"+yid),yiframe.setAttribute("frameborder",0),yiframe.setAttribute("allowfullscreen","true"),notes[i].appendChild(yiframe)}var spotifyid=notes[i].textContent.match(spotifyregex);if(null!==spotifyid){var sid=spotifyid[1].replace("/",":"),siframe=document.createElement("iframe");siframe.classList.add("spotify"),siframe.setAttribute("src","https://embed.spotify.com/?uri=spotify:"+sid),siframe.setAttribute("frameborder",0),siframe.setAttribute("allowtransparency","true"),notes[i].appendChild(siframe)}var orig=notes[i].innerHTML,linked=autolinker.link(orig);notes[i].innerHTML=linked}
//# sourceMappingURL=maps/links.js.map
//# sourceMappingURL=public/assets/js/links.js.map

Some files were not shown because too many files have changed in this diff Show more