Delete old site, add placeholder
parent
d8b0c597ba
commit
2b543e3328
|
@ -1,13 +0,0 @@
|
|||
# editorconfig.org
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
25
.eslintrc.js
25
.eslintrc.js
|
@ -1,25 +0,0 @@
|
|||
module.exports = {
|
||||
root: true,
|
||||
env: {
|
||||
browser: true,
|
||||
node: true,
|
||||
},
|
||||
parserOptions: {
|
||||
parser: 'babel-eslint',
|
||||
},
|
||||
extends: ['plugin:vue/recommended', 'plugin:prettier/recommended'],
|
||||
// required to lint *.vue files
|
||||
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',
|
||||
'comma-dangle': [
|
||||
'error',
|
||||
{
|
||||
arrays: 'only-multiline',
|
||||
objects: 'only-multiline',
|
||||
},
|
||||
],
|
||||
},
|
||||
}
|
|
@ -1,82 +0,0 @@
|
|||
# Created by .ignore support plugin (hsz.mobi)
|
||||
### Node template
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# Runtime data
|
||||
pids
|
||||
*.pid
|
||||
*.seed
|
||||
*.pid.lock
|
||||
|
||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||
lib-cov
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
coverage
|
||||
|
||||
# nyc test coverage
|
||||
.nyc_output
|
||||
|
||||
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
|
||||
.grunt
|
||||
|
||||
# Bower dependency directory (https://bower.io/)
|
||||
bower_components
|
||||
|
||||
# node-waf configuration
|
||||
.lock-wscript
|
||||
|
||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||
build/Release
|
||||
|
||||
# Dependency directories
|
||||
node_modules/
|
||||
jspm_packages/
|
||||
|
||||
# TypeScript v1 declaration files
|
||||
typings/
|
||||
|
||||
# Optional npm cache directory
|
||||
.npm
|
||||
|
||||
# Optional eslint cache
|
||||
.eslintcache
|
||||
|
||||
# Optional REPL history
|
||||
.node_repl_history
|
||||
|
||||
# Output of 'npm pack'
|
||||
*.tgz
|
||||
|
||||
# Yarn Integrity file
|
||||
.yarn-integrity
|
||||
|
||||
# dotenv environment variables file
|
||||
.env
|
||||
|
||||
# parcel-bundler cache (https://parceljs.org/)
|
||||
.cache
|
||||
|
||||
# next.js build output
|
||||
.next
|
||||
|
||||
# nuxt.js build output
|
||||
.nuxt
|
||||
|
||||
# Nuxt generate
|
||||
public
|
||||
dist
|
||||
|
||||
# vuepress build output
|
||||
.vuepress/dist
|
||||
|
||||
# Serverless directories
|
||||
.serverless
|
||||
|
||||
# IDE
|
||||
.idea
|
|
@ -1,17 +1,8 @@
|
|||
image: node
|
||||
|
||||
before_script:
|
||||
- yarn install
|
||||
|
||||
cache:
|
||||
paths:
|
||||
- node_modules/
|
||||
image: alpine
|
||||
|
||||
pages:
|
||||
script:
|
||||
- yarn generate
|
||||
artifacts:
|
||||
paths:
|
||||
- public
|
||||
- site
|
||||
only:
|
||||
- master
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"semi": false,
|
||||
"singleQuote": true,
|
||||
"trailingComma": "es5"
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"eslint.enable": true,
|
||||
"eslint.packageManager": "yarn",
|
||||
"eslint.validate": ["javascript", "javascriptreact", "vue", "html"]
|
||||
}
|
21
README.md
21
README.md
|
@ -1,22 +1,5 @@
|
|||
# mat.services [![pipeline status](https://gitlab.com/matthewess/mat.services/badges/master/pipeline.svg)](https://gitlab.com/matthewess/mat.services/commits/master)
|
||||
# mat.services
|
||||
|
||||
> my personal site
|
||||
|
||||
## Build Setup
|
||||
|
||||
```bash
|
||||
# install dependencies
|
||||
$ yarn install
|
||||
|
||||
# serve with hot reload at localhost:3000
|
||||
$ yarn dev
|
||||
|
||||
# build for production and launch server
|
||||
$ yarn build
|
||||
$ yarn start
|
||||
|
||||
# generate static project
|
||||
$ yarn generate
|
||||
```
|
||||
|
||||
For detailed explanation on how things work, checkout [Nuxt.js docs](https://nuxtjs.org).
|
||||
wip
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
# ASSETS
|
||||
|
||||
**This directory is not required, you can delete it if you don't want to use it.**
|
||||
|
||||
This directory contains your un-compiled assets such as LESS, SASS, or JavaScript.
|
||||
|
||||
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#webpacked).
|
Binary file not shown.
Before Width: | Height: | Size: 293 KiB |
|
@ -1,26 +0,0 @@
|
|||
@import '~bulma/sass/utilities/initial-variables'
|
||||
@import '~bulma/sass/utilities/functions'
|
||||
|
||||
$pink: #F4ACB7
|
||||
$pink-invert: findColorInvert($pink)
|
||||
$blue: #7D82B8
|
||||
$blue-invert: findColorInvert($blue)
|
||||
$red: #471323
|
||||
$red-invert: findColorInvert($red)
|
||||
$bright: #EF798A
|
||||
$bright-invert: findColorInvert($bright)
|
||||
$purple: #613F75
|
||||
$purple-invert: findColorInvert($purple)
|
||||
|
||||
$primary: $pink
|
||||
$primary-invert: $pink-invert
|
||||
$info: $blue
|
||||
$info-invert: $blue-invert
|
||||
$danger: $red
|
||||
$danger-invert: $red-invert
|
||||
$warning: $bright
|
||||
$warning-invert: $bright-invert
|
||||
$link: $purple
|
||||
$link-invert: $purple-invert
|
||||
|
||||
@import '~bulma/sass/utilities/all'
|
|
@ -1,6 +0,0 @@
|
|||
@import 'utilities'
|
||||
|
||||
@import '~bulma/bulma'
|
||||
|
||||
.white
|
||||
background: white
|
|
@ -1,7 +0,0 @@
|
|||
# COMPONENTS
|
||||
|
||||
**This directory is not required, you can delete it if you don't want to use it.**
|
||||
|
||||
The components directory contains your Vue.js Components.
|
||||
|
||||
_Nuxt.js doesn't supercharge these components._
|
|
@ -1,35 +0,0 @@
|
|||
<template lang="pug">
|
||||
section.hero.is-primary.is-bold(v-once)
|
||||
.hero-body(v-if='!compact')
|
||||
.container
|
||||
h1.title.has-text-danger matthew ess
|
||||
h2.subtitle.has-text-danger software developer, social justice warrior, wannabe artist
|
||||
.hero-foot
|
||||
.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>
|
||||
export default {
|
||||
props: {
|
||||
compact: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
@import '~bulma/sass/utilities/mixins'
|
||||
|
||||
section
|
||||
margin-bottom: 2rem
|
||||
+desktop
|
||||
.is-three-quarters
|
||||
width: 75%
|
||||
</style>
|
|
@ -1,22 +0,0 @@
|
|||
---
|
||||
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'
|
|
@ -1,7 +0,0 @@
|
|||
# LAYOUTS
|
||||
|
||||
**This directory is not required, you can delete it if you don't want to use it.**
|
||||
|
||||
This directory contains your Application Layouts.
|
||||
|
||||
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/views#layouts).
|
|
@ -1,19 +0,0 @@
|
|||
<template lang="pug">
|
||||
.nuxt
|
||||
hero(:compact='true')
|
||||
.container
|
||||
nuxt
|
||||
footer.footer.white
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import hero from '../components/hero.vue'
|
||||
|
||||
export default {
|
||||
components: { hero },
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="sass">
|
||||
@import '~assets/sass/mat'
|
||||
</style>
|
|
@ -1,19 +0,0 @@
|
|||
<template lang="pug">
|
||||
.nuxt
|
||||
hero
|
||||
.container
|
||||
nuxt
|
||||
footer.footer.white
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import hero from '../components/hero.vue'
|
||||
|
||||
export default {
|
||||
components: { hero },
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="sass">
|
||||
@import '~assets/sass/mat'
|
||||
</style>
|
|
@ -1,91 +0,0 @@
|
|||
import pkg from './package'
|
||||
|
||||
export default {
|
||||
mode: 'universal',
|
||||
|
||||
/*
|
||||
** Headers of the page
|
||||
*/
|
||||
head: {
|
||||
titleTemplate(titleChunk) {
|
||||
return titleChunk ? `${titleChunk} | matthew ess` : 'matthew ess'
|
||||
},
|
||||
meta: [
|
||||
{ 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 },
|
||||
],
|
||||
},
|
||||
|
||||
/*
|
||||
** Customize the progress-bar color
|
||||
*/
|
||||
loading: { color: '#fff' },
|
||||
|
||||
/*
|
||||
** Global CSS
|
||||
*/
|
||||
css: [],
|
||||
|
||||
/*
|
||||
** Plugins to load before mounting the App
|
||||
*/
|
||||
plugins: ['~/plugins/filters.js'],
|
||||
|
||||
/*
|
||||
** Nuxt.js modules
|
||||
*/
|
||||
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
|
||||
*/
|
||||
build: {
|
||||
postcss: {
|
||||
preset: {
|
||||
features: {
|
||||
customProperties: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
/*
|
||||
** You can extend webpack config here
|
||||
*/
|
||||
extend(config, ctx) {
|
||||
// Run ESLint on save
|
||||
if (ctx.isDev && ctx.isClient) {
|
||||
config.module.rules.push({
|
||||
enforce: 'pre',
|
||||
test: /\.(js|vue)$/,
|
||||
loader: 'eslint-loader',
|
||||
exclude: /(node_modules)/,
|
||||
})
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
37
package.json
37
package.json
|
@ -1,37 +0,0 @@
|
|||
{
|
||||
"name": "mat.services",
|
||||
"version": "1.0.0",
|
||||
"description": "my personal site",
|
||||
"author": "Matthew Ess",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "nuxt",
|
||||
"build": "nuxt build",
|
||||
"start": "nuxt start",
|
||||
"generate": "nuxt generate",
|
||||
"lint": "eslint --ext .js,.vue --ignore-path .gitignore .",
|
||||
"precommit": "yarn lint"
|
||||
},
|
||||
"dependencies": {
|
||||
"@nuxtjs/axios": "^4.5.2",
|
||||
"@nuxtjs/bulma": "^1.2.0",
|
||||
"cross-env": "^5.2.0",
|
||||
"nuxt": "^2.0.0",
|
||||
"nuxtent": "^1.4.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"babel-eslint": "^8.2.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": "^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",
|
||||
"webpack": "^4.20.2"
|
||||
}
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
<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>
|
|
@ -1,41 +0,0 @@
|
|||
<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>
|
|
@ -1,49 +0,0 @@
|
|||
<template lang="pug">
|
||||
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 {
|
||||
async asyncData({ app }) {
|
||||
return {
|
||||
listing:
|
||||
(await app
|
||||
.$content('/')
|
||||
.query({ exclude: ['body', 'meta', 'permalink', 'anchors'] })
|
||||
.getAll()) || payload,
|
||||
}
|
||||
},
|
||||
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>
|
|
@ -1,34 +0,0 @@
|
|||
<template lang="pug">
|
||||
#home
|
||||
.tile.is-ancestor
|
||||
.tile.is-vertical.is-4
|
||||
.tile.is-9
|
||||
.notification.is-info
|
||||
h1.title.is-4 me
|
||||
p.content.
|
||||
i'm an aspiring communist, a
|
||||
#[a(href='https://mattandmack.website' target='_blank') partner],
|
||||
and a software developer at yelp.
|
||||
.tile.is-9
|
||||
.notification.is-warning
|
||||
h1.title.is-4 what's inspiring me now
|
||||
.content
|
||||
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 an aspirational 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."
|
||||
.tile.is-3
|
||||
figure.image
|
||||
img(src='@/assets/img/me.jpg')
|
||||
</template>
|
|
@ -1,51 +0,0 @@
|
|||
<template lang="pug">
|
||||
#projects.is-half.has-text-centered-mobile
|
||||
h2.subtitle.has-text-centered older projects
|
||||
hr
|
||||
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
|
||||
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]
|
||||
p.content.
|
||||
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 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') lemming]
|
||||
p.content.
|
||||
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]
|
||||
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
|
||||
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].
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
head() {
|
||||
return { title: 'projects' }
|
||||
},
|
||||
layout: 'compact',
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
@import '~assets/sass/utilities'
|
||||
|
||||
+desktop
|
||||
.is-half
|
||||
width: 50%
|
||||
</style>
|
|
@ -1,78 +0,0 @@
|
|||
<template lang="pug">
|
||||
#resume.is-half.has-text-centered-mobile
|
||||
.content
|
||||
h1.title matthew ess
|
||||
h2.subtitle software developer
|
||||
hr.is-three-quarters
|
||||
h2.subtitle education
|
||||
p.
|
||||
purdue university, west lafayette, IN #[br]
|
||||
B.S. in computer science, minor in political science #[br]
|
||||
may 2018 #[br]
|
||||
3.90 gpa
|
||||
hr.is-three-quarters
|
||||
h2.subtitle experience
|
||||
p.has-text-weight-semibold software engineer @ yelp: summer 2018 - present
|
||||
p.
|
||||
backend engineer on the transactions and food ordering teams. i work on
|
||||
high performance, realtime python infrastructure that supports a wide
|
||||
variety of features for ordering food on yelp, including driver tracking
|
||||
support to realtime updates and notifications about your order via push.
|
||||
p.has-text-weight-semibold software engineer intern @ yelp: summer 2017
|
||||
p.
|
||||
intern on the transactions team. built a streaming transformation pipeline
|
||||
that leveraged yelp's streaming datapipe (built on kafka technologies) and
|
||||
replicated to elasticsearch for high performance text querying over order
|
||||
data.
|
||||
p.has-text-weight-semibold developer intern @ school datebooks: summer 2016 - winter 2016
|
||||
p.
|
||||
i worked on a very small team of talented engineers writing backend
|
||||
PHP and javascript microservices for an athletic and educational
|
||||
scheduling web app.
|
||||
hr.is-three-quarters
|
||||
h2.subtitle skills
|
||||
.columns
|
||||
.column
|
||||
p.has-text-weight-semibold strong
|
||||
p python
|
||||
p pyramid, flask, django
|
||||
p unit, integration, and acceptance testing
|
||||
p darwin and linux systems
|
||||
p git, source control
|
||||
p working on a team, agile and "semi-agile" processes
|
||||
p html5, css, javascript
|
||||
.column
|
||||
p.has-text-weight-semibold familiar
|
||||
p haskell
|
||||
p elixir and phoenix
|
||||
p functional programming paradigms
|
||||
p database technology, sql, postgresql, elasticsearch
|
||||
p software deployment
|
||||
p elm, vue.js, react, SPAs, flux
|
||||
p c, systems programming, java, junit testing, ruby on rails
|
||||
.column
|
||||
p.has-text-weight-semibold learning
|
||||
p functional reactive programming, reflex
|
||||
p nix, nixos
|
||||
p type level programming and theory
|
||||
p programming language and compiler theory
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
head() {
|
||||
return { title: 'resume' }
|
||||
},
|
||||
layout: 'compact',
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="sass" scoped>
|
||||
@import '~assets/sass/utilities'
|
||||
|
||||
+desktop
|
||||
.is-three-quarters
|
||||
width: 75%
|
||||
.is-half
|
||||
width: 50%
|
||||
</style>
|
|
@ -1,38 +0,0 @@
|
|||
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))
|
|
@ -0,0 +1,14 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>matthew ess</title>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
||||
<meta name="description" content="" />
|
||||
<link rel="stylesheet" href="style.css" />
|
||||
</head>
|
||||
<body>
|
||||
<h1>matthew ess</h1>
|
||||
<p>is working on making something nice here</p>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,9 @@
|
|||
body {
|
||||
background-color: #ddacd4;
|
||||
margin: 2em;
|
||||
}
|
||||
|
||||
h1, p {
|
||||
color: #34415e;
|
||||
font-family: -apple-system, BlinkMacSystemFont, Helvetica, sans-serif;
|
||||
}
|
Binary file not shown.
Before Width: | Height: | Size: 1.4 KiB |
|
@ -1,10 +0,0 @@
|
|||
# STORE
|
||||
|
||||
**This directory is not required, you can delete it if you don't want to use it.**
|
||||
|
||||
This directory contains your Vuex Store files.
|
||||
Vuex Store option is implemented in the Nuxt.js framework.
|
||||
|
||||
Creating a file in this directory activate the option in the framework automatically.
|
||||
|
||||
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/vuex-store).
|
Loading…
Reference in New Issue