├── out
├── .nojekyll
├── CNAME
├── _next
│ └── static
│ │ ├── webpack
│ │ ├── 50f137e5b730c3808796.hot-update.json
│ │ ├── 72097f8a1a3485eb75bc.hot-update.json
│ │ ├── 90c0da8dede38a567598.hot-update.json
│ │ ├── d151289e65a7b9db3e6c.hot-update.json
│ │ ├── 0135a06cafde453d7782.hot-update.json
│ │ ├── 020ef3ab3494a18d1d64.hot-update.json
│ │ ├── 20f155801c7edeceb6ea.hot-update.json
│ │ ├── 2311de639d0200380509.hot-update.json
│ │ ├── 27303bf247feeaf3f6ef.hot-update.json
│ │ ├── 2b8020f80659a997db42.hot-update.json
│ │ ├── 3565a3948487df990917.hot-update.json
│ │ ├── 372d23d2eb4c83d5308a.hot-update.json
│ │ ├── 412f6968e28c05998376.hot-update.json
│ │ ├── 4c62c85d8fab59c63b04.hot-update.json
│ │ ├── 507ce56a3d0d1fee4683.hot-update.json
│ │ ├── 51d5a5ca37b7aab07115.hot-update.json
│ │ ├── 54de8703f42adb7ea049.hot-update.json
│ │ ├── 570fcc3d59d78bb1009b.hot-update.json
│ │ ├── 573c9699eea85a54a2d2.hot-update.json
│ │ ├── 5d5310a8df5b0b854d23.hot-update.json
│ │ ├── 613fc7b376c414b3771e.hot-update.json
│ │ ├── 6718292124d7fd257f10.hot-update.json
│ │ ├── 6bc8ce3e16432fdb9a6b.hot-update.json
│ │ ├── 788f555dd50502f3b082.hot-update.json
│ │ ├── 793da0fa240a79b4a76c.hot-update.json
│ │ ├── 7e48d6d768cc8f1696b7.hot-update.json
│ │ ├── 7ed215f3bf414812b5a3.hot-update.json
│ │ ├── 8427bcf93fb7dad78d07.hot-update.json
│ │ ├── 857eb59e87c991ed804c.hot-update.json
│ │ ├── 85813ee1fc471524e895.hot-update.json
│ │ ├── 86241e80fa583fe6a3fa.hot-update.json
│ │ ├── 863c0a5b21096d8f9f24.hot-update.json
│ │ ├── 8860c372590c758b6c36.hot-update.json
│ │ ├── 89c981e68ddbc4be7e3e.hot-update.json
│ │ ├── 90b7fc923a324bbb2283.hot-update.json
│ │ ├── 9ae259aef7f3d7a89db1.hot-update.json
│ │ ├── 9c7304e422de1036fe83.hot-update.json
│ │ ├── 9ffc3b174e1d6049f8e7.hot-update.json
│ │ ├── a05e5c928b3a440f8959.hot-update.json
│ │ ├── aaf3388a35525454bd40.hot-update.json
│ │ ├── ac7cf0870b293c2ad2a4.hot-update.json
│ │ ├── af379a3cd729698d9719.hot-update.json
│ │ ├── afe0afb53c1842a18ab1.hot-update.json
│ │ ├── b8b382158c36b8569b31.hot-update.json
│ │ ├── c73de4cde9b0bf8ec266.hot-update.json
│ │ ├── d1c135f7c1b85b21c6dc.hot-update.json
│ │ ├── ddcd30c6a4684f1f9da7.hot-update.json
│ │ ├── eb7d53b695159e476e8f.hot-update.json
│ │ ├── ef5999a3260596eaa01a.hot-update.json
│ │ ├── f42afce3609948fb1f58.hot-update.json
│ │ ├── fe70b607674f7346c241.hot-update.json
│ │ ├── fffb9b9e521cff93b2a7.hot-update.json
│ │ ├── 37319bc46f35f527f01f.hot-update.json
│ │ ├── 3bb02521fb09f1ea0825.hot-update.json
│ │ ├── f489aad1bada97b8449c.hot-update.json
│ │ └── static
│ │ │ └── development
│ │ │ └── pages
│ │ │ ├── index.js.7e48d6d768cc8f1696b7.hot-update.js.map
│ │ │ ├── index.js.3565a3948487df990917.hot-update.js.map
│ │ │ ├── index.js.9ffc3b174e1d6049f8e7.hot-update.js.map
│ │ │ ├── index.js.8427bcf93fb7dad78d07.hot-update.js.map
│ │ │ ├── index.js.5d5310a8df5b0b854d23.hot-update.js.map
│ │ │ ├── index.js.d1c135f7c1b85b21c6dc.hot-update.js.map
│ │ │ ├── index.js.788f555dd50502f3b082.hot-update.js.map
│ │ │ ├── index.js.eb7d53b695159e476e8f.hot-update.js.map
│ │ │ ├── index.js.4c62c85d8fab59c63b04.hot-update.js.map
│ │ │ └── index.js.7ed215f3bf414812b5a3.hot-update.js.map
│ │ ├── chunks
│ │ ├── 0.js.map
│ │ └── 0.js
│ │ ├── runtime
│ │ ├── webpack-035ac2b14bde147cb4a8.js
│ │ └── main-e41dfaf02b5d8cdab94c.js
│ │ ├── Uezz3L_O-5dJ9kwVCFH8K
│ │ └── pages
│ │ │ ├── _app.js
│ │ │ └── _error.js
│ │ └── pyt66n4UubC4sowL2krxT
│ │ └── pages
│ │ ├── _app.js
│ │ └── _error.js
├── static
│ ├── share.gif
│ ├── share.png
│ ├── favicon.png
│ └── fonts
│ │ ├── IBMPlexMono-Regular.woff
│ │ └── IBMPlexMono-Regular.woff2
├── 404.html
└── index.html
├── static
├── share.gif
├── share.png
├── favicon.png
└── fonts
│ ├── IBMPlexMono-Regular.woff
│ └── IBMPlexMono-Regular.woff2
├── README.md
├── parts
├── theme.js
└── utils.js
├── .gitignore
├── package.json
├── components
└── nav.js
└── pages
├── _document.js
└── index.js
/out/.nojekyll:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/out/CNAME:
--------------------------------------------------------------------------------
1 | hex.constraint.systems
2 |
--------------------------------------------------------------------------------
/static/share.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/constraint-systems/hex/master/static/share.gif
--------------------------------------------------------------------------------
/static/share.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/constraint-systems/hex/master/static/share.png
--------------------------------------------------------------------------------
/out/_next/static/webpack/50f137e5b730c3808796.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"4c62c85d8fab59c63b04","c":{}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/72097f8a1a3485eb75bc.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"570fcc3d59d78bb1009b","c":{}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/90c0da8dede38a567598.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"3bb02521fb09f1ea0825","c":{}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/d151289e65a7b9db3e6c.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"f489aad1bada97b8449c","c":{}}
--------------------------------------------------------------------------------
/static/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/constraint-systems/hex/master/static/favicon.png
--------------------------------------------------------------------------------
/out/static/share.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/constraint-systems/hex/master/out/static/share.gif
--------------------------------------------------------------------------------
/out/static/share.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/constraint-systems/hex/master/out/static/share.png
--------------------------------------------------------------------------------
/out/static/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/constraint-systems/hex/master/out/static/favicon.png
--------------------------------------------------------------------------------
/out/_next/static/chunks/0.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"static/chunks/0.js","sources":[],"mappings":";;;;;;;;;;;;;;A","sourceRoot":""}
--------------------------------------------------------------------------------
/out/_next/static/webpack/0135a06cafde453d7782.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"c17d7a1c2e8708938d00","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/020ef3ab3494a18d1d64.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"7e48d6d768cc8f1696b7","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/20f155801c7edeceb6ea.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"ac7cf0870b293c2ad2a4","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/2311de639d0200380509.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"aaf3388a35525454bd40","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/27303bf247feeaf3f6ef.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"9ffc3b174e1d6049f8e7","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/2b8020f80659a997db42.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"9ae259aef7f3d7a89db1","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/3565a3948487df990917.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"27303bf247feeaf3f6ef","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/372d23d2eb4c83d5308a.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"fe70b607674f7346c241","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/412f6968e28c05998376.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"507ce56a3d0d1fee4683","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/4c62c85d8fab59c63b04.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"5d5310a8df5b0b854d23","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/507ce56a3d0d1fee4683.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"372d23d2eb4c83d5308a","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/51d5a5ca37b7aab07115.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"ddcd30c6a4684f1f9da7","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/54de8703f42adb7ea049.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"857eb59e87c991ed804c","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/570fcc3d59d78bb1009b.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"90b7fc923a324bbb2283","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/573c9699eea85a54a2d2.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"37319bc46f35f527f01f","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/5d5310a8df5b0b854d23.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"d1c135f7c1b85b21c6dc","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/613fc7b376c414b3771e.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"ef5999a3260596eaa01a","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/6718292124d7fd257f10.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"6bc8ce3e16432fdb9a6b","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/6bc8ce3e16432fdb9a6b.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"85813ee1fc471524e895","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/788f555dd50502f3b082.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"20f155801c7edeceb6ea","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/793da0fa240a79b4a76c.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"f42afce3609948fb1f58","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/7e48d6d768cc8f1696b7.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"613fc7b376c414b3771e","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/7ed215f3bf414812b5a3.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"793da0fa240a79b4a76c","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/8427bcf93fb7dad78d07.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"788f555dd50502f3b082","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/857eb59e87c991ed804c.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"51d5a5ca37b7aab07115","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/85813ee1fc471524e895.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"8427bcf93fb7dad78d07","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/86241e80fa583fe6a3fa.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"9c7304e422de1036fe83","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/863c0a5b21096d8f9f24.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"54de8703f42adb7ea049","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/8860c372590c758b6c36.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"6718292124d7fd257f10","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/89c981e68ddbc4be7e3e.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"a05e5c928b3a440f8959","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/90b7fc923a324bbb2283.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"573c9699eea85a54a2d2","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/9ae259aef7f3d7a89db1.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"2311de639d0200380509","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/9c7304e422de1036fe83.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"3565a3948487df990917","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/9ffc3b174e1d6049f8e7.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"7ed215f3bf414812b5a3","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/a05e5c928b3a440f8959.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"2b8020f80659a997db42","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/aaf3388a35525454bd40.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"c73de4cde9b0bf8ec266","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/ac7cf0870b293c2ad2a4.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"afe0afb53c1842a18ab1","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/af379a3cd729698d9719.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"0135a06cafde453d7782","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/afe0afb53c1842a18ab1.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"020ef3ab3494a18d1d64","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/b8b382158c36b8569b31.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"412f6968e28c05998376","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/c73de4cde9b0bf8ec266.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"72097f8a1a3485eb75bc","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/d1c135f7c1b85b21c6dc.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"eb7d53b695159e476e8f","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/ddcd30c6a4684f1f9da7.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"90c0da8dede38a567598","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/eb7d53b695159e476e8f.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"8860c372590c758b6c36","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/ef5999a3260596eaa01a.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"b8b382158c36b8569b31","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/f42afce3609948fb1f58.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"89c981e68ddbc4be7e3e","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/fe70b607674f7346c241.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"86241e80fa583fe6a3fa","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/fffb9b9e521cff93b2a7.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"af379a3cd729698d9719","c":{"static/development/pages/index.js":true}}
--------------------------------------------------------------------------------
/static/fonts/IBMPlexMono-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/constraint-systems/hex/master/static/fonts/IBMPlexMono-Regular.woff
--------------------------------------------------------------------------------
/static/fonts/IBMPlexMono-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/constraint-systems/hex/master/static/fonts/IBMPlexMono-Regular.woff2
--------------------------------------------------------------------------------
/out/static/fonts/IBMPlexMono-Regular.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/constraint-systems/hex/master/out/static/fonts/IBMPlexMono-Regular.woff
--------------------------------------------------------------------------------
/out/static/fonts/IBMPlexMono-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/constraint-systems/hex/master/out/static/fonts/IBMPlexMono-Regular.woff2
--------------------------------------------------------------------------------
/out/_next/static/webpack/37319bc46f35f527f01f.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"863c0a5b21096d8f9f24","c":{"static/development/pages/next/dist/pages/_error.js":false}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/3bb02521fb09f1ea0825.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"d151289e65a7b9db3e6c","c":{"static/development/pages/next/dist/pages/_error.js":false}}
--------------------------------------------------------------------------------
/out/_next/static/webpack/f489aad1bada97b8449c.hot-update.json:
--------------------------------------------------------------------------------
1 | {"h":"fffb9b9e521cff93b2a7","c":{"static/development/pages/next/dist/pages/_error.js":false}}
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Hex
2 |
3 | A keyboard-driven, grid-based drawing tool.
4 |
5 |
6 |
7 | https://hex.constraint.systems/
8 |
9 | Inspired by [Hundred Rabbits' Noodle](https://github.com/hundredrabbits/noodle).
10 |
--------------------------------------------------------------------------------
/parts/theme.js:
--------------------------------------------------------------------------------
1 | let font_size = 14;
2 | let line_height = 1.5;
3 | let lx = font_size * line_height;
4 |
5 | export default {
6 | fonts: {
7 | body: 'IBM Plex Mono',
8 | },
9 | fontSizes: [font_size],
10 | lineHeights: {
11 | body: line_height,
12 | },
13 | colors: {
14 | background: '#efefef',
15 | },
16 | space: [lx, lx / 2, lx / 4, lx / 8],
17 | };
18 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # next.js
12 | /.next/
13 |
14 | # production
15 | /build
16 |
17 | # misc
18 | .DS_Store
19 | .env*
20 |
21 | # debug
22 | npm-debug.log*
23 | yarn-debug.log*
24 | yarn-error.log*
25 |
--------------------------------------------------------------------------------
/out/_next/static/chunks/0.js:
--------------------------------------------------------------------------------
1 | (window["webpackJsonp"] = window["webpackJsonp"] || []).push([[0],{
2 |
3 | /***/ "./node_modules/next/dist/client/dev/noop.js":
4 | /*!***************************************************!*\
5 | !*** ./node_modules/next/dist/client/dev/noop.js ***!
6 | \***************************************************/
7 | /*! no static exports found */
8 | /***/ (function(module, exports, __webpack_require__) {
9 |
10 | "use strict";
11 |
12 |
13 | /***/ })
14 |
15 | }]);
16 | //# sourceMappingURL=0.js.map
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "etch",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "dev": "next dev",
7 | "build": "next build",
8 | "deploy": "next build && next export && touch out/.nojekyll && touch out/CNAME && echo \"hex.constraint.systems\" >> out/CNAME && git add out/ && git commit -m \"Deploy to gh-pages\" && git subtree push --prefix out origin gh-pages",
9 | "start": "next start"
10 | },
11 | "dependencies": {
12 | "@emotion/core": "^10.0.17",
13 | "@mdx-js/react": "^1.4.5",
14 | "gh-pages": "^2.1.1",
15 | "next": "9.0.6",
16 | "react": "16.9.0",
17 | "react-dom": "16.9.0",
18 | "theme-ui": "^0.2.43"
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/parts/utils.js:
--------------------------------------------------------------------------------
1 | export let requestInterval = function(fn, delay) {
2 | var requestAnimFrame = (function() {
3 | return (
4 | window.requestAnimationFrame ||
5 | function(callback, element) {
6 | window.setTimeout(callback, 1000 / 60);
7 | }
8 | );
9 | })(),
10 | start = new Date().getTime(),
11 | handle = {};
12 | function loop() {
13 | handle.value = requestAnimFrame(loop);
14 | var current = new Date().getTime(),
15 | delta = current - start;
16 | if (delta >= delay) {
17 | fn.call();
18 | start = new Date().getTime();
19 | }
20 | }
21 | handle.value = requestAnimFrame(loop);
22 | return handle;
23 | };
24 |
--------------------------------------------------------------------------------
/components/nav.js:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import Link from 'next/link'
3 |
4 | const links = [
5 | { href: 'https://zeit.co/now', label: 'ZEIT' },
6 | { href: 'https://github.com/zeit/next.js', label: 'GitHub' }
7 | ].map(link => {
8 | link.key = `nav-link-${link.href}-${link.label}`
9 | return link
10 | })
11 |
12 | const Nav = () => (
13 |
54 | )
55 |
56 | export default Nav
57 |
--------------------------------------------------------------------------------
/pages/_document.js:
--------------------------------------------------------------------------------
1 | import Document, { Html, Head, Main, NextScript } from 'next/document';
2 |
3 | class MyDocument extends Document {
4 | static async getInitialProps(ctx) {
5 | const initialProps = await Document.getInitialProps(ctx);
6 | return { ...initialProps };
7 | }
8 |
9 | render() {
10 | return (
11 |
12 |