Merge branch 'blog' into 'master'

Blog

See merge request matthewess/mat.services!2
pull/1/head
Matthew Ess 2018-10-18 06:46:49 +00:00
commit b7c4f70009
27 changed files with 430 additions and 190 deletions

View File

@ -2,23 +2,24 @@ module.exports = {
root: true,
env: {
browser: true,
node: true
node: true,
},
parserOptions: {
parser: 'babel-eslint'
parser: 'babel-eslint',
},
extends: [
'plugin:vue/recommended',
'plugin:prettier/recommended'
],
extends: ['plugin:vue/recommended', 'plugin:prettier/recommended'],
// required to lint *.vue files
plugins: [
'vue',
'prettier'
],
plugins: ['vue', 'prettier'],
// add your custom rules here
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
}
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
'comma-dangle': [
'error',
{
arrays: 'only-multiline',
objects: 'only-multiline',
},
],
},
}

1
.gitignore vendored
View File

@ -69,6 +69,7 @@ typings/
.nuxt
# Nuxt generate
public
dist
# vuepress build output

View File

@ -10,8 +10,6 @@ cache:
pages:
script:
- yarn generate
- mkdir public
- mv dist/* public/
artifacts:
paths:
- public

View File

@ -1,4 +1,5 @@
{
"semi": false,
"singleQuote": true
"singleQuote": true,
"trailingComma": "es5"
}

View File

@ -1,9 +1,5 @@
{
"eslint.enable": true,
"eslint.packageManager": "yarn",
"eslint.validate": [
"javascript",
"javascriptreact",
"vue"
]
}
"eslint.validate": ["javascript", "javascriptreact", "vue", "html"]
}

View File

@ -1,3 +1,4 @@
@import '~bulma/sass/utilities/initial-variables'
@import '~bulma/sass/utilities/functions'
$pink: #F4ACB7
@ -21,3 +22,5 @@ $warning: $bright
$warning-invert: $bright-invert
$link: $purple
$link-invert: $purple-invert
@import '~bulma/sass/utilities/all'

View File

@ -1,6 +1,4 @@
@import '~bulma/sass/utilities/initial-variables'
@import 'variables'
@import 'utilities'
@import '~bulma/bulma'

View File

@ -5,20 +5,22 @@ section.hero.is-primary.is-bold(v-once)
h1.title.has-text-danger matthew ess
h2.subtitle.has-text-danger software developer, social justice warrior, wannabe artist
.hero-foot
nav-tabs
.tabs.is-boxed.is-fullwidth.is-three-quarters
ul.has-text-weight-semibold.has-text-danger
li(v-if='compact') #[nuxt-link.has-text-weight-bold(to='/') matthew ess]
li #[nuxt-link(to='/projects') projects]
li #[nuxt-link(to='/resume') resume]
li #[nuxt-link(to='/blog') blog]
</template>
<script>
import navTabs from './navTabs.vue'
export default {
components: { navTabs },
props: {
compact: {
type: Boolean,
default: false
}
}
default: false,
},
},
}
</script>

View File

@ -1,9 +0,0 @@
<template lang="pug">
#nav-tabs
.tabs.is-boxed.is-fullwidth
ul.has-text-weight-semibold.has-text-danger
li #[nuxt-link(to='/') home]
li #[nuxt-link(to='/projects') projects]
li #[nuxt-link(to='/resume') resume]
//- li #[nuxt-link(to='/blog') blog]
</template>

22
content/FirstPost.md Normal file
View File

@ -0,0 +1,22 @@
---
title: hi, world
tagline: my personal introduction to the world of words on the web
tags:
- first post
- introduction
- tech blog
- creative writing
---
hi, world! this is my first blog post. i'm hoping to use this as part creative outlet, part
self-encouragement to see technical projects through, and part place to document my learning so i
can go back and look at all the things i forgot, one day.
to those of you who don't know me, here's a brief introduction: my name is mat! i'm a communist,
a [partner][1], and generally (at the very least) something of a curmudgeon. i have a number of
strong opinions, especially about technology and politics. i have a love for art, and, in another
life, i really wish that i'd studied philosophy or music.
if you have ideas for me to blog about, feel free to reach out to me at mess [at] yelp [dot] com.
[1]: https://macklovesmatt.com/ 'me and my partner'

View File

@ -10,7 +10,7 @@
import hero from '../components/hero.vue'
export default {
components: { hero }
components: { hero },
}
</script>

View File

@ -10,7 +10,7 @@
import hero from '../components/hero.vue'
export default {
components: { hero }
components: { hero },
}
</script>

View File

@ -1,8 +0,0 @@
# MIDDLEWARE
**This directory is not required, you can delete it if you don't want to use it.**
This directory contains your application middleware.
The middleware lets you define custom function to be ran before rendering a page or a group of pages (layouts).
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing#middleware).

View File

@ -1,6 +1,6 @@
const pkg = require('./package') // javascript.validate.enable false
import pkg from './package'
module.exports = {
export default {
mode: 'universal',
/*
@ -14,8 +14,8 @@ module.exports = {
{ charset: 'utf-8' },
{ 'http-equiv': 'X-UA-Compatible', content: 'IE=edge,chrome=1' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ hid: 'description', name: 'description', content: pkg.description }
]
{ hid: 'description', name: 'description', content: pkg.description },
],
},
/*
@ -31,12 +31,36 @@ module.exports = {
/*
** Plugins to load before mounting the App
*/
plugins: [],
plugins: ['~/plugins/filters.js'],
/*
** Nuxt.js modules
*/
modules: ['@nuxtjs/bulma'],
modules: ['@nuxtjs/bulma', 'nuxtent'],
/*
** Static Site Generation configuration
*/
generate: {
dir: 'public',
},
/*
** Nuxtent configuration
*/
nuxtent: {
content: {
page: '/_slug',
permalink: '/blog/:slug',
isPost: false,
generate: ['get', 'getAll'],
},
api: isStatic => {
return {
browserBaseURL: isStatic ? 'https://mat.services' : '',
}
},
},
/*
** Build configuration
@ -45,9 +69,9 @@ module.exports = {
postcss: {
preset: {
features: {
customProperties: false
}
}
customProperties: false,
},
},
},
/*
** You can extend webpack config here
@ -59,9 +83,9 @@ module.exports = {
enforce: 'pre',
test: /\.(js|vue)$/,
loader: 'eslint-loader',
exclude: /(node_modules)/
exclude: /(node_modules)/,
})
}
}
}
},
},
}

View File

@ -13,22 +13,25 @@
"precommit": "yarn lint"
},
"dependencies": {
"@nuxtjs/axios": "^4.5.2",
"@nuxtjs/bulma": "^1.2.0",
"cross-env": "^5.2.0",
"nuxt": "^2.0.0"
"nuxt": "^2.0.0",
"nuxtent": "^1.4.1"
},
"devDependencies": {
"babel-eslint": "^8.2.1",
"eslint": "^5.0.1",
"eslint": "^5.7.0",
"eslint-config-prettier": "^3.1.0",
"eslint-loader": "^2.0.0",
"eslint-plugin-prettier": "2.6.2",
"eslint-plugin-vue": "^4.0.0",
"eslint-plugin-vue": "^5.0.0-beta.3",
"node-sass": "^4.9.3",
"nodemon": "^1.11.0",
"prettier": "1.14.3",
"pug": "^2.0.3",
"pug-plain-loader": "^1.0.0",
"sass-loader": "^7.1.0"
"sass-loader": "^7.1.0",
"webpack": "^4.20.2"
}
}

View File

@ -1,6 +0,0 @@
# PAGES
This directory contains your Application Views and Routes.
The framework reads all the `*.vue` files inside this directory and create the router of your application.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/routing).

21
pages/blog.vue Normal file
View File

@ -0,0 +1,21 @@
<template lang="pug">
#blog
nuxt-link(to='/blog')
h1.title.has-text-centered ~ a mess of words ~
#top
nuxt-child
</template>
<script>
export default {
head() {
return { title: 'blog' }
},
layout: 'compact',
}
</script>
<style lang="sass" scoped>
.title
margin-bottom: 5rem
</style>

41
pages/blog/_slug.vue Normal file
View File

@ -0,0 +1,41 @@
<template lang="pug">
#post
h1.title {{ post.title }}
h2.subtitle {{ post.tagline }}
p {{ post.date | prettifyDateLong }}
hr
.post-body.content(v-html='post.body')
a(href='#top') top
</template>
<script>
export default {
async asyncData({ app, route, payload }) {
return {
post: (await app.$content('/').get(route.path)) || payload,
}
},
head() {
return {
title: this.post.title,
}
},
beforeMount() {
if (this.post.draft) {
this.$router.replace('/blog')
}
},
layout: 'compact',
}
</script>
<style lang="sass" scoped>
@import '~assets/sass/utilities'
.post-body
width: 75%
margin-bottom: 5rem
font-size: $size-medium
a
text-decoration: underline
</style>

View File

@ -1,14 +1,49 @@
<template lang="pug">
#blog
ul.blog-items
li.blog-item(v-for='(post, index) in listing' v-if='!post.draft')
nuxt-link(:to='post.path')
span.post-title {{ post.title }}
span.post-date {{ post.date | prettifyDate }}
.post-tagline {{ post.tagline }}
hr(v-if='last(index)')
</template>
<script>
export default {
head() {
async asyncData({ app }) {
return {
title: 'blog'
listing:
(await app
.$content('/')
.query({ exclude: ['body', 'meta', 'permalink', 'anchors'] })
.getAll()) || payload,
}
},
layout: 'compact'
methods: {
last(index) {
return index < this.listing.length - 1
},
},
layout: 'compact',
}
</script>
<style lang="sass" scoped>
@import '~assets/sass/utilities'
.blog-items
+desktop
width: 75%
margin: 0 auto
.blog-item
margin-bottom: 3rem
.post-title
font-size: $size-medium
.post-date
float: right
.post-tagline
font-size: $size-normal
color: $grey-light
margin-bottom: 1rem
width: fit-content
</style>

View File

@ -8,23 +8,23 @@
p.content.
i'm a communist, a
#[a(href='https://mattandmack.website' target='_blank') partner],
a recently graduated student, and a software developer at yelp.
and a software developer at yelp.
.tile.is-9
.notification.is-warning
h1.title.is-4 what's inspiring me now
.content
p bo burnham's 8th grade
p louis brennan's #[a(href='https://louisbrennan.bandcamp.com/album/dead-capital' target='_blank') dead capital]
p wes anderson's isle of dogs
p mitski's #[a(href='https://mitski.bandcamp.com/album/be-the-cowboy' target='_blank') be the cowboy]
p thomas pynchon's gravity's rainbow
.tile.is-4
.tile.is-9
.notification.is-danger
h1.title.is-4 what i care about
p.content.
as a communist, i'm passionate about anti-imperialism and decolonization.
i believe that software can be a tool for liberation, and those are the tools
i want to develop. feel free to get in touch with
me at mess [at] yelp [dot] com if you have similar goals.
as a communist, i think the most important tools are the ones that help
workers organize and empower themselves. i want my software to be a tool for
liberation, and i want to work on projects that embody that goal. reach out
to mess [at] yelp [dot] com if you want to work on or discuss something.
p.content.
"the philosophers have only interpreted the world, in various ways.
the point, however, is to change it."

View File

@ -1,53 +1,51 @@
<template lang="pug">
#projects.is-half.has-text-centered-mobile
h2.subtitle.has-text-centered Older Projects
h2.subtitle.has-text-centered older projects
hr
h2.subtitle #[a(href='https://github.com/matthewess/boilertalk-frontend') Boilertalk]
h2.subtitle #[a(href='https://github.com/matthewess/boilertalk-frontend') boilertalk]
p.content.
Boilertalk is a project I'm working on with my fiancée to enable social
boilertalk is a project i'm working on with my fiancée to enable social
psychology researchers to easily simulate a social media platform to
garner realistic interactions and behaviors from students for the purpose
of research studies.
h2.subtitle #[a(href='https://github.com/purdue-csusb/openideas') OpenIdeas]
h2.subtitle #[a(href='https://github.com/purdue-csusb/openideas') openideas]
p.content.
OpenIdeas is a platform I'm working on with Jay Hankins for
openideas is a platform i worked on with jay hankins for
#[a(href='https://purdueusb.com') Purdue USB] and the Purdue
Undergraduate CS Community. We hope to implement it this year
Undergraduate CS Community. we hoped to implement it
to give students a way to voice concerns or improvements for
the department, then vote on and discuss them.
h2.subtitle #[a(href='https://github.com/lemming-online/mischief') Mischief/Lemming]
h2.subtitle #[a(href='https://github.com/lemming-online/mischief') lemming]
p.content.
Mischief is the backend component of the lemming project, a group
i worked on the backend component of the lemming project, a group
project for Purdue's senior design class that was meant as a queuing
system to help lab TAs or group leaders manage large groups of students
or members who need help with an assignment or project.
h2.subtitle #[a(href='https://github.com/projectkuva/kuva-frontend') Kuva]
h2.subtitle #[a(href='https://github.com/projectkuva/kuva-frontend') kuva]
p.content.
Kuva was a small iOS app meant as a regional, location centric clone
of Instagram that would allow you to see and interact with popular photos
kuva was a small iOS app meant as a regional, location centric clone
of instagram that would allow you to see and interact with popular photos
taken by users nearby you.
hr
p.content.
check out my #[a.has-text-info(href='https://gitlab.com/matthewess') gitlab account],
or my older #[a.has-text-info(href='https://github.com/matthewess') github account]
or my older #[a.has-text-info(href='https://github.com/matthewess') github account].
</template>
<script>
export default {
head() {
return { title: 'projects' }
},
layout: 'compact',
}
</script>
<style lang="sass" scoped>
@import '~bulma/sass/utilities/mixins'
@import '~assets/sass/utilities'
+desktop
.is-half
width: 50%
</style>
<script>
export default {
head() {
return {
title: 'projects'
}
},
layout: 'compact'
}
</script>

View File

@ -30,13 +30,16 @@
.column
p python 2 and 3
p flask, django, pyramid
p elixir and phoenix
p java, junit testing, ruby on rails
.column
p html5, css, javascript
p vue.js, react
p elm, reactive frontend programming
p single page apps, components, flux
.column
p c, unix programming
p software deployment
p macOS, linux, windows
p source control, git
</template>
@ -44,23 +47,15 @@
<script>
export default {
head() {
return {
title: 'resume'
}
return { title: 'resume' }
},
layout: 'compact'
layout: 'compact',
}
</script>
<style lang="sass" scoped>
@import '~bulma/sass/utilities/mixins'
@import '~assets/sass/variables'
@import '~assets/sass/utilities'
$background: $primary
hr
height: 0.5rem
background: $background
+desktop
.is-three-quarters
width: 75%

View File

@ -1,7 +0,0 @@
# PLUGINS
**This directory is not required, you can delete it if you don't want to use it.**
This directory contains your Javascript plugins that you want to run before mounting the root Vue.js application.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/plugins).

38
plugins/filters.js Normal file
View File

@ -0,0 +1,38 @@
import Vue from 'vue'
const monthNames = [
{ short: 'jan', long: 'january' },
{ short: 'feb', long: 'february' },
{ short: 'mar', long: 'march' },
{ short: 'apr', long: 'april' },
{ short: 'may', long: 'may' },
{ short: 'jun', long: 'june' },
{ short: 'jul', long: 'july' },
{ short: 'aug', long: 'august' },
{ short: 'sep', long: 'september' },
{ short: 'oct', long: 'october' },
{ short: 'nov', long: 'november' },
{ short: 'dec', long: 'december' },
]
/*
** Very confusing to read, but this takes the YYYY-MM-DD format from posts
** and makes it readable in the way I want: either
** 'mon DD', 'mon DD YY', or 'month DD YYYY'
*/
const prettifyDate = (date, long) => {
date = date.split('-')
const month = monthNames[parseInt(date[1]) - 1] || {
short: date[1],
long: date[1],
}
const day = date[2]
const year = date[0]
const thisYear = year == new Date().getFullYear()
return `${long ? month.long : month.short} ${day} ${
long ? year : thisYear ? '' : year.substring(2)
}`
}
Vue.filter('prettifyDate', date => prettifyDate(date, false))
Vue.filter('prettifyDateLong', date => prettifyDate(date, true))

View File

@ -1,10 +0,0 @@
# STATIC
**This directory is not required, you can delete it if you don't want to use it.**
This directory contains your static files.
Each file inside this directory is mapped to `/`.
Example: `/static/robots.txt` is mapped as `/robots.txt`.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#static).

BIN
static/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

213
yarn.lock
View File

@ -748,6 +748,16 @@
resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7"
integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==
"@nuxtjs/axios@^4.5.2":
version "4.5.2"
resolved "https://registry.yarnpkg.com/@nuxtjs/axios/-/axios-4.5.2.tgz#9722d1ed07f516b7de25f62e3f21d95a0579d431"
integrity sha512-Ohp69J5IhmSF45vtq/Dtx8JieQkaN05Rb7YtCpUW65ctHtG5Ier+yb3c8ZnUHkggLOx0SrEQi8+R8ApEwRZkMA==
dependencies:
axios "^0.17.1"
chalk "^2.3.0"
debug "^3.1.0"
whatwg-url "^6.4.0"
"@nuxtjs/babel-preset-app@^0.7.0":
version "0.7.0"
resolved "https://registry.yarnpkg.com/@nuxtjs/babel-preset-app/-/babel-preset-app-0.7.0.tgz#b208a95e0a053259c29b99a9e4ca9ea2604dbdd2"
@ -1014,13 +1024,6 @@ acorn-globals@^3.0.0:
dependencies:
acorn "^4.0.4"
acorn-jsx@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
integrity sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=
dependencies:
acorn "^3.0.4"
acorn-jsx@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-4.1.1.tgz#e8e41e48ea2fe0c896740610ab6a4ffd8add225e"
@ -1028,7 +1031,7 @@ acorn-jsx@^4.1.1:
dependencies:
acorn "^5.0.3"
acorn@^3.0.4, acorn@^3.1.0:
acorn@^3.1.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
integrity sha1-ReN/s56No/JbruP/U2niu18iAXo=
@ -1038,7 +1041,7 @@ acorn@^4.0.4, acorn@~4.0.2:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787"
integrity sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=
acorn@^5.0.0, acorn@^5.0.3, acorn@^5.5.0, acorn@^5.6.0, acorn@^5.6.2, acorn@^5.7.3:
acorn@^5.0.0, acorn@^5.0.3, acorn@^5.6.0, acorn@^5.6.2, acorn@^5.7.3:
version "5.7.3"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279"
integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==
@ -1318,6 +1321,14 @@ aws4@^1.6.0, aws4@^1.8.0:
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f"
integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==
axios@^0.17.1:
version "0.17.1"
resolved "https://registry.yarnpkg.com/axios/-/axios-0.17.1.tgz#2d8e3e5d0bdbd7327f91bc814f5c57660f81824d"
integrity sha1-LY4+XQvb1zJ/kbyBT1xXZg+Bgk0=
dependencies:
follow-redirects "^1.2.5"
is-buffer "^1.1.5"
babel-code-frame@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
@ -1419,11 +1430,6 @@ bcrypt-pbkdf@^1.0.0:
dependencies:
tweetnacl "^0.14.3"
bezier-easing@^2.0.3:
version "2.1.0"
resolved "https://registry.yarnpkg.com/bezier-easing/-/bezier-easing-2.1.0.tgz#c04dfe8b926d6ecaca1813d69ff179b7c2025d86"
integrity sha1-wE3+i5JtbsrKGBPWn/F5t8ICXYY=
bfj@^6.1.1:
version "6.1.1"
resolved "https://registry.yarnpkg.com/bfj/-/bfj-6.1.1.tgz#05a3b7784fbd72cfa3c22e56002ef99336516c48"
@ -1738,7 +1744,7 @@ camelcase@^3.0.0:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo=
camelcase@^4.0.0:
camelcase@^4.0.0, camelcase@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=
@ -2507,6 +2513,11 @@ dashdash@^1.12.0:
dependencies:
assert-plus "^1.0.0"
date-fns@^1.28.5:
version "1.29.0"
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.29.0.tgz#12e609cdcb935127311d04d33334e2960a2a54e6"
integrity sha512-lbTXWZ6M20cWH8N9S6afb0SBm6tMk+uUg6z3MqHPKE9atmsY3kJkTm8vKe93izJ2B2+q5MV990sM2CHgtAZaOw==
date-now@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
@ -2524,6 +2535,13 @@ debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3:
dependencies:
ms "2.0.0"
debug@=3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
dependencies:
ms "2.0.0"
debug@^3.1.0:
version "3.2.6"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
@ -2900,12 +2918,12 @@ eslint-plugin-prettier@2.6.2:
fast-diff "^1.1.1"
jest-docblock "^21.0.0"
eslint-plugin-vue@^4.0.0:
version "4.7.1"
resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-4.7.1.tgz#c829b9fc62582c1897b5a0b94afd44ecca511e63"
integrity sha512-esETKhVMI7Vdli70Wt4bvAwnZBJeM0pxVX9Yb0wWKxdCJc2EADalVYK/q2FzMw8oKN0wPMdqVCKS8kmR89recA==
eslint-plugin-vue@^5.0.0-beta.3:
version "5.0.0-beta.3"
resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-5.0.0-beta.3.tgz#f3fa9f109b76e20fc1e45a71ce7c6d567118924e"
integrity sha512-EOQo3ax4CIM6Itcl522p4cGlSBgR/KZBJo2Xc29PWknbYH/DRZorGutF8NATUpbZ4HYOG+Gcyd1nL08iyYF3Tg==
dependencies:
vue-eslint-parser "^2.0.3"
vue-eslint-parser "^3.2.1"
eslint-scope@3.7.1:
version "3.7.1"
@ -2915,14 +2933,6 @@ eslint-scope@3.7.1:
esrecurse "^4.1.0"
estraverse "^4.1.1"
eslint-scope@^3.7.1:
version "3.7.3"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.3.tgz#bb507200d3d17f60247636160b4826284b108535"
integrity sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==
dependencies:
esrecurse "^4.1.0"
estraverse "^4.1.1"
eslint-scope@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172"
@ -2941,7 +2951,7 @@ eslint-visitor-keys@^1.0.0:
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d"
integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==
eslint@^5.0.1:
eslint@^5.7.0:
version "5.7.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.7.0.tgz#55c326d6fb2ad45fcbd0ce17c3846f025d1d819c"
integrity sha512-zYCeFQahsxffGl87U2aJ7DPyH8CbWgxBC213Y8+TCanhUTf2gEvfq3EKpHmEcozTLyPmGe9LZdMAwC/CpJBM5A==
@ -2990,14 +3000,6 @@ esm@^3.0.79, esm@^3.0.84:
resolved "https://registry.yarnpkg.com/esm/-/esm-3.0.84.tgz#bb108989f4673b32d4f62406869c28eed3815a63"
integrity sha512-SzSGoZc17S7P+12R9cg21Bdb7eybX25RnIeRZ80xZs+VZ3kdQKzqTp2k4hZJjR7p9l0186TTXSgrxzlMDBktlw==
espree@^3.5.2:
version "3.5.4"
resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7"
integrity sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==
dependencies:
acorn "^5.5.0"
acorn-jsx "^3.0.0"
espree@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/espree/-/espree-4.0.0.tgz#253998f20a0f82db5d866385799d912a83a36634"
@ -3011,7 +3013,7 @@ esprima@^4.0.0:
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
esquery@^1.0.0, esquery@^1.0.1:
esquery@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708"
integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==
@ -3358,6 +3360,13 @@ flush-write-stream@^1.0.0:
inherits "^2.0.1"
readable-stream "^2.0.4"
follow-redirects@^1.2.5:
version "1.5.9"
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.9.tgz#c9ed9d748b814a39535716e531b9196a845d89c6"
integrity sha512-Bh65EZI/RU8nx0wbYF9shkFZlqLP+6WT/5FnA3cE/djNSuKNHJEinGGZgu/cQEkeeb2GdFOgenAmn8qaqYke2w==
dependencies:
debug "=3.1.0"
for-in@^0.1.3:
version "0.1.8"
resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1"
@ -3419,6 +3428,13 @@ from@^0.1.7:
resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe"
integrity sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=
front-matter@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/front-matter/-/front-matter-2.3.0.tgz#7203af896ce357ee04e2aa45169ea91ed7f67504"
integrity sha1-cgOviWzjV+4E4qpFFp6pHtf2dQQ=
dependencies:
js-yaml "^3.10.0"
fs-extra@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.0.tgz#8cc3f47ce07ef7b3593a11b9fb245f7e34c041d6"
@ -4339,7 +4355,7 @@ js-tokens@^3.0.0, js-tokens@^3.0.2:
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
js-yaml@^3.12.0, js-yaml@^3.9.0:
js-yaml@^3.10.0, js-yaml@^3.12.0, js-yaml@^3.9.0:
version "3.12.0"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1"
integrity sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==
@ -4501,6 +4517,13 @@ levn@^0.3.0, levn@~0.3.0:
prelude-ls "~1.1.2"
type-check "~0.3.2"
linkify-it@^2.0.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.0.3.tgz#d94a4648f9b1c179d64fa97291268bdb6ce9434f"
integrity sha1-2UpGSPmxwXnWT6lykSaL22zpQ08=
dependencies:
uc.micro "^1.0.1"
load-json-file@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
@ -4600,6 +4623,11 @@ lodash.mergewith@^4.6.0:
resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz#639057e726c3afbdb3e7d42741caa8d6e4335927"
integrity sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==
lodash.sortby@^4.7.0:
version "4.7.0"
resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=
lodash.tail@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664"
@ -4706,6 +4734,24 @@ map-visit@^1.0.0:
dependencies:
object-visit "^1.0.0"
markdown-it-anchor@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/markdown-it-anchor/-/markdown-it-anchor-4.0.0.tgz#e87fb5543e01965adf71506c6bf7b0491841b7e3"
integrity sha1-6H+1VD4BllrfcVBsa/ewSRhBt+M=
dependencies:
string "^3.3.3"
markdown-it@^8.4.0:
version "8.4.2"
resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-8.4.2.tgz#386f98998dc15a37722aa7722084f4020bdd9b54"
integrity sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==
dependencies:
argparse "^1.0.7"
entities "~1.1.1"
linkify-it "^2.0.0"
mdurl "^1.0.1"
uc.micro "^1.0.5"
md5.js@^1.3.4:
version "1.3.5"
resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
@ -4720,6 +4766,11 @@ mdn-data@~1.1.0:
resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01"
integrity sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==
mdurl@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e"
integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=
media-typer@0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
@ -5301,6 +5352,22 @@ nuxt@^2.0.0:
webpack-node-externals "^1.7.2"
webpackbar "^2.6.3"
nuxtent@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/nuxtent/-/nuxtent-1.4.1.tgz#d3756d9eeecb1cda6f874117b08a20b2c049be87"
integrity sha512-khdzkyuU0myJ2z/NE3QCi2f64hTtw5j1iLmlKzDbyGDxSPVGxpcJS0Lof+sA3bgRJIgWxyslCnJN6EIHqz79cA==
dependencies:
chalk "^2.3.0"
date-fns "^1.28.5"
front-matter "^2.3.0"
js-yaml "^3.10.0"
loader-utils "^1.1.0"
markdown-it "^8.4.0"
markdown-it-anchor "^4.0.0"
param-case "^2.1.1"
path-to-regexp "^2.0.0"
uppercamelcase "^3.0.0"
oauth-sign@~0.8.2:
version "0.8.2"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
@ -5515,7 +5582,7 @@ parallel-transform@^1.1.0:
inherits "^2.0.3"
readable-stream "^2.1.5"
param-case@2.1.x:
param-case@2.1.x, param-case@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247"
integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc=
@ -5605,6 +5672,11 @@ path-to-regexp@0.1.7:
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
path-to-regexp@^2.0.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-2.4.0.tgz#35ce7f333d5616f1c1e1bfe266c3aba2e5b2e704"
integrity sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w==
path-type@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
@ -7525,6 +7597,11 @@ string-width@^1.0.1, string-width@^1.0.2:
is-fullwidth-code-point "^2.0.0"
strip-ansi "^4.0.0"
string@^3.3.3:
version "3.3.3"
resolved "https://registry.yarnpkg.com/string/-/string-3.3.3.tgz#5ea211cd92d228e184294990a6cc97b366a77cb0"
integrity sha1-XqIRzZLSKOGEKUmQpsyXs2anfLA=
string_decoder@^1.0.0, string_decoder@~1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
@ -7839,6 +7916,13 @@ tough-cookie@~2.4.3:
psl "^1.1.24"
punycode "^1.4.1"
tr46@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09"
integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=
dependencies:
punycode "^2.1.0"
trim-newlines@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
@ -7903,6 +7987,11 @@ typedarray@^0.0.6:
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
uc.micro@^1.0.1, uc.micro@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.5.tgz#0c65f15f815aa08b560a61ce8b4db7ffc3f45376"
integrity sha512-JoLI4g5zv5qNyT09f4YAvEZIIV1oOjqnewYg5D38dkQljIzpPT296dbIGvKro3digYI1bkb7W6EP1y4uDlmzLg==
uglify-es@^3.3.4:
version "3.3.9"
resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677"
@ -8073,6 +8162,13 @@ upper-case@^1.1.1:
resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598"
integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=
uppercamelcase@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/uppercamelcase/-/uppercamelcase-3.0.0.tgz#380b321b8d73cba16fec4d752a575152d1ef7317"
integrity sha1-OAsyG41zy6Fv7E11KldRUtHvcxc=
dependencies:
camelcase "^4.1.0"
uri-js@^4.2.2:
version "4.2.2"
resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
@ -8195,17 +8291,17 @@ void-elements@^2.0.1:
resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec"
integrity sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=
vue-eslint-parser@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-2.0.3.tgz#c268c96c6d94cfe3d938a5f7593959b0ca3360d1"
integrity sha512-ZezcU71Owm84xVF6gfurBQUGg8WQ+WZGxgDEQu1IHFBZNx7BFZg3L1yHxrCBNNwbwFtE1GuvfJKMtb6Xuwc/Bw==
vue-eslint-parser@^3.2.1:
version "3.2.2"
resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-3.2.2.tgz#47c971ee4c39b0ee7d7f5e154cb621beb22f7a34"
integrity sha512-dprI6ggKCTwV22r+i8dtUGquiOCn063xyDmb7BV/BjG5Oc/m5EoMNrWevpvTcrlGuFZmYVPs5fgsu8UIxmMKzg==
dependencies:
debug "^3.1.0"
eslint-scope "^3.7.1"
eslint-scope "^4.0.0"
eslint-visitor-keys "^1.0.0"
espree "^3.5.2"
esquery "^1.0.0"
lodash "^4.17.4"
espree "^4.0.0"
esquery "^1.0.1"
lodash "^4.17.10"
vue-hot-reload-api@^2.3.0:
version "2.3.1"
@ -8242,13 +8338,6 @@ vue-router@^3.0.1:
resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-3.0.1.tgz#d9b05ad9c7420ba0f626d6500d693e60092cc1e9"
integrity sha512-vLLoY452L+JBpALMP5UHum9+7nzR9PeIBCghU9ZtJ1eWm6ieUI8Zb/DI3MYxH32bxkjzYV1LRjNv4qr8d+uX/w==
vue-scrollto@^2.13.0:
version "2.13.0"
resolved "https://registry.yarnpkg.com/vue-scrollto/-/vue-scrollto-2.13.0.tgz#fe23c9e5d684271c48154e8d504370cd40a8d6fd"
integrity sha512-ZjvWhY2LbEGqbtvDrBBm04AvgNfYGySJnakyHXxgv4UNlM0hRpkN1UKjKqB8J8U96YOEra+WjxmhujrBGeshbA==
dependencies:
bezier-easing "^2.0.3"
vue-server-renderer@^2.5.17:
version "2.5.17"
resolved "https://registry.yarnpkg.com/vue-server-renderer/-/vue-server-renderer-2.5.17.tgz#c1f24815a4b12a2797c154549b29b44b6be004b5"
@ -8303,6 +8392,11 @@ watchpack@^1.5.0:
graceful-fs "^4.1.2"
neo-async "^2.5.0"
webidl-conversions@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==
webpack-bundle-analyzer@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.0.2.tgz#22f19ea6d1b5a15fd7a90baae0bc0f39bd1e4d48"
@ -8408,6 +8502,15 @@ webpackbar@^2.6.3:
std-env "^1.3.1"
table "^4.0.3"
whatwg-url@^6.4.0:
version "6.5.0"
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8"
integrity sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==
dependencies:
lodash.sortby "^4.7.0"
tr46 "^1.0.1"
webidl-conversions "^4.0.2"
which-module@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"