middleman-blog 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/.gitignore CHANGED
@@ -2,4 +2,5 @@
2
2
  .bundle
3
3
  Gemfile.lock
4
4
  pkg/*
5
- .DS_Store
5
+ .rvmrc
6
+ .DS_Store
@@ -1,3 +1,2 @@
1
- require "middleman-blog/separator"
2
- require "middleman-blog/tilt"
3
- require "middleman-blog/blog_engine"
1
+ require "middleman-blog/feature"
2
+ require "middleman-blog/template"
@@ -0,0 +1,155 @@
1
+ module Middleman
2
+ module Features
3
+ module Blog
4
+ class << self
5
+ def registered(app)
6
+ # Include helpers
7
+ app.helpers Middleman::Features::Blog::Helpers
8
+
9
+ app.after_configuration do
10
+ if !app.settings.respond_to? :blog_permalink
11
+ app.set :blog_permalink, ":year/:month/:day/:title.html"
12
+ end
13
+
14
+ if !app.settings.respond_to? :blog_taglink
15
+ app.set :blog_taglink, "tags/:tag.html"
16
+ end
17
+
18
+ if !app.settings.respond_to? :blog_layout
19
+ app.set :blog_layout, "layout"
20
+ end
21
+
22
+ if !app.settings.respond_to? :blog_summary_separator
23
+ app.set :blog_summary_separator, /READMORE/
24
+ end
25
+
26
+ if !app.settings.respond_to? :blog_summary_length
27
+ app.set :blog_summary_length, 250
28
+ end
29
+
30
+ if !app.settings.respond_to? :blog_layout_engine
31
+ app.set :blog_layout_engine, "erb"
32
+ end
33
+
34
+ if !app.settings.respond_to? :blog_index_template
35
+ app.set :blog_index_template, "index_template"
36
+ end
37
+
38
+ if !app.settings.respond_to? :blog_article_template
39
+ app.set :blog_article_template, "article_template"
40
+ end
41
+
42
+ if !app.build?
43
+ $stderr.puts "== Blog: #{app.settings.blog_permalink}"
44
+ end
45
+
46
+ app.get("/#{app.blog_permalink}") do
47
+ process_request({
48
+ :layout => app.blog_layout,
49
+ :layout_engine => app.blog_layout_engine
50
+ })
51
+
52
+ # No need for separator on permalink page
53
+ body body.gsub!(app.blog_summary_separator, "")
54
+ end
55
+ end
56
+
57
+ app.before_processing do
58
+ articles_glob = File.join(app.views, app.settings.blog_permalink.gsub(/(:\w+)/, "*") + ".*")
59
+
60
+ articles = Dir[articles_glob].map do |article|
61
+ template_content = File.read(article)
62
+ data, content = app.parse_front_matter(template_content)
63
+ data["date"] = Date.parse(data["date"])
64
+
65
+ data["raw"] = content
66
+ data["url"] = article.gsub(app.views, "").split(".html").first + ".html"
67
+
68
+ all_content = Tilt.new(article).render
69
+ data["body"] = all_content.gsub!(app.settings.blog_summary_separator, "")
70
+
71
+ sum = if data["raw"] =~ app.settings.blog_summary_separator
72
+ data["raw"].split(app.settings.blog_summary_separator).first
73
+ else
74
+ data["raw"].match(/(.{1,#{app.settings.blog_summary_length}}.*?)(\n|\Z)/m).to_s
75
+ end
76
+
77
+ engine = app.settings.markdown_engine.new { sum }
78
+ data["summary"] = engine.render
79
+ data
80
+ end.sort { |a, b| b["date"] <=> a["date"] }
81
+
82
+ tags = {}
83
+ articles.each do |article|
84
+ article["tags"] ||= ""
85
+ if !article["tags"].empty?
86
+ tags_array = article["tags"].split(',').map{|t| t.strip}
87
+ tags_array.each do |tag_title|
88
+ tag_key = tag_title.parameterize
89
+ tag_path = blog_taglink.gsub(/(:\w+)/, tag_key)
90
+ (tags[tag_path] ||= {})["title"] = tag_title
91
+ tags[tag_path]["ident"] = tag_key
92
+ (tags[tag_path]["pages"] ||= {})[article["title"]] = article["url"]
93
+ end
94
+ end
95
+ end
96
+
97
+ app.data_content("blog", { :articles => articles, :tags => tags })
98
+ true
99
+ end
100
+ end
101
+ alias :included :registered
102
+ end
103
+
104
+ module Helpers
105
+ def is_blog_article?
106
+ !current_article_title.blank?
107
+ end
108
+
109
+ def blog_title
110
+ end
111
+
112
+ def current_article_date
113
+ DateTime.parse(current_article_metadata.date)
114
+ end
115
+
116
+ def current_article_title
117
+ current_article_metadata.title
118
+ end
119
+
120
+ def current_article_metadata
121
+ data.page
122
+ end
123
+
124
+ def current_article_tags
125
+ article_tags_hash = {}
126
+ if is_blog_article? && current_article_metadata.tags
127
+ article_tags = current_article_metadata.tags.split(',').map{|t| t.strip}
128
+ article_tags.each do |tag_title|
129
+ article_tags_hash[tag_title] = self.class.blog_taglink.gsub(/(:\w+)/, tag_title.parameterize)
130
+ end
131
+ end
132
+ article_tags_hash
133
+ end
134
+
135
+ def blog_tags
136
+ data.blog.tags
137
+ end
138
+
139
+ def current_tag_data
140
+ data.blog.tags[request.path]
141
+ end
142
+
143
+ def current_tag_articles
144
+ data.blog.articles.map do |article|
145
+ article if current_tag_data.pages.has_value?(article.url)
146
+ end.compact
147
+ end
148
+
149
+ def current_tag_title
150
+ current_tag_data[:title]
151
+ end
152
+ end
153
+ end
154
+ end
155
+ end
@@ -0,0 +1,24 @@
1
+ module Middleman
2
+ module Blog
3
+ class Template < Middleman::Templates::Base
4
+ def self.source_root
5
+ File.dirname(__FILE__)
6
+ end
7
+
8
+ def build_scaffold
9
+ template "template/config.tt", File.join(location, "config.rb")
10
+ directory "template/source", File.join(location, "source")
11
+
12
+ empty_directory File.join(location, "source", options[:css_dir])
13
+ empty_directory File.join(location, "source", options[:js_dir])
14
+ empty_directory File.join(location, "source", options[:images_dir])
15
+ end
16
+
17
+ def generate_rack
18
+ template "template/config.ru", File.join(location, "config.ru")
19
+ end
20
+ end
21
+ end
22
+ end
23
+
24
+ Middleman::Templates.register(:blog, Middleman::Blog::Template)
@@ -0,0 +1,9 @@
1
+ # Rack config
2
+
3
+ # Look for index files in folders like Apache
4
+ require "rack/contrib/try_static"
5
+ use Rack::TryStatic, :root => "build", :urls => %w[/], :try => ['.html', 'index.html', '/index.html']
6
+
7
+ # Cache static assets
8
+ require "rack/contrib/static_cache"
9
+ use Rack::StaticCache, :urls => ['/'], :root => 'build'
@@ -0,0 +1,18 @@
1
+ activate :blog
2
+ # set :blog_permalink, ":year/:month/:day/:title.html"
3
+ # set :blog_summary_separator, /READMORE/
4
+ # set :blog_summary_length, 500
5
+
6
+ page "/feed.xml", :layout => false
7
+
8
+ # Build-specific configuration
9
+ configure :build do
10
+ # For example, change the Compass output style for deployment
11
+ # activate :minify_css
12
+
13
+ # Minify Javascript on build
14
+ # activate :minify_javascript
15
+
16
+ # Enable cache buster
17
+ # activate :cache_buster
18
+ end
@@ -0,0 +1,6 @@
1
+ ---
2
+ title: "New Article title"
3
+ date: 01/01/2011
4
+ ---
5
+
6
+ Content of my article
@@ -0,0 +1,10 @@
1
+ <h1>Archive: <%# @path %></h1>
2
+ <ul class="archives">
3
+ <% for entry in data.blog.articles %>
4
+ <li>
5
+ <a href="<%= entry.url %>"><%= entry.title %></a>
6
+ <span><%= entry.date.strftime('%b %e') %></span>
7
+ </li>
8
+ <% end %>
9
+ </ul>
10
+
@@ -0,0 +1,23 @@
1
+ xml.instruct!
2
+ xml.feed "xmlns" => "http://www.w3.org/2005/Atom" do
3
+ xml.title "Blog Name"
4
+ xml.subtitle "Blog subtitle"
5
+ xml.id "http://blog.url.com/"
6
+ xml.link "href" => "http://blog.url.com/"
7
+ xml.link "href" => "http://blog.url.com/feed.xml", "rel" => "self"
8
+ xml.updated data.blog.articles.first.date.to_time.iso8601
9
+ xml.author { xml.name "Blog Author" }
10
+
11
+ data.blog.articles.each do |article|
12
+ xml.entry do
13
+ xml.title article.title
14
+ xml.link "rel" => "alternate", "href" => article.url
15
+ xml.id article.url
16
+ xml.published article.date.to_time.iso8601
17
+ xml.updated article.date.to_time.iso8601
18
+ xml.author { xml.name "Article Author" }
19
+ xml.summary article.summary, "type" => "html"
20
+ xml.content article.body, "type" => "html"
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,9 @@
1
+ <% data.blog.articles[0...5].each_with_index do |article, i| %>
2
+ <article class="<%= (i == 0) ? 'first' : '' %>">
3
+ <h1><a href="<%= article.url %>"><%= article.title %></a> <span><%= article.date.strftime('%b %e %Y') %></span></h1>
4
+
5
+ <%= article.summary %>
6
+
7
+ <div class="more"><a href="<%= article.url %>">read on &raquo;</a></div>
8
+ </article>
9
+ <% end %>
@@ -0,0 +1,30 @@
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta http-equiv='X-UA-Compatible' content='IE=edge;chrome=1' />
6
+ </head>
7
+ <body>
8
+
9
+ <div id="main" role="main">
10
+ <% if is_blog_article? %>
11
+ <% content_for :blog_article, yield %>
12
+ <%= partial settings.blog_article_template %>
13
+ <% else %>
14
+ <%= yield %>
15
+ <% end %>
16
+ </div>
17
+
18
+ <aside>
19
+ <h2>
20
+ Recent Articles
21
+ <a href="/archives">Archive</a>
22
+ </h2>
23
+ <ol>
24
+ <% data.blog.articles[0...10].each do |article| %>
25
+ <li><a href="<%= article.url %>"><%= article.title %></a> <span><%= article.date.strftime('%b %e') %></span></li>
26
+ <% end %>
27
+ </li>
28
+ </aside>
29
+ </body>
30
+ </html>
@@ -1,5 +1,5 @@
1
1
  module Middleman
2
2
  module Blog
3
- VERSION = "0.0.1"
3
+ VERSION = "0.1.0"
4
4
  end
5
5
  end
@@ -0,0 +1 @@
1
+ require "middleman-blog"
@@ -6,18 +6,18 @@ Gem::Specification.new do |s|
6
6
  s.name = "middleman-blog"
7
7
  s.version = Middleman::Blog::VERSION
8
8
  s.platform = Gem::Platform::RUBY
9
- s.authors = ["Matthias Döring"]
10
- s.email = ["matt@foryourcontent.de"]
11
- s.homepage = "http://rubygems.org/gems/middleman-blog"
12
- s.summary = %q{Create a blog with Middleman}
13
- s.description = %q{Create a blog with Middleman}
9
+ s.authors = ["Thomas Reynolds"]
10
+ s.email = ["me@tdreyno.com"]
11
+ s.homepage = "https://github.com/tdreyno/middleman-blog"
12
+ s.summary = %q{A blog foundation using Middleman}
13
+ s.description = %q{A blog foundation using Middleman}
14
14
 
15
15
  s.rubyforge_project = "middleman-blog"
16
16
 
17
- s.add_dependency "middleman", "~> 1.2.0"
18
-
19
17
  s.files = `git ls-files`.split("\n")
20
18
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
21
19
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
22
20
  s.require_paths = ["lib"]
21
+
22
+ s.add_runtime_dependency("middleman", ["~> 2.0.2"])
23
23
  end
metadata CHANGED
@@ -1,17 +1,21 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: middleman-blog
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 27
4
5
  prerelease:
5
- version: 0.0.1
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 0
10
+ version: 0.1.0
6
11
  platform: ruby
7
12
  authors:
8
- - "Matthias D\xC3\xB6ring"
13
+ - Thomas Reynolds
9
14
  autorequire:
10
15
  bindir: bin
11
16
  cert_chain: []
12
17
 
13
- date: 2011-06-06 00:00:00 +02:00
14
- default_executable:
18
+ date: 2011-08-20 00:00:00 Z
15
19
  dependencies:
16
20
  - !ruby/object:Gem::Dependency
17
21
  name: middleman
@@ -21,12 +25,17 @@ dependencies:
21
25
  requirements:
22
26
  - - ~>
23
27
  - !ruby/object:Gem::Version
24
- version: 1.2.0
28
+ hash: 11
29
+ segments:
30
+ - 2
31
+ - 0
32
+ - 2
33
+ version: 2.0.2
25
34
  type: :runtime
26
35
  version_requirements: *id001
27
- description: Create a blog with Middleman
36
+ description: A blog foundation using Middleman
28
37
  email:
29
- - matt@foryourcontent.de
38
+ - me@tdreyno.com
30
39
  executables: []
31
40
 
32
41
  extensions: []
@@ -35,18 +44,24 @@ extra_rdoc_files: []
35
44
 
36
45
  files:
37
46
  - .gitignore
38
- - .rvmrc
39
47
  - Gemfile
40
- - README.rdoc
41
48
  - Rakefile
49
+ - lib/.DS_Store
42
50
  - lib/middleman-blog.rb
43
- - lib/middleman-blog/blog_engine.rb
44
- - lib/middleman-blog/separator.rb
45
- - lib/middleman-blog/tilt.rb
51
+ - lib/middleman-blog/.DS_Store
52
+ - lib/middleman-blog/feature.rb
53
+ - lib/middleman-blog/template.rb
54
+ - lib/middleman-blog/template/config.ru
55
+ - lib/middleman-blog/template/config.tt
56
+ - lib/middleman-blog/template/source/2011/01/01/new-article.html.markdown
57
+ - lib/middleman-blog/template/source/archives/index.html.erb
58
+ - lib/middleman-blog/template/source/feed.xml.builder
59
+ - lib/middleman-blog/template/source/index.html.erb
60
+ - lib/middleman-blog/template/source/layout.erb
46
61
  - lib/middleman-blog/version.rb
62
+ - lib/middleman_init.rb
47
63
  - middleman-blog.gemspec
48
- has_rdoc: true
49
- homepage: http://rubygems.org/gems/middleman-blog
64
+ homepage: https://github.com/tdreyno/middleman-blog
50
65
  licenses: []
51
66
 
52
67
  post_install_message:
@@ -59,19 +74,25 @@ required_ruby_version: !ruby/object:Gem::Requirement
59
74
  requirements:
60
75
  - - ">="
61
76
  - !ruby/object:Gem::Version
77
+ hash: 3
78
+ segments:
79
+ - 0
62
80
  version: "0"
63
81
  required_rubygems_version: !ruby/object:Gem::Requirement
64
82
  none: false
65
83
  requirements:
66
84
  - - ">="
67
85
  - !ruby/object:Gem::Version
86
+ hash: 3
87
+ segments:
88
+ - 0
68
89
  version: "0"
69
90
  requirements: []
70
91
 
71
92
  rubyforge_project: middleman-blog
72
- rubygems_version: 1.6.2
93
+ rubygems_version: 1.8.6
73
94
  signing_key:
74
95
  specification_version: 3
75
- summary: Create a blog with Middleman
96
+ summary: A blog foundation using Middleman
76
97
  test_files: []
77
98
 
data/.rvmrc DELETED
@@ -1 +0,0 @@
1
- rvm ruby-1.9.2-p180@middleman-blog
data/README.rdoc DELETED
@@ -1,123 +0,0 @@
1
- = middleman-blog
2
-
3
- Create a blog with Middleman
4
-
5
- == Features
6
-
7
- - metadata (yaml) for your post templates (similar to https://github.com/mojombo/jekyll/wiki/YAML-Front-Matter)
8
- - helper methods to access the metadata from every template/layout file
9
- - template languages: markdown, textile, rdoc
10
-
11
- == TODO
12
-
13
- - test suite
14
- - better documentation
15
- - installer/generator
16
- - more helpers
17
- - more build-in features (releated posts, tags etc.)
18
-
19
- == Usage
20
-
21
- Example: https://github.com/matt-hh/middleman-blog-example
22
-
23
- 1. Install
24
-
25
- gem install middleman-blog
26
-
27
- Additionally you need one of the following gems for your post templates: Kramdown, Maruku, RedCloth, BlueCloth, RDiscount ...
28
-
29
- 2. Create your project
30
-
31
- mm-init your-middleman-project
32
-
33
- 3. Create config/blogs.yml with default values
34
-
35
- blog:
36
- title: My Blog
37
- author: your name
38
- mail: your mail
39
- whatever: a value
40
- another-blog:
41
- title: My second Blog
42
-
43
- Yes, you can define default values for more than one blog...
44
-
45
- 4. Create layout files:
46
-
47
- blog_index.haml:
48
-
49
- %h1= current_blog_value('title')
50
- = yield
51
-
52
- blog_post.haml:
53
-
54
- %h1= current_post_value('title')
55
- = yield
56
-
57
- 5. Activate feature in config.rb
58
-
59
- require "middleman-blog"
60
- activate :blog_engine
61
-
62
- page "/blog/index.html", :layout => :blog_index, :layout_engine => 'haml'
63
- page "/blog/*", :layout => :blog_post, :layout_engine => 'haml'
64
-
65
- page "/another-blog/index.html", :blog_post => :blog_index, :layout_engine => 'haml'
66
- page "/another-blog/*", :blog_post => :blog_post, :layout_engine => 'haml'
67
-
68
- 6. Create directories in your source folder
69
-
70
- mkdir blog
71
- mkdir my-second-blog
72
-
73
- In these folders you can create your posts.
74
-
75
- blog/my-first-post.html.md
76
-
77
- title: Title of my first post
78
- date: 2011-06-05
79
- ----
80
-
81
-
82
- My first blog post...
83
-
84
- Important: 2 newlines between "----" and "My first..."
85
-
86
- == Metadata
87
-
88
- - "----\n\n\n" separates the metadata from your post data.
89
- - metadata supports ERB
90
- - you can define whatever you want
91
- - special keys for blogs.yml:
92
- sort_by: name of another key (default is date)
93
- sort_direction: normal | reverse (default is reverse)
94
- - special keys for yaml header:
95
- date: default is mtime for template file
96
-
97
- == Helper methods
98
-
99
- - current_blog
100
- - current_blog_meta(key) or current_blog[key]
101
- - current_post
102
- - current_post_meta(key) or current_post[key]
103
- - next_post
104
- - prev_post
105
- - current_blog_ident
106
- - current_post_ident
107
- - current_post_index
108
-
109
- === Examples
110
-
111
- - Link to the next post
112
-
113
- link_to next_post['title'], next_post['link']
114
-
115
- - List of 10 last posts
116
-
117
- %ul
118
- - current_blog["posts"][0,10].each do |post|
119
- %li= link_to post['title'], post['link']
120
-
121
- == Links
122
-
123
- * https://github.com/tdreyno/middleman
@@ -1,108 +0,0 @@
1
- module Middleman
2
- module Features
3
- module BlogEngine
4
-
5
- class << self
6
- def registered(app)
7
- app.helpers BlogEngine::Helpers
8
- end
9
- alias :included :registered
10
- end
11
-
12
- module Helpers
13
- def blog(blog_ident)
14
- blogs[blog_ident] || {"posts" => []}
15
- end
16
- def current_blog
17
- blog(current_blog_ident)
18
- end
19
- def blog_meta(blog_ident, key)
20
- blog(blog_ident)[key] || no_value
21
- end
22
- def current_blog_meta(key)
23
- blog_meta(current_blog_ident,key)
24
- end
25
- def blog_post(blog_ident, post_ident)
26
- blog(blog_ident)["posts"].find {|post| post["ident"] == post_ident } || {}
27
- end
28
- def current_post
29
- blog_post(current_blog_ident, current_post_ident)
30
- end
31
- def blog_post_meta(blog_ident, post_ident, key)
32
- blog_post(blog_ident, post_ident)[key] || blog_meta(blog_ident, key) || no_value
33
- end
34
- def current_post_meta(key)
35
- blog_post_meta(current_blog_ident, current_post_ident, key)
36
- end
37
- def next_post
38
- current_blog["posts"][current_post_index + 1]
39
- end
40
- def prev_post
41
- current_blog["posts"][current_post_index - 1]
42
- end
43
- def current_blog_ident
44
- (File.dirname request_path).gsub(%r{^/}, '') || "blog"
45
- end
46
- def current_post_ident
47
- File.basename(request_path).split(".", 2)[0]
48
- end
49
- def current_post_index
50
- current_blog["posts"].index current_post
51
- end
52
-
53
- def blogs
54
- Middleman::Features::BlogEngine::Meta.new(self).data
55
- end
56
-
57
- private
58
- def request_path
59
- self.env['REQUEST_PATH'] || ""
60
- end
61
- def no_value
62
- "-- no value --"
63
- end
64
-
65
- end
66
-
67
- class Meta
68
- attr_reader :data
69
-
70
- def initialize(app)
71
- @app = app
72
-
73
- config_file = File.join(@app.class.root, "config", "blogs.yml")
74
- raise "could not find \"#{config_file}\" " unless File.exists?(config_file)
75
- blog_config = YAML.load_file(config_file)
76
- @data = blog_config
77
-
78
- blog_config.each do |blog_ident,blog_values|
79
- blog_source_dir = File.join(@app.class.views, blog_ident)
80
- @data[blog_ident]["posts"] = []
81
- Dir["#{blog_source_dir}/*.html.*"].each do |file|
82
- if file =~ /.*\.html\.(markdown|mkd|md|textile|rdoc)$/
83
- post_ident = File.basename(file).split(".", 2)[0]
84
-
85
- post_meta_yml = ERB.new( (File.read(file).split(/#{Middleman::Blog::SEPARATOR}/, 2))[0] || "" ).result
86
- post_meta = YAML.load(post_meta_yml) || {}
87
- post_meta["ident"] = post_ident
88
- post_meta["link"] = "/%s" % File.join( blog_ident, File.basename(file, '.*') )
89
- post_meta["date"] = File.mtime(file).to_s unless post_meta["date"]
90
- @data[blog_ident]["posts"] << post_meta
91
- end
92
- end
93
-
94
- sort_key = @data[blog_ident]["sort_key"] || "date"
95
- @data[blog_ident]["posts"].sort_by! { |post| post[sort_key] }
96
- sort_direction = @data[blog_ident]["sort_direction"] || "reverse"
97
- @data[blog_ident]["posts"].reverse! if sort_direction == "reverse"
98
- end
99
-
100
- end
101
-
102
- end
103
-
104
-
105
-
106
- end
107
- end
108
- end
@@ -1,5 +0,0 @@
1
- module Middleman
2
- module Blog
3
- SEPARATOR = '----\n\n\n'
4
- end
5
- end
@@ -1,54 +0,0 @@
1
- module Tilt
2
-
3
- module MiddlemanBlogTemplate
4
- def prepare
5
- @data = data.gsub(/^.*?#{Middleman::Blog::SEPARATOR}/m, '')
6
- super
7
- end
8
- end
9
-
10
-
11
- # MARKDOWN
12
-
13
- class MarukuMiddlemanBlogTemplate < MarukuTemplate
14
- include Tilt::MiddlemanBlogTemplate
15
- end
16
- register MarukuMiddlemanBlogTemplate, 'markdown', 'mkd', 'md'
17
-
18
- class KramdownMiddlemanBlogTemplate < KramdownTemplate
19
- include Tilt::MiddlemanBlogTemplate
20
- end
21
- register KramdownMiddlemanBlogTemplate, 'markdown', 'mkd', 'md'
22
-
23
- class BlueClothMiddlemanBlogTemplate < BlueClothTemplate
24
- include Tilt::MiddlemanBlogTemplate
25
- end
26
- register BlueClothMiddlemanBlogTemplate, 'markdown', 'mkd', 'md'
27
-
28
- class RedcarpetMiddlemanBlogTemplate < RedcarpetTemplate
29
- include Tilt::MiddlemanBlogTemplate
30
- end
31
- register RedcarpetMiddlemanBlogTemplate, 'markdown', 'mkd', 'md'
32
-
33
- class RDiscountMiddlemanBlogTemplate < RDiscountTemplate
34
- include Tilt::MiddlemanBlogTemplate
35
- end
36
- register RDiscountMiddlemanBlogTemplate, 'markdown', 'mkd', 'md'
37
-
38
- # TEXTILE
39
-
40
- class RedClothMiddlemanBlogTemplate < RedClothTemplate
41
- include Tilt::MiddlemanBlogTemplate
42
- end
43
- register RedClothMiddlemanBlogTemplate, 'textile'
44
-
45
- # RDOC
46
-
47
- class RDocMiddlemanBlogTemplate < RDocTemplate
48
- include Tilt::MiddlemanBlogTemplate
49
- end
50
- register RDocMiddlemanBlogTemplate, 'rdoc'
51
-
52
-
53
-
54
- end