diff --git a/.circleci/config.yml b/.circleci/config.yml
index 3c2ea10..f46ce1b 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -12,12 +12,12 @@ jobs:
- checkout
- restore_cache:
keys:
- - dependencies-{{ checksum "yarn.lock" }}
- - run: yarn install --frozen-lockfile
+ - dependencies-{{ checksum "package-lock.json" }}
+ - run: npm ci
- save_cache:
paths:
- node_modules
- key: dependencies-{{ checksum "yarn.lock" }}
+ key: dependencies-{{ checksum "package-lock.json" }}
lint:
<<: *defaults
@@ -25,8 +25,8 @@ jobs:
- checkout
- restore_cache:
keys:
- - dependencies-{{ checksum "yarn.lock" }}
- - run: yarn lint
+ - dependencies-{{ checksum "package-lock.json" }}
+ - run: npm run lint
test:
<<: *defaults
@@ -34,8 +34,8 @@ jobs:
- checkout
- restore_cache:
keys:
- - dependencies-{{ checksum "yarn.lock" }}
- - run: yarn test --runInBand --no-cache
+ - dependencies-{{ checksum "package-lock.json" }}
+ - run: npm run test --runInBand --no-cache
coverage:
<<: *defaults
@@ -43,8 +43,8 @@ jobs:
- checkout
- restore_cache:
keys:
- - dependencies-{{ checksum "yarn.lock" }}
- - run: yarn test:coverage --runInBand --no-cache
+ - dependencies-{{ checksum "package-lock.json" }}
+ - run: npm run test:coverage --runInBand --no-cache
- save_cache:
key: coverage-{{ .Environment.CIRCLE_SHA1 }}
paths:
@@ -56,13 +56,12 @@ jobs:
- checkout
- restore_cache:
keys:
- - dependencies-{{ checksum "yarn.lock" }}
+ - dependencies-{{ checksum "package-lock.json" }}
- restore_cache:
keys:
- coverage-{{ .Environment.CIRCLE_SHA1 }}
- - run: yarn global add codecov
- - run: yarn codecov
-
+ - run: npx codecov
+
workflows:
version: 2
test:
diff --git a/.dockerignore b/.dockerignore
deleted file mode 100644
index c25af48..0000000
--- a/.dockerignore
+++ /dev/null
@@ -1,4 +0,0 @@
-.git
-node_modules
-npm-debug.log
-yarn-error.log
\ No newline at end of file
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..1df1d72
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,10 @@
+root = true
+
+[*]
+charset = utf-8
+end_of_line = lf
+indent_size = 2
+indent_style = space
+insert_final_newline = true
+trim_trailing_whitespace = true
+css
diff --git a/.eslintignore b/.eslintignore
index 80b4531..1d1cffd 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -1,3 +1,4 @@
-/flow-typed/*
-/public/*
-/node_modules/*
\ No newline at end of file
+*.*
+!*.ts
+!*.tsx
+/public/
diff --git a/.eslintrc b/.eslintrc
new file mode 100644
index 0000000..0b7c394
--- /dev/null
+++ b/.eslintrc
@@ -0,0 +1,76 @@
+{
+ "env": {
+ "node": true,
+ "browser": true,
+ "jasmine": true,
+ "jest/globals": true
+ },
+ "extends": [
+ "plugin:import/typescript",
+ "plugin:import/errors",
+ "airbnb-typescript",
+ "@alxshelepenok/eslint-config",
+ "prettier"
+ ],
+ "parser": "@typescript-eslint/parser",
+ "parserOptions": {
+ "project": "./tsconfig.json"
+ },
+ "plugins": [
+ "import",
+ "react",
+ "jest",
+ "@typescript-eslint",
+ "simple-import-sort"
+ ],
+ "rules": {
+ "import/no-extraneous-dependencies": [
+ "error",
+ {
+ "devDependencies": [
+ "**/*.test.ts",
+ "**/*.test.tsx",
+ "**/internal/**/*.ts"
+ ]
+ }
+ ],
+ "import/order": ["off"],
+ "import/no-internal-modules": ["off"],
+ "import/no-named-as-default": ["off"],
+ "import/prefer-default-export": ["off"],
+ "sort-keys": ["off"],
+ "camelcase": ["off"],
+ "comma-dangle": ["error", "always-multiline"],
+ "sort-imports": ["off"],
+ "no-restricted-globals": ["off"],
+ "@typescript-eslint/no-unused-vars": ["off"],
+ "@typescript-eslint/no-use-before-define": ["off"],
+ "@typescript-eslint/quotes": ["error", "double"],
+ "@typescript-eslint/naming-convention": ["error", {
+ "format": ["camelCase", "UPPER_CASE", "snake_case", "PascalCase"],
+ "leadingUnderscore": "allow",
+ "selector": "parameter"
+ }],
+ "react/static-property-placement": ["off"],
+ "react/prop-types": ["off"],
+ "simple-import-sort/imports": [
+ "error",
+ {
+ "groups": [
+ ["react|path"],
+ ["^\\u0000"],
+ ["^@?\\w"],
+ ["^[^. ]"],
+ ["^\\."],
+ ["^(images|!!raw-loader)"],
+ ["w*(w*.*css)"]
+ ]
+ }
+ ]
+ },
+ "settings": {
+ "import/resolver": {
+ "typescript": {}
+ }
+ }
+}
diff --git a/.eslintrc.json b/.eslintrc.json
deleted file mode 100644
index 17f5edc..0000000
--- a/.eslintrc.json
+++ /dev/null
@@ -1,65 +0,0 @@
-{
- "parser": "babel-eslint",
- "extends": "airbnb-base",
- "env": {
- "browser": true,
- "node": true,
- "es6": true,
- "jest/globals": true
- },
- "plugins": [
- "react",
- "jest",
- "jsx-a11y",
- "import"
- ],
- "globals": {
- "graphql": true
- },
- "rules": {
- "comma-dangle": 0,
- "import/imports-first": 0,
- "global-require": 0,
- "class-methods-use-this": 0,
- "arrow-body-style": [
- 2,
- "as-needed"
- ],
- "arrow-parens": [
- "error",
- "always"
- ],
- "import/no-extraneous-dependencies": [
- "error",
- {
- "devDependencies": true
- }
- ],
- "no-debugger": 0,
- "dot-notation": 0,
- "no-console": 0,
- "new-cap": 0,
- "strict": 0,
- "no-param-reassign": [
- "error",
- {
- "props": false
- }
- ],
- "no-underscore-dangle": 0,
- "no-use-before-define": 0,
- "eol-last": 0,
- "no-shadow": 0,
- "quotes": [
- 2,
- "single"
- ],
- "jsx-quotes": [
- 0,
- "prefer-single"
- ],
- "react/jsx-no-undef": 1,
- "react/jsx-uses-react": 1,
- "react/jsx-uses-vars": 1
- }
-}
\ No newline at end of file
diff --git a/.flowconfig b/.flowconfig
deleted file mode 100644
index 5c2a405..0000000
--- a/.flowconfig
+++ /dev/null
@@ -1,17 +0,0 @@
-[ignore]
-.*/node_modules/*
-.*/public/*
-
-[libs]
-flow-typed
-
-[options]
-module.name_mapper.extension='scss' -> '/flow/css-module-stub.js'
-server.max_workers=1
-
-[strict]
-nonstrict-import
-unclear-type
-untyped-type-import
-unsafe-getters-setters
-sketchy-null
diff --git a/.gitattributes b/.gitattributes
deleted file mode 100644
index f3b1a82..0000000
--- a/.gitattributes
+++ /dev/null
@@ -1,6 +0,0 @@
-/.github export-ignore
-/.gitattributes export-ignore
-/.editorconfig export-ignore
-/.travis.yml export-ignore
-**/*.js.snap export-ignore
-/static/css export-ignore
\ No newline at end of file
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/BUG_REPORT.md
similarity index 100%
rename from .github/ISSUE_TEMPLATE/bug_report.md
rename to .github/ISSUE_TEMPLATE/BUG_REPORT.md
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/FEATURE_REQUEST.md
similarity index 100%
rename from .github/ISSUE_TEMPLATE/feature_request.md
rename to .github/ISSUE_TEMPLATE/FEATURE_REQUEST.md
diff --git a/.github/screenshot.png b/.github/screenshot.png
deleted file mode 100644
index 45cce39..0000000
Binary files a/.github/screenshot.png and /dev/null differ
diff --git a/.github/workflows/nodejs.yml b/.github/workflows/nodejs.yml
deleted file mode 100644
index 8431dd9..0000000
--- a/.github/workflows/nodejs.yml
+++ /dev/null
@@ -1,32 +0,0 @@
-# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
-# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
-
-name: Node.js CI
-
-on:
- push:
- branches: [ master ]
- pull_request:
- branches: [ master ]
-
-jobs:
- build:
-
- runs-on: ubuntu-latest
-
- strategy:
- matrix:
- node-version: [12.x]
-
- steps:
- - uses: actions/checkout@v2
- - name: Use Node.js ${{ matrix.node-version }}
- uses: actions/setup-node@v2
- with:
- node-version: ${{ matrix.node-version }}
- - run: npm install -g yarn
- - run: yarn install --frozen-lockfile
- - run: yarn run lint
- - run: yarn run test --runInBand --no-cache
- env:
- CI: true
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 0000000..d7767fd
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,33 @@
+
+name: Release
+
+on:
+ push:
+ branches:
+ - master
+
+jobs:
+ release:
+ name: Release
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+
+ - name: Setup Node.js
+ uses: actions/setup-node@v2
+ with:
+ node-version: 14.17
+
+ - name: Install dependencies
+ run: npm ci
+
+ - name: Run tests
+ run: npm run test
+
+ - name: Release
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: npm run semantic-release
diff --git a/.gitignore b/.gitignore
index c39068a..10392f4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,8 +1,41 @@
-node_modules/
-.cache/
-public/
-npm-debug.log
-.eslintcache
-.gatsby-context.js
+# logs
+logs
+*.log
+
+# runtime data
+.DS_Store
+*.seed
+*.pid
+pids
+
+# editors
.idea
-gatsby-starter-lumen.iml
\ No newline at end of file
+.vscode
+
+# build
+public
+
+# cache
+.cache
+
+# directory for instrumented libs generated by jscoverage
+lib-cov
+
+# coverage directory used by tools like istanbul
+coverage
+
+# swc
+.swc
+
+# node-waf configuration
+.lock-wscript
+
+# eslint cache
+.eslintcache
+
+# dependency directory
+node_modules
+
+# only apps should have lockfiles
+npm-shrinkwrap.json
+yarn.lock
diff --git a/.husky/commint-msg b/.husky/commint-msg
new file mode 100755
index 0000000..8f236f1
--- /dev/null
+++ b/.husky/commint-msg
@@ -0,0 +1,4 @@
+#!/bin/sh
+. "$(dirname "$0")/_/husky.sh"
+
+npm run lint:commit
diff --git a/.husky/pre-commit b/.husky/pre-commit
new file mode 100755
index 0000000..3199e8e
--- /dev/null
+++ b/.husky/pre-commit
@@ -0,0 +1,4 @@
+#!/bin/sh
+. "$(dirname "$0")/_/husky.sh"
+
+npm run lint:staged
diff --git a/.husky/pre-push b/.husky/pre-push
new file mode 100755
index 0000000..d1096ab
--- /dev/null
+++ b/.husky/pre-push
@@ -0,0 +1,4 @@
+#!/bin/sh
+. "$(dirname "$0")/_/husky.sh"
+
+npm run test
diff --git a/.postcssrc b/.postcssrc
new file mode 100644
index 0000000..8eeeecd
--- /dev/null
+++ b/.postcssrc
@@ -0,0 +1,6 @@
+{
+ "plugins": {
+ "autoprefixer": {},
+ "lost": {}
+ }
+}
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 0000000..e8332f9
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1,10 @@
+*.*
+!*.json
+!*.md
+!*.mdx
+!*.ts
+!*.tsx
+!*.yml
+!*.js
+/coverage/
+/public/
diff --git a/.prettierrc b/.prettierrc
new file mode 100644
index 0000000..87bc023
--- /dev/null
+++ b/.prettierrc
@@ -0,0 +1,4 @@
+{
+ "arrowParens": "avoid",
+ "trailingComma": "all"
+}
diff --git a/.releaserc b/.releaserc
new file mode 100644
index 0000000..20bfcf4
--- /dev/null
+++ b/.releaserc
@@ -0,0 +1,59 @@
+{
+ "branches": ["master"],
+ "plugins": [
+ [
+ "@semantic-release/commit-analyzer",
+ {
+ "preset": "conventionalcommits",
+ "releaseRules": [
+ { "type": "chore", "release": "patch" },
+ { "type": "chore", "scope": "release", "release": false },
+ { "type": "refactor", "release": "patch" }
+ ]
+ }
+ ],
+ [
+ "@semantic-release/release-notes-generator",
+ {
+ "preset": "conventionalcommits",
+ "presetConfig": {
+ "types": [
+ {
+ "type": "feat",
+ "section": "Features"
+ },
+ {
+ "type": "fix",
+ "section": "Bug Fixes"
+ },
+ {
+ "type": "chore",
+ "section": "Chores"
+ },
+ {
+ "type": "refactor",
+ "section": "Refactors"
+ },
+ {
+ "type": "revert",
+ "section": "Reverts"
+ }
+ ]
+ }
+ }
+ ],
+ [
+ "@semantic-release/exec",
+ {
+ "prepareCmd": "npm version ${nextRelease.version} --no-git-tag-version --allow-same-version",
+ }
+ ],
+ [
+ "@semantic-release/git",
+ {
+ "assets": ["package.json"],
+ "message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
+ }
+ ]
+ ]
+}
diff --git a/.stylelintignore b/.stylelintignore
new file mode 100644
index 0000000..d9a740d
--- /dev/null
+++ b/.stylelintignore
@@ -0,0 +1,4 @@
+*.*
+!*.css
+!*.scss
+/public/
diff --git a/.stylelintrc.json b/.stylelintrc
similarity index 55%
rename from .stylelintrc.json
rename to .stylelintrc
index 4b4c969..5750ca5 100644
--- a/.stylelintrc.json
+++ b/.stylelintrc
@@ -1,25 +1,21 @@
{
+ "defaultSeverity": "error",
"extends": "stylelint-config-recommended-scss",
+ "plugins": ["stylelint-order"],
"rules": {
"color-named": "never",
"font-family-name-quotes": "always-where-required",
+ "font-family-no-missing-generic-family-keyword": null,
"font-weight-notation": "named-where-possible",
"function-url-no-scheme-relative": true,
"function-url-quotes": "always",
- "string-quotes": "single",
- "value-keyword-case": "lower",
- "unit-blacklist": [],
- "max-empty-lines": 2,
+ "max-empty-lines": 1,
"no-descending-specificity": true,
"no-duplicate-selectors": true,
- "font-family-no-missing-generic-family-keyword": null,
- "property-no-unknown": [true, {
- "ignoreProperties": ["/^lost-/"]
- }]
- },
- "ignoreFiles": [
- "node_modules/*",
- "src/assets/**"
- ],
- "defaultSeverity": "error"
-}
\ No newline at end of file
+ "order/order": ["custom-properties", "declarations"],
+ "order/properties-alphabetical-order": true,
+ "property-no-unknown": [true, { "ignoreProperties": ["/^lost-/"] }],
+ "string-quotes": "double",
+ "value-keyword-case": "lower"
+ }
+}
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 6034dde..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-language: node_js
-node_js:
- - '10'
-install:
- - npm install -g codecov
-script:
- - yarn install
- - yarn lint
- - yarn test:coverage --runInBand --no-cache
- - yarn test --runInBand --no-cache
- - codecov
-cache:
- directories:
- - node_modules
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 877c05d..b495335 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,45 +1,59 @@
# Change Log
+
All notable changes to this project will be documented in this file.
+## [4.0.0] - 2021-10-24
+
+- Upgrade to Gatsby 4.0
+
## [3.0.3] - 2019-07-25
+
### Added
-- [Pull #321](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/321): Add title to for accessibility
-- [Pull #319](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/319): Fixed invalid Telegram contact url
-- [Pull #314](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/314): Hides the contact icon if empty in config
-- [Pull #295](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/295): Add external link defaults for markdown
-- [Pull #283](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/283): Add pathPrefix configuration
-- [Pull #231](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/231): Add Twitter Card
-- [Pull #210](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/210): Bug fixes
-- [Pull #181](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/181): Add More Flow typings
-- [Pull #178](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/178): Integrate Flow typing
+
+- [Pull #321](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/321) - Add title to for accessibility
+- [Pull #319](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/319) - Fixed invalid Telegram contact url
+- [Pull #314](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/314) - Hides the contact icon if empty in config
+- [Pull #295](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/295) - Add external link defaults for markdown
+- [Pull #283](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/283) - Add pathPrefix configuration
+- [Pull #231](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/231) - Add Twitter Card
+- [Pull #210](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/210) - Bug fixes
+- [Pull #181](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/181) - Add More Flow typings
+- [Pull #178](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/178) - Integrate Flow typing
## [3.0.1] - 2019-03-03
+
### Added
-- [Pull #118](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/118): feat: add gatsby-remark-autolink-headers support
-- [Pull #99](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/99): Add lang="en" to
-- [Pull #95](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/95): Fixed url prop bug for
-- [Pull #94](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/94): Add isIndex prop to Sidebar in index-template
-- [Pull #93](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/93): Upgrade React version to 16.8.1
-- [Pull #89](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/89): Removed .gatsby-highlight selectors
+
+- [Pull #118](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/118) - feat: add gatsby-remark-autolink-headers support
+- [Pull #99](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/99) - Add lang="en" to
+- [Pull #95](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/95) - Fixed url prop bug for
+- [Pull #94](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/94) - Add isIndex prop to Sidebar in index-template
+- [Pull #93](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/93) - Upgrade React version to 16.8.1
+- [Pull #89](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/89) - Removed .gatsby-highlight selectors
## [3.0.0] - 2019-01-22
+
- Heavy refactoring
- Netlify CMS support
- Pagination support
- Reorganize content
## [2.0.4] - 2019-01-22
+
### Added
-- [Pull #78](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/78): Upgrade gatsby-remark-prismjs
-- [Pull #77](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/77): Add more service urls and tweak a layout
+
+- [Pull #78](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/78) - Upgrade gatsby-remark-prismjs
+- [Pull #77](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/77) - Add more service urls and tweak a layout
## [2.0.3] - 2018-11-09
+
### Added
-- [Pull #70](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/70): Refactor the React logic and introduce Fragment
-- [Pull #63](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/63): We want `yarn.lock` in git
-- [Pull #56](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/56): Add Simple Netlify Deploy Support
-- [Pull #55](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/55): Fix prefix-links error upon deploy
-- [Pull #54](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/54): Improve RSS channel defaults
-- [Pull #51](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/51): Decouple the node side code and the browser side code
-- [Pull #50](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/50): Fixed two typos.
-- [Pull #49](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/49): Fix twitter link in post details
+
+- [Pull #70](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/70) - Refactor the React logic and introduce Fragment
+- [Pull #63](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/63) - We want `yarn.lock` in git
+- [Pull #56](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/56) - Add Simple Netlify Deploy Support
+- [Pull #55](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/55) - Fix prefix-links error upon deploy
+- [Pull #54](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/54) - Improve RSS channel defaults
+- [Pull #51](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/51) - Decouple the node side code, and the browser side code
+- [Pull #50](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/50) - Fixed two typos.
+- [Pull #49](https://github.com/alxshelepenok/gatsby-starter-lumen/pull/49) - Fix twitter link in post details
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index 92bc756..072301e 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -3,7 +3,7 @@
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
-contributors and maintainers pledge to making participation in our project and
+contributors and maintainers pledge to making participation in our project, and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
@@ -14,22 +14,22 @@ appearance, race, religion, or sexual identity and orientation.
Examples of behavior that contributes to creating a positive environment
include:
-* Using welcoming and inclusive language
-* Being respectful of differing viewpoints and experiences
-* Gracefully accepting constructive criticism
-* Focusing on what is best for the community
-* Showing empathy towards other community members
+- Using welcoming and inclusive language
+- Being respectful of differing viewpoints and experiences
+- Gracefully accepting constructive criticism
+- Focusing on what is best for the community
+- Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
-* The use of sexualized language or imagery and unwelcome sexual attention or
- advances
-* Trolling, insulting/derogatory comments, and personal or political attacks
-* Public or private harassment
-* Publishing others' private information, such as a physical or electronic
- address, without explicit permission
-* Other conduct which could reasonably be considered inappropriate in a
- professional setting
+- The use of sexualized language or imagery and unwelcome sexual attention or
+ advances
+- Trolling, insulting/derogatory comments, and personal or political attacks
+- Public or private harassment
+- Publishing others' private information, such as a physical or electronic
+ address, without explicit permission
+- Other conduct which could reasonably be considered inappropriate in a
+ professional setting
## Our Responsibilities
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 8552aa2..97b15fa 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,19 +1,19 @@
# Contributing
When contributing to this repository, please first discuss the change you wish to make via issue,
-email, or any other method with the owners of this repository before making a change.
+email, or any other method with the owners of this repository before making a change.
Please note we have a code of conduct, please follow it in all your interactions with the project.
## Pull Request Process
-1. Ensure any install or build dependencies are removed before the end of the layer when doing a
+1. Ensure any install or build dependencies are removed before the end of the layer when doing a
build.
-2. Update the README.md with details of changes to the interface, this includes new environment
+2. Update the README.md with details of changes to the interface, this includes new environment
variables, exposed ports, useful file locations and container parameters.
-3. Increase the version numbers in any examples files and the README.md to the new version that this
+3. Increase the version numbers in any examples files, and the README.md to the new version that this
Pull Request would represent. The versioning scheme we use is [SemVer](http://semver.org/).
-4. You may merge the Pull Request in once you have the sign-off of two other developers, or if you
+4. You may merge the Pull Request in once you have the sign-off of two other developers, or if you
do not have permission to do that, you may request the second reviewer to merge it for you.
## Code of Conduct
@@ -21,7 +21,7 @@ Please note we have a code of conduct, please follow it in all your interactions
### Our Pledge
In the interest of fostering an open and welcoming environment, we as
-contributors and maintainers pledge to making participation in our project and
+contributors and maintainers pledge to making participation in our project, and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
nationality, personal appearance, race, religion, or sexual identity and
@@ -32,21 +32,21 @@ orientation.
Examples of behavior that contributes to creating a positive environment
include:
-* Using welcoming and inclusive language
-* Being respectful of differing viewpoints and experiences
-* Gracefully accepting constructive criticism
-* Focusing on what is best for the community
-* Showing empathy towards other community members
+- Using welcoming and inclusive language
+- Being respectful of differing viewpoints and experiences
+- Gracefully accepting constructive criticism
+- Focusing on what is best for the community
+- Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
-* The use of sexualized language or imagery and unwelcome sexual attention or
-advances
-* Trolling, insulting/derogatory comments, and personal or political attacks
-* Public or private harassment
-* Publishing others' private information, such as a physical or electronic
+- The use of sexualized language or imagery and unwelcome sexual attention or
+ advances
+- Trolling, insulting/derogatory comments, and personal or political attacks
+- Public or private harassment
+- Publishing others' private information, such as a physical or electronic
address, without explicit permission
-* Other conduct which could reasonably be considered inappropriate in a
+- Other conduct which could reasonably be considered inappropriate in a
professional setting
### Our Responsibilities
diff --git a/Dockerfile.development b/Dockerfile.development
deleted file mode 100644
index 3f2692d..0000000
--- a/Dockerfile.development
+++ /dev/null
@@ -1,6 +0,0 @@
-FROM node:alpine
-
-EXPOSE 8000
-
-VOLUME /usr/src/app
-WORKDIR /usr/src/app
diff --git a/Dockerfile.production b/Dockerfile.production
deleted file mode 100644
index 740e33b..0000000
--- a/Dockerfile.production
+++ /dev/null
@@ -1,21 +0,0 @@
-FROM node:alpine as builder
-
-RUN apk update && apk add --no-cache make git python3 autoconf g++ libc6-compat libjpeg-turbo-dev libpng-dev nasm libtool automake vips-dev
-
-WORKDIR /usr/src/app
-COPY . .
-
-RUN yarn install
-RUN yarn build
-RUN rm -rf ./src ./node_modules /usr/local/lib/node_modules /usr/local/share/.cache/yarn/
-RUN mkdir -p /run/nginx
-
-FROM nginx:alpine
-
-RUN rm -rf /usr/share/nginx/html/*
-
-COPY --from=builder /usr/src/app/public /usr/share/nginx/html
-
-EXPOSE 80
-
-CMD ["nginx", "-g", "daemon off;"]
diff --git a/LICENSE b/LICENSE
index 5b85978..2ec1db7 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
The MIT License (MIT)
-Copyright (c) 2016-2021 Alexander Shelepenok
+Copyright (c) 2016-2022 Alexander Shelepenok
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/README.md b/README.md
index 0996f5e..7b40d7f 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
-
+
Lumen
@@ -12,113 +12,50 @@
## Table of contents
-+ [Features](http://github.com/alxshelepenok/gatsby-starter-lumen#features)
-+ [Web Performance Tests](http://github.com/alxshelepenok/gatsby-starter-lumen#web-performance-tests)
-+ [Quick Start](http://github.com/alxshelepenok/gatsby-starter-lumen#quick-start)
-+ [Deploy with Netlify](http://github.com/alxshelepenok/gatsby-starter-lumen#deploy-with-netlify)
-+ [Folder Structure](http://github.com/alxshelepenok/gatsby-starter-lumen#folder-structure)
-+ [Sponsors](http://github.com/alxshelepenok/gatsby-starter-lumen#sponsors)
-+ [Contributors](http://github.com/alxshelepenok/gatsby-starter-lumen#contributors)
-+ [License](http://github.com/alxshelepenok/gatsby-starter-lumen#license)
+
+- [Features](http://github.com/alxshelepenok/gatsby-starter-lumen#features)
+- [Quick Start](http://github.com/alxshelepenok/gatsby-starter-lumen#quick-start)
+- [Folder Structure](http://github.com/alxshelepenok/gatsby-starter-lumen#folder-structure)
+- [Sponsors](http://github.com/alxshelepenok/gatsby-starter-lumen#sponsors)
+- [Contributors](http://github.com/alxshelepenok/gatsby-starter-lumen#contributors)
+- [License](http://github.com/alxshelepenok/gatsby-starter-lumen#license)
## Features
-+ [Lost Grid](http://lostgrid.org).
-+ [Modern font stack](https://bitsofco.de/the-new-system-font-stack).
-+ Beautiful typography inspired by [matejlatin/Gutenberg](https://github.com/matejlatin/Gutenberg).
-+ Syntax highlighting in code blocks using [PrismJS](http://prismjs.com).
-+ [Mobile-First](https://medium.com/@mrmrs_/mobile-first-css-48bc4cc3f60f) approach in development.
-+ Archive organized by tags and categories.
-+ Pagination support.
-+ [Netlify CMS](https://www.netlifycms.org) support.
-+ Google Analytics.
-+ Disqus Comments.
-+ [Flow](https://flow.org/) static type checking.
-## Web Performance Tests
-+ Lighthouse Report - [WebPageTest](https://www.webpagetest.org/result/190510_FE_3f2b13d0beed320f477467d433f56f43/)
-+ Visual Comparison - [WebPageTest](https://www.webpagetest.org/video/compare.php?tests=190510_KZ_1228c343ccf04148619a5d0b89a41f71,190510_RE_b3bfad442f32c690a9f420fe46025b8d,190510_RS_3b5f0bff2d95161351dc6934cadbf1cf,190510_SC_5c458c451941f81b12911ccf4171a817,190510_63_52d5edd8743773815fbacb2e9c66d228,190510_AS_741b29f5af5a6e54980d82826d7bb5bb)
+- Beautiful typography.
+- Mobile-First approach in development.
+- Syntax highlighting in code blocks using PrismJS.
+- Pagination support.
## Quick Start
-#### Create a Gatsby site
-
-Use the Gatsby CLI to create a new site, specifying the Lumen starter.
-
-```sh
-# Create a new Gatsby site using the Lumen starter
-gatsby new blog https://github.com/alxshelepenok/gatsby-starter-lumen
```
-
-#### Start Developing
-
-Navigate into your new site’s directory and start it up.
-
-```sh
-cd blog
-gatsby develop
-```
-
-#### Open the source code and start editing!
-
-Your site is now running at `http://localhost:8000`!
-
-Note: You'll also see a second link: `http://localhost:8000/___graphql`. This is a tool you can use to experiment with querying your data. Learn more about using this tool in the [Gatsby tutorial](https://www.gatsbyjs.org/tutorial/part-five/#introducing-graphiql).
-
-Open the `blog` directory in your code editor of choice and edit `src/templates/index-template.js`. Save your changes and the browser will update in real time!
-
-## Deploy with Netlify
-
-[Netlify](https://netlify.com) CMS can run in any frontend web environment, but the quickest way to try it out is by running it on a pre-configured starter site with Netlify. Use the button below to build and deploy your own copy of the repository:
-
-
-
-After clicking that button, you’ll authenticate with GitHub and choose a repository name. Netlify will then automatically create a repository in your GitHub account with a copy of the files from the template. Next, it will build and deploy the new site on Netlify, bringing you to the site dashboard when the build is complete. Next, you’ll need to set up Netlify’s Identity service to authorize users to log in to the CMS.
-
-## Deploy to Github Pages
-
-To deploy to github pages, simply do the following:
-
-- Ensure that your `package.json` file correctly reflects where this repo lives
-- Change the `pathPrefix` in your `config.js`
-- Run the standard deploy command
-
-```sh
-yarn deploy
-```
-
-
-#### Access Locally
-```
-$ git clone https://github.com/[GITHUB_USERNAME]/[REPO_NAME].git
-$ cd [REPO_NAME]
-$ yarn
-$ yarn develop
-```
-To test the CMS locally, you'll need run a production build of the site:
-```
-$ yarn build
-$ gatsby serve
+$ npm install
+$ npm run start
```
## Folder Structure
```
-└── content
- ├── pages
- └── posts
-└── static
- ├── admin
- └── media
+.
+├── internal
+│ ├── definitions
+│ ├── gatsby
+│ │ ├── constants
+│ │ ├── queries
+│ │ ├── types
+│ │ └── utils
+│ └── testing
+│ └── __mocks__
└── src
├── assets
│ └── scss
│ ├── base
│ └── mixins
- ├── cms
- │ └── preview-templates
├── components
│ ├── Feed
│ ├── Icon
+ │ ├── Image
│ ├── Layout
│ ├── Page
│ ├── Pagination
@@ -134,9 +71,18 @@ $ gatsby serve
│ ├── Copyright
│ └── Menu
├── constants
+ ├── hooks
├── templates
+ │ ├── CategoriesTemplate
+ │ ├── CategoryTemplate
+ │ ├── IndexTemplate
+ │ ├── NotFoundTemplate
+ │ ├── PageTemplate
+ │ ├── PostTemplate
+ │ ├── TagsTemplate
+ │ └── TagTemplate
+ ├── types
└── utils
-
```
## Sponsors
@@ -144,35 +90,41 @@ $ gatsby serve
Development efforts are supported by the sponsors. I'm very grateful for their donations, please check them out!
| | |
-:---: |:---: |
+| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
## Contributors
-Thanks goes to these wonderful people!
-[](https://github.com/vzhou842) |[](https://github.com/alehel) |[](https://github.com/abisz) |[](https://github.com/remi-bruguier) |[](https://github.com/mariolopjr) |[](https://github.com/ihororlovskyi) |
-:---: |:---: |:---: |:---: |:---: |:---: |
-[vzhou842](https://github.com/vzhou842) |[alehel](https://github.com/alehel) |[abisz](https://github.com/abisz) |[remi-bruguier](https://github.com/remi-bruguier) |[mariolopjr](https://github.com/mariolopjr) |[ihororlovskyi](https://github.com/ihororlovskyi) |
+Thanks to these wonderful people!
-[](https://github.com/timbroder) |[](https://github.com/vinnymac) |[](https://github.com/yodahuang) |[](https://github.com/axelclark) |[](https://github.com/BigTony666) |[](https://github.com/stigrune) |
-:---: |:---: |:---: |:---: |:---: |:---: |
-[timbroder](https://github.com/timbroder) |[vinnymac](https://github.com/vinnymac) |[yodahuang](https://github.com/yodahuang) |[axelclark](https://github.com/axelclark) |[BigTony666](https://github.com/BigTony666) |[stigrune](https://github.com/stigrune) |
+| [](https://github.com/vzhou842) | [](https://github.com/abisz) | [](https://github.com/remi-bruguier) | [](https://github.com/sparklesam) | [](https://github.com/vinnymac) | [](https://github.com/mariolopjr) |
+| :------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------: |
+| [vzhou842](https://github.com/vzhou842) | [abisz](https://github.com/abisz) | [remi-bruguier](https://github.com/remi-bruguier) | [sparklesam](https://github.com/sparklesam) | [vinnymac](https://github.com/vinnymac) | [mariolopjr](https://github.com/mariolopjr) |
-[](https://github.com/ybbarng) |[](https://github.com/marktani) |[](https://github.com/concreted) |[](https://github.com/chmac) |[](https://github.com/charandas) |[](https://github.com/marcelabomfim) |
-:---: |:---: |:---: |:---: |:---: |:---: |
-[ybbarng](https://github.com/ybbarng) |[marktani](https://github.com/marktani) |[concreted](https://github.com/concreted) |[chmac](https://github.com/chmac) |[charandas](https://github.com/charandas) |[marcelabomfim](https://github.com/marcelabomfim) |
+| [](https://github.com/ihororlovskyi) | [](https://github.com/rtveitch) | [](https://github.com/timbroder) | [](https://github.com/yodahuang) | [](https://github.com/axelclark) | [](https://github.com/tonyz0x0) |
+| :---------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------: |
+| [ihororlovskyi](https://github.com/ihororlovskyi) | [rtveitch](https://github.com/rtveitch) | [timbroder](https://github.com/timbroder) | [yodahuang](https://github.com/yodahuang) | [axelclark](https://github.com/axelclark) | [tonyz0x0](https://github.com/tonyz0x0) |
-[](https://github.com/zollillo) |[](https://github.com/codejet) |[](https://github.com/reed-jones) |[](https://github.com/rtveitch) |[](https://github.com/SayakaOno) |[](https://github.com/swapnilmishra) |
-:---: |:---: |:---: |:---: |:---: |:---: |
-[zollillo](https://github.com/zollillo) |[codejet](https://github.com/codejet) |[reed-jones](https://github.com/reed-jones) |[rtveitch](https://github.com/rtveitch) |[SayakaOno](https://github.com/SayakaOno) |[swapnilmishra](https://github.com/swapnilmishra) |
+| [](https://github.com/tranlehaiquan) | [](https://github.com/seandearnaley) | [](https://github.com/stigrune) | [](https://github.com/ybbarng) | [](https://github.com/marktani) | [](https://github.com/concreted) |
+| :----------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------: |
+| [tranlehaiquan](https://github.com/tranlehaiquan) | [seandearnaley](https://github.com/seandearnaley) | [stigrune](https://github.com/stigrune) | [ybbarng](https://github.com/ybbarng) | [marktani](https://github.com/marktani) | [concreted](https://github.com/concreted) |
-[](https://github.com/vvasiloud) |[](https://github.com/vstoms) |[](https://github.com/wichopy) |[](https://github.com/yairmark) |
-:---: |:---: |:---: |:---: |
-[vvasiloud](https://github.com/vvasiloud) |[vstoms](https://github.com/vstoms) |[wichopy](https://github.com/wichopy) |[yairmark](https://github.com/yairmark) |
+| [](https://github.com/gipcompany) | [](https://github.com/chmac) | [](https://github.com/charandas) | [](https://github.com/ibraheemdev) | [](https://github.com/sladinji) | [](https://github.com/marcelabomfim) |
+| :--------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------------: |
+| [gipcompany](https://github.com/gipcompany) | [chmac](https://github.com/chmac) | [charandas](https://github.com/charandas) | [ibraheemdev](https://github.com/ibraheemdev) | [sladinji](https://github.com/sladinji) | [marcelabomfim](https://github.com/marcelabomfim) |
+
+| [](https://github.com/zollillo) | [](https://github.com/codejet) | [](https://github.com/reed-jones) | [](https://github.com/SayakaOno) | [](https://github.com/Puterism) | [](https://github.com/swapnilmishra) |
+| :-----------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------------------: |
+| [zollillo](https://github.com/zollillo) | [codejet](https://github.com/codejet) | [reed-jones](https://github.com/reed-jones) | [SayakaOno](https://github.com/SayakaOno) | [Puterism](https://github.com/Puterism) | [swapnilmishra](https://github.com/swapnilmishra) |
+
+| [](https://github.com/vvasiloud) | [](https://github.com/lune-sta) | [](https://github.com/yaaooo) | [](https://github.com/vstoms) | [](https://github.com/wichopy) | [](https://github.com/yairmark) |
+| :-------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------------------------------------------: |
+| [vvasiloud](https://github.com/vvasiloud) | [lune-sta](https://github.com/lune-sta) | [yaaooo](https://github.com/yaaooo) | [vstoms](https://github.com/vstoms) | [wichopy](https://github.com/wichopy) | [yairmark](https://github.com/yairmark) |
## License
+
The MIT License (MIT)
-Copyright (c) 2016-2021 Alexander Shelepenok
+Copyright (c) 2016-2022 Alexander Shelepenok
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/config.js b/config.js
deleted file mode 100644
index ce6b385..0000000
--- a/config.js
+++ /dev/null
@@ -1,50 +0,0 @@
-'use strict';
-
-module.exports = {
- url: 'https://lumen.netlify.com',
- pathPrefix: '/',
- title: 'Blog by John Doe',
- subtitle: 'Pellentesque odio nisi, euismod in, pharetra a, ultricies in, diam. Sed arcu.',
- copyright: '© All rights reserved.',
- disqusShortname: '',
- postsPerPage: 4,
- googleAnalyticsId: 'UA-73379983-2',
- useKatex: false,
- menu: [
- {
- label: 'Articles',
- path: '/'
- },
- {
- label: 'About me',
- path: '/pages/about'
- },
- {
- label: 'Contact me',
- path: '/pages/contacts'
- }
- ],
- author: {
- name: 'John Doe',
- photo: '/photo.jpg',
- bio: 'Pellentesque odio nisi, euismod in, pharetra a, ultricies in, diam. Sed arcu.',
- contacts: {
- email: '',
- facebook: '#',
- telegram: '#',
- twitter: '#',
- github: '#',
- rss: '',
- vkontakte: '',
- linkedin: '#',
- instagram: '#',
- line: '',
- gitlab: '',
- weibo: '',
- codepen: '',
- youtube: '',
- soundcloud: '',
- medium: '',
- }
- }
-};
diff --git a/content/config.json b/content/config.json
new file mode 100644
index 0000000..d26857c
--- /dev/null
+++ b/content/config.json
@@ -0,0 +1,46 @@
+{
+ "title": "Blog by John Doe",
+ "url": "https://lumen.alxshelepenok.com",
+ "subtitle": "Pellentesque odio nisi, euismod in, pharetra a, ultricies in, diam. Sed arcu.",
+ "copyright": "© All rights reserved.",
+ "googleAnalyticsId": "UA-73379983-2",
+ "disqusShortname": "",
+ "postsLimit": 4,
+ "pathPrefix": "/",
+ "menu": [
+ {
+ "label": "Articles",
+ "path": "/"
+ },
+ {
+ "label": "About me",
+ "path": "/pages/about"
+ },
+ {
+ "label": "Contact me",
+ "path": "/pages/contacts"
+ }
+ ],
+ "author": {
+ "name": "John Doe",
+ "photo": "/photo.jpg",
+ "bio": "Pellentesque odio nisi, euismod in, pharetra a, ultricies in, diam. Sed arcu.",
+ "contacts": {
+ "rss": "",
+ "email": "",
+ "github": "#",
+ "facebook": "#",
+ "telegram": "#",
+ "twitter": "#",
+ "linkedin": "#",
+ "instagram": "#",
+ "line": "",
+ "weibo": "",
+ "gitlab": "",
+ "medium": "",
+ "youtube": "",
+ "codepen": "",
+ "soundcloud": ""
+ }
+ }
+}
diff --git a/content/pages/about.md b/content/pages/about/index.md
similarity index 76%
rename from content/pages/about.md
rename to content/pages/about/index.md
index 1fe8dda..b844952 100644
--- a/content/pages/about.md
+++ b/content/pages/about/index.md
@@ -1,13 +1,13 @@
---
title: "About me"
template: "page"
-socialImage: "/media/image-2.jpg"
+socialImage: "/notebook.jpg"
---
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante.
-![Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi.](/media/image-2.jpg)
+![Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi.](/notebook.jpg)
-*Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi.*
+_Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi._
-Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus
\ No newline at end of file
+Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus
diff --git a/static/media/image-2.jpg b/content/pages/about/notebook.jpg
similarity index 100%
rename from static/media/image-2.jpg
rename to content/pages/about/notebook.jpg
diff --git a/static/media/image-4.jpg b/content/pages/contacts/book.jpg
similarity index 100%
rename from static/media/image-4.jpg
rename to content/pages/contacts/book.jpg
diff --git a/content/pages/contacts.md b/content/pages/contacts/index.md
similarity index 79%
rename from content/pages/contacts.md
rename to content/pages/contacts/index.md
index 76f04b7..32942d8 100644
--- a/content/pages/contacts.md
+++ b/content/pages/contacts/index.md
@@ -1,24 +1,24 @@
---
title: "Contact me"
template: "page"
-socialImage: "/media/image-4.jpg"
+socialImage: "/book.jpg"
---
Morbi in sem quis dui placerat ornare. Pellentesque odio nisi, euismod in, pharetra a, ultricies in, diam. Sed arcu. Cras consequat.
Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui.
-![Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi.](/media/image-4.jpg)
+![Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi.](/book.jpg)
-*Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi.*
+_Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi._
## Header Level 2
Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus.
-+ **Lorem ipsum** dolor sit amet, consectetuer adipiscing elit.
-+ Aliquam tincidunt mauris eu risus.
-+ Vestibulum auctor dapibus neque.
+- **Lorem ipsum** dolor sit amet, consectetuer adipiscing elit.
+- Aliquam tincidunt mauris eu risus.
+- Vestibulum auctor dapibus neque.
### Header Level 3
@@ -28,4 +28,4 @@ Pellentesque fermentum dolor. Aliquam quam lectus, facilisis auctor, ultrices ut
#### Header Level 4
-Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est.
\ No newline at end of file
+Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est.
diff --git a/content/photo.jpg b/content/photo.jpg
new file mode 100644
index 0000000..40f66ea
Binary files /dev/null and b/content/photo.jpg differ
diff --git a/content/posts/2016-01-09---Perfecting-the-Art-of-Perfection.md b/content/posts/2016-01-09---Perfecting-the-Art-of-Perfection/index.md
similarity index 91%
rename from content/posts/2016-01-09---Perfecting-the-Art-of-Perfection.md
rename to content/posts/2016-01-09---Perfecting-the-Art-of-Perfection/index.md
index 42928f2..9461eb8 100644
--- a/content/posts/2016-01-09---Perfecting-the-Art-of-Perfection.md
+++ b/content/posts/2016-01-09---Perfecting-the-Art-of-Perfection/index.md
@@ -9,13 +9,13 @@ tags:
- "Handwriting"
- "Learning to write"
description: "Quisque cursus, metus vitae pharetra auctor, sem massa mattis sem, at interdum magna augue eget diam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Morbi lacinia molestie dui. Praesent blandit dolor. Sed non quam. In vel mi sit amet augue congue elementum."
-socialImage: "/media/image-2.jpg"
+socialImage: "/media/notebook.jpg"
---
Quisque cursus, metus vitae pharetra auctor, sem massa mattis sem, at interdum magna augue eget diam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Morbi lacinia molestie dui. Praesent blandit dolor. Sed non quam. In vel mi sit amet augue congue elementum.
-![Nulla faucibus vestibulum eros in tempus. Vestibulum tempor imperdiet velit nec dapibus](/media/image-2.jpg)
+![Nulla faucibus vestibulum eros in tempus. Vestibulum tempor imperdiet velit nec dapibus](/media/notebook.jpg)
-Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis.
+Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis.
-Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus.
\ No newline at end of file
+Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat. Nam dui mi, tincidunt quis, accumsan porttitor, facilisis luctus, metus.
diff --git a/content/posts/2016-01-09---Perfecting-the-Art-of-Perfection/media/notebook.jpg b/content/posts/2016-01-09---Perfecting-the-Art-of-Perfection/media/notebook.jpg
new file mode 100644
index 0000000..53845ed
Binary files /dev/null and b/content/posts/2016-01-09---Perfecting-the-Art-of-Perfection/media/notebook.jpg differ
diff --git a/content/posts/2016-01-12---The-Origins-of-Social-Stationery-Lettering.md b/content/posts/2016-01-12---The-Origins-of-Social-Stationery-Lettering/index.md
similarity index 79%
rename from content/posts/2016-01-12---The-Origins-of-Social-Stationery-Lettering.md
rename to content/posts/2016-01-12---The-Origins-of-Social-Stationery-Lettering/index.md
index 885fd58..5018a69 100644
--- a/content/posts/2016-01-12---The-Origins-of-Social-Stationery-Lettering.md
+++ b/content/posts/2016-01-12---The-Origins-of-Social-Stationery-Lettering/index.md
@@ -6,21 +6,21 @@ draft: false
slug: "the-origins-of-social-stationery-lettering"
category: "Design Culture"
description: "Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante."
-socialImage: "/media/image-3.jpg"
+socialImage: "/media/square.jpg"
---
-**Pellentesque habitant morbi tristique** senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. *Aenean ultricies mi vitae est.* Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra.
+**Pellentesque habitant morbi tristique** senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. _Aenean ultricies mi vitae est._ Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra.
-Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. [Donec non enim](#) in turpis pulvinar facilisis.
+Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. [Donec non enim](#) in turpis pulvinar facilisis.
-![Nulla faucibus vestibulum eros in tempus. Vestibulum tempor imperdiet velit nec dapibus](/media/image-3.jpg)
+![Nulla faucibus vestibulum eros in tempus. Vestibulum tempor imperdiet velit nec dapibus](/media/square.jpg)
## Header Level 2
-+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
-+ Aliquam tincidunt mauris eu risus.
+- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
+- Aliquam tincidunt mauris eu risus.
-Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat.
+Donec non enim in turpis pulvinar facilisis. Ut felis. Praesent dapibus, neque id cursus faucibus, tortor neque egestas augue, eu vulputate magna eros eu erat. Aliquam erat volutpat.