16 |
17 |
18 |
19 | export default ArticleItem
20 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "wodle",
3 | "version": "1.0.8",
4 | "description": "Modern™ static website generator with hot reloading",
5 | "main": "build/index.js",
6 | "repository": {
7 | "type": "git",
8 | "url": "git+ssh://git@github.com:lucas-aragno/wodle.git"
9 | },
10 | "keywords": [
11 | "project",
12 | "scaffold",
13 | "website generator"
14 | ],
15 | "author": "Lucas Aragno ",
16 | "license": "MIT",
17 | "bugs": {
18 | "url": "https://github.com/lucas-aragno/wodle/issues"
19 | },
20 | "homepage": "https://github.com/lucas-aragno/wodle#readme",
21 | "dependencies": {
22 | "commander": "^2.9.0",
23 | "copy-dir": "^0.3.0",
24 | "handlebars": "^4.0.10"
25 | },
26 | "bin": {
27 | "wodle": "./bin/wodle.js"
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/docs/_next/e045c2f2-955d-476b-8093-1a26065b6ec7/page/index.js:
--------------------------------------------------------------------------------
1 |
2 | window.__NEXT_REGISTER_PAGE('/', function() {
3 | var comp = module.exports=webpackJsonp([8],{107:function(e,t,l){"use strict";function u(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var n=l(0),a=u(n),d=l(186),r=u(d);t.default=function(e){return a.default.createElement(r.default,null)}},186:function(e,t,l){"use strict";function u(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var n=l(0),a=u(n),d=l(16),r=u(d),f=l(19),o=u(f),i=l(18),c=u(i),s=l(37),m=u(s),_=l(17),p=u(_),E=l(20),b=u(E),v=l(21),y=u(v),h=l(195),M=u(h),j=function(e){e.children;return a.default.createElement("div",null,a.default.createElement(r.default,null,a.default.createElement(b.default,{title:"Wodle"}),a.default.createElement(o.default,null,a.default.createElement(c.default,{items:y.default})),a.default.createElement(p.default,null,a.default.createElement(m.default,{article:M.default}))))};t.default=j},195:function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={date:"Jun 13th 2016",title:"Hello World!",content:["Enter Wodle!","Wodle is a modern static site generator that uses next and tachyons to build this demo site and it can be easly be modified to be a full dynamic next.js application."]}},225:function(e,t,l){e.exports=l(107)}},[225]);
4 | return { page: comp.default }
5 | })
6 |
--------------------------------------------------------------------------------
/docs/_next/e045c2f2-955d-476b-8093-1a26065b6ec7/page/next/index.js:
--------------------------------------------------------------------------------
1 |
2 | window.__NEXT_REGISTER_PAGE('/next', function() {
3 | var comp = module.exports=webpackJsonp([7],{109:function(e,t,l){"use strict";function u(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=l(0),n=u(a),r=l(188),d=u(r);t.default=function(e){return n.default.createElement(d.default,null)}},188:function(e,t,l){"use strict";function u(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=l(0),n=u(a),r=l(16),d=u(r),f=l(19),o=u(f),c=l(18),i=u(c),s=l(37),m=u(s),p=l(17),b=u(p),_=l(20),v=u(_),E=l(21),h=u(E),x=l(196),M=u(x),j=function(e){e.children;return n.default.createElement("div",null,n.default.createElement(d.default,null,n.default.createElement(v.default,{title:"Next"}),n.default.createElement(o.default,null,n.default.createElement(i.default,{items:h.default})),n.default.createElement(b.default,null,n.default.createElement(m.default,{article:M.default}))))};t.default=j},196:function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={date:"Jun 13th 2016",title:"Next.js",content:["From their site:","Next is a small framework for server-rendered universal JavaScript webapps, built on top of React, Webpack and Babel.",'You can read more about it here. ']}},227:function(e,t,l){e.exports=l(109)}},[227]);
4 | return { page: comp.default }
5 | })
6 |
--------------------------------------------------------------------------------
/docs/_next/e045c2f2-955d-476b-8093-1a26065b6ec7/page/components-article/index.js:
--------------------------------------------------------------------------------
1 |
2 | window.__NEXT_REGISTER_PAGE('/components-article', function() {
3 | var comp = module.exports=webpackJsonp([10],{104:function(e,t,l){"use strict";function u(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var n=l(0),a=u(n),d=l(183),o=u(d);t.default=function(e){return a.default.createElement(o.default,null)}},183:function(e,t,l){"use strict";function u(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var n=l(0),a=u(n),d=l(16),o=u(d),r=l(19),f=u(r),c=l(18),i=u(c),s=l(37),m=u(s),p=l(17),b=u(p),h=l(20),E=u(h),_=l(21),v=u(_),M=l(192),y=u(M),g=function(e){e.children;return a.default.createElement("div",null,a.default.createElement(o.default,null,a.default.createElement(E.default,{title:"Components"}),a.default.createElement(f.default,null,a.default.createElement(i.default,{items:v.default})),a.default.createElement(b.default,null,a.default.createElement(m.default,{article:y.default}))))};t.default=g},192:function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={date:"Jun 13th 2016",title:"Wodle Components",content:['Wodle has a number of components built in that are being used to display this blog you can read more about them on the README ']}},222:function(e,t,l){e.exports=l(104)}},[222]);
4 | return { page: comp.default }
5 | })
6 |
--------------------------------------------------------------------------------
/docs/_next/e045c2f2-955d-476b-8093-1a26065b6ec7/page/functional-css/index.js:
--------------------------------------------------------------------------------
1 |
2 | window.__NEXT_REGISTER_PAGE('/functional-css', function() {
3 | var comp = module.exports=webpackJsonp([9],{106:function(e,t,l){"use strict";function u(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=l(0),n=u(a),r=l(185),c=u(r);t.default=function(e){return n.default.createElement(c.default,null)}},185:function(e,t,l){"use strict";function u(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=l(0),n=u(a),r=l(16),c=u(r),d=l(19),f=u(d),i=l(18),o=u(i),s=l(37),m=u(s),p=l(17),h=u(p),_=l(20),E=u(_),b=l(21),v=u(b),y=l(194),S=u(y),C=function(e){e.children;return n.default.createElement("div",null,n.default.createElement(c.default,null,n.default.createElement(E.default,{title:"Functional Css"}),n.default.createElement(f.default,null,n.default.createElement(o.default,{items:v.default})),n.default.createElement(h.default,null,n.default.createElement(m.default,{article:S.default}))))};t.default=C},194:function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={date:"Jun 13th 2016",title:"Functional CSS",content:["Functional CSS it's a way to write CSS that I particularly like a lot",'Check This essay to learn more about that! ']}},224:function(e,t,l){e.exports=l(106)}},[224]);
4 | return { page: comp.default }
5 | })
6 |
--------------------------------------------------------------------------------
/docs/_next/e045c2f2-955d-476b-8093-1a26065b6ec7/page/tachyons/index.js:
--------------------------------------------------------------------------------
1 |
2 | window.__NEXT_REGISTER_PAGE('/tachyons', function() {
3 | var comp = module.exports=webpackJsonp([6],{111:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var u=l(0),n=a(u),o=l(191),r=a(o);t.default=function(e){return n.default.createElement(r.default,null)}},191:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var u=l(0),n=a(u),o=l(16),r=a(o),f=l(19),d=a(f),c=l(18),s=a(c),i=l(37),p=a(i),h=l(17),m=a(h),b=l(20),y=a(b),_=l(21),v=a(_),E=l(199),M=a(E),g=function(e){e.children;return n.default.createElement("div",null,n.default.createElement(r.default,null,n.default.createElement(y.default,{title:"Tachyons"}),n.default.createElement(d.default,null,n.default.createElement(s.default,{items:v.default})),n.default.createElement(m.default,null,n.default.createElement(p.default,{article:M.default}))))};t.default=g},199:function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={date:"Jun 13th 2016",title:"Tachyons",content:["Tachyons is a popular functional CSS toolkit, it can be hard to get used to at first because it has a lot of classes but long term it will improve your general development flow.",'Check the table of styles and the table of properties for more info.']}},229:function(e,t,l){e.exports=l(111)}},[229]);
4 | return { page: comp.default }
5 | })
6 |
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | const path = require('path')
2 | const fs = require('fs')
3 | const copydir = require('copy-dir')
4 | const handlebars = require('handlebars')
5 |
6 | const removeSlash = (appPath) => {
7 | if (appPath.charAt(appPath.length - 1) === '/') {
8 | return appPath.substring(0, appPath.length - 1)
9 | }
10 | return appPath
11 | }
12 |
13 | const applyTemplate = (inputPath, outputPath, data) => {
14 | const templateData = data || {}
15 | const text = fs.readFileSync(inputPath, 'utf8')
16 | const template = handlebars.compile(text)
17 | const result = template(templateData)
18 | fs.writeFile(outputPath, result, (err) => {
19 | if (err) {
20 | return console.log(err)
21 | }
22 | console.log(`${outputPath} created!`)
23 | })
24 | }
25 |
26 | const copyFolder = (inputFolder, outputPath) => {
27 | copydir(inputFolder, outputPath, (err) => {
28 | if (err) {
29 | return console.error(err)
30 | }
31 | console.log(`${outputPath} created!`)
32 | })
33 | }
34 |
35 | const create = (appPath) => {
36 | const appName = removeSlash(appPath)
37 |
38 | fs.mkdirSync(appName)
39 | applyTemplate(`${__dirname}/templates/.gitignore-template`, `${appName}/.gitignore`)
40 | applyTemplate(`${__dirname}/templates/postcss.config.js`, `${appName}/postcss.config.js`)
41 | applyTemplate(`${__dirname}/templates/next.config.js`, `${appName}/next.config.js`)
42 | applyTemplate(`${__dirname}/templates/package.json`, `${appName}/package.json`, {'appName': appName})
43 |
44 | copyFolder(`${__dirname}/templates/pages/`, `${appName}/pages`)
45 | copyFolder(`${__dirname}/templates/components`, `${appName}/components`)
46 | copyFolder(`${__dirname}/templates/styles`, `${appName}/styles`)
47 | copyFolder(`${__dirname}/templates/content`, `${appName}/content`)
48 | copyFolder(`${__dirname}/templates/static`, `${appName}/static`)
49 | console.log(`Project created at ${path.resolve(appPath)}`)
50 | }
51 |
52 | module.exports = {
53 | create
54 | }
55 |
--------------------------------------------------------------------------------
/docs/_next/e045c2f2-955d-476b-8093-1a26065b6ec7/page/next-js/index.js:
--------------------------------------------------------------------------------
1 |
2 | window.__NEXT_REGISTER_PAGE('/next-js', function() {
3 | var comp = module.exports=webpackJsonp([4],{108:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var u=l(0),r=a(u),n=l(189),f=a(n);t.default=function(e){return r.default.createElement(f.default,null)}},189:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var u=l(0),r=a(u),n=l(16),f=a(n),c=l(19),s=a(c),d=l(18),i=a(d),o=l(36),m=a(o),h=l(17),p=a(h),E=l(20),v=a(E),_=l(21),N=a(_),y=l(197),x=a(y),M=function(e){e.children;return r.default.createElement("div",null,r.default.createElement(f.default,null,r.default.createElement(v.default,{title:"Next"}),r.default.createElement(s.default,null,r.default.createElement(i.default,{items:N.default})),r.default.createElement(p.default,null,r.default.createElement(m.default,{articles:x.default,listTitle:"Next.js"}))))};t.default=M},197:function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=[{title:"What is Next.js",short:"Get started with Next.js",date:"Jun 13th 2017",href:"/next",author:"Lucas Aragno"}]},226:function(e,t,l){e.exports=l(108)},35:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var u=l(0),r=a(u),n=l(50),f=a(n),c=function(e){var t=e.article;return r.default.createElement("article",{className:"pv4 ph3 ph0-l"},r.default.createElement("div",{className:"flex flex-column flex-row-ns"},r.default.createElement("div",{className:"w-100 w-60-ns pr3-ns order-2 order-1-ns"},r.default.createElement(f.default,{prefetch:!0,href:t.href,className:"pv2"},r.default.createElement("h1",{className:"f3 athelas mt0 lh-title link pointer hover-light-gray"},t.title)),r.default.createElement("p",{className:"f5 f4-l lh-copy athelas"},t.short))),r.default.createElement("p",{className:"f6 lh-copy gray mv0"},"By ",r.default.createElement("span",{className:"ttu"},t.author)),r.default.createElement("time",{className:"f6 db gray"},t.date))};t.default=c},36:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var u=l(0),r=a(u),n=l(35),f=a(n),c=function(e){var t=e.articles,l=e.listTitle;return r.default.createElement("section",{className:"w-70 center"},r.default.createElement("h2",{className:"athelas ph3 ph0-l f2"},l),t.map(function(e,t){return r.default.createElement(f.default,{article:e})}))};t.default=c}},[226]);
4 | return { page: comp.default }
5 | })
6 |
--------------------------------------------------------------------------------
/docs/_next/e045c2f2-955d-476b-8093-1a26065b6ec7/page/components/index.js:
--------------------------------------------------------------------------------
1 |
2 | window.__NEXT_REGISTER_PAGE('/components', function() {
3 | var comp = module.exports=webpackJsonp([5],{105:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var n=l(0),u=a(n),r=l(184),c=a(r);t.default=function(e){return u.default.createElement(c.default,null)}},184:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var n=l(0),u=a(n),r=l(16),c=a(r),f=l(19),d=a(f),s=l(18),o=a(s),i=l(36),m=a(i),p=l(17),h=a(p),E=l(20),v=a(E),_=l(21),y=a(_),N=l(193),M=a(N),b=function(e){e.children;return u.default.createElement("div",null,u.default.createElement(c.default,null,u.default.createElement(v.default,{title:"Components"}),u.default.createElement(d.default,null,u.default.createElement(o.default,{items:y.default})),u.default.createElement(h.default,null,u.default.createElement(m.default,{articles:M.default,listTitle:"Components"}))))};t.default=b},193:function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=[{title:"Components included in Wodle",short:"List of components built in Wodle and how they work.",date:"Jun 13th 2017",href:"/components-article",author:"Lucas Aragno"}]},223:function(e,t,l){e.exports=l(105)},35:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var n=l(0),u=a(n),r=l(50),c=a(r),f=function(e){var t=e.article;return u.default.createElement("article",{className:"pv4 ph3 ph0-l"},u.default.createElement("div",{className:"flex flex-column flex-row-ns"},u.default.createElement("div",{className:"w-100 w-60-ns pr3-ns order-2 order-1-ns"},u.default.createElement(c.default,{prefetch:!0,href:t.href,className:"pv2"},u.default.createElement("h1",{className:"f3 athelas mt0 lh-title link pointer hover-light-gray"},t.title)),u.default.createElement("p",{className:"f5 f4-l lh-copy athelas"},t.short))),u.default.createElement("p",{className:"f6 lh-copy gray mv0"},"By ",u.default.createElement("span",{className:"ttu"},t.author)),u.default.createElement("time",{className:"f6 db gray"},t.date))};t.default=f},36:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var n=l(0),u=a(n),r=l(35),c=a(r),f=function(e){var t=e.articles,l=e.listTitle;return u.default.createElement("section",{className:"w-70 center"},u.default.createElement("h2",{className:"athelas ph3 ph0-l f2"},l),t.map(function(e,t){return u.default.createElement(c.default,{article:e})}))};t.default=f}},[223]);
4 | return { page: comp.default }
5 | })
6 |
--------------------------------------------------------------------------------
/docs/_next/e045c2f2-955d-476b-8093-1a26065b6ec7/page/styles/index.js:
--------------------------------------------------------------------------------
1 |
2 | window.__NEXT_REGISTER_PAGE('/styles', function() {
3 | var comp = module.exports=webpackJsonp([3],{110:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var u=l(0),r=a(u),n=l(190),c=a(n);t.default=function(e){return r.default.createElement(c.default,null)}},190:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var u=l(0),r=a(u),n=l(16),c=a(n),f=l(19),s=a(f),d=l(18),o=a(d),i=l(36),m=a(i),h=l(17),p=a(h),E=l(20),v=a(E),_=l(21),y=a(_),N=l(198),g=a(N),M=function(e){e.children;return r.default.createElement("div",null,r.default.createElement(c.default,null,r.default.createElement(v.default,{title:"Styles"}),r.default.createElement(s.default,null,r.default.createElement(o.default,{items:y.default})),r.default.createElement(p.default,null,r.default.createElement(m.default,{articles:g.default,listTitle:"Styles"}))))};t.default=M},198:function(e,t,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=[{title:"Tachyons",short:"Learn Tachyons for the greater good!",date:"Jun 13th 2017",href:"/tachyons",author:"Lucas Aragno"},{title:"Functional CSS",short:"The greatest thing since bread came sliced",date:"Jun 13th 2017",href:"/functional-css",author:"Lucas Aragno"}]},228:function(e,t,l){e.exports=l(110)},35:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var u=l(0),r=a(u),n=l(50),c=a(n),f=function(e){var t=e.article;return r.default.createElement("article",{className:"pv4 ph3 ph0-l"},r.default.createElement("div",{className:"flex flex-column flex-row-ns"},r.default.createElement("div",{className:"w-100 w-60-ns pr3-ns order-2 order-1-ns"},r.default.createElement(c.default,{prefetch:!0,href:t.href,className:"pv2"},r.default.createElement("h1",{className:"f3 athelas mt0 lh-title link pointer hover-light-gray"},t.title)),r.default.createElement("p",{className:"f5 f4-l lh-copy athelas"},t.short))),r.default.createElement("p",{className:"f6 lh-copy gray mv0"},"By ",r.default.createElement("span",{className:"ttu"},t.author)),r.default.createElement("time",{className:"f6 db gray"},t.date))};t.default=f},36:function(e,t,l){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var u=l(0),r=a(u),n=l(35),c=a(n),f=function(e){var t=e.articles,l=e.listTitle;return r.default.createElement("section",{className:"w-70 center"},r.default.createElement("h2",{className:"athelas ph3 ph0-l f2"},l),t.map(function(e,t){return r.default.createElement(c.default,{article:e})}))};t.default=f}},[228]);
4 | return { page: comp.default }
5 | })
6 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Wodle
2 |
3 | **Wodle** is a static site generator using new frameworks and tools for modern web development. It's built on top of [Next.js](https://zeit.co/blog/next) and [Tachyons](http://tachyons.io/). And you can easily turn the generated static site into a fully dynamic website.
4 |
5 | ## Why?
6 |
7 | Because NextJS and functional CSS make super easy to get started with a blog or a static page so it's a good starting point for bloggers and dev that wants to learn those technologies.
8 |
9 | ## Installation
10 |
11 | You can install **Wodle** via npm:
12 |
13 | ```
14 | npm install -g wodle
15 | ```
16 |
17 | ## Getting started
18 |
19 | Once Wodle is installed, you can use the `wodle` command. To build a new site you can run:
20 |
21 | ```
22 | wodle myBlog
23 | ```
24 |
25 |
26 |
27 |
28 |
29 | That will generate a new site called `myBlog` on the same directory where you ran the command
30 |
31 | To get started with your new site you just need to cd into it and then install the dependencies:
32 |
33 | ```
34 | cd myBlog
35 | yarn
36 | ```
37 |
38 | That will fetch all the dependencies, once that's ready you can start a server running:
39 |
40 | ```
41 | yarn dev
42 | ```
43 |
44 | And go to `localhost:3000/`, you should see a site like this one:
45 |
46 |
47 |
48 |
49 |
50 | That server will listen to changes on your app and reload the browser.
51 |
52 |
53 | If you want to run your site without the hot-reloading you can run:
54 |
55 | ```
56 | yarn start
57 | ```
58 |
59 | ## Build your site
60 |
61 | To build your site you can run:
62 |
63 | ```
64 | yarn build
65 | ```
66 |
67 | which will generate an `out/` folder with your static site ready to be published.
68 |
69 |
70 | ## How it works?
71 |
72 | Your site will have different folders:
73 |
74 | ### Pages Folder
75 |
76 | This folder contains your pages files and their names matches their routes, so if you want to add a new page on `/new-page` you will need to add a new component on this folder called `new-page.js`. For advanced routing check [here](https://github.com/zeit/next.js/#routing).
77 |
78 | The scaffold comes with some page components prebuilt on the `components` folder.
79 |
80 | ## Components Folder
81 |
82 | In this folder you will find all the pre-built components on the site, the core components of this scaffold app are:
83 |
84 | * SideBar
85 |
86 | A sidebar component that gets items and renders a Nav with their NavItems, the content for this component it's on `content/sideBarOptions.js`
87 |
88 | * Main
89 |
90 | This components just wraps whatever you want to display on the main section (the center of the site).
91 |
92 | * MainArticle
93 |
94 | This component renders the main Article, as you see on the index and each particular article. A demo of the content that can be processed by this component it's on `content/mainArticle`.
95 |
96 | * ArticleList
97 |
98 | This component renders a list of articles as you will see on each individual page from the sidebar menu, you can see the lists on `content/` on the `Articles.js` files
99 |
100 |
101 | among others
102 |
103 | ## Styles Folder
104 |
105 | Your styles folder is for all your css (right now almost empty thanks to functional CSS and Tachyons)
106 |
107 | ### Extending the Site
108 |
109 | You can continue deleting pages (removing files from the `pages` folder) adding more pages, articles, options following the patterns on the scaffold or just change everything as you want! You can read great guides on Next.js site and Tachyons to make your awesome website or blog!
110 |
111 |
112 | based on previous art [chibicode.com](https://github.com/chibicode/chibicode.com) and [jspg](https://github.com/bryanjos/jspg)
113 |
--------------------------------------------------------------------------------
/docs/_next/e045c2f2-955d-476b-8093-1a26065b6ec7/page/_error/index.js:
--------------------------------------------------------------------------------
1 |
2 | window.__NEXT_REGISTER_PAGE('/_error', function() {
3 | var comp = module.exports=webpackJsonp([11],{103:function(e,t,E){"use strict";e.exports=E(178)},173:function(e,t){e.exports={100:"Continue",101:"Switching Protocols",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Switch Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Time-out",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Request Entity Too Large",414:"Request-URI Too Large",415:"Unsupported Media Type",416:"Requested Range not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Time-out",505:"HTTP Version not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",510:"Not Extended",511:"Network Authentication Required",CONTINUE:100,SWITCHING_PROTOCOLS:101,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTI_STATUS:207,ALREADY_REPORTED:208,IM_USED:226,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,SWITCH_PROXY:306,TEMPORARY_REDIRECT:307,PERMANENT_REDIRECT:308,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,REQUEST_ENTITY_TOO_LARGE:413,REQUEST_URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,REQUESTED_RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,IM_A_TEAPOT:418,MISDIRECTED_REQUEST:421,UNPROCESSABLE_ENTITY:422,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,LOCKED:423,FAILED_DEPENDENCY:424,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE:431,UNAVAILABLE_FOR_LEGAL_REASONS:451,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511}},178:function(e,t,E){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var o=E(10),i=n(o),a=E(4),r=n(a),T=E(5),l=n(T),d=E(12),R=n(d),u=E(11),_=n(u),s=E(0),N=n(s),O=E(173),A=n(O),I=E(49),c=n(I),p=function(e){function t(){return(0,r.default)(this,t),(0,R.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,_.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){var e=this.props.statusCode,t=404===e?"This page could not be found":A.default[e]||"An unexpected error has occurred";return N.default.createElement("div",{style:S.error},N.default.createElement(c.default,null,N.default.createElement("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"})),N.default.createElement("div",null,N.default.createElement("style",{dangerouslySetInnerHTML:{__html:"body { margin: 0 }"}}),e?N.default.createElement("h1",{style:S.h1},e):null,N.default.createElement("div",{style:S.desc},N.default.createElement("h2",{style:S.h2},t,"."))))}}],[{key:"getInitialProps",value:function(e){var t=e.res,E=e.err;return{statusCode:t?t.statusCode:E?E.statusCode:null}}}]),t}(N.default.Component);t.default=p;var S={error:{color:"#000",background:"#fff",fontFamily:'-apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Fira Sans", Avenir, "Helvetica Neue", "Lucida Grande", sans-serif',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},desc:{display:"inline-block",textAlign:"left",lineHeight:"49px",height:"49px",verticalAlign:"middle"},h1:{display:"inline-block",borderRight:"1px solid rgba(0, 0, 0,.3)",margin:0,marginRight:"20px",padding:"10px 23px 10px 0",fontSize:"24px",fontWeight:500,verticalAlign:"top"},h2:{fontSize:"14px",fontWeight:"normal",margin:0,padding:0}}},232:function(e,t,E){e.exports=E(103)}},[232]);
4 | return { page: comp.default }
5 | })
6 |
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 | align-text@^0.1.1, align-text@^0.1.3:
4 | version "0.1.4"
5 | resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
6 | dependencies:
7 | kind-of "^3.0.2"
8 | longest "^1.0.1"
9 | repeat-string "^1.5.2"
10 |
11 | amdefine@>=0.0.4:
12 | version "1.0.1"
13 | resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
14 |
15 | async@^1.4.0:
16 | version "1.5.2"
17 | resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
18 |
19 | camelcase@^1.0.2:
20 | version "1.2.1"
21 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
22 |
23 | center-align@^0.1.1:
24 | version "0.1.3"
25 | resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
26 | dependencies:
27 | align-text "^0.1.3"
28 | lazy-cache "^1.0.3"
29 |
30 | cliui@^2.1.0:
31 | version "2.1.0"
32 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
33 | dependencies:
34 | center-align "^0.1.1"
35 | right-align "^0.1.1"
36 | wordwrap "0.0.2"
37 |
38 | commander:
39 | version "2.9.0"
40 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
41 | dependencies:
42 | graceful-readlink ">= 1.0.0"
43 |
44 | copy-dir:
45 | version "0.3.0"
46 | resolved "https://registry.yarnpkg.com/copy-dir/-/copy-dir-0.3.0.tgz#deb2dc2fa9c9290ed47c84155a999a6d45f5a358"
47 | dependencies:
48 | mkdir-p "~0.0.4"
49 |
50 | decamelize@^1.0.0:
51 | version "1.2.0"
52 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
53 |
54 | "graceful-readlink@>= 1.0.0":
55 | version "1.0.1"
56 | resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
57 |
58 | handlebars:
59 | version "4.0.10"
60 | resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.10.tgz#3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f"
61 | dependencies:
62 | async "^1.4.0"
63 | optimist "^0.6.1"
64 | source-map "^0.4.4"
65 | optionalDependencies:
66 | uglify-js "^2.6"
67 |
68 | is-buffer@^1.1.5:
69 | version "1.1.5"
70 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc"
71 |
72 | kind-of@^3.0.2:
73 | version "3.2.2"
74 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
75 | dependencies:
76 | is-buffer "^1.1.5"
77 |
78 | lazy-cache@^1.0.3:
79 | version "1.0.4"
80 | resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
81 |
82 | longest@^1.0.1:
83 | version "1.0.1"
84 | resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
85 |
86 | minimist@~0.0.1:
87 | version "0.0.10"
88 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
89 |
90 | mkdir-p@~0.0.4:
91 | version "0.0.7"
92 | resolved "https://registry.yarnpkg.com/mkdir-p/-/mkdir-p-0.0.7.tgz#24c5dbe26da3a99ef158a1eef9a5c2dd9de5683c"
93 |
94 | ncp:
95 | version "2.0.0"
96 | resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3"
97 |
98 | optimist@^0.6.1:
99 | version "0.6.1"
100 | resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
101 | dependencies:
102 | minimist "~0.0.1"
103 | wordwrap "~0.0.2"
104 |
105 | repeat-string@^1.5.2:
106 | version "1.6.1"
107 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
108 |
109 | right-align@^0.1.1:
110 | version "0.1.3"
111 | resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
112 | dependencies:
113 | align-text "^0.1.1"
114 |
115 | source-map@^0.4.4:
116 | version "0.4.4"
117 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
118 | dependencies:
119 | amdefine ">=0.0.4"
120 |
121 | source-map@~0.5.1:
122 | version "0.5.6"
123 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
124 |
125 | uglify-js@^2.6:
126 | version "2.8.28"
127 | resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.28.tgz#e335032df9bb20dcb918f164589d5af47f38834a"
128 | dependencies:
129 | source-map "~0.5.1"
130 | yargs "~3.10.0"
131 | optionalDependencies:
132 | uglify-to-browserify "~1.0.0"
133 |
134 | uglify-to-browserify@~1.0.0:
135 | version "1.0.2"
136 | resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
137 |
138 | window-size@0.1.0:
139 | version "0.1.0"
140 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
141 |
142 | wordwrap@~0.0.2:
143 | version "0.0.3"
144 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
145 |
146 | wordwrap@0.0.2:
147 | version "0.0.2"
148 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
149 |
150 | yargs@~3.10.0:
151 | version "3.10.0"
152 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
153 | dependencies:
154 | camelcase "^1.0.2"
155 | cliui "^2.1.0"
156 | decamelize "^1.0.0"
157 | window-size "0.1.0"
158 |
159 |
--------------------------------------------------------------------------------
/docs/next-js/index.html:
--------------------------------------------------------------------------------
1 | Next