class SoupCMS::CLI::Model::Markdown
Public Instance Methods
build()
click to toggle source
Calls superclass method
SoupCMS::CLI::Model::Base#build
# File lib/soupcms/cli/model/markdown.rb, line 17 def build super doc['title'] = title unless doc['title'] doc['description'] = description unless doc['description'] end
content_flavor()
click to toggle source
# File lib/soupcms/cli/model/markdown.rb, line 7 def content_flavor; File.basename(file).split('.').size > 2 ? File.basename(file).split('.')[1] : 'kramdown' end
description()
click to toggle source
# File lib/soupcms/cli/model/markdown.rb, line 30 def description post_description = '' content_lines = doc['content']['value'].lines index = 0 while post_description.length < 300 && content_lines[index] do post_description.concat(content_lines[index].chomp.gsub(/\A[\d_\W]+|[\d_\W]+\Z/, '')) index += 1 end post_description + '...' end
parse_file()
click to toggle source
# File lib/soupcms/cli/model/markdown.rb, line 11 def parse_file @attributes, @content = SoupCMS::CLI::FrontMatterParser.new.parse(file.read) doc = {'content' => {'type' => 'markdown', 'flavor' => content_flavor, 'value' => @content}} doc.merge @attributes end
title()
click to toggle source
# File lib/soupcms/cli/model/markdown.rb, line 23 def title content_lines = doc['content']['value'].lines doc_title = content_lines.first.chomp doc['content']['value'] = content_lines[2] ? content_lines[2..-1].join("\n") : '' doc_title.gsub('_', ' ').gsub('#', '').strip end