Delete old site, add placeholder

pull/1/head
mat ess 2022-01-25 20:55:14 -05:00
parent d8b0c597ba
commit 2b543e3328
31 changed files with 27 additions and 9628 deletions

View File

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

View File

@ -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',
},
],
},
}

82
.gitignore vendored
View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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'

View File

@ -1,6 +0,0 @@
@import 'utilities'
@import '~bulma/bulma'
.white
background: white

View File

@ -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._

View File

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

View File

@ -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'

View File

@ -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).

View File

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

View File

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

View File

@ -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)/,
})
}
},
},
}

View File

@ -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"
}
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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))

14
site/index.html Normal file
View File

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

9
site/style.css Normal file
View File

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

View File

@ -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).

8870
yarn.lock

File diff suppressed because it is too large Load Diff