## Usage ```js var hekyll = require('{%= name %}'); var assemble = require('assemble'); var app = module.exports = assemble(); app.use(hekyll()); ``` ## Usage ```js 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](https://github.com/poole) themes from [@mdo](https://github.com/mdo). See the [alternative steps](#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][]: ```sh $ npm install -g generate generate-hekyll ``` ### 2. Convert the theme you want Next, run generate-hekyll to download and convert the theme you want: ```sh $ gen hekyll ``` ### 3. Customize and build! Feel free to customize your [assemblefile.js](#assemblefilejs)! You should now be able to build the site at any time with the following command: ```sh $ 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. ```js 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. ```sh $ assemble hekyll ``` ## assemblefile.js Example code to use in your `assemblefile.js`. ```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](../../issues/new).