willow 0.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +9 -0
- data/Gemfile +4 -0
- data/README.md +107 -0
- data/Rakefile +1 -0
- data/lib/willow.rb +5 -0
- data/lib/willow/version.rb +3 -0
- data/willow.gemspec +24 -0
- metadata +52 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,107 @@
|
|
1
|
+
# Willow
|
2
|
+
|
3
|
+
_As willowy as a young Doris Day_
|
4
|
+
|
5
|
+
* By Patrick Ward
|
6
|
+
* Website can be found at [GitHub][willow]
|
7
|
+
|
8
|
+
Willow is a slender system for generating static websites. Like similar static site generators ([Jekyll][jekyll], [nanoc][nanoc]), it takes a collection of templates, posts, and pages that are written in **Markdown**, **Handlebars**, or **Haml** and produces a static (or semi-static) website that can be used on any web server.
|
9
|
+
|
10
|
+
Willow does not try to be everything to everyone, but it does try to be accomodating. It's opinionated in which text filters it uses, but it does provide some level of configuration.
|
11
|
+
|
12
|
+
It was originally created as a way for me to get back into Ruby development after a few years away from the language. So, I'm sure there is a lot of optimization that can be added to the source.
|
13
|
+
|
14
|
+
## Installation
|
15
|
+
|
16
|
+
sudo gem install willow
|
17
|
+
|
18
|
+
## Dependencies
|
19
|
+
|
20
|
+
* [Haml][haml]
|
21
|
+
* [Handlebars][handlebars]
|
22
|
+
* [Redcarpet][redcarpet]
|
23
|
+
* [Rainbow][rainbow]
|
24
|
+
|
25
|
+
## Configuration
|
26
|
+
|
27
|
+
Willow provides a number of configuration options that let you change how your site is generated. Most of these should be placed in a `_config.yml` file at the root of your site's source directory.
|
28
|
+
|
29
|
+
See the defaults section below, for examples of how the configuration file should be crafted.
|
30
|
+
|
31
|
+
### Configuration Settings
|
32
|
+
|
33
|
+
* **paths:**, This section sets the relative paths that _willow uses to look for source pages, posts, and layouts.
|
34
|
+
* **pages:** [string path], relative path to the static pages directory
|
35
|
+
* **posts:** [string path], relative path to the dated posts directory
|
36
|
+
* **layouts:** [string path], relative path to the templated layouts directory
|
37
|
+
|
38
|
+
* **defaults:**, This section provides defaults that can be used across all posts and pages. _Willow looks for the configuration options below, but you may also add your own default values as well. Anything that looks like a path and has an extension (e.g. haml, mustache, markdown, or md) is first converted and the resulting string value is returned. All other values are returned as is.
|
39
|
+
* **layout:** [string], name of the default layout template in the layouts directory
|
40
|
+
* **extension:** [string], the default file extension to use when generating files
|
41
|
+
* **site_name:** [string], the site's title
|
42
|
+
|
43
|
+
* **redcarpet:**, this section allows you to change how the [redcarpet][redcarpet] gem is used. See that gem for details on the extensions options.
|
44
|
+
* **extensions:**
|
45
|
+
* **non\_intra\_emphasis:** [boolean]
|
46
|
+
* **tables:** [boolean]
|
47
|
+
* **fenced\_code\_blocks:** [boolean]
|
48
|
+
* **autolink:** [boolean]
|
49
|
+
* **strikethrough:** [boolean]
|
50
|
+
* **lax\_html\_blocks:** [boolean]
|
51
|
+
* **space\_after\_headers:** [boolean]
|
52
|
+
* **superscript:** [boolean]
|
53
|
+
* **renderer:**
|
54
|
+
* **filter\_html:** [boolean]
|
55
|
+
* **no\_images:** [boolean]
|
56
|
+
* **no\_links:** [boolean]
|
57
|
+
* **no\_styles:** [boolean]
|
58
|
+
* **safe\_links\_only:** [boolean]
|
59
|
+
* **with\_toc\_data:** [boolean]
|
60
|
+
* **hard\_wrap:** [boolean]
|
61
|
+
* **xhtml:** [boolean]
|
62
|
+
|
63
|
+
### Default Configuration
|
64
|
+
|
65
|
+
paths:
|
66
|
+
:pages: _pages
|
67
|
+
:posts: _posts
|
68
|
+
:layouts: _layouts
|
69
|
+
defaults:
|
70
|
+
:layout: "default.haml"
|
71
|
+
:extension: html
|
72
|
+
:site_name: "Another Beautiful Willow Site"
|
73
|
+
redcarpet:
|
74
|
+
extensions:
|
75
|
+
:non_intra_emphasis: false
|
76
|
+
:tables: false
|
77
|
+
:fenced_code_blocks: false
|
78
|
+
:autolink: false
|
79
|
+
:strikethrough: false
|
80
|
+
:lax_html_blocks: false
|
81
|
+
:space_after_headers: false
|
82
|
+
:superscript: false
|
83
|
+
renderer:
|
84
|
+
:filter_html: false
|
85
|
+
:no_images: false
|
86
|
+
:no_links: false
|
87
|
+
:no_styles: false
|
88
|
+
:safe_links_only: false
|
89
|
+
:with_toc_data: false
|
90
|
+
:hard_wrap: false
|
91
|
+
:xhtml: false
|
92
|
+
|
93
|
+
## Usage
|
94
|
+
|
95
|
+
Creating
|
96
|
+
|
97
|
+
[willow]: https://github.com/patrickward/willow
|
98
|
+
[jekyll]: https://github.com/mojombo/jekyll
|
99
|
+
[nanoc]: https://github.com/ddfreyne/nanoc
|
100
|
+
[haml]: https://github.com/nex3/haml
|
101
|
+
[mustache]: https://github.com/defunkt/mustache
|
102
|
+
[handlebars]: https://github.com/wycats/handlebars.js
|
103
|
+
[redcarpet]: https://github.com/tanoku/redcarpet
|
104
|
+
[rainbow]: https://github.com/sickill/rainbow
|
105
|
+
|
106
|
+
|
107
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
data/lib/willow.rb
ADDED
data/willow.gemspec
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
require "willow/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "willow"
|
7
|
+
s.version = Willow::VERSION
|
8
|
+
s.authors = ["Patrick Ward"]
|
9
|
+
s.email = ["patrick@xoffxon.com"]
|
10
|
+
s.homepage = ""
|
11
|
+
s.summary = %q{Willow is a slender system for generating static websites.}
|
12
|
+
s.description = %q{Willow is a slender system for generating static websites.}
|
13
|
+
|
14
|
+
s.rubyforge_project = "willow"
|
15
|
+
|
16
|
+
s.files = `git ls-files`.split("\n")
|
17
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
|
+
s.require_paths = ["lib"]
|
20
|
+
|
21
|
+
# specify any dependencies here; for example:
|
22
|
+
# s.add_development_dependency "rspec"
|
23
|
+
# s.add_runtime_dependency "rest-client"
|
24
|
+
end
|
metadata
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: willow
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Patrick Ward
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2011-12-29 00:00:00.000000000Z
|
13
|
+
dependencies: []
|
14
|
+
description: Willow is a slender system for generating static websites.
|
15
|
+
email:
|
16
|
+
- patrick@xoffxon.com
|
17
|
+
executables: []
|
18
|
+
extensions: []
|
19
|
+
extra_rdoc_files: []
|
20
|
+
files:
|
21
|
+
- .gitignore
|
22
|
+
- Gemfile
|
23
|
+
- README.md
|
24
|
+
- Rakefile
|
25
|
+
- lib/willow.rb
|
26
|
+
- lib/willow/version.rb
|
27
|
+
- willow.gemspec
|
28
|
+
homepage: ''
|
29
|
+
licenses: []
|
30
|
+
post_install_message:
|
31
|
+
rdoc_options: []
|
32
|
+
require_paths:
|
33
|
+
- lib
|
34
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
35
|
+
none: false
|
36
|
+
requirements:
|
37
|
+
- - ! '>='
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0'
|
40
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
requirements: []
|
47
|
+
rubyforge_project: willow
|
48
|
+
rubygems_version: 1.8.10
|
49
|
+
signing_key:
|
50
|
+
specification_version: 3
|
51
|
+
summary: Willow is a slender system for generating static websites.
|
52
|
+
test_files: []
|