textigniter 0.0.35 → 0.0.36
Sign up to get free protection for your applications and to get access to all the features.
- data/README.textile +8 -0
- data/lib/skeleton/.textigniter/manifests/README.textile +0 -0
- data/lib/textigniter.rb +14 -2
- data/lib/textigniter/build.rb +50 -45
- data/lib/textigniter/build/render_files.rb +3 -5
- data/lib/textigniter/list.rb +85 -0
- data/lib/textigniter/parsers.rb +3 -0
- data/lib/textigniter/{build → parsers}/blog_parser.rb +2 -1
- data/lib/textigniter/parsers/manifest_parser.rb +41 -0
- data/lib/textigniter/{build → parsers}/script_parser.rb +9 -3
- data/lib/textigniter/{build → parsers}/style_parser.rb +9 -3
- data/lib/textigniter/{build → parsers}/template_parser.rb +2 -2
- data/lib/textigniter/{build → parsers}/text_parser.rb +13 -4
- data/textigniter.gemspec +15 -11
- metadata +30 -26
data/README.textile
CHANGED
@@ -22,8 +22,16 @@ Passing the init option initializes a new textigniter environment in your curren
|
|
22
22
|
|
23
23
|
Passing the build option will make textigniter parse the _.textigniter_ directory and output the static html alongside the _.textigniter_ directory.
|
24
24
|
|
25
|
+
Passing the build option also creates a manifest _(.textigniter/manifest/)_ for the system to key off of in the future. The manifest tells textigniter only to rebuild modified or new files.
|
26
|
+
|
27
|
+
@textigniter list (directory)@
|
28
|
+
|
29
|
+
This will print out a list all textigniter files unless you specify a directory. Passing the directory option will list only that directory (Duh?) This is the only textigniter command that requires you to be in the textigniter environment to work.
|
30
|
+
|
25
31
|
@textignier scrub (directory)@
|
26
32
|
|
33
|
+
*WARNING: essentially an rm -r unix command at this point. If you run it with directory specified, it will remove the entire directory and not just textigniter content*
|
34
|
+
|
27
35
|
When you pass the scrub option, all textigniter related files and folders will be removed (I'm rethinking the use of this. It will probably "scrub" the base folder of anything not found in the textigniter environment instead).
|
28
36
|
|
29
37
|
@textigniter help@
|
File without changes
|
data/lib/textigniter.rb
CHANGED
@@ -13,7 +13,6 @@ class Textigniter
|
|
13
13
|
|
14
14
|
# Contains a switch for arguments passed via the command line
|
15
15
|
def initialize
|
16
|
-
|
17
16
|
# Globals being created
|
18
17
|
#
|
19
18
|
# $beginning Time script began to run
|
@@ -42,7 +41,7 @@ class Textigniter
|
|
42
41
|
end
|
43
42
|
|
44
43
|
# Store textigniter enviornment path in a global
|
45
|
-
$twd = "#{$base_path}
|
44
|
+
$twd = "#{$base_path}/.textigniter"
|
46
45
|
|
47
46
|
# Store configuration information into a global
|
48
47
|
if File.exists?("#{$twd}/config.yml")
|
@@ -78,6 +77,8 @@ class Textigniter
|
|
78
77
|
Textigniter.help(args)
|
79
78
|
when "init"
|
80
79
|
Textigniter.init(args)
|
80
|
+
when "list"
|
81
|
+
Textigniter.list(args)
|
81
82
|
when "scrub"
|
82
83
|
Textigniter.scrub(args)
|
83
84
|
when "view"
|
@@ -118,6 +119,16 @@ class Textigniter
|
|
118
119
|
end
|
119
120
|
end
|
120
121
|
|
122
|
+
# Initialize a new list object
|
123
|
+
def self.list(args=nil)
|
124
|
+
# create a new list instance
|
125
|
+
@list = List.new
|
126
|
+
# get a file list
|
127
|
+
files = @list.get_directory_listing(args)
|
128
|
+
# print the file list
|
129
|
+
@list.print_directory_listing(files)
|
130
|
+
end
|
131
|
+
|
121
132
|
# Initialize a new scrub object
|
122
133
|
def self.scrub(args=nil)
|
123
134
|
# Check for an existing environment
|
@@ -144,5 +155,6 @@ require 'colored'
|
|
144
155
|
require 'textigniter/build'
|
145
156
|
require 'textigniter/help'
|
146
157
|
require 'textigniter/init'
|
158
|
+
require 'textigniter/list'
|
147
159
|
require 'textigniter/scrub'
|
148
160
|
require 'yaml'
|
data/lib/textigniter/build.rb
CHANGED
@@ -15,47 +15,51 @@ class Textigniter::Build
|
|
15
15
|
STDOUT.puts "\r\nHint: ".white_on_black + "textigniter init ".bold.white_on_black + " creates a new environment\r\n".white_on_black
|
16
16
|
exit
|
17
17
|
end
|
18
|
-
#
|
19
|
-
|
20
|
-
#
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
case format
|
38
|
-
when 'html'
|
39
|
-
# Create the html list
|
40
|
-
build_list = Dir.glob("#{$twd}/content/**/*")
|
41
|
-
when 'styles'
|
42
|
-
# Create the style list
|
43
|
-
build_list = Dir.glob("#{$twd}/styles/**/*")
|
44
|
-
when 'scripts'
|
45
|
-
# Create the script list
|
46
|
-
build_list = Dir.glob("#{$twd}/scripts/**/*")
|
18
|
+
# get the content list
|
19
|
+
content = list.get_build_list('content')
|
20
|
+
# process and render unless nil
|
21
|
+
unless content.nil?
|
22
|
+
# Parse the text
|
23
|
+
text_items = Textigniter::Parsers::TextParser.new.process(content)
|
24
|
+
# Parse the template
|
25
|
+
template_items = Textigniter::Parsers::TemplateParser.new.process(text_items)
|
26
|
+
# Render html to file
|
27
|
+
RenderFiles.new.render(template_items, 'content')
|
28
|
+
end
|
29
|
+
# get the styles list
|
30
|
+
styles = list.get_build_list('styles')
|
31
|
+
# process and render unless nil
|
32
|
+
unless styles.nil?
|
33
|
+
# Parse the styles
|
34
|
+
style_items = Textigniter::Parsers::StyleParser.new.process(styles)
|
35
|
+
# Render styles to file
|
36
|
+
RenderFiles.new.render(style_items, 'styles')
|
47
37
|
end
|
48
|
-
#
|
49
|
-
|
50
|
-
#
|
51
|
-
|
52
|
-
#
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
end
|
57
|
-
#
|
58
|
-
|
38
|
+
# get the scripts list
|
39
|
+
scripts = list.get_build_list('scripts')
|
40
|
+
# process and render unless nil
|
41
|
+
unless scripts.nil?
|
42
|
+
# Parse the scripts
|
43
|
+
script_items = Textigniter::Parsers::ScriptParser.new.process(scripts)
|
44
|
+
# Render scripts to file
|
45
|
+
RenderFiles.new.render(script_items, 'scripts')
|
46
|
+
end
|
47
|
+
# write files to .content.yml
|
48
|
+
manifest.write_manifest('content')
|
49
|
+
# write files to .styles.yml
|
50
|
+
manifest.write_manifest('styles')
|
51
|
+
# write files to .scripts.yml
|
52
|
+
manifest.write_manifest('scripts')
|
53
|
+
end
|
54
|
+
|
55
|
+
# manifest parser
|
56
|
+
def manifest
|
57
|
+
@manifest = Textigniter::Parsers::ManifestParser.new
|
58
|
+
end
|
59
|
+
|
60
|
+
# Textigniter::List object
|
61
|
+
def list
|
62
|
+
@list = Textigniter::List.new
|
59
63
|
end
|
60
64
|
|
61
65
|
end
|
@@ -63,8 +67,9 @@ end
|
|
63
67
|
# Requirements needed
|
64
68
|
require 'fileutils'
|
65
69
|
require 'textigniter/build/render_files'
|
66
|
-
require 'textigniter/
|
67
|
-
require 'textigniter/
|
68
|
-
require 'textigniter/
|
69
|
-
require 'textigniter/
|
70
|
-
require '
|
70
|
+
require 'textigniter/parsers'
|
71
|
+
require 'textigniter/parsers/manifest_parser'
|
72
|
+
require 'textigniter/parsers/script_parser'
|
73
|
+
require 'textigniter/parsers/style_parser'
|
74
|
+
require 'textigniter/parsers/template_parser'
|
75
|
+
require 'textigniter/parsers/text_parser'
|
@@ -8,19 +8,17 @@ class Textigniter::Build::RenderFiles
|
|
8
8
|
|
9
9
|
# Renders static content to file
|
10
10
|
def render(items, format)
|
11
|
-
# Output start message
|
12
|
-
STDOUT.puts "Rendering #{format} to file ".yellow_on_black + "[OK]".green_on_black
|
13
11
|
# Render each item
|
14
12
|
items.each do |item|
|
15
13
|
# Recursively create directory if it doesn't exist
|
16
14
|
FileUtils.mkpath item['directory']
|
17
15
|
# Switch based on format and build a filename
|
18
16
|
case format
|
19
|
-
when '
|
17
|
+
when 'content'
|
20
18
|
filename = item['directory'] + '/index.html'
|
21
|
-
when '
|
19
|
+
when 'styles'
|
22
20
|
filename = item['directory'] + '/' + item['filename'] + '.css'
|
23
|
-
when '
|
21
|
+
when 'scripts'
|
24
22
|
filename = item['directory'] + '/' + item['filename'] + '.js'
|
25
23
|
end
|
26
24
|
# Write the output to file
|
@@ -0,0 +1,85 @@
|
|
1
|
+
# lists files
|
2
|
+
class Textigniter::List
|
3
|
+
|
4
|
+
def initialize
|
5
|
+
|
6
|
+
end
|
7
|
+
|
8
|
+
# manifest parser
|
9
|
+
def manifest
|
10
|
+
@manifest = Textigniter::Parsers::ManifestParser.new
|
11
|
+
end
|
12
|
+
|
13
|
+
# generates a build list
|
14
|
+
def get_build_list(format)
|
15
|
+
# Create the html list
|
16
|
+
build_list1 = Dir.glob("#{$twd}/#{format}/**/*")
|
17
|
+
# build the manifest
|
18
|
+
manifest_build_list = manifest.get_manifest("#{format}")
|
19
|
+
# create an array to store the new build list in
|
20
|
+
build_list2 = Array.new
|
21
|
+
# Clean up the build list
|
22
|
+
build_list1.each do |l|
|
23
|
+
# if not a directory keep the file
|
24
|
+
unless File.directory?(l)
|
25
|
+
build_list2.push({ filename: l, modified_at: File.mtime(l) })
|
26
|
+
end
|
27
|
+
end
|
28
|
+
# create the cleaned list
|
29
|
+
cleaned_build_list = build_list2 - manifest_build_list
|
30
|
+
|
31
|
+
unless cleaned_build_list.count == 0
|
32
|
+
# perfect_build_list
|
33
|
+
perfect_build_list = Array.new
|
34
|
+
# do some final pruning
|
35
|
+
cleaned_build_list.each do |item|
|
36
|
+
perfect_build_list.push item[:filename]
|
37
|
+
end
|
38
|
+
# Return the list
|
39
|
+
return perfect_build_list
|
40
|
+
else
|
41
|
+
return nil
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
# print requested list to the command line
|
46
|
+
def get_directory_listing(format=nil)
|
47
|
+
# get the keyword for message output
|
48
|
+
unless format.nil?
|
49
|
+
keyword = format
|
50
|
+
else
|
51
|
+
keyword = "everything"
|
52
|
+
end
|
53
|
+
# output message
|
54
|
+
STDOUT.puts "Building a directory listing for ".yellow_on_black + "[#{keyword}]".blue_on_black
|
55
|
+
# files hash
|
56
|
+
files = Hash.new
|
57
|
+
# check for format
|
58
|
+
unless format.nil?
|
59
|
+
files[format] = Dir.glob("#{$twd}/#{format}/**/*")
|
60
|
+
# get everything if format not specified
|
61
|
+
else
|
62
|
+
files['content'] = Dir.glob("#{$twd}/content/**/*")
|
63
|
+
files['layouts'] = Dir.glob("#{$twd}/layouts/**/*")
|
64
|
+
files['styles'] = Dir.glob("#{$twd}/styles/**/*")
|
65
|
+
files['scripts'] = Dir.glob("#{$twd}/scripts/**/*")
|
66
|
+
end
|
67
|
+
# return files
|
68
|
+
return files
|
69
|
+
end
|
70
|
+
|
71
|
+
def print_directory_listing(files)
|
72
|
+
# break files apart by key, value
|
73
|
+
files.each do |key, values|
|
74
|
+
# print the containing directory
|
75
|
+
STDOUT.puts ".textigniter/#{key}".blue_on_black
|
76
|
+
# print the files
|
77
|
+
values.each do |file|
|
78
|
+
unless File.directory?(file)
|
79
|
+
STDOUT.puts "--#{file.gsub("#{$twd}/#{key}/", '')}".yellow_on_black
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
class Textigniter::Parsers::ManifestParser
|
2
|
+
|
3
|
+
def initialize
|
4
|
+
|
5
|
+
end
|
6
|
+
|
7
|
+
def write_manifest(format)
|
8
|
+
# get the items
|
9
|
+
items = Dir.glob("#{$twd}/#{format}/**/*")
|
10
|
+
# create an array to store the new build list in
|
11
|
+
manifest = Array.new
|
12
|
+
# Clean up the build list
|
13
|
+
items.each do |l|
|
14
|
+
# if not a directory keep the file
|
15
|
+
unless File.directory?(l)
|
16
|
+
manifest.push({ filename: l, modified_at: File.mtime(l) })
|
17
|
+
end
|
18
|
+
end
|
19
|
+
# write the manifest to file
|
20
|
+
File.open("#{$twd}/manifests/#{format}.yml", 'w') do |file|
|
21
|
+
file.write manifest.to_yaml
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
# get the manifest
|
26
|
+
def get_manifest(filename)
|
27
|
+
# manifiest file path
|
28
|
+
file = "#{$twd}/manifests/#{filename}.yml"
|
29
|
+
# check to see if manifest exists
|
30
|
+
if File.file?(file)
|
31
|
+
# get the contents
|
32
|
+
the_manifest = YAML::load(File.open(file))
|
33
|
+
else
|
34
|
+
# fake contents
|
35
|
+
the_manifest = Array.new
|
36
|
+
end
|
37
|
+
# return the manifiest
|
38
|
+
return the_manifest
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
@@ -1,9 +1,9 @@
|
|
1
1
|
# This class parses scripts. Currently it only parses coffeescript
|
2
|
-
class Textigniter::
|
2
|
+
class Textigniter::Parsers::ScriptParser
|
3
3
|
|
4
4
|
def process(build_list)
|
5
5
|
# Output message
|
6
|
-
STDOUT.puts "
|
6
|
+
STDOUT.puts "Rendering ".yellow_on_black + "[coffeescript]".blue_on_black + " scripts ".yellow_on_black + "[OK]".green_on_black
|
7
7
|
# create array to store processed items in
|
8
8
|
items = Array.new
|
9
9
|
# process the build list
|
@@ -18,7 +18,13 @@ class Textigniter::Build::ScriptParser
|
|
18
18
|
directory = File.dirname(f).sub($twd,$owd) + '/'
|
19
19
|
@h['directory'] = directory
|
20
20
|
# get the file name
|
21
|
-
@h['filename'] = File.basename(f, ".coffeescript
|
21
|
+
@h['filename'] = File.basename(f, ".coffeescript")
|
22
|
+
# extension
|
23
|
+
@h['extension'] = File.extname(f)
|
24
|
+
# modified_at key
|
25
|
+
@h['modified_at'] = File.mtime(f)
|
26
|
+
# filename for manifest
|
27
|
+
@h['manifest'] = f
|
22
28
|
# parse the content
|
23
29
|
@h['output'] = parse(contents)
|
24
30
|
# push processed item onto the array
|
@@ -1,9 +1,9 @@
|
|
1
1
|
# The StyleParser parses css files. Currently it only parses less files.
|
2
|
-
class Textigniter::
|
2
|
+
class Textigniter::Parsers::StyleParser
|
3
3
|
|
4
|
-
def process(build_list)
|
4
|
+
def process(build_list)
|
5
5
|
# Output message
|
6
|
-
STDOUT.puts "
|
6
|
+
STDOUT.puts "Rendering ".yellow_on_black + "[less]".blue_on_black + " styles ".yellow_on_black + "[OK]".green_on_black
|
7
7
|
# create array to store processed items in
|
8
8
|
items = Array.new
|
9
9
|
# process the build list
|
@@ -19,6 +19,12 @@ class Textigniter::Build::StyleParser
|
|
19
19
|
@h['directory'] = directory
|
20
20
|
# get the file name
|
21
21
|
@h['filename'] = File.basename(f, ".less")
|
22
|
+
# filename for manifest
|
23
|
+
@h['manifest'] = f
|
24
|
+
# extension
|
25
|
+
@h['extension'] = File.extname(f)
|
26
|
+
# modified_at key
|
27
|
+
@h['modified_at'] = File.mtime(f)
|
22
28
|
# parse the content
|
23
29
|
@h['output'] = parse(contents)
|
24
30
|
# push processed item onto the array
|
@@ -1,9 +1,9 @@
|
|
1
1
|
# This class parses templates. Currently it only parses liquid templates
|
2
|
-
class Textigniter::
|
2
|
+
class Textigniter::Parsers::TemplateParser
|
3
3
|
|
4
4
|
def process(item_list)
|
5
5
|
# Output message
|
6
|
-
STDOUT.puts "
|
6
|
+
STDOUT.puts "Rendering ".yellow_on_black + "[liquid]".blue_on_black + " templates ".yellow_on_black + "[OK]".green_on_black
|
7
7
|
# create an array to store processed templates
|
8
8
|
items = Array.new
|
9
9
|
# iterate through the item list and parse templates
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# this is the script parser
|
2
|
-
class Textigniter::
|
2
|
+
class Textigniter::Parsers::TextParser
|
3
3
|
|
4
4
|
def plugins
|
5
5
|
@plugins = Textigniter::Plugins.new
|
@@ -8,7 +8,7 @@ class Textigniter::Build::TextParser
|
|
8
8
|
# parse the text and build a hash to send to template rendering
|
9
9
|
def process(build_list)
|
10
10
|
# Output message
|
11
|
-
STDOUT.puts "
|
11
|
+
STDOUT.puts "Rendering ".yellow_on_black + "[#{$config['text_parser']}]".blue_on_black + " content ".yellow_on_black + "[OK]".green_on_black
|
12
12
|
# parse for plugins
|
13
13
|
plugin_parser = Textigniter::Plugins.new
|
14
14
|
# create array to store processed items in
|
@@ -44,6 +44,15 @@ class Textigniter::Build::TextParser
|
|
44
44
|
# created_at key
|
45
45
|
@h['created_at'] = File.basename(f, ".#{$config['text_parser']}")[0..9] unless @h.has_key? 'created_at'
|
46
46
|
|
47
|
+
# modified_at key
|
48
|
+
@h['modified_at'] = File.mtime(f)
|
49
|
+
|
50
|
+
# filename
|
51
|
+
@h['manifest'] = f
|
52
|
+
|
53
|
+
# extension
|
54
|
+
@h['extension'] = File.extname(f)
|
55
|
+
|
47
56
|
# slug key
|
48
57
|
@h['slug'] = "#{File.dirname(f)}/#{File.basename(f, ".#{$config['text_parser']}")}" unless @h.has_key? 'slug'
|
49
58
|
|
@@ -82,7 +91,7 @@ class Textigniter::Build::TextParser
|
|
82
91
|
@results['items'] = items
|
83
92
|
|
84
93
|
# initialize a blog parser
|
85
|
-
blog_parser = Textigniter::
|
94
|
+
blog_parser = Textigniter::Parsers::BlogParser.new
|
86
95
|
|
87
96
|
# store blog posts to separate key
|
88
97
|
@results['blogs'] = blog_parser.parse(blogs)
|
@@ -135,5 +144,5 @@ end
|
|
135
144
|
|
136
145
|
# requirements
|
137
146
|
require 'date'
|
138
|
-
require_relative '../
|
147
|
+
require_relative '../parsers/blog_parser'
|
139
148
|
require_relative '../plugins'
|
data/textigniter.gemspec
CHANGED
@@ -2,17 +2,17 @@ Gem::Specification.new do |s|
|
|
2
2
|
s.rubygems_version = '1.9.2'
|
3
3
|
|
4
4
|
s.name = 'textigniter'
|
5
|
-
s.version = '0.0.
|
5
|
+
s.version = '0.0.36'
|
6
6
|
s.executables << 'textigniter'
|
7
|
-
s.date = '2011-11-
|
7
|
+
s.date = '2011-11-25'
|
8
8
|
|
9
9
|
s.summary = 'A static site generator'
|
10
10
|
s.description = <<-EOF
|
11
|
-
Textigniter is a lightweight static site generator based on textile (markdown optional), liquid, less, and coffeescript.
|
11
|
+
Textigniter is a lightweight static site generator based on textile (markdown optional), liquid, less, and coffeescript. It supports multiple blogs, custom meta, custom content blocks, and your own custom meta tags in templates without having to write plugins for them (You can however write plugins to add more power to your text-based information)
|
12
12
|
EOF
|
13
13
|
|
14
14
|
s.authors = ["Kaleb Heitzman"]
|
15
|
-
s.email = '
|
15
|
+
s.email = 'kalebheitzman@me.com'
|
16
16
|
s.homepage = 'http://github.com/kalebheitzman/textigniter'
|
17
17
|
|
18
18
|
s.extra_rdoc_files = %w[README.textile LICENSE]
|
@@ -38,22 +38,26 @@ Gem::Specification.new do |s|
|
|
38
38
|
lib/skeleton/.textigniter/layouts/default.liquid
|
39
39
|
lib/skeleton/.textigniter/layouts/partials/_header.liquid
|
40
40
|
lib/skeleton/.textigniter/layouts/partials/_footer.liquid
|
41
|
+
lib/skeleton/.textigniter/manifests/README.textile
|
41
42
|
lib/skeleton/.textigniter/plugins/README.textile
|
42
43
|
lib/textigniter.rb
|
43
44
|
lib/textigniter/build.rb
|
45
|
+
lib/textigniter/build/render_files.rb
|
44
46
|
lib/textigniter/help.rb
|
45
47
|
lib/textigniter/init.rb
|
48
|
+
lib/textigniter/list.rb
|
49
|
+
lib/textigniter/parsers.rb
|
50
|
+
lib/textigniter/parsers/blog_parser.rb
|
51
|
+
lib/textigniter/parsers/manifest_parser.rb
|
52
|
+
lib/textigniter/parsers/script_parser.rb
|
53
|
+
lib/textigniter/parsers/style_parser.rb
|
54
|
+
lib/textigniter/parsers/template_parser.rb
|
55
|
+
lib/textigniter/parsers/text_parser.rb
|
46
56
|
lib/textigniter/plugins.rb
|
47
|
-
lib/textigniter/scrub.rb
|
48
|
-
lib/textigniter/build/blog_parser.rb
|
49
|
-
lib/textigniter/build/render_files.rb
|
50
|
-
lib/textigniter/build/script_parser.rb
|
51
|
-
lib/textigniter/build/style_parser.rb
|
52
|
-
lib/textigniter/build/template_parser.rb
|
53
|
-
lib/textigniter/build/text_parser.rb
|
54
57
|
lib/textigniter/plugins/breadcrumbs.rb
|
55
58
|
lib/textigniter/plugins/created_at.rb
|
56
59
|
lib/textigniter/plugins/slug.rb
|
60
|
+
lib/textigniter/scrub.rb
|
57
61
|
]
|
58
62
|
# = MANIFEST =
|
59
63
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: textigniter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.36
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-11-
|
12
|
+
date: 2011-11-25 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: RedCloth
|
16
|
-
requirement: &
|
16
|
+
requirement: &70212859033000 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 4.2.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70212859033000
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: kramdown
|
27
|
-
requirement: &
|
27
|
+
requirement: &70212859027480 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 0.13.0
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70212859027480
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: liquid
|
38
|
-
requirement: &
|
38
|
+
requirement: &70212859024220 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 2.3.0
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70212859024220
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: less
|
49
|
-
requirement: &
|
49
|
+
requirement: &70212859019260 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 2.0.0
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70212859019260
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: coffee-script
|
60
|
-
requirement: &
|
60
|
+
requirement: &70212859010140 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 2.2.0
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70212859010140
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: colored
|
71
|
-
requirement: &
|
71
|
+
requirement: &70212859008460 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ~>
|
@@ -76,13 +76,13 @@ dependencies:
|
|
76
76
|
version: '1.0'
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70212859008460
|
80
80
|
description: ! " Textigniter is a lightweight static site generator based on textile
|
81
|
-
(markdown optional), liquid, less, and coffeescript.
|
82
|
-
|
83
|
-
plugins for them (You can however write plugins to add more power
|
84
|
-
information) \n"
|
85
|
-
email:
|
81
|
+
(markdown optional), liquid, less, and coffeescript. It supports multiple blogs,
|
82
|
+
custom meta, custom content blocks, and your own custom meta tags in templates without
|
83
|
+
having to write plugins for them (You can however write plugins to add more power
|
84
|
+
to your text-based information) \n"
|
85
|
+
email: kalebheitzman@me.com
|
86
86
|
executables:
|
87
87
|
- textigniter
|
88
88
|
extensions: []
|
@@ -102,22 +102,26 @@ files:
|
|
102
102
|
- lib/skeleton/.textigniter/layouts/default.liquid
|
103
103
|
- lib/skeleton/.textigniter/layouts/partials/_header.liquid
|
104
104
|
- lib/skeleton/.textigniter/layouts/partials/_footer.liquid
|
105
|
+
- lib/skeleton/.textigniter/manifests/README.textile
|
105
106
|
- lib/skeleton/.textigniter/plugins/README.textile
|
106
107
|
- lib/textigniter.rb
|
107
108
|
- lib/textigniter/build.rb
|
109
|
+
- lib/textigniter/build/render_files.rb
|
108
110
|
- lib/textigniter/help.rb
|
109
111
|
- lib/textigniter/init.rb
|
112
|
+
- lib/textigniter/list.rb
|
113
|
+
- lib/textigniter/parsers.rb
|
114
|
+
- lib/textigniter/parsers/blog_parser.rb
|
115
|
+
- lib/textigniter/parsers/manifest_parser.rb
|
116
|
+
- lib/textigniter/parsers/script_parser.rb
|
117
|
+
- lib/textigniter/parsers/style_parser.rb
|
118
|
+
- lib/textigniter/parsers/template_parser.rb
|
119
|
+
- lib/textigniter/parsers/text_parser.rb
|
110
120
|
- lib/textigniter/plugins.rb
|
111
|
-
- lib/textigniter/scrub.rb
|
112
|
-
- lib/textigniter/build/blog_parser.rb
|
113
|
-
- lib/textigniter/build/render_files.rb
|
114
|
-
- lib/textigniter/build/script_parser.rb
|
115
|
-
- lib/textigniter/build/style_parser.rb
|
116
|
-
- lib/textigniter/build/template_parser.rb
|
117
|
-
- lib/textigniter/build/text_parser.rb
|
118
121
|
- lib/textigniter/plugins/breadcrumbs.rb
|
119
122
|
- lib/textigniter/plugins/created_at.rb
|
120
123
|
- lib/textigniter/plugins/slug.rb
|
124
|
+
- lib/textigniter/scrub.rb
|
121
125
|
- LICENSE
|
122
126
|
homepage: http://github.com/kalebheitzman/textigniter
|
123
127
|
licenses:
|