Skip to content

Latest commit

 

History

History
129 lines (87 loc) · 3.35 KB

.verb.md

File metadata and controls

129 lines (87 loc) · 3.35 KB

Usage

var hekyll = require('{%= name %}');
var assemble = require('assemble');
var app = module.exports = assemble();
app.use(hekyll());

Usage

var hekyll = require('{%= name %}');

Quickstart

The easiest way to convert and build a Jekyll theme with assemble is to start by using [generate-hekyll][] to convert the theme. generate-hekyll has built-in support for all of GitHub's default Jekyll themes, as well as all of the awesome poole themes from @mdo.

See the alternative steps if you want more fine grained control over cloning and converting the theme.

1. Install generate-hekyll

First, install [generate][] and [generate-hekyll][]:

$ npm install -g generate generate-hekyll

2. Convert the theme you want

Next, run generate-hekyll to download and convert the theme you want:

$ gen hekyll

3. Customize and build!

Feel free to customize your assemblefile.js! You should now be able to build the site at any time with the following command:

$ assemble

Alternative steps

As an alternative to using generate-hekyll to convert the theme (steps 1 and 2), you can do the following.

Step 1: git clone

git clone the theme you want into a local directory.

Step 2: Tell assemble where to find the theme

In assemblefile.js, tell assemble where to find the Jekyll theme and where to write the converted handlebars files.

app.option({
  // current working directory
  cwd: __dirname, 

  // path to the jekyll theme
  theme: 'vendor/poole/lanyon', 

  // path to write the converted files. remember, the generated files 
  // will become your "source" templates when you build the handlebars
  // theme with assemble
  destBase: 'src' 
});

Step 3: Convert the theme

Run the following to convert your theme.

$ assemble hekyll

assemblefile.js

Example code to use in your assemblefile.js.

var hekyll = require('{%= name %}');
var argv = require('minimist')(process.argv.slice(2));
var Assemble = require('assemble');

/**
 * Instantiate and expose your instance of assemble to assemble's CLI
 */

var app = module.exports = new Assemble(argv);

/**
 * Options
 */

// these options are necessary only if you're cloning the theme yourself
// using the alternative steps described above. Replace these values with
// your own.
app.option({cwd: __dirname, theme: 'vendor/poole/lanyon', destBase: 'src'});

// the following options are necessary if you want to download metadata
// from the repository to use in templates. Replace these values with
// the owner/repository to use for getting metadata.
app.option({owner: 'jonschlinkert', repo: 'hekyll'});

// if you want to download metadata, pass username and password, or token.
// note that the `metadata` task is skipped if these values aren't defined
app.option(require('./tmp/auth.json'));

/**
 * Register hekyll plugin
 */

app.use(hekyll(app.options));

/**
 * Default task
 */

app.task('default', ['theme']);

Please help improve this project

As with any site, you'll need to make some customizations, and potentially fix any remaining issues that were missed by the plugin. If you find a bug, or something that doesn't work, but you think this plugin should handle it, please don't hesitate to create an issue.