Seedling helps you create Jekyll-based prototypes for your projects. It comes with a set of basic wireframe-style CSS rules written in Sass for easy customization. Basic media queries are baked in so you can start designing for mobile devices right away. This is how every new web project starts at William Dodson Design.
Seedling requires the following Ruby Gems to be installed on your system:
Just run gem install from a terminal window for each of the required gems listed above. This will get your environment set up so you can build your prototype.
If you've used both Jekyll and Sass before then you can pretty much dive right in and start working. The only difference is that Seedling compiles the HTML to the _wireframe folder instead of _site. If you're new to Jekyll, Sass, Bourbon, and Neat please take a few moments to review their documentation before planting your first Seedling project:
$ git clone https://github.com/obxdesignworks/seedling.git your-project-name
_config.yml SettingsThe Jekyll configuration file contains some preferences that you will need to customize for your project. Here is the default configuration included with Seedling:
name: Seedling Prototype
markdown: redcarpet
destination: _wireframe
encoding: UTF-8
exclude: ['sass', 'README.md']
Specifically you will want to change the value for name: Seedling Prototype to match your project's name.
$ cd your-project-name
$ jekyll build
This will build the initial site for you in the _wireframe folder. If you prefer to use a different output folder you can change the destination directive in _config.yml before running the build command for the first time:
destination: your-folder-name
Now you can simply start adding pages to the project as needed. There are several ways in which you can rebuild the site so that you can see your changes in the prototype. By default, the jekyll build command runs once, recreates the destination folder, and stops processing. If you prefer to have Jekyll automatically rebuild the site as you make changes simply add the regeneration flag to the build command: jekyll build -w or jekyll build --watch.
One day I was watching a video from Happy Cog designer, Patrick Marsceill, on HTML Prototyping and I realized that Patrick's workflow was very similar to my own. The biggest difference was that he uses CodeKit's .kit language for prototyping and I use Jekyll. It's a great workflow, but most of the prototypes that I build require a bit more functionality than .kit files can offer me. Jekyll uses Liquid as a template language which provides more robust constructs; for loops, flow control, etc. Jekyll also provides the ability to use .yml data sets which can save some time. For example, I can use Jekyll's data files functionality to loop over sets of data instead of copy-pasting the same HTML code over and over again.
In the end, it comes down to personal preference. I simply prefer my own Jekyll-based setup for the following reasons:
_prototype and preserve them for future reference..git folder for the Seedling repository and run git init to start versioning in your own new repository.# Liquid
{% for v in var %}
...do something
{% endfor %}
# PHP
<?php foreach(var as v) : ?>
...do something
<?php endfor; ?>
# Ruby ERB
<% for @v in @var %>
...do something
<% end %>