diff --git a/build.js b/build.js index 6f86aa5..a9e8899 100644 --- a/build.js +++ b/build.js @@ -16,12 +16,13 @@ dir = { siteMeta = { devBuild: devBuild, version: pkg.version, - name: 'dashdev-website', - desc: 'metalsmith website', + name: 'dashdevs-suite', + desc: 'dashdevs-suite metalsmith website', author: 'dashdevs', contact: 'https://chat.dashdevs.org', domain: devBuild ? 'http://127.0.0.1' : 'https://rawgit.com', // set domain rootpath: devBuild ? null : '/dashdev-website/build/' // set absolute path (null for relative) + // root: devBuild ? null : '/build' // TODO: not working?, but also not needed }; templateConfig = { diff --git a/build/article/draft/index.html b/build/article/draft/index.html index 638a615..ca317b6 100644 --- a/build/article/draft/index.html +++ b/build/article/draft/index.html @@ -1 +1 @@ -Draft article - dashdev-website

Draft article

This is a draft article.

It will never appear in the site unless the publish front-matter is set to published or a date which has passed.

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

Draft article

This is a draft article.

It will never appear in the site unless the publish front-matter is set to published or a date which has passed.

\ No newline at end of file diff --git a/build/article/future/index.html b/build/article/future/index.html index 65f1cfd..1221b2b 100644 --- a/build/article/future/index.html +++ b/build/article/future/index.html @@ -1 +1 @@ -Future publication - dashdev-website

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 cc1f097..28f179f 100644 --- a/build/article/gotchas/index.html +++ b/build/article/gotchas/index.html @@ -1 +1 @@ -Gotchas - dashdev-website

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 3c93989..fd65ab4 100644 --- a/build/article/gulp/index.html +++ b/build/article/gulp/index.html @@ -1,4 +1,4 @@ -Gulp - dashdev-website

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'),
diff --git a/build/article/index.html b/build/article/index.html
index 6325213..a766dff 100644
--- a/build/article/index.html
+++ b/build/article/index.html
@@ -1 +1 @@
-Articles - dashdev-website
\ 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 0d14d84..0e30816 100644 --- a/build/article/usage/index.html +++ b/build/article/usage/index.html @@ -1 +1 @@ -Usage options - dashdev-website

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/contact/index.html b/build/contact/index.html index 2baf08c..b0dc617 100644 --- a/build/contact/index.html +++ b/build/contact/index.html @@ -1 +1 @@ -Contact - dashdev-website
\ No newline at end of file +Contact - dashdevs-suite
\ No newline at end of file diff --git a/build/index.html b/build/index.html index 231ed8a..43d0963 100644 --- a/build/index.html +++ b/build/index.html @@ -1 +1 @@ -dashdev-website

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/sitemap.xml b/build/sitemap.xml index 5928fcf..c6ded90 100644 --- a/build/sitemap.xml +++ b/build/sitemap.xml @@ -1,16 +1,16 @@ https://rawgit.com/dashdev-website/build/ 1.0 - https://rawgit.com/dashdev-website/build/article/future/ + https://rawgit.com/dashdev-website/build/contact/ 0.7 https://rawgit.com/dashdev-website/build/article/draft/ + https://rawgit.com/dashdev-website/build/article/future/ https://rawgit.com/dashdev-website/build/article/gotchas/ https://rawgit.com/dashdev-website/build/article/gulp/ https://rawgit.com/dashdev-website/build/article/ 0.8 https://rawgit.com/dashdev-website/build/article/usage/ - https://rawgit.com/dashdev-website/build/contact/ 0.7 https://rawgit.com/dashdev-website/build/start/build/ 0.5 - https://rawgit.com/dashdev-website/build/start/installation/ 0.5 https://rawgit.com/dashdev-website/build/start/ 0.9 + https://rawgit.com/dashdev-website/build/start/installation/ 0.5 https://rawgit.com/dashdev-website/build/start/page-definitions/ 0.3 https://rawgit.com/dashdev-website/build/start/plugins/ 0.3 https://rawgit.com/dashdev-website/build/start/site-files/ 0.4 diff --git a/build/start/build/index.html b/build/start/build/index.html index 93d799b..6f5bc21 100644 --- a/build/start/build/index.html +++ b/build/start/build/index.html @@ -1 +1 @@ -Build - dashdev-website

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 +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 index e084c1b..f0ff0c6 100644 --- a/build/start/index.html +++ b/build/start/index.html @@ -1 +1 @@ -Start - dashdev-website
\ No newline at end of file +Start - dashdevs-suite
\ No newline at end of file diff --git a/build/start/installation/index.html b/build/start/installation/index.html index 06632f8..634a04c 100644 --- a/build/start/installation/index.html +++ b/build/start/installation/index.html @@ -1 +1 @@ -Installation - dashdev-website

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 +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 index 8afce96..f9e3f0a 100644 --- a/build/start/page-definitions/index.html +++ b/build/start/page-definitions/index.html @@ -1,4 +1,4 @@ -Page definitions - dashdev-website

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.

---
+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
diff --git a/build/start/plugins/index.html b/build/start/plugins/index.html
index 89fa054..85ef9e6 100644
--- a/build/start/plugins/index.html
+++ b/build/start/plugins/index.html
@@ -1 +1 @@
-Custom plugins - dashdev-website

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 +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 index d4771d8..b599b58 100644 --- a/build/start/site-files/index.html +++ b/build/start/site-files/index.html @@ -1 +1 @@ -Site files - dashdev-website

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 +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/src/html/index.md b/src/html/index.md index 384dd6f..4b29887 100644 --- a/src/html/index.md +++ b/src/html/index.md @@ -4,7 +4,7 @@ description: A static HTML-only website generated using Metalsmith.io. priority: 1.0 --- -[![Node.js]({{ root }}/images/nodejs.png)](http://dash.org/) +[![Node.js]({{ root }}images/nodejs.png)](http://dash.org/) This is a static website generated using the Node.js-powered **[Metalsmith](http://metalsmith.io)** and various published and custom plugins.