diff --git a/build.js b/build.js index 239e8d7..65cf2ac 100644 --- a/build.js +++ b/build.js @@ -7,28 +7,28 @@ var pkg = require('./package.json'); // main directories dir = { - base: __dirname + '/', - lib: __dirname + '/lib/', - source: './src/', - dest: './build/' + base: __dirname + '/', + lib: __dirname + '/lib/', + source: './src/', + dest: './build/' }; siteMeta = { - devBuild: devBuild, - version: pkg.version, - name: 'dashdevs-suite', - desc: 'dashdevs-suite metalsmith website', - author: 'dashdevs', - contact: 'https://chat.dashdevs.org', - domain: devBuild ? 'http://127.0.0.1' : 'https://dashdev-suite.github.io', // set domain - rootpath: devBuild ? null : '/dashdev-website/build/' // set absolute path (null for relative) + devBuild: devBuild, + version: pkg.version, + name: 'dashdevs-suite', + desc: 'dashdevs-suite metalsmith website', + author: 'dashdevs', + contact: 'https://chat.dashdevs.org', + domain: devBuild ? 'http://127.0.0.1' : 'https://dashdev-suite.github.io', // set domain + rootpath: devBuild ? null : '/dashdev-website/build/' // set absolute path (null for relative) }; templateConfig = { - engine: 'handlebars', - directory: 'template/', - partials: 'partials/', - default: 'page.html' + engine: 'handlebars', + directory: 'template/', + partials: 'partials/', + default: 'page.html' }; // metalsmith @@ -62,103 +62,115 @@ console.log((devBuild ? 'Development' : 'Production'), 'build, version', pkg.ver // instantiate var metalsmith = Metalsmith(__dirname) - .clean(true) // clean folder before a production build - .source(dir.source + 'html/') // source folder (src/) - .destination(dir.dest) // build folder (build/) - .metadata(siteMeta) // add meta data to every page - .use(publish()) // draft, private, future-dated - .use(discoverPartials({ // needed for markdownPrecompiler - directory: 'partials', - pattern: /\.hbs$/ // original partials .html but exactly these parameters work - })) - // .use(json_to_files({ - // source_path: './box/' - // })) - .use(paths()) - .use(setdate()) // set date on every page if not set in front-matter - .use(collections({ // determine page collection/taxonomy - page: { - pattern: '**/index.*', - sortBy: 'priority', - reverse: true, - refer: false - }, - start: { - pattern: 'start/**/*', - sortBy: 'priority', - reverse: true, - refer: true, - metadata: { - layout: 'article.hbs' - } - }, - article: { - pattern: 'article/**/*', - sortBy: 'date', - reverse: true, - refer: true, - limit: 50, - metadata: { - layout: 'article.hbs' - } - } - })) - .use(markdownPrecompiler({ // convert {{> navmain}} in header.html - engine: "handlebars", - pattern: /\.md$/, // regex; no idea why .md works, check discoverPartials above - partialsPath: './../partials', - partials: ['navmain', 'navsub', 'footer', 'header', 'meta', 'pagelist'] - })) - .use(markdown()) // convert markdown - .use(permalinks({ // generate permalinks - pattern: ':mainCollection/:title' - })) - .use(wordcount({ // word count - raw: true - })) - .use(moremeta()) // determine root paths and navigation, TODO check remove - // .use(inplace({ - // //engineOptions: {}, - // pattern: `partials.hbs/**` - // })) - .use(layouts({ - //engineOptions: {}, - pattern: `**/index.*`, - default: 'page.hbs' - })) -// .use(layouts({ -// //engineOptions: {}, -// pattern: `article/**`, -// default: 'article.hbs' -// })) + .clean(true) // clean folder before a production build + .source(dir.source + 'html/') // source folder (src/) + .destination(dir.dest) // build folder (build/) + .metadata(siteMeta) // add meta data to every page + .use(publish()) // draft, private, future-dated + .use(discoverPartials({ // needed for markdownPrecompiler + directory: 'partials', + pattern: /\.hbs$/ // original partials .html but exactly these parameters work + })) + // .use(json_to_files({ + // source_path: './box/' + // })) + .use(paths()) + .use(setdate()) // set date on every page if not set in front-matter + .use(collections({ // determine page collection/taxonomy + page: { + pattern: '**/index.*', + sortBy: 'priority', + reverse: true, + refer: false + }, + docs: { + pattern: 'docs/**/*', + sortBy: 'priority', + reverse: true, + refer: true, + metadata: { + layout: './../src/layouts/article.hbs' // default is /layouts + } + }, + article: { + pattern: 'article/**/*', + sortBy: 'date', + reverse: true, + refer: true, + limit: 50, + metadata: { + layout: './../src/layouts/article.hbs' + } + }, + tutorials: { + pattern: 'tutorials/**/*', + sortBy: 'priority', + reverse: true, + refer: true, + limit: 50, + }, + boxes: { + pattern: 'boxes/**/*', + sortBy: 'date', + reverse: true, + refer: true, + limit: 50, + } + })) + .use(markdownPrecompiler({ // convert {{> navmain}} in header.html + engine: "handlebars", + pattern: /\.md$/, // regex; no idea why .md works, check discoverPartials above + partialsPath: './../partials', + partials: ['navmain', 'navsub', 'footer', 'header', 'meta', 'pagelist'] + })) + .use(markdown()) // convert markdown + .use(permalinks({ // generate permalinks + pattern: ':mainCollection/:title' + })) + .use(wordcount({ // word count + raw: true + })) + .use(moremeta()) // determine root paths and navigation, TODO check remove + // .use(inplace({ + // //engineOptions: {}, + // pattern: `partials.hbs/**` + // })) + .use(layouts({ + //engineOptions: {}, + pattern: `**/index.*`, + default: './../src/layouts/page.hbs' + })) + // .use(layouts({ + // //engineOptions: {}, + // pattern: `article/**`, + // default: 'article.hbs' + // })) if (htmlmin) metalsmith.use(htmlmin()); // minify production HTML if (debug) metalsmith.use(debug()); // output page debugging information if (browsersync) metalsmith.use(browsersync({ // start test server - server: dir.dest, - files: [dir.source + '**/*'] + server: dir.dest, + files: [dir.source + '**/*'] })); metalsmith - .use(sitemap({ // generate sitemap.xml - hostname: siteMeta.domain + (siteMeta.rootpath || ''), - omitIndex: true // replace any paths ending in index.html with ''. Useful when you're using metalsmith-permalinks. - })) - .use(rssfeed({ // generate RSS feed for articles - collection: 'article', - site_url: siteMeta.domain + (siteMeta.rootpath || ''), - title: siteMeta.name, - description: siteMeta.desc - })) - .use(assets({ // copy assets: CSS, images etc. - source: dir.source + 'assets/', - destination: './' - })) + .use(sitemap({ // generate sitemap.xml + hostname: siteMeta.domain + (siteMeta.rootpath || ''), + omitIndex: true // replace any paths ending in index.html with ''. Useful when you're using metalsmith-permalinks. + })) + .use(rssfeed({ // generate RSS feed for articles + collection: 'article', + site_url: siteMeta.domain + (siteMeta.rootpath || ''), + title: siteMeta.name, + description: siteMeta.desc + })) + .use(assets({ // copy assets: CSS, images etc. + source: dir.source + 'assets/', + destination: './' + })) - .build(function (err) { +.build(function(err) { if (err) throw err; - }); - - +}); \ No newline at end of file diff --git a/build/article/future/index.html b/build/article/future/index.html index 7ba32c5..18ccdf6 100644 --- a/build/article/future/index.html +++ b/build/article/future/index.html @@ -1 +1,120 @@ -Future publication - dashdevs-suite

Future publication

This article will only appear if the site is built is run after 1 March, 2016.

\ No newline at end of file + + + + + + Future publication - dashdevs-suite + + + + + + + + + + + + + + +
+ +
+ + + + + +
+ +
+ +
+ +
+ + + + + + +
+ +

Future publication

+ + + + + +

This article will only appear if the site is built is run after 1 March, 2016.

+ + + + + + +
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/build/article/gotchas/index.html b/build/article/gotchas/index.html index 1e0f1a6..cc64cce 100644 --- a/build/article/gotchas/index.html +++ b/build/article/gotchas/index.html @@ -1 +1,129 @@ -Gotchas - dashdevs-suite

Gotchas

Not everything is necessarily straight-forward in the Metalsmith world…

Incompatible plugins

Some plugins clash with another. For example, metalsmith-rootpath which calculates relative roots does not play nicely with metalsmith-permalinks which creates custom folder structures.

Note: lib/metalsmith-moremeta in this project sets a correct root variable whether permalinks are used or not.

Plugin order can be critical

One plugins may depend on another or conflict if placed the wrong way around. For example, the RSS-generating metalsmith-feed plugin must be called after metalsmith-layouts to ensure rss.xml is not generated within a page template.

Browsersync build issues

When Browsersync is running and files are edited, collections are re-parsed but the old data remains. This can cause menus and next/back links to be incorrect. To fix this, stop and restart the build.

\ No newline at end of file + + + + + + Gotchas - dashdevs-suite + + + + + + + + + + + + + + +
+ +
+ + + + + +
+ +
+ +
+ +
+ + + + + + +
+ +

Gotchas

+ + + + + +

Not everything is necessarily straight-forward in the Metalsmith world…

+

Incompatible plugins

+

Some plugins clash with another. For example, metalsmith-rootpath which calculates relative roots does not play nicely with metalsmith-permalinks which creates custom folder structures.

+

Note: lib/metalsmith-moremeta in this project sets a correct root variable whether permalinks are used or not.

+

Plugin order can be critical

+

One plugins may depend on another or conflict if placed the wrong way around. For example, the RSS-generating metalsmith-feed plugin must be called after metalsmith-layouts to ensure rss.xml is not generated within a page template.

+

Browsersync build issues

+

When Browsersync is running and files are edited, collections are re-parsed but the old data remains. This can cause menus and next/back links to be incorrect. To fix this, stop and restart the build.

+ + + + + + +
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/build/article/gulp/index.html b/build/article/gulp/index.html index 89d15dd..2d47fad 100644 --- a/build/article/gulp/index.html +++ b/build/article/gulp/index.html @@ -1,4 +1,95 @@ -Gulp - dashdevs-suite

Gulp

Metalsmith has plugins for CSS pre-processing with Sass, image minification, file concatenation, uglification and more. The build code will be familiar to anyone with Gulp experience.

Do you still need Gulp?

Metalsmith is often enough for simpler workflows. However, Gulp has a more extensive range of plugins and permits complex build activities such as linting and PostCSS processing with auto-prefixer.

Metalsmith can be used within any Gulp task, e.g.

var
+
+
+
+
+	
+	Gulp - dashdevs-suite
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+
+
+
+
+	
+ +
+ + + + + +
+ +
+ +
+ +
+ + + + + + +
+ +

Gulp

+ + + + + +

Metalsmith has plugins for CSS pre-processing with Sass, image minification, file concatenation, uglification and more. The build code will be familiar to anyone with Gulp experience.

+

Do you still need Gulp?

+

Metalsmith is often enough for simpler workflows. However, Gulp has a more extensive range of plugins and permits complex build activities such as linting and PostCSS processing with auto-prefixer.

+

Metalsmith can be used within any Gulp task, e.g.

+
var
     gulp       = require('gulp'),
     metalsmith = require('metalsmith'),
     publish    = require('metalsmith-publish'),
@@ -17,4 +108,39 @@ gulp.task('html', function() {
             if (err) throw err;
         });
 
-});

Further Gulp tasks can then be added. Note .clean(false) ensures Metalsmith never wipes the build folder when other tasks are active.

There are a number of Gulp/Metalsmith integration plugins although they are rarely necessary.

\ No newline at end of file +});

Further Gulp tasks can then be added. Note .clean(false) ensures Metalsmith never wipes the build folder when other tasks are active.

+

There are a number of Gulp/Metalsmith integration plugins although they are rarely necessary.

+ + + + + + +
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/build/article/index.html b/build/article/index.html index d0eb426..918037c 100644 --- a/build/article/index.html +++ b/build/article/index.html @@ -1 +1,148 @@ -Articles - dashdevs-suite
\ No newline at end of file + + + + + + Articles - dashdevs-suite + + + + + + + + + + + + + + +
+ +
+ + + + + +
+ +
+ +
+ + + +
+ + + + + \ No newline at end of file diff --git a/build/article/usage/index.html b/build/article/usage/index.html index bc3dcd4..d2349ed 100644 --- a/build/article/usage/index.html +++ b/build/article/usage/index.html @@ -1 +1,130 @@ -Usage options - dashdevs-suite

Usage options

Metalsmith could be used to create any number of resources, including:

  • a fast static website with minimal server-side requirements
  • technical documentation
  • an eBook
  • application prototypes
  • build tools or project scaffolding

The markdown files can be converted to other files types using plugins such as metalsmith-pandoc or metalsmith-pdf.

\ No newline at end of file + + + + + + Usage options - dashdevs-suite + + + + + + + + + + + + + + +
+ +
+ + + + + +
+ +
+ +
+ +
+ + + + + + +
+ +

Usage options

+ + + + + +

Metalsmith could be used to create any number of resources, including:

+
    +
  • a fast static website with minimal server-side requirements
  • +
  • technical documentation
  • +
  • an eBook
  • +
  • application prototypes
  • +
  • build tools or project scaffolding
  • +
+

The markdown files can be converted to other files types using plugins such as metalsmith-pandoc or metalsmith-pdf.

+ + + + + + +
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/build/boxes/index.html b/build/boxes/index.html new file mode 100644 index 0000000..8de75b9 --- /dev/null +++ b/build/boxes/index.html @@ -0,0 +1,84 @@ + + + + + + boxes - dashdevs-suite + + + + + + + + + + + + + + +
+ +
+ + + + + +
+ +
+ +
+ +
+ + +
+ +

boxes

+ +

This section provides an overview of core code and concepts.

+ + +
+ +
+ +
+ + + + + + \ No newline at end of file diff --git a/build/contact/index.html b/build/contact/index.html index b0dc617..1387c71 100644 --- a/build/contact/index.html +++ b/build/contact/index.html @@ -1 +1,85 @@ -Contact - dashdevs-suite
\ No newline at end of file + + + + + + Contact - dashdevs-suite + + + + + + + + + + + + + + +
+ +
+ + + + + +
+ +
+ +
+ +
+ + + + +
+ +
+ + + + + + \ No newline at end of file diff --git a/build/css/styles.css b/build/css/styles.css index b65eac8..8bff457 100644 --- a/build/css/styles.css +++ b/build/css/styles.css @@ -1,277 +1,430 @@ /* basic page styles */ -*, *:before, *:after { - box-sizing: border-box; - padding: 0; - margin: 0; + + +/* current default: 111833 - blue-weak: #1f2833; brown-red: 33111b; + + +/* light yellow: FBF7EB, new lighter: #f7f2ea */ + + +/* light grey: #c5c6c7*/ + + +/* neon green: #66FCF1 */ + +*, +*:before, +*:after { + box-sizing: border-box; + padding: 0; + margin: 0; } body { - font-family: georgia, cambria, "times new roman", times, serif; - font-size: 1em; - color: #555; - background-color: #eee; - line-height: 1.5; + /* font-family: georgia, cambria, "times new roman", times, serif; */ + font-family: 'Open Sans', sans-serif; + font-size: 1.05em; + /* only with position static text will auto-format when making window smaller */ + /* position: relative; */ + /* margin-top: 60px; */ + /* margin-left: 310px; */ + /* TODO: not sure this is clean solution */ + /* set background-color for all parts default, specially below content */ + /* background-color: #f7f2ea; */ + /* color: #111833; */ + line-height: 1.5; + /* TODO: put footer at bottom + https://stackoverflow.com/questions/643879/css-to-make-html-page-footer-stay-at-bottom-of-the-page-with-a-minimum-height-b */ + /* min-height: 100%; */ + /* TODO: repair, only scrolling in body possible */ + overflow: auto; + /* padding-top: 30px; */ } -article, aside, details, figcaption, figure, footer, header, main, nav, section, summary { - display: block; +article, +aside, +details, +figcaption, +figure, +footer, +header, +main, +nav, +section, +summary { + display: block; } -h1, h2, .logo { - font-family: arial, helvetica, free-sans, sans-serif; - font-weight: normal; +h1, +h2, +.logo { + /* font-family: arial, helvetica, free-sans, sans-serif; */ + font-family: 'Oswald', sans-serif; + font-weight: normal; } h1 { - font-size: 1.6em; + font-size: 1.6em; + text-transform: uppercase; } h2 { - font-size: 1.4em; - margin: 2rem 0 0 0; + font-size: 1.4em; + margin: 2rem 0 0 0; } p { - margin: 0 0 1em 0; + margin: 0 0 1em 0; } -ul, ol { - margin: 1em 0 1.5em 3em; +ul, +ol { + margin: 1em 0 1.5em 3em; } li { - margin: 0 0 0.75em 0; + margin: 0 0 0.75em 0; } img { - float: right; - width: auto; - height: auto; - max-width: 50%; - margin: 0 0 1em 1em; - border: 0 none; + float: right; + width: auto; + height: auto; + max-width: 50%; + margin: 0 0 1em 1em; + border: 0 none; } pre { - font-size: 0.8rem; - padding: 0.2em 0.4em; - margin: 1em 0 1.5em 3em; - background-color: #eff5ef; - border-radius: 3px; - overflow: auto; + /* font-size: 1.05em; */ + font-weight: bold; + padding: 0.2em 0.4em; + margin: 1em 0 1.5em 3em; + background-color: #111833; + border-radius: 3px; + overflow: auto; } code { - font-family: Consolas, Menlo, "DejaVu Mono", monospace; - color: #363; - background-color: #eff5ef; - border-radius: 3px; - padding: 0 0.2em; + font-size: 0.88em; + font-family: Consolas, Menlo, "DejaVu Mono", monospace; + color: #E831C1; + background-color: #ddd7d4; + /* CHECK needed for bold, pre not enough!? */ + font-weight: bold; + /* makes single code border round */ + border-radius: 5px; + padding: 0 0.4em; } pre code { - padding: 0; + padding: 0; + color: #eff5ef; + background-color: #111833; + padding-left: 8px; + line-height: 2.5; + font-size: 0.82em; + /* TODO make border round */ + /* border-radius: 5px; */ } -a:link, a:visited { - text-decoration: none; - color: #66c; +a:link, +a:visited { + text-decoration: none; + color: #fff; } -a:hover, a:active { - color: #c66; +a:hover, +a:active { + color: #c5c6c7; } .pagelist { - list-style-type: none; - display: flex; - flex-wrap: wrap; - margin: 0; - line-height: 1.3; + list-style-type: none; + /* TODO: check what flex does here */ + display: flex; + flex-wrap: wrap; + margin: 0; + line-height: 1.3; } .pagelist li { - flex: 1 1 45%; - margin: 0 1em 1em 0; + flex: 1 1 45%; + margin: 0 1em 1em 0; } .pagelist a { - display: block; - height: 100%; - padding: 5px 10px; - border: 1px solid #ccc; - outline: 0 none; - overflow: hidden; + display: block; + height: 100%; + padding: 5px 10px; + border: 1px solid #ccc; + outline: 0 none; + overflow: hidden; + /* color for links in pagelist type page eg "Installation" (1 from 3) */ + color: #111833; } -.pagelist a:hover, .pagelist a:focus { - background-color: #f9f9f9; - border-color: #999; +.pagelist a:hover, +.pagelist a:focus { + /* background-color: #5a14dd; */ + border-color: rgb(238, 9, 150); } -.pagelist h2, .pagelist p { - margin: 0; +.pagelist h2, +.pagelist p { + margin: 0; } .pagelist p { - color: #333; + color: #111833; } p.articleinfo { - font-size: 0.8em; - color: #777; + font-size: 0.8em; + /* currently date */ + color: #111833; } + /* layout */ -.content { - max-width: 50em; - padding: 0 0.5em; - margin: 0 auto; -} main { - clear: both; - background-color: #fff; - overflow: auto; + /* for page and article template */ + clear: both; + background-color: #fff; + margin-top: 60px; + /* margin-bottom: 0; */ + background-color: #f7f2ea; + /* min-height: 100%; */ + /* min-width: 100%; */ + overflow: auto; + min-height: 100%; +} + +.content { + /* min-height "influences" the content of navmain=header but it should exclude the
*/ + /* CHECK min-width makes things too wide in the
area */ + /* min-width: 100%; */ + /* TODO: there must be bug in other place! + this is needed to remove scroll in header navigation, so its main navigation header!? */ + /* min-height: 100%; */ + /* overflow: auto; */ + /* move font a little down */ + padding-top: 10px; } article { - padding: 1rem 0; + /* this only applys to
while .content is also applied */ + /* for page and article template */ + /* Distance left, right 4em */ + padding: 0 4em; + /* Distance top 2em for content */ + padding-top: 2em; } -header, footer { - clear: both; - width: 100%; - overflow: auto; - background-color: #eee; +article a:link, +article a:visited, +article a:hover { + color: #2092bc; +} + +article a:hover { + text-decoration: underline; +} + +header { + /* header global */ + clear: both; + width: 100%; + /* eg can overwrite value for "if desktop" below */ + height: 60px; + overflow: auto; + background-color: #111833; + border-bottom: solid; + color: #66fcf1; } footer { - font-size: 0.85em; - padding: 1em; - text-align: center; + /* footer global */ + /* TODO: move footer bottom when article not end of page */ + clear: both; + /* width: 100%; */ + margin-left: 310px; + height: 70px; + /* margin-top: -70px; */ + /* overflow: auto; */ + background-color: #f7f2ea; +} + +footer { + /* font-family: 'Open Sans', sans-serif; */ + font-size: 0.90em; + padding: 1em; + text-align: center; } footer p { - margin: 0; + margin: 0; +} + +footer a:link, +footer a:visited, +footer a:hover { + color: #2092bc; +} + +footer a:hover { + text-decoration: underline; } .logo { - font-size: 1.5em; - margin: 0.2em 0 0 0; + font-size: 1.5em; + margin: 0.2em 0 0 0; } .logo a { - padding: 0.2em 0; - color: #999; + padding: 0.2em 0; + color: #66fcf1; } + /* navigation */ + .nav ul { - display: flex; - flex-wrap: wrap; - list-style-type: none; - margin: 0; + display: flex; + flex-wrap: wrap; + list-style-type: none; + margin: 0; } .nav li { - flex: 1 1 100%; - margin: 0; + flex: 1 1 100%; + margin: 0; } -.nav a, .nav strong { - display: block; - text-align: center; - white-space: nowrap; - padding: 0.6em 0; +.nav a, +.nav strong { + display: block; + text-align: left; + white-space: nowrap; + padding: 0.6em 0; } .nav.main a { - color: #222; + color: #fff; + /* font-size: 1.6em; */ + text-transform: uppercase; + font-weight: bold; + font-family: 'Oswald', sans-serif; } -.nav a.active, .nav strong { - background-color: #fff; +.nav a.active, +.nav strong { + background-color: #111833; } +.nav a:hover { + color: #c5c6c7; +} + + +/* this is the prev-next-link at bottom in articles */ + .nav.page { - margin-top: 1.5em; - border-top: 1px solid #ccc; - border-bottom: 1px solid #ccc; + margin-top: 1.5em; + border-top: 1px solid #ccc; + border-bottom: 1px solid #ccc; } @media (min-width: 16em) { - - .nav li { - flex: 1 1 50%; - } - + .nav li { + flex: 1 1 50%; + } } @media (min-width: 32em) { - - header { - position: fixed; - top: 0; - } - - .logo { - float: left; - } - - .nav.main { - float: right; - } - - .nav li { - flex: 1 1 auto; - } - - .nav.main li { - width: 6em; - } - - main { - padding: 3em 0 2em 0; - } - - .subpages .content { - display: flex; - } - - .subpages article { - flex: 1 1 70%; - min-width: 0; - } - - .subpages .nav.sub { - flex: 1 1 30%; - margin: 0 0 0 2rem; - } - - .nav.sub ul { - margin-top: 1em; - flex-direction: column; - border-top: 1px dotted #ccc; - } - - .nav.sub li { - border-bottom: 1px dotted #ccc; - } - - .nav.sub a, .nav.sub strong { - text-align: left; - padding-left: 0.75em; - } - - .nav.page a { - text-align: left; - padding-left: 0.5em; - padding-right: 0.5em; - } - - .nav.page a.next { - text-align: right; - } - -} + header { + /* header global */ + position: fixed; + /* defined global above */ + /* height: 60px; */ + top: 0; + } + .logo { + float: left; + margin-left: 20px; + } + .nav.main { + float: right; + margin-right: 20px; + } + .nav li { + flex: 1 1 auto; + } + .nav.main li { + width: 6em; + } + main { + /* global template */ + /* position: static; */ + /* margin-top: 60px; */ + /* min-height: 100%; */ + /* margin: 0px 0px 0px 0px; */ + /* padding: 3em 0em 2em 0em; */ + /* overflow: auto; */ + /* color: #66fcf1; */ + } + .subpages .content { + /* article template */ + /* CHECK What does flex do?? */ + /* display: flex; */ + /* justify-content: center; */ + margin-left: 310px; + } + .subpages article { + /* article template */ + /* flex: 1 1 70%; */ + /* min-width for text content, eg "next: xxx" */ + min-width: 100%; + } + .subpages .nav.sub { + /* article template */ + height: 100%; + width: 310px; + position: fixed; + /* z-index: 1; */ + top: 0; + left: 0; + background-color: #111833; + overflow-x: hidden; + overflow-y: scroll; + padding-top: 40px; + margin-top: 60px; + color: #fff; + } + .nav.sub ul { + /* margin-top: 1em; */ + flex-direction: column; + /* border above first link */ + /* border-top: 1px solid rgb(185, 27, 27); */ + } + .nav.sub li { + /* put smth around nav.sub links */ + /* border-bottom: 1px solid rgb(58, 17, 17); */ + } + .nav.sub a, + .nav.sub strong { + text-align: left; + padding-left: 0.75em; + font-family: 'Open Sans', sans-serif; + font-size: 1.05em; + } + .nav.page a { + text-align: left; + padding-left: 0.5em; + padding-right: 0.5em; + } + .nav.page a.next { + text-align: right; + } +} \ No newline at end of file diff --git a/build/docs/build/index.html b/build/docs/build/index.html new file mode 100644 index 0000000..88da906 --- /dev/null +++ b/build/docs/build/index.html @@ -0,0 +1,129 @@ + + + + + + Build - dashdevs-suite + + + + + + + + + + + + + + +
+ +
+ + + + + +
+ +
+ +
+ +
+ + + + + + +
+ +

Build

+ + + + + +

To build and launch the site in a test server using Browsersync:

+
npm start

(Stop the server with Ctrl+C.)

+

To build the site for production and compress HTML files:

+
npm run production

The site is built in the /build folder.

+

Note you may want to change the siteMeta.domain and siteMeta.rootpath on lines 52 and 53 of ./build.js.

+ + + + + + +
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/build/docs/index.html b/build/docs/index.html new file mode 100644 index 0000000..3056d71 --- /dev/null +++ b/build/docs/index.html @@ -0,0 +1,160 @@ + + + + + + docs - dashdevs-suite + + + + + + + + + + + + + + +
+ +
+ + + + + +
+ +
+ +
+ + + +
+ + + + + \ No newline at end of file diff --git a/build/docs/installation/index.html b/build/docs/installation/index.html new file mode 100644 index 0000000..cdb09dc --- /dev/null +++ b/build/docs/installation/index.html @@ -0,0 +1,129 @@ + + + + + + Installation - dashdevs-suite + + + + + + + + + + + + + + +
+ +
+ + + + + +
+ +
+ +
+ +
+ + + + + + +
+ +

Installation

+ + + + + +

Please ensure Node.js and Git are installed on your system.

+

Download the demonstration code and switch to directory:

+

git clone git@github.com:dashdev-suite/dashdev-website.git + cd metalsmith-demo

+

Install dependencies:

+
npm install
+ + + + + +
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/build/docs/page-definitions/index.html b/build/docs/page-definitions/index.html new file mode 100644 index 0000000..f391ea5 --- /dev/null +++ b/build/docs/page-definitions/index.html @@ -0,0 +1,143 @@ + + + + + + Page definitions - dashdevs-suite + + + + + + + + + + + + + + +
+ +
+ + + + + +
+ +
+ +
+ +
+ + + + + + +
+ +

Page definitions

+ + + + + +

Each sub-folder in src/html is a website section. Pages named index.md are the default page in section. File paths are translated to permalinks, e.g.

+
src/html/article/mypage.md

is rendered to:

+
build/article/mypage/index.html

Pages use YAML front-matter defined at the top. This can be referenced in templates or during the build process, e.g.

+
---
+title: My page title
+description: A description of this page for meta tags and page lists.
+layout: page.html
+priority: 0.9
+publish: 2016-06-01
+date: 2016-06-01
+---

All items are optional. Note:

+
    +
  • layout defaults to page.html unless metadata.layout is defined for the page collection (see the use(collections({ ... }) code in build.js).
  • +
  • priority is a number between 0 (low) and 1 (high) which is used to order menus and define XML sitemaps.
  • +
  • publish can be set draft, private or a future date to ensure it is not published until required.
  • +
  • date is the date of the article. If not set, a future publish date or the file creation date is used.
  • +
+

The page content is defined in markdown, HTML syntax or both below the front-matter section. The content can include Handlebars partials from the src/partials folder, e.g.

+
{{> partialname }}

where partialname is the partial filename without its .html extension.

+ + + + + + +
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/build/docs/plugins/index.html b/build/docs/plugins/index.html new file mode 100644 index 0000000..fdd97b3 --- /dev/null +++ b/build/docs/plugins/index.html @@ -0,0 +1,129 @@ + + + + + + Custom plugins - dashdevs-suite + + + + + + + + + + + + + + +
+ +
+ + + + + +
+ +
+ +
+ +
+ + + + + + +
+ +

Custom plugins

+ + + + + +

The build.js file defines how the site is built using Metalsmith and various plugins.

+

Several custom plugins have been created specifically for this site:

+
    +
  • lib/metalsmith-debug.js: output debugging information to the console.
  • +
  • lib/metalsmith-setdate.js: ensure each page has a date. If a date is not defined in the page's front-matter, it is presumed to be the publish or file creation date.
  • +
  • lib/metalsmith-moremeta.js: applies further metadata to each page including the root folder, a default layout, primary and secondary navigation.
  • +
+ + + + + + +
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/build/docs/site-files/index.html b/build/docs/site-files/index.html new file mode 100644 index 0000000..39e7fad --- /dev/null +++ b/build/docs/site-files/index.html @@ -0,0 +1,131 @@ + + + + + + Site files - dashdevs-suite + + + + + + + + + + + + + + +
+ +
+ + + + + +
+ +
+ +
+ +
+ + + + + + +
+ +

Site files

+ + + + + +

All files in the src folder can be edited:

+
    +
  • pages are created as markdown files in the src/html folder and sub-folders.
  • +
  • static assets such as CSS, JavaScript and image files are created in src/assets. These are copied without modification to build/.
  • +
  • page templates are defined in src/template.
  • +
  • reusable partials (chunks of HTML code) are declared in src/partials.
  • +
+ + + + + + +
+ +
+ +
+ + + + + \ No newline at end of file diff --git a/build/index.html b/build/index.html index 43d0963..0baf25a 100644 --- a/build/index.html +++ b/build/index.html @@ -1 +1,95 @@ -dashdevs-suite

Node.js

This is a static website generated using the Node.js-powered Metalsmith and various published and custom plugins.

This is a demonstration rather than a recommended way to build a static site. Your requirements will be different. Please use any part of the code as you wish.

Where could you use Metalsmith?

Metalsmith could be used to create:

  • a fast static website with minimal server-side requirements
  • technical documentation
  • an eBook
  • application prototypes
  • build tools or project scaffolding

Get started…

\ No newline at end of file + + + + + + dashdevs-suite + + + + + + + + + + + + + + +
+ +
+ + + + + +
+ +
+ +
+ +
+ + +
+ + +

Node.js

+

This is a static website generated using the Node.js-powered Metalsmith and various published and custom plugins.

+

This is a demonstration rather than a recommended way to build a static site. Your requirements will be different. Please use any part of the code as you wish.

+

Where could you use Metalsmith?

+

Metalsmith could be used to create:

+
    +
  • a fast static website with minimal server-side requirements
  • +
  • technical documentation
  • +
  • an eBook
  • +
  • application prototypes
  • +
  • build tools or project scaffolding
  • +
+

Get started…

+ + +
+ +
+ +
+ + + + + + \ No newline at end of file diff --git a/build/rss.xml b/build/rss.xml index 7d52555..709f831 100644 --- a/build/rss.xml +++ b/build/rss.xml @@ -1,4 +1,499 @@ -<![CDATA[dashdevs-suite]]>https://dashdev-suite.github.io/dashdev-website/build/metalsmith-feedTue, 03 Mar 2020 12:58:06 GMT<![CDATA[Articles]]>Articles - dashdevs-suite
]]>
https://dashdev-suite.github.io/dashdev-website/build/articlehttps://dashdev-suite.github.io/dashdev-website/build/articleWed, 26 Feb 2020 15:41:33 GMT
<![CDATA[Usage options]]>Usage options - dashdevs-suite

Usage options

Metalsmith could be used to create any number of resources, including:

  • a fast static website with minimal server-side requirements
  • technical documentation
  • an eBook
  • application prototypes
  • build tools or project scaffolding

The markdown files can be converted to other files types using plugins such as metalsmith-pandoc or metalsmith-pdf.

]]>
https://dashdev-suite.github.io/dashdev-website/build/article/usagehttps://dashdev-suite.github.io/dashdev-website/build/article/usageMon, 14 Mar 2016 00:00:00 GMT
<![CDATA[Gotchas]]>Gotchas - dashdevs-suite

Gotchas

Not everything is necessarily straight-forward in the Metalsmith world…

Incompatible plugins

Some plugins clash with another. For example, metalsmith-rootpath which calculates relative roots does not play nicely with metalsmith-permalinks which creates custom folder structures.

Note: lib/metalsmith-moremeta in this project sets a correct root variable whether permalinks are used or not.

Plugin order can be critical

One plugins may depend on another or conflict if placed the wrong way around. For example, the RSS-generating metalsmith-feed plugin must be called after metalsmith-layouts to ensure rss.xml is not generated within a page template.

Browsersync build issues

When Browsersync is running and files are edited, collections are re-parsed but the old data remains. This can cause menus and next/back links to be incorrect. To fix this, stop and restart the build.

]]>
https://dashdev-suite.github.io/dashdev-website/build/article/gotchashttps://dashdev-suite.github.io/dashdev-website/build/article/gotchasThu, 10 Mar 2016 00:00:00 GMT
<![CDATA[Gulp]]>Gulp - dashdevs-suite

Gulp

Metalsmith has plugins for CSS pre-processing with Sass, image minification, file concatenation, uglification and more. The build code will be familiar to anyone with Gulp experience.

Do you still need Gulp?

Metalsmith is often enough for simpler workflows. However, Gulp has a more extensive range of plugins and permits complex build activities such as linting and PostCSS processing with auto-prefixer.

Metalsmith can be used within any Gulp task, e.g.

var
+<![CDATA[dashdevs-suite]]>http://127.0.0.1metalsmith-feedFri, 06 Mar 2020 18:42:28 GMT<![CDATA[Articles]]>
+
+
+
+	
+	Articles - dashdevs-suite
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+
+
+
+
+	
+ +
+ + + + + +
+ +
+ +
+ + + +
+ + + + +]]>
http://127.0.0.1/articlehttp://127.0.0.1/articleWed, 26 Feb 2020 15:41:33 GMT
<![CDATA[Usage options]]> + + + + + Usage options - dashdevs-suite + + + + + + + + + + + + + + +
+ +
+ + + + + +
+ +
+ +
+ +
+ + + + + + +
+ +

Usage options

+ + + + + +

Metalsmith could be used to create any number of resources, including:

+
    +
  • a fast static website with minimal server-side requirements
  • +
  • technical documentation
  • +
  • an eBook
  • +
  • application prototypes
  • +
  • build tools or project scaffolding
  • +
+

The markdown files can be converted to other files types using plugins such as metalsmith-pandoc or metalsmith-pdf.

+ + + + + + +
+ +
+ +
+ + + + +]]>
http://127.0.0.1/article/usagehttp://127.0.0.1/article/usageMon, 14 Mar 2016 00:00:00 GMT
<![CDATA[Gotchas]]> + + + + + Gotchas - dashdevs-suite + + + + + + + + + + + + + + +
+ +
+ + + + + +
+ +
+ +
+ +
+ + + + + + +
+ +

Gotchas

+ + + + + +

Not everything is necessarily straight-forward in the Metalsmith world…

+

Incompatible plugins

+

Some plugins clash with another. For example, metalsmith-rootpath which calculates relative roots does not play nicely with metalsmith-permalinks which creates custom folder structures.

+

Note: lib/metalsmith-moremeta in this project sets a correct root variable whether permalinks are used or not.

+

Plugin order can be critical

+

One plugins may depend on another or conflict if placed the wrong way around. For example, the RSS-generating metalsmith-feed plugin must be called after metalsmith-layouts to ensure rss.xml is not generated within a page template.

+

Browsersync build issues

+

When Browsersync is running and files are edited, collections are re-parsed but the old data remains. This can cause menus and next/back links to be incorrect. To fix this, stop and restart the build.

+ + + + + + +
+ +
+ +
+ + + + +]]>
http://127.0.0.1/article/gotchashttp://127.0.0.1/article/gotchasThu, 10 Mar 2016 00:00:00 GMT
<![CDATA[Gulp]]> + + + + + Gulp - dashdevs-suite + + + + + + + + + + + + + + +
+ +
+ + + + + +
+ +
+ +
+ +
+ + + + + + +
+ +

Gulp

+ + + + + +

Metalsmith has plugins for CSS pre-processing with Sass, image minification, file concatenation, uglification and more. The build code will be familiar to anyone with Gulp experience.

+

Do you still need Gulp?

+

Metalsmith is often enough for simpler workflows. However, Gulp has a more extensive range of plugins and permits complex build activities such as linting and PostCSS processing with auto-prefixer.

+

Metalsmith can be used within any Gulp task, e.g.

+
var
     gulp       = require('gulp'),
     metalsmith = require('metalsmith'),
     publish    = require('metalsmith-publish'),
@@ -17,4 +512,158 @@ gulp.task('html', function() {
             if (err) throw err;
         });
 
-});

Further Gulp tasks can then be added. Note .clean(false) ensures Metalsmith never wipes the build folder when other tasks are active.

There are a number of Gulp/Metalsmith integration plugins although they are rarely necessary.

]]>
https://dashdev-suite.github.io/dashdev-website/build/article/gulphttps://dashdev-suite.github.io/dashdev-website/build/article/gulpWed, 02 Mar 2016 00:00:00 GMT
<![CDATA[Future publication]]>Future publication - dashdevs-suite

Future publication

This article will only appear if the site is built is run after 1 March, 2016.

]]>
https://dashdev-suite.github.io/dashdev-website/build/article/futurehttps://dashdev-suite.github.io/dashdev-website/build/article/futureTue, 01 Mar 2016 00:00:00 GMT
\ No newline at end of file +});

Further Gulp tasks can then be added. Note .clean(false) ensures Metalsmith never wipes the build folder when other tasks are active.

+

There are a number of Gulp/Metalsmith integration plugins although they are rarely necessary.

+ + + + + + +
+ +
+ +
+ + + + +]]>
http://127.0.0.1/article/gulphttp://127.0.0.1/article/gulpWed, 02 Mar 2016 00:00:00 GMT
<![CDATA[Future publication]]> + + + + + Future publication - dashdevs-suite + + + + + + + + + + + + + + +
+ +
+ + + + + +
+ +
+ +
+ +
+ + + + + + +
+ +

Future publication

+ + + + + +

This article will only appear if the site is built is run after 1 March, 2016.

+ + + + + + +
+ +
+ +
+ + + + +]]>
http://127.0.0.1/article/futurehttp://127.0.0.1/article/futureTue, 01 Mar 2016 00:00:00 GMT
\ No newline at end of file diff --git a/build/sitemap.xml b/build/sitemap.xml index 82e7917..fd9e60c 100644 --- a/build/sitemap.xml +++ b/build/sitemap.xml @@ -1,16 +1,18 @@ - https://dashdev-suite.github.io/dashdev-website/build/ 1.0 - https://dashdev-suite.github.io/dashdev-website/build/article/future/ - https://dashdev-suite.github.io/dashdev-website/build/article/gotchas/ - https://dashdev-suite.github.io/dashdev-website/build/article/gulp/ - https://dashdev-suite.github.io/dashdev-website/build/article/ 0.8 - https://dashdev-suite.github.io/dashdev-website/build/article/usage/ - https://dashdev-suite.github.io/dashdev-website/build/contact/ 0.7 - https://dashdev-suite.github.io/dashdev-website/build/start/build/ 0.5 - https://dashdev-suite.github.io/dashdev-website/build/start/ 0.9 - https://dashdev-suite.github.io/dashdev-website/build/start/installation/ 0.5 - https://dashdev-suite.github.io/dashdev-website/build/start/page-definitions/ 0.3 - https://dashdev-suite.github.io/dashdev-website/build/start/plugins/ 0.3 - https://dashdev-suite.github.io/dashdev-website/build/start/site-files/ 0.4 + http://127.0.0.1/ 1.0 + http://127.0.0.1/article/future/ + http://127.0.0.1/article/gotchas/ + http://127.0.0.1/article/gulp/ + http://127.0.0.1/article/ 0.8 + http://127.0.0.1/article/usage/ + http://127.0.0.1/boxes/ 0.6 + http://127.0.0.1/contact/ 0.5 + http://127.0.0.1/docs/build/ 0.5 + http://127.0.0.1/docs/ 0.9 + http://127.0.0.1/docs/installation/ 0.5 + http://127.0.0.1/docs/page-definitions/ 0.3 + http://127.0.0.1/docs/plugins/ 0.3 + http://127.0.0.1/docs/site-files/ 0.4 + http://127.0.0.1/tutorials/ 0.7 \ No newline at end of file diff --git a/build/start/build/index.html b/build/start/build/index.html deleted file mode 100644 index 89061a6..0000000 --- a/build/start/build/index.html +++ /dev/null @@ -1 +0,0 @@ -Build - dashdevs-suite

Build

To build and launch the site in a test server using Browsersync:

npm start

(Stop the server with Ctrl+C.)

To build the site for production and compress HTML files:

npm run production

The site is built in the /build folder.

Note you may want to change the siteMeta.domain and siteMeta.rootpath on lines 52 and 53 of ./build.js.

\ No newline at end of file diff --git a/build/start/index.html b/build/start/index.html deleted file mode 100644 index de29787..0000000 --- a/build/start/index.html +++ /dev/null @@ -1 +0,0 @@ -Start - dashdevs-suite
\ No newline at end of file diff --git a/build/start/installation/index.html b/build/start/installation/index.html deleted file mode 100644 index 634a04c..0000000 --- a/build/start/installation/index.html +++ /dev/null @@ -1 +0,0 @@ -Installation - dashdevs-suite

Installation

Please ensure Node.js and Git are installed on your system.

Download the demonstration code and switch to directory:

git clone git@github.com:dashdev-suite/dashdev-website.git cd metalsmith-demo

Install dependencies:

npm install
\ No newline at end of file diff --git a/build/start/page-definitions/index.html b/build/start/page-definitions/index.html deleted file mode 100644 index f9e3f0a..0000000 --- a/build/start/page-definitions/index.html +++ /dev/null @@ -1,8 +0,0 @@ -Page definitions - dashdevs-suite

Page definitions

Each sub-folder in src/html is a website section. Pages named index.md are the default page in section. File paths are translated to permalinks, e.g.

src/html/article/mypage.md

is rendered to:

build/article/mypage/index.html

Pages use YAML front-matter defined at the top. This can be referenced in templates or during the build process, e.g.

---
-title: My page title
-description: A description of this page for meta tags and page lists.
-layout: page.html
-priority: 0.9
-publish: 2016-06-01
-date: 2016-06-01
----

All items are optional. Note:

  • layout defaults to page.html unless metadata.layout is defined for the page collection (see the use(collections({ ... }) code in build.js).
  • priority is a number between 0 (low) and 1 (high) which is used to order menus and define XML sitemaps.
  • publish can be set draft, private or a future date to ensure it is not published until required.
  • date is the date of the article. If not set, a future publish date or the file creation date is used.

The page content is defined in markdown, HTML syntax or both below the front-matter section. The content can include Handlebars partials from the src/partials folder, e.g.

{{> partialname }}

where partialname is the partial filename without its .html extension.

\ No newline at end of file diff --git a/build/start/plugins/index.html b/build/start/plugins/index.html deleted file mode 100644 index 85ef9e6..0000000 --- a/build/start/plugins/index.html +++ /dev/null @@ -1 +0,0 @@ -Custom plugins - dashdevs-suite

Custom plugins

The build.js file defines how the site is built using Metalsmith and various plugins.

Several custom plugins have been created specifically for this site:

  • lib/metalsmith-debug.js: output debugging information to the console.
  • lib/metalsmith-setdate.js: ensure each page has a date. If a date is not defined in the page's front-matter, it is presumed to be the publish or file creation date.
  • lib/metalsmith-moremeta.js: applies further metadata to each page including the root folder, a default layout, primary and secondary navigation.
\ No newline at end of file diff --git a/build/start/site-files/index.html b/build/start/site-files/index.html deleted file mode 100644 index b599b58..0000000 --- a/build/start/site-files/index.html +++ /dev/null @@ -1 +0,0 @@ -Site files - dashdevs-suite

Site files

All files in the src folder can be edited:

  • pages are created as markdown files in the src/html folder and sub-folders.
  • static assets such as CSS, JavaScript and image files are created in src/assets. These are copied without modification to build/.
  • page templates are defined in src/template.
  • reusable partials (chunks of HTML code) are declared in src/partials.
\ No newline at end of file diff --git a/build/tutorials/index.html b/build/tutorials/index.html new file mode 100644 index 0000000..eef9e19 --- /dev/null +++ b/build/tutorials/index.html @@ -0,0 +1,84 @@ + + + + + + tutorials - dashdevs-suite + + + + + + + + + + + + + + +
+ +
+ + + + + +
+ +
+ +
+ +
+ + +
+ +

tutorials

+ +

This section provides an overview of core code and concepts.

+ + +
+ +
+ +
+ + + + + + \ No newline at end of file diff --git a/layouts/article.hbs b/layouts/article.hbs deleted file mode 100644 index f8424dc..0000000 --- a/layouts/article.hbs +++ /dev/null @@ -1,60 +0,0 @@ - - - -{{> meta }} - - - -{{> header }} - - - -
- -
- -

{{ title }}

- - {{#if isPage}} - {{else}} - - - - {{/if}} - - {{{ contents }}} - - {{#if isPage}} - - {{> pagelist }} - - {{else}} - - - - {{/if}} - -
- - {{> navsub }} - -
- - - -{{> footer template='article' }} - - - diff --git a/layouts/page.hbs b/layouts/page.hbs deleted file mode 100644 index 562a951..0000000 --- a/layouts/page.hbs +++ /dev/null @@ -1,33 +0,0 @@ - - - -{{> meta }} - - - -{{> header }} - - - -
- -
- - {{#if title}} -

{{ title }}

- {{/if}} - - {{{ contents }}} - -
- - {{> navsub }} - -
- - - -{{> footer template='page' }} - - - diff --git a/package-lock.json b/package-lock.json index ee6c544..6cc86ed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,7 +29,8 @@ "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true }, "absolute": { "version": "0.0.1", @@ -131,12 +132,14 @@ "array-differ": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", - "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=" + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", + "dev": true }, "array-union": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, "requires": { "array-uniq": "^1.0.1" } @@ -144,7 +147,8 @@ "array-uniq": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true }, "array-unique": { "version": "0.3.2", @@ -161,7 +165,8 @@ "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true }, "asap": { "version": "2.0.6", @@ -176,9 +181,10 @@ "dev": true }, "async": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/async/-/async-0.7.0.tgz", + "integrity": "sha1-RCng5i9d4KVPN0WMSfC4l+tSraU=", + "dev": true }, "async-each": { "version": "1.0.3", @@ -231,7 +237,8 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true }, "base": { "version": "0.11.2", @@ -341,6 +348,7 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -607,7 +615,8 @@ "clone": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true }, "co": { "version": "3.1.0", @@ -666,7 +675,8 @@ "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true }, "component-bind": { "version": "1.0.0", @@ -689,7 +699,8 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true }, "connect": { "version": "3.6.6", @@ -766,6 +777,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, "requires": { "clone": "^1.0.2" } @@ -878,6 +890,14 @@ "dev": true, "requires": { "lodash": "^4.17.10" + }, + "dependencies": { + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + } } }, "eazy-logger": { @@ -1287,9 +1307,24 @@ "version": "0.5.0", "resolved": "https://registry.npmjs.org/fs-tools/-/fs-tools-0.5.0.tgz", "integrity": "sha512-iJG+dKoTlWevEBvsZYkq7Fy1XJVYHMObel+MIKOf+3HbiENQG0JH5bgTlzJYsrdwZvft1vE/yl/P/T4wngAv8A==", + "dev": true, "requires": { "async": "~ 0.2.9", "lodash": "^4.17.10" + }, + "dependencies": { + "async": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true + }, + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "dev": true + } } }, "fs.realpath": { @@ -1926,6 +1961,7 @@ "version": "4.7.3", "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.3.tgz", "integrity": "sha512-SRGwSYuNfx8DwHD/6InAPzD6RgeruWLT+B8e8a7gGs8FWgHzlExpTFMEq2IA6QpAfOClpKHy6+8IqTjeBCu6Kg==", + "dev": true, "requires": { "neo-async": "^2.6.0", "optimist": "^0.6.1", @@ -2163,7 +2199,8 @@ "is": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/is/-/is-3.3.0.tgz", - "integrity": "sha512-nW24QBoPcFGGHJGUwnfpI7Yc5CdqWNdsyHQszVE/z2pKHXzh7FZ5GWhJqSyaQ9wMkQnsTx+kAI8bHlCX4tKdbg==" + "integrity": "sha512-nW24QBoPcFGGHJGUwnfpI7Yc5CdqWNdsyHQszVE/z2pKHXzh7FZ5GWhJqSyaQ9wMkQnsTx+kAI8bHlCX4tKdbg==", + "dev": true }, "is-accessor-descriptor": { "version": "0.1.6", @@ -2382,6 +2419,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/jstransformer-handlebars/-/jstransformer-handlebars-1.1.0.tgz", "integrity": "sha1-kbpW4KKK7jG7VtStvLzlCNgjBGg=", + "dev": true, "requires": { "handlebars": "^4.0.1" } @@ -2390,6 +2428,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/jstransformer-markdown/-/jstransformer-markdown-1.2.1.tgz", "integrity": "sha512-rNLxNC3LIGAc26Qcro73eWoosKymqyNVDn909KIq2QHVHGWZ+d+JzOCrHsmUt3DNAKF+hkJQJ1JufAhFEdZ5gw==", + "dev": true, "requires": { "markdown": "^0.5.0" } @@ -2482,14 +2521,16 @@ } }, "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true }, "lodash._baseflatten": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/lodash._baseflatten/-/lodash._baseflatten-3.1.4.tgz", "integrity": "sha1-B3D/gBMa9uNPO1EXlqe6UhTmX/c=", + "dev": true, "requires": { "lodash.isarguments": "^3.0.0", "lodash.isarray": "^3.0.0" @@ -2498,27 +2539,32 @@ "lodash._basefor": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/lodash._basefor/-/lodash._basefor-3.0.3.tgz", - "integrity": "sha1-dVC06SGO8J+tJDQ7YSAhx5tMIMI=" + "integrity": "sha1-dVC06SGO8J+tJDQ7YSAhx5tMIMI=", + "dev": true }, "lodash._baseget": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/lodash._baseget/-/lodash._baseget-3.7.2.tgz", - "integrity": "sha1-G2rh1frPPCVTI1ChPBGXy4u2dPQ=" + "integrity": "sha1-G2rh1frPPCVTI1ChPBGXy4u2dPQ=", + "dev": true }, "lodash._bindcallback": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", - "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=" + "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=", + "dev": true }, "lodash._pickbyarray": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/lodash._pickbyarray/-/lodash._pickbyarray-3.0.2.tgz", - "integrity": "sha1-H4mNlgfrVgsOFnOEt3x8bRCKpMU=" + "integrity": "sha1-H4mNlgfrVgsOFnOEt3x8bRCKpMU=", + "dev": true }, "lodash._pickbycallback": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/lodash._pickbycallback/-/lodash._pickbycallback-3.0.0.tgz", "integrity": "sha1-/2G5oBens699MObFPeKK+hm4dQo=", + "dev": true, "requires": { "lodash._basefor": "^3.0.0", "lodash.keysin": "^3.0.0" @@ -2528,6 +2574,7 @@ "version": "3.8.1", "resolved": "https://registry.npmjs.org/lodash._topath/-/lodash._topath-3.8.1.tgz", "integrity": "sha1-PsXiYGAU9MuX91X+aRTt2L/ADqw=", + "dev": true, "requires": { "lodash.isarray": "^3.0.0" } @@ -2542,6 +2589,7 @@ "version": "3.7.0", "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-3.7.0.tgz", "integrity": "sha1-POaK4skWg7KBzFOUEoMDy/deaR8=", + "dev": true, "requires": { "lodash._baseget": "^3.0.0", "lodash._topath": "^3.0.0" @@ -2550,17 +2598,20 @@ "lodash.identity": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/lodash.identity/-/lodash.identity-3.0.0.tgz", - "integrity": "sha1-rXvGpOZH15yXLhuA/u968VYmeHY=" + "integrity": "sha1-rXvGpOZH15yXLhuA/u968VYmeHY=", + "dev": true }, "lodash.isarguments": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", + "dev": true }, "lodash.isarray": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", - "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=" + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", + "dev": true }, "lodash.isfinite": { "version": "3.3.2", @@ -2572,6 +2623,7 @@ "version": "3.0.8", "resolved": "https://registry.npmjs.org/lodash.keysin/-/lodash.keysin-3.0.8.tgz", "integrity": "sha1-IsRJPrvtsUJ5YqVLRFssinZ/tH8=", + "dev": true, "requires": { "lodash.isarguments": "^3.0.0", "lodash.isarray": "^3.0.0" @@ -2581,6 +2633,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-3.1.0.tgz", "integrity": "sha1-8lKoVbIEa2G805BLJvdr0u/GVVA=", + "dev": true, "requires": { "lodash._baseflatten": "^3.0.0", "lodash._bindcallback": "^3.0.0", @@ -2592,7 +2645,8 @@ "lodash.restparam": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", - "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=" + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", + "dev": true }, "lower-case": { "version": "1.1.4", @@ -2625,6 +2679,7 @@ "version": "0.5.0", "resolved": "https://registry.npmjs.org/markdown/-/markdown-0.5.0.tgz", "integrity": "sha1-KCBbVlqK51kt4gdGPWY33BgnIrI=", + "dev": true, "requires": { "nopt": "~2.1.1" } @@ -2678,12 +2733,6 @@ "stat-mode": "^0.2.0" }, "dependencies": { - "async": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/async/-/async-0.7.0.tgz", - "integrity": "sha1-RCng5i9d4KVPN0WMSfC4l+tSraU=", - "dev": true - }, "minimatch": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", @@ -2725,12 +2774,6 @@ "ms": "2.0.0" } }, - "lodash": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", - "dev": true - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", @@ -2773,6 +2816,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/metalsmith-discover-partials/-/metalsmith-discover-partials-0.1.2.tgz", "integrity": "sha512-rjVOCSnoXJyEQand85o8l8Z9Yevbyis23q+gCA5Q6w5SG2L+H/jMQYGokpj3a5cOl0Fkl+MaXZSHJ9elpKYNFg==", + "dev": true, "requires": { "defaults": "^1.0.3", "fs-tools": "^0.5.0", @@ -2882,6 +2926,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/metalsmith-markdown-precompiler/-/metalsmith-markdown-precompiler-1.0.0.tgz", "integrity": "sha1-3hxh1p6uVROuhXRyPyJgTCD5llY=", + "dev": true, "requires": { "handlebars": "^4.0.5" } @@ -2889,7 +2934,8 @@ "metalsmith-paths": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/metalsmith-paths/-/metalsmith-paths-3.0.1.tgz", - "integrity": "sha1-pCfRjibnOjvrysSHP4f7FQEHC6I=" + "integrity": "sha1-pCfRjibnOjvrysSHP4f7FQEHC6I=", + "dev": true }, "metalsmith-permalinks": { "version": "2.2.0", @@ -2935,6 +2981,7 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/metalsmith-sitemap/-/metalsmith-sitemap-1.2.2.tgz", "integrity": "sha512-6R1ocHu5MVWG5I6EvKWXG/kwpDiIEd3Ofq2hXB0MLi8n0yFkN7O900GscoQjtLTdcQ18v1+uHeQ/UjJHrPatPg==", + "dev": true, "requires": { "is": "^3.0.1", "lodash.get": "^3.7.0", @@ -3029,6 +3076,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -3036,7 +3084,8 @@ "minimist": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true }, "mitt": { "version": "1.2.0", @@ -3081,6 +3130,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", + "dev": true, "requires": { "array-differ": "^1.0.0", "array-union": "^1.0.1", @@ -3144,7 +3194,8 @@ "neo-async": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==" + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "dev": true }, "no-case": { "version": "2.3.2", @@ -3159,6 +3210,7 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.1.2.tgz", "integrity": "sha1-bMzZd7gBMqB3MdbozljCyDA8+a8=", + "dev": true, "requires": { "abbrev": "1" } @@ -3285,6 +3337,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, "requires": { "minimist": "~0.0.1", "wordwrap": "~0.0.2" @@ -3929,6 +3982,7 @@ "version": "1.13.0", "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-1.13.0.tgz", "integrity": "sha1-Vpy+IYAgKSamKiZs094Jyc60P4M=", + "dev": true, "requires": { "underscore": "^1.7.0", "url-join": "^1.1.0" @@ -4236,7 +4290,8 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true }, "source-map-resolve": { "version": "0.5.3", @@ -4539,6 +4594,7 @@ "version": "3.8.0", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.8.0.tgz", "integrity": "sha512-ugNSTT8ierCsDHso2jkBHXYrU8Y5/fY2ZUprfrJUiD7YpuFvV4jODLFmb3h4btQjqr5Nh4TX4XtgDfCU1WdioQ==", + "dev": true, "requires": { "commander": "~2.20.3", "source-map": "~0.6.1" @@ -4553,7 +4609,8 @@ "underscore": { "version": "1.9.2", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.2.tgz", - "integrity": "sha512-D39qtimx0c1fI3ya1Lnhk3E9nONswSKhnffBI0gME9C99fYOkNi04xs8K6pePLhvl1frbDemkaBQ5ikWllR2HQ==" + "integrity": "sha512-D39qtimx0c1fI3ya1Lnhk3E9nONswSKhnffBI0gME9C99fYOkNi04xs8K6pePLhvl1frbDemkaBQ5ikWllR2HQ==", + "dev": true }, "union-value": { "version": "1.0.1", @@ -4661,7 +4718,8 @@ "url-join": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/url-join/-/url-join-1.1.0.tgz", - "integrity": "sha1-dBxsL0WWxIMNZxhGCSDQySIC3Hg=" + "integrity": "sha1-dBxsL0WWxIMNZxhGCSDQySIC3Hg=", + "dev": true }, "use": { "version": "3.1.1", @@ -4721,7 +4779,8 @@ "wordwrap": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true }, "wrap-ansi": { "version": "2.1.0", diff --git a/package.json b/package.json index 709395f..b2a4dbc 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,5 @@ "metalsmith-paths": "^3.0.1", "metalsmith-sitemap": "^1.2.2" }, - "dependencies": { - - } + "dependencies": {} } diff --git a/src/assets/css/styles.css b/src/assets/css/styles.css index b65eac8..8bff457 100644 --- a/src/assets/css/styles.css +++ b/src/assets/css/styles.css @@ -1,277 +1,430 @@ /* basic page styles */ -*, *:before, *:after { - box-sizing: border-box; - padding: 0; - margin: 0; + + +/* current default: 111833 - blue-weak: #1f2833; brown-red: 33111b; + + +/* light yellow: FBF7EB, new lighter: #f7f2ea */ + + +/* light grey: #c5c6c7*/ + + +/* neon green: #66FCF1 */ + +*, +*:before, +*:after { + box-sizing: border-box; + padding: 0; + margin: 0; } body { - font-family: georgia, cambria, "times new roman", times, serif; - font-size: 1em; - color: #555; - background-color: #eee; - line-height: 1.5; + /* font-family: georgia, cambria, "times new roman", times, serif; */ + font-family: 'Open Sans', sans-serif; + font-size: 1.05em; + /* only with position static text will auto-format when making window smaller */ + /* position: relative; */ + /* margin-top: 60px; */ + /* margin-left: 310px; */ + /* TODO: not sure this is clean solution */ + /* set background-color for all parts default, specially below content */ + /* background-color: #f7f2ea; */ + /* color: #111833; */ + line-height: 1.5; + /* TODO: put footer at bottom + https://stackoverflow.com/questions/643879/css-to-make-html-page-footer-stay-at-bottom-of-the-page-with-a-minimum-height-b */ + /* min-height: 100%; */ + /* TODO: repair, only scrolling in body possible */ + overflow: auto; + /* padding-top: 30px; */ } -article, aside, details, figcaption, figure, footer, header, main, nav, section, summary { - display: block; +article, +aside, +details, +figcaption, +figure, +footer, +header, +main, +nav, +section, +summary { + display: block; } -h1, h2, .logo { - font-family: arial, helvetica, free-sans, sans-serif; - font-weight: normal; +h1, +h2, +.logo { + /* font-family: arial, helvetica, free-sans, sans-serif; */ + font-family: 'Oswald', sans-serif; + font-weight: normal; } h1 { - font-size: 1.6em; + font-size: 1.6em; + text-transform: uppercase; } h2 { - font-size: 1.4em; - margin: 2rem 0 0 0; + font-size: 1.4em; + margin: 2rem 0 0 0; } p { - margin: 0 0 1em 0; + margin: 0 0 1em 0; } -ul, ol { - margin: 1em 0 1.5em 3em; +ul, +ol { + margin: 1em 0 1.5em 3em; } li { - margin: 0 0 0.75em 0; + margin: 0 0 0.75em 0; } img { - float: right; - width: auto; - height: auto; - max-width: 50%; - margin: 0 0 1em 1em; - border: 0 none; + float: right; + width: auto; + height: auto; + max-width: 50%; + margin: 0 0 1em 1em; + border: 0 none; } pre { - font-size: 0.8rem; - padding: 0.2em 0.4em; - margin: 1em 0 1.5em 3em; - background-color: #eff5ef; - border-radius: 3px; - overflow: auto; + /* font-size: 1.05em; */ + font-weight: bold; + padding: 0.2em 0.4em; + margin: 1em 0 1.5em 3em; + background-color: #111833; + border-radius: 3px; + overflow: auto; } code { - font-family: Consolas, Menlo, "DejaVu Mono", monospace; - color: #363; - background-color: #eff5ef; - border-radius: 3px; - padding: 0 0.2em; + font-size: 0.88em; + font-family: Consolas, Menlo, "DejaVu Mono", monospace; + color: #E831C1; + background-color: #ddd7d4; + /* CHECK needed for bold, pre not enough!? */ + font-weight: bold; + /* makes single code border round */ + border-radius: 5px; + padding: 0 0.4em; } pre code { - padding: 0; + padding: 0; + color: #eff5ef; + background-color: #111833; + padding-left: 8px; + line-height: 2.5; + font-size: 0.82em; + /* TODO make border round */ + /* border-radius: 5px; */ } -a:link, a:visited { - text-decoration: none; - color: #66c; +a:link, +a:visited { + text-decoration: none; + color: #fff; } -a:hover, a:active { - color: #c66; +a:hover, +a:active { + color: #c5c6c7; } .pagelist { - list-style-type: none; - display: flex; - flex-wrap: wrap; - margin: 0; - line-height: 1.3; + list-style-type: none; + /* TODO: check what flex does here */ + display: flex; + flex-wrap: wrap; + margin: 0; + line-height: 1.3; } .pagelist li { - flex: 1 1 45%; - margin: 0 1em 1em 0; + flex: 1 1 45%; + margin: 0 1em 1em 0; } .pagelist a { - display: block; - height: 100%; - padding: 5px 10px; - border: 1px solid #ccc; - outline: 0 none; - overflow: hidden; + display: block; + height: 100%; + padding: 5px 10px; + border: 1px solid #ccc; + outline: 0 none; + overflow: hidden; + /* color for links in pagelist type page eg "Installation" (1 from 3) */ + color: #111833; } -.pagelist a:hover, .pagelist a:focus { - background-color: #f9f9f9; - border-color: #999; +.pagelist a:hover, +.pagelist a:focus { + /* background-color: #5a14dd; */ + border-color: rgb(238, 9, 150); } -.pagelist h2, .pagelist p { - margin: 0; +.pagelist h2, +.pagelist p { + margin: 0; } .pagelist p { - color: #333; + color: #111833; } p.articleinfo { - font-size: 0.8em; - color: #777; + font-size: 0.8em; + /* currently date */ + color: #111833; } + /* layout */ -.content { - max-width: 50em; - padding: 0 0.5em; - margin: 0 auto; -} main { - clear: both; - background-color: #fff; - overflow: auto; + /* for page and article template */ + clear: both; + background-color: #fff; + margin-top: 60px; + /* margin-bottom: 0; */ + background-color: #f7f2ea; + /* min-height: 100%; */ + /* min-width: 100%; */ + overflow: auto; + min-height: 100%; +} + +.content { + /* min-height "influences" the content of navmain=header but it should exclude the
*/ + /* CHECK min-width makes things too wide in the
area */ + /* min-width: 100%; */ + /* TODO: there must be bug in other place! + this is needed to remove scroll in header navigation, so its main navigation header!? */ + /* min-height: 100%; */ + /* overflow: auto; */ + /* move font a little down */ + padding-top: 10px; } article { - padding: 1rem 0; + /* this only applys to
while .content is also applied */ + /* for page and article template */ + /* Distance left, right 4em */ + padding: 0 4em; + /* Distance top 2em for content */ + padding-top: 2em; } -header, footer { - clear: both; - width: 100%; - overflow: auto; - background-color: #eee; +article a:link, +article a:visited, +article a:hover { + color: #2092bc; +} + +article a:hover { + text-decoration: underline; +} + +header { + /* header global */ + clear: both; + width: 100%; + /* eg can overwrite value for "if desktop" below */ + height: 60px; + overflow: auto; + background-color: #111833; + border-bottom: solid; + color: #66fcf1; } footer { - font-size: 0.85em; - padding: 1em; - text-align: center; + /* footer global */ + /* TODO: move footer bottom when article not end of page */ + clear: both; + /* width: 100%; */ + margin-left: 310px; + height: 70px; + /* margin-top: -70px; */ + /* overflow: auto; */ + background-color: #f7f2ea; +} + +footer { + /* font-family: 'Open Sans', sans-serif; */ + font-size: 0.90em; + padding: 1em; + text-align: center; } footer p { - margin: 0; + margin: 0; +} + +footer a:link, +footer a:visited, +footer a:hover { + color: #2092bc; +} + +footer a:hover { + text-decoration: underline; } .logo { - font-size: 1.5em; - margin: 0.2em 0 0 0; + font-size: 1.5em; + margin: 0.2em 0 0 0; } .logo a { - padding: 0.2em 0; - color: #999; + padding: 0.2em 0; + color: #66fcf1; } + /* navigation */ + .nav ul { - display: flex; - flex-wrap: wrap; - list-style-type: none; - margin: 0; + display: flex; + flex-wrap: wrap; + list-style-type: none; + margin: 0; } .nav li { - flex: 1 1 100%; - margin: 0; + flex: 1 1 100%; + margin: 0; } -.nav a, .nav strong { - display: block; - text-align: center; - white-space: nowrap; - padding: 0.6em 0; +.nav a, +.nav strong { + display: block; + text-align: left; + white-space: nowrap; + padding: 0.6em 0; } .nav.main a { - color: #222; + color: #fff; + /* font-size: 1.6em; */ + text-transform: uppercase; + font-weight: bold; + font-family: 'Oswald', sans-serif; } -.nav a.active, .nav strong { - background-color: #fff; +.nav a.active, +.nav strong { + background-color: #111833; } +.nav a:hover { + color: #c5c6c7; +} + + +/* this is the prev-next-link at bottom in articles */ + .nav.page { - margin-top: 1.5em; - border-top: 1px solid #ccc; - border-bottom: 1px solid #ccc; + margin-top: 1.5em; + border-top: 1px solid #ccc; + border-bottom: 1px solid #ccc; } @media (min-width: 16em) { - - .nav li { - flex: 1 1 50%; - } - + .nav li { + flex: 1 1 50%; + } } @media (min-width: 32em) { - - header { - position: fixed; - top: 0; - } - - .logo { - float: left; - } - - .nav.main { - float: right; - } - - .nav li { - flex: 1 1 auto; - } - - .nav.main li { - width: 6em; - } - - main { - padding: 3em 0 2em 0; - } - - .subpages .content { - display: flex; - } - - .subpages article { - flex: 1 1 70%; - min-width: 0; - } - - .subpages .nav.sub { - flex: 1 1 30%; - margin: 0 0 0 2rem; - } - - .nav.sub ul { - margin-top: 1em; - flex-direction: column; - border-top: 1px dotted #ccc; - } - - .nav.sub li { - border-bottom: 1px dotted #ccc; - } - - .nav.sub a, .nav.sub strong { - text-align: left; - padding-left: 0.75em; - } - - .nav.page a { - text-align: left; - padding-left: 0.5em; - padding-right: 0.5em; - } - - .nav.page a.next { - text-align: right; - } - -} + header { + /* header global */ + position: fixed; + /* defined global above */ + /* height: 60px; */ + top: 0; + } + .logo { + float: left; + margin-left: 20px; + } + .nav.main { + float: right; + margin-right: 20px; + } + .nav li { + flex: 1 1 auto; + } + .nav.main li { + width: 6em; + } + main { + /* global template */ + /* position: static; */ + /* margin-top: 60px; */ + /* min-height: 100%; */ + /* margin: 0px 0px 0px 0px; */ + /* padding: 3em 0em 2em 0em; */ + /* overflow: auto; */ + /* color: #66fcf1; */ + } + .subpages .content { + /* article template */ + /* CHECK What does flex do?? */ + /* display: flex; */ + /* justify-content: center; */ + margin-left: 310px; + } + .subpages article { + /* article template */ + /* flex: 1 1 70%; */ + /* min-width for text content, eg "next: xxx" */ + min-width: 100%; + } + .subpages .nav.sub { + /* article template */ + height: 100%; + width: 310px; + position: fixed; + /* z-index: 1; */ + top: 0; + left: 0; + background-color: #111833; + overflow-x: hidden; + overflow-y: scroll; + padding-top: 40px; + margin-top: 60px; + color: #fff; + } + .nav.sub ul { + /* margin-top: 1em; */ + flex-direction: column; + /* border above first link */ + /* border-top: 1px solid rgb(185, 27, 27); */ + } + .nav.sub li { + /* put smth around nav.sub links */ + /* border-bottom: 1px solid rgb(58, 17, 17); */ + } + .nav.sub a, + .nav.sub strong { + text-align: left; + padding-left: 0.75em; + font-family: 'Open Sans', sans-serif; + font-size: 1.05em; + } + .nav.page a { + text-align: left; + padding-left: 0.5em; + padding-right: 0.5em; + } + .nav.page a.next { + text-align: right; + } +} \ No newline at end of file diff --git a/src/html/boxes/index.md b/src/html/boxes/index.md new file mode 100644 index 0000000..310906a --- /dev/null +++ b/src/html/boxes/index.md @@ -0,0 +1,6 @@ +--- +title: boxes +priority: 0.6 +--- + +This section provides an overview of core code and concepts. diff --git a/src/html/contact/index.md b/src/html/contact/index.md index 4e9b566..4ac0433 100644 --- a/src/html/contact/index.md +++ b/src/html/contact/index.md @@ -1,6 +1,6 @@ --- title: Contact -priority: 0.7 +priority: 0.5 --- Any questions? diff --git a/src/html/start/build.md b/src/html/docs/build.md similarity index 100% rename from src/html/start/build.md rename to src/html/docs/build.md diff --git a/src/html/start/index.md b/src/html/docs/index.md similarity index 86% rename from src/html/start/index.md rename to src/html/docs/index.md index dbdd949..4dfe95f 100644 --- a/src/html/start/index.md +++ b/src/html/docs/index.md @@ -1,5 +1,5 @@ --- -title: Start +title: docs priority: 0.9 --- diff --git a/src/html/start/installation.md b/src/html/docs/installation.md similarity index 100% rename from src/html/start/installation.md rename to src/html/docs/installation.md diff --git a/src/html/start/page-definitions.md b/src/html/docs/page-definitions.md similarity index 100% rename from src/html/start/page-definitions.md rename to src/html/docs/page-definitions.md diff --git a/src/html/start/plugins.md b/src/html/docs/plugins.md similarity index 100% rename from src/html/start/plugins.md rename to src/html/docs/plugins.md diff --git a/src/html/start/site-files.md b/src/html/docs/site-files.md similarity index 100% rename from src/html/start/site-files.md rename to src/html/docs/site-files.md diff --git a/src/html/index.md b/src/html/index.md index 4b29887..435fe3b 100644 --- a/src/html/index.md +++ b/src/html/index.md @@ -19,4 +19,4 @@ Metalsmith could be used to create: * application prototypes * build tools or project scaffolding -[Get started…]({{ root }}start/) +[Get started…]({{ root }}docs/) diff --git a/src/html/tutorials/index.md b/src/html/tutorials/index.md new file mode 100644 index 0000000..6794f70 --- /dev/null +++ b/src/html/tutorials/index.md @@ -0,0 +1,6 @@ +--- +title: tutorials +priority: 0.7 +--- + +This section provides an overview of core code and concepts. diff --git a/src/layouts/article.hbs b/src/layouts/article.hbs new file mode 100644 index 0000000..347d513 --- /dev/null +++ b/src/layouts/article.hbs @@ -0,0 +1,65 @@ + + + + + {{> meta }} + + + + + {{> header }} + + + +
+ + {{> navsub }} + +
+ +

{{ title }}

+ + {{#if isPage}} + {{else}} + + + + {{/if}} + + {{{ contents }}} + + {{#if isPage}} + + {{> pagelist }} + + {{else}} + + + + {{/if}} + +
+ +
+ + + + {{> footer template='article' }} + + + + \ No newline at end of file diff --git a/src/layouts/page.hbs b/src/layouts/page.hbs new file mode 100644 index 0000000..3b7c742 --- /dev/null +++ b/src/layouts/page.hbs @@ -0,0 +1,38 @@ + + + + + {{> meta }} + + + + + {{> header }} + + {{!-- removed since there is no navsub (sidebar) in page layout --}} + {{!-- --}} +
+ +
+ + {{!-- {{> navsub }} --}} + +
+ + {{#if title}} +

{{ title }}

+ {{/if}} + + {{{ contents }}} + +
+ +
+ +
+ + + + + + \ No newline at end of file diff --git a/src/partials/footer.html b/src/partials/footer.html index 8e8a018..6af2d8d 100644 --- a/src/partials/footer.html +++ b/src/partials/footer.html @@ -1,7 +1,12 @@
-

By {{ author }} and featured on DashDevs.org

+ {{!-- handlebars mustaches comment below --}} -

{{#if devBuild}}Development{{else}}Production{{/if}} build, version {{ version }}, {{ template }} template

+

Help make this page better. Edit here >>

-
+ + {{!--

By {{ author }} and featured on DashDevs.org

+

{{#if devBuild}}Development{{else}}Production{{/if}} build, version {{ version }}, {{ template }} template

--}} + + + \ No newline at end of file diff --git a/src/partials/navsub.html b/src/partials/navsub.html index 4fb802a..3c3a0c9 100644 --- a/src/partials/navsub.html +++ b/src/partials/navsub.html @@ -7,7 +7,8 @@ {{#each navsub}}
  • {{#if active}} - {{title}} + {{!-- {{title}} --}} + {{title}} {{else}} {{title}} {{/if}}