textigniter 0.0.35 → 0.0.36

Sign up to get free protection for your applications and to get access to all the features.
@@ -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@
@@ -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}.textigniter"
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'
@@ -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
- # Parse the text
19
- text_items = TextParser.new.process(build_list('html'))
20
- # Parse the template
21
- template_items = TemplateParser.new.process(text_items)
22
- # Parse the styles
23
- style_items = StyleParser.new.process(build_list('styles'))
24
- # Parse the scripts
25
- script_items = ScriptParser.new.process(build_list('scripts'))
26
- # Render html to file
27
- RenderFiles.new.render(template_items, 'html')
28
- # Render styles to file
29
- RenderFiles.new.render(style_items, 'css')
30
- # Render scripts to file
31
- RenderFiles.new.render(script_items, 'js')
32
- end
33
-
34
- # Create a build list to pass to parsers
35
- def build_list(format)
36
- # switch on format
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
- # create an array to store the new build list in
49
- cleaned_build_list = Array.new
50
- # Clean up the build list
51
- build_list.each do |l|
52
- # if not a directory keep the file
53
- unless File.directory?(l)
54
- cleaned_build_list.push l
55
- end
56
- end
57
- # Return the list
58
- return cleaned_build_list
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/build/script_parser'
67
- require 'textigniter/build/style_parser'
68
- require 'textigniter/build/template_parser'
69
- require 'textigniter/build/text_parser'
70
- require 'yaml'
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 'html'
17
+ when 'content'
20
18
  filename = item['directory'] + '/index.html'
21
- when 'css'
19
+ when 'styles'
22
20
  filename = item['directory'] + '/' + item['filename'] + '.css'
23
- when 'js'
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,3 @@
1
+ class Textigniter::Parsers
2
+
3
+ end
@@ -1,4 +1,5 @@
1
- class Textigniter::Build::BlogParser
1
+ # This class parses for blog content
2
+ class Textigniter::Parsers::BlogParser
2
3
 
3
4
  def parse(blogs)
4
5
  # blog keys
@@ -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::Build::ScriptParser
2
+ class Textigniter::Parsers::ScriptParser
3
3
 
4
4
  def process(build_list)
5
5
  # Output message
6
- STDOUT.puts "Parsing ".yellow_on_black + "[coffeescript]".blue_on_black + " scripts ".yellow_on_black + "[OK]".green_on_black
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::Build::StyleParser
2
+ class Textigniter::Parsers::StyleParser
3
3
 
4
- def process(build_list)
4
+ def process(build_list)
5
5
  # Output message
6
- STDOUT.puts "Parsing ".yellow_on_black + "[less]".blue_on_black + " styles ".yellow_on_black + "[OK]".green_on_black
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::Build::TemplateParser
2
+ class Textigniter::Parsers::TemplateParser
3
3
 
4
4
  def process(item_list)
5
5
  # Output message
6
- STDOUT.puts "Parsing ".yellow_on_black + "[liquid]".blue_on_black + " templates ".yellow_on_black + "[OK]".green_on_black
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::Build::TextParser
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 "Parsing ".yellow_on_black + "[#{$config['text_parser']}]".blue_on_black + " content ".yellow_on_black + "[OK]".green_on_black
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::Build::BlogParser.new
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 '../build/blog_parser'
147
+ require_relative '../parsers/blog_parser'
139
148
  require_relative '../plugins'
@@ -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.35'
5
+ s.version = '0.0.36'
6
6
  s.executables << 'textigniter'
7
- s.date = '2011-11-19'
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. You can have as many blogs as you want and use 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)
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 = 'jkheitzman@gmail.com'
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.35
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-19 00:00:00.000000000Z
12
+ date: 2011-11-25 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: RedCloth
16
- requirement: &70149730914420 !ruby/object:Gem::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: *70149730914420
24
+ version_requirements: *70212859033000
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: kramdown
27
- requirement: &70149730913540 !ruby/object:Gem::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: *70149730913540
35
+ version_requirements: *70212859027480
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: liquid
38
- requirement: &70149730912820 !ruby/object:Gem::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: *70149730912820
46
+ version_requirements: *70212859024220
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: less
49
- requirement: &70149730912340 !ruby/object:Gem::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: *70149730912340
57
+ version_requirements: *70212859019260
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: coffee-script
60
- requirement: &70149730911820 !ruby/object:Gem::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: *70149730911820
68
+ version_requirements: *70212859010140
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: colored
71
- requirement: &70149730911240 !ruby/object:Gem::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: *70149730911240
79
+ version_requirements: *70212859008460
80
80
  description: ! " Textigniter is a lightweight static site generator based on textile
81
- (markdown optional), liquid, less, and coffeescript. You can have as many blogs
82
- as you want and use your own custom meta tags in templates without having to write
83
- plugins for them (You can however write plugins to add more power to your text-based
84
- information) \n"
85
- email: jkheitzman@gmail.com
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: