Cleaned up code that generates History command.
This commit is contained in:
parent
96051568fb
commit
10e3f67f1f
61
Rakefile
61
Rakefile
|
@ -2,6 +2,7 @@ require 'rubygems'
|
||||||
require 'rake'
|
require 'rake'
|
||||||
require 'rdoc'
|
require 'rdoc'
|
||||||
require 'date'
|
require 'date'
|
||||||
|
require 'yaml'
|
||||||
|
|
||||||
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), *%w[lib]))
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), *%w[lib]))
|
||||||
|
|
||||||
|
@ -44,6 +45,39 @@ def replace_header(head, header_name)
|
||||||
head.sub!(/(\.#{header_name}\s*= ').*'/) { "#{$1}#{send(header_name)}'"}
|
head.sub!(/(\.#{header_name}\s*= ').*'/) { "#{$1}#{send(header_name)}'"}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def normalize_bullets(markdown)
|
||||||
|
markdown.gsub(/\s{2}\*{1}/, "-")
|
||||||
|
end
|
||||||
|
|
||||||
|
def linkify_prs(markdown)
|
||||||
|
markdown.gsub(/#(\d+)/) do |word|
|
||||||
|
"[#{word}](https://github.com/mojombo/jekyll/issues/#{word.delete("#")})"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def linkify_users(markdown)
|
||||||
|
markdown.gsub(/(@\w+)/) do |username|
|
||||||
|
"[#{username}](https://github.com/#{username.delete("@")})"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def linkify(markdown)
|
||||||
|
linkify_users(linkify_prs(markdown))
|
||||||
|
end
|
||||||
|
|
||||||
|
def liquid_escape(markdown)
|
||||||
|
markdown.gsub(/(`{[{%].+[}%]}`)/, "{% raw %}\\1{% endraw %}")
|
||||||
|
end
|
||||||
|
|
||||||
|
def remove_head_from_history(markdown)
|
||||||
|
index = markdown =~ /^##\s+\d+\.\d+\.\d+/
|
||||||
|
markdown[index..-1]
|
||||||
|
end
|
||||||
|
|
||||||
|
def converted_history(markdown)
|
||||||
|
remove_head_from_history(liquid_escape(linkify(normalize_bullets(markdown))))
|
||||||
|
end
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
#
|
#
|
||||||
# Standard tasks
|
# Standard tasks
|
||||||
|
@ -150,32 +184,23 @@ namespace :site do
|
||||||
|
|
||||||
desc "Create a nicely formatted history page for the jekyll site based on the repo history."
|
desc "Create a nicely formatted history page for the jekyll site based on the repo history."
|
||||||
task :history do
|
task :history do
|
||||||
# First lets go ahead and format the file correctly (mainly bullet points)
|
|
||||||
puts "Generating the History doc"
|
|
||||||
# Checking to make sure the History file exists in the root of the repo
|
|
||||||
if File.exist?("History.markdown")
|
if File.exist?("History.markdown")
|
||||||
# Read the file and save to a variable so we can do the replacements
|
history_file = File.read("History.markdown")
|
||||||
file_time = File.read("History.markdown")
|
front_matter = {
|
||||||
# Replacing the contents of the file for the markdown bullets & issue links
|
"layout" => "docs",
|
||||||
rep_bullets = file_time.gsub(/\s{2}\*{1}/, "-")
|
"title" => "History",
|
||||||
rep_links = rep_bullets.gsub(/#(\d+)/) do |word|
|
"permalink" => "/docs/history/",
|
||||||
"[#{word}](https://github.com/mojombo/jekyll/issues/#{word.delete("#")})"
|
"prev_section" => "contributing"
|
||||||
end
|
}
|
||||||
# Create a hash for the front matter that is to be included
|
|
||||||
front_matter = {"layout" => "docs", "title" => "History",
|
|
||||||
"permalink" => "/docs/history/",
|
|
||||||
"prev_section" => "upgrading"}
|
|
||||||
# Finally we need to copy the file to the /history directory
|
|
||||||
Dir.chdir('site/docs/') do
|
Dir.chdir('site/docs/') do
|
||||||
File.open("history.md", "w") do |file|
|
File.open("history.md", "w") do |file|
|
||||||
file.write("#{front_matter.to_yaml}---\n\n")
|
file.write("#{front_matter.to_yaml}---\n\n")
|
||||||
file.write(rep_links)
|
file.write(converted_history(history_file))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
puts "Something went wrong"
|
abort "You seem to have misplaced your History.markdown file. I can haz?"
|
||||||
end
|
end
|
||||||
puts "Done"
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue