diff --git a/.browserslistrc b/.browserslistrc
new file mode 100644
index 0000000..9dee646
--- /dev/null
+++ b/.browserslistrc
@@ -0,0 +1,3 @@
+> 1%
+last 2 versions
+not ie <= 8
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..7053c49
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,5 @@
+[*.{js,jsx,ts,tsx,vue}]
+indent_style = space
+indent_size = 2
+trim_trailing_whitespace = true
+insert_final_newline = true
diff --git a/.eslintrc.json b/.eslintrc.json
new file mode 100644
index 0000000..3357933
--- /dev/null
+++ b/.eslintrc.json
@@ -0,0 +1,38 @@
+{
+ "root": true,
+ "env": {
+ "node": true
+ },
+ "extends": [
+ "plugin:vue/recommended",
+ "@vue/standard"
+ ],
+ "rules": {
+ "vue/script-indent": [
+ "error",
+ 2,
+ {
+ "baseIndent": 1,
+ "switchCase": 0
+ }
+ ],
+ "vue/component-name-in-template-casing": [
+ "error",
+ "kebab-case"
+ ],
+ "vue/max-attributes-per-line": [2, {
+ "singleline": 3
+ }]
+ },
+ "overrides": [
+ {
+ "files": ["*.vue"],
+ "rules": {
+ "indent": "off"
+ }
+ }
+ ],
+ "parserOptions": {
+ "parser": "babel-eslint"
+ }
+}
diff --git a/.gitignore b/.gitignore
index 8225baa..185e663 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,21 @@
-/node_modules
+.DS_Store
+node_modules
/dist
+
+# local env files
+.env.local
+.env.*.local
+
+# Log files
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+
+# Editor directories and files
+.idea
+.vscode
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw*
diff --git a/.stylelintrc.json b/.stylelintrc.json
new file mode 100644
index 0000000..86553bd
--- /dev/null
+++ b/.stylelintrc.json
@@ -0,0 +1,56 @@
+{
+ "processors": [
+ "stylelint-processor-html"
+ ],
+ "extends": [
+ "stylelint-config-standard",
+ "stylelint-config-rational-order"
+ ],
+ "rules": {
+ "no-empty-source": null,
+ "block-opening-brace-space-after": null,
+ "block-opening-brace-space-before": null,
+ "block-closing-brace-space-before": null,
+ "block-closing-brace-newline-before": null,
+ "declaration-block-trailing-semicolon": "never",
+ "indentation": null,
+ "string-quotes": ["single", {"severity": "warning"}],
+ "no-duplicate-selectors": true,
+ "color-hex-case": "lower",
+ "color-hex-length": "short",
+ "selector-combinator-space-after": "always",
+ "selector-attribute-quotes": "always",
+ "selector-attribute-operator-space-before": "never",
+ "selector-attribute-operator-space-after": "never",
+ "selector-attribute-brackets-space-inside": "never",
+ "declaration-colon-space-before": "never",
+ "declaration-colon-space-after": "always",
+ "property-no-vendor-prefix": true,
+ "value-no-vendor-prefix": true,
+ "number-leading-zero": "always",
+ "function-url-quotes": "always",
+ "font-weight-notation": "named-where-possible",
+ "font-family-name-quotes": "always-where-recommended",
+ "comment-whitespace-inside": "always",
+ "at-rule-no-vendor-prefix": true,
+ "rule-empty-line-before": [
+ "always-multi-line",
+ {
+ "ignore": "first-nested"
+ }
+ ],
+ "selector-pseudo-element-colon-notation": "single",
+ "selector-pseudo-class-parentheses-space-inside": "never",
+ "selector-no-vendor-prefix": true,
+ "media-feature-range-operator-space-before": "always",
+ "media-feature-range-operator-space-after": "always",
+ "media-feature-parentheses-space-inside": "never",
+ "media-feature-name-no-vendor-prefix": true,
+ "media-feature-colon-space-before": "never",
+ "media-feature-colon-space-after": "always",
+ "no-descending-specificity": false,
+ "declaration-empty-line-before": null,
+ "property-no-unknown": true,
+ "selector-list-comma-newline-after": "always-multi-line"
+ }
+}
diff --git a/CNAME b/CNAME
index 5d9efd9..b4bf8e9 100644
--- a/CNAME
+++ b/CNAME
@@ -1 +1 @@
-github.vladfaust.com
\ No newline at end of file
+github.vladfaust.com
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..0c6c0ca
--- /dev/null
+++ b/README.md
@@ -0,0 +1,29 @@
+# my-website
+
+## Project setup
+```
+yarn install
+```
+
+### Compiles and hot-reloads for development
+```
+yarn run serve
+```
+
+### Compiles and minifies for production
+```
+yarn run build
+```
+
+### Run your tests
+```
+yarn run test
+```
+
+### Lints and fixes files
+```
+yarn run lint
+```
+
+### Customize configuration
+See [Configuration Reference](https://cli.vuejs.org/config/).
diff --git a/babel.config.js b/babel.config.js
new file mode 100644
index 0000000..ba17966
--- /dev/null
+++ b/babel.config.js
@@ -0,0 +1,5 @@
+module.exports = {
+ presets: [
+ '@vue/app'
+ ]
+}
diff --git a/index.html b/index.html
deleted file mode 100644
index a81bea1..0000000
--- a/index.html
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
- Redirecting...
-
-
-
-
-
diff --git a/package.json b/package.json
index e21be78..1ab7436 100644
--- a/package.json
+++ b/package.json
@@ -1,35 +1,35 @@
{
- "name": "vladfaust.github.io",
- "version": "1.0.0",
- "description": "Vlad Faust's personal page",
+ "name": "my-website",
+ "version": "0.1.0",
"private": true,
"scripts": {
- "dev": "webpack-dev-server",
- "build": "webpack"
+ "serve": "vue-cli-service serve",
+ "build": "vue-cli-service build",
+ "lint": "vue-cli-service lint"
},
- "repository": {
- "type": "git",
- "url": "git+https://github.com/vladfaust/vladfaust.github.io.git"
+ "dependencies": {
+ "vue": "^2.6.6",
+ "vue-router": "^3.0.1",
+ "vuex": "^3.0.1"
},
- "author": "Vlad Faust ",
- "license": "UNLICENSED",
- "bugs": {
- "url": "https://github.com/vladfaust/vladfaust.github.io/issues"
- },
- "homepage": "https://github.com/vladfaust/vladfaust.github.io#readme",
"devDependencies": {
- "copy-webpack-plugin": "^4.5.1",
- "css-loader": "^0.28.11",
- "html-webpack-plugin": "^3.2.0",
+ "@vue/cli-plugin-babel": "^3.5.0",
+ "@vue/cli-plugin-eslint": "^3.5.0",
+ "@vue/cli-service": "^3.5.0",
+ "@vue/eslint-config-standard": "^4.0.0",
+ "babel-eslint": "^10.0.1",
+ "eslint": "^5.8.0",
+ "eslint-plugin-vue": "^5.0.0",
"node-sass": "^4.9.0",
- "node-sass-json-importer": "^4.0.1",
"normalize.css": "^8.0.1",
"pug": "^2.0.3",
- "pug-loader": "^2.4.0",
- "sass-loader": "^7.0.1",
- "style-loader": "^0.21.0",
- "webpack": "^4.8.3",
- "webpack-cli": "^3.1.0",
- "webpack-dev-server": "^3.1.8"
+ "pug-plain-loader": "^1.0.0",
+ "sass-loader": "^7.1.0",
+ "stylelint": "^9.10.1",
+ "stylelint-config-rational-order": "^0.0.4",
+ "stylelint-config-standard": "^18.2.0",
+ "stylelint-csstree-validator": "^1.3.0",
+ "stylelint-processor-html": "^1.0.0",
+ "vue-template-compiler": "^2.5.21"
}
}
diff --git a/postcss.config.js b/postcss.config.js
new file mode 100644
index 0000000..961986e
--- /dev/null
+++ b/postcss.config.js
@@ -0,0 +1,5 @@
+module.exports = {
+ plugins: {
+ autoprefixer: {}
+ }
+}
diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png
new file mode 100644
index 0000000..d4f0671
Binary files /dev/null and b/public/favicon-16x16.png differ
diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png
new file mode 100644
index 0000000..4e4733c
Binary files /dev/null and b/public/favicon-32x32.png differ
diff --git a/public/favicon.ico b/public/favicon.ico
new file mode 100644
index 0000000..edc95ad
Binary files /dev/null and b/public/favicon.ico differ
diff --git a/public/img/me.jpg b/public/img/me.jpg
new file mode 100644
index 0000000..daf0995
Binary files /dev/null and b/public/img/me.jpg differ
diff --git a/static/img/patreon-small.svg b/public/img/patreon-small.svg
similarity index 100%
rename from static/img/patreon-small.svg
rename to public/img/patreon-small.svg
diff --git a/static/img/patreon-bot.png b/public/img/patreon/bot.png
similarity index 100%
rename from static/img/patreon-bot.png
rename to public/img/patreon/bot.png
diff --git a/public/img/patreon/button-rounded.svg b/public/img/patreon/button-rounded.svg
new file mode 100644
index 0000000..984a9eb
--- /dev/null
+++ b/public/img/patreon/button-rounded.svg
@@ -0,0 +1,5 @@
+
diff --git a/static/img/patreon-goal-germany.png b/public/img/patreon/goal-germany.png
similarity index 100%
rename from static/img/patreon-goal-germany.png
rename to public/img/patreon/goal-germany.png
diff --git a/static/img/patreon-goal-russia.png b/public/img/patreon/goal-russia.png
similarity index 100%
rename from static/img/patreon-goal-russia.png
rename to public/img/patreon/goal-russia.png
diff --git a/static/img/patreon-goal-usa.png b/public/img/patreon/goal-usa.png
similarity index 100%
rename from static/img/patreon-goal-usa.png
rename to public/img/patreon/goal-usa.png
diff --git a/static/img/patreon.svg b/public/img/patreon/small-button.svg
similarity index 95%
rename from static/img/patreon.svg
rename to public/img/patreon/small-button.svg
index e209433..5b21b2d 100644
--- a/static/img/patreon.svg
+++ b/public/img/patreon/small-button.svg
@@ -1,6 +1,6 @@
-