Permalink
Browse files

better file copying

  • Loading branch information...
1 parent d4cf0db commit 2a2326aea3875e8820b26a227ff60937b07b7689 @benbalter benbalter committed Feb 27, 2016
Showing with 36 additions and 33 deletions.
  1. +1 −1 CONDUCT.markdown
  2. +2 −0 History.markdown
  3. +19 −0 Rakefile
  4. +8 −28 rake/site.rake
  5. +4 −3 site/_docs/conduct.md
  6. +2 −1 site/_docs/history.md
View
@@ -1,4 +1,4 @@
-# Contributor Code of Conduct
+# Code of Conduct
As contributors and maintainers of this project, and in the interest of
fostering an open and welcoming community, we pledge to respect all people who
View
@@ -1,3 +1,5 @@
+# History
+
## HEAD
### Development Fixes
View
@@ -87,6 +87,25 @@ def converted_history(markdown)
normalize_bullets(markdown)))))
end
+def siteify_file(file, front_matter = {})
+ abort "You seem to have misplaced your #{file} file. I can haz?" unless File.exists?(file)
+ contents = File.read(file)
+ title = contents.match(/\A# (.*)$/)[1]
+ output_file = file.sub(/\.markdown\z/, ".md").downcase
+ slug = File.basename(output_file, ".md")
+ default_frontmatter = {
+ "title" => title,
+ "layout" => "docs",
+ "permalink" => "/docs/#{slug}/",
+ "note" => "This file is autogenerated. Edit /#{file} instead."
+ }
+ front_matter = front_matter.merge(default_frontmatter)
+ contents.gsub!(/\A# #{title}\n\n?/, "")
+ contents = converted_history(contents) if output_file == "history.md"
+ contents = "#{front_matter.to_yaml}---\n\n#{contents}"
+ File.write("site/_docs/#{output_file}", contents)
+end
+
#############################################################################
#
# Standard tasks
View
@@ -5,7 +5,7 @@
#############################################################################
namespace :site do
- task :generated_pages => [:history, :version_file, :conduct]
+ task :generated_pages => [:history, :version_file, :conduct, :contributing]
desc "Generate and view the site locally"
task :preview => :generated_pages do
@@ -103,41 +103,21 @@ namespace :site do
desc "Create a nicely formatted history page for the jekyll site based on the repo history."
task :history do
- if File.exist?("History.markdown")
- history_file = File.read("History.markdown")
- front_matter = {
- "layout" => "docs",
- "title" => "History",
- "permalink" => "/docs/history/"
- }
- Dir.chdir('site/_docs/') do
- File.open("history.md", "w") do |file|
- file.write("#{front_matter.to_yaml}---\n\n")
- file.write(converted_history(history_file))
- end
- end
- else
- abort "You seem to have misplaced your History.markdown file. I can haz?"
- end
+ siteify_file('History.markdown')
end
desc "Copy the Code of Conduct"
task :conduct do
- code_of_conduct = File.read("CONDUCT.markdown")
- header, _, body = code_of_conduct.partition("\n\n")
front_matter = {
- "layout" => "docs",
- "title" => header.sub('# Contributor ', ''),
- "permalink" => "/docs/conduct/",
"redirect_from" => "/conduct/index.html",
"editable" => false
}
- Dir.chdir('site/_docs') do
- File.open("conduct.md", "w") do |file|
- file.write("#{front_matter.to_yaml}---\n\n")
- file.write(body)
- end
- end
+ siteify_file('CONDUCT.markdown', front_matter)
+ end
+
+ desc "Copy the contributing file"
+ task :contributing do
+ siteify_file('CONTRIBUTING.markdown')
end
desc "Write the site latest_version.txt file"
@@ -1,9 +1,10 @@
---
-layout: docs
-title: Code of Conduct
-permalink: "/docs/conduct/"
redirect_from: "/conduct/index.html"
editable: false
+title: Contributor Code of Conduct
+layout: docs
+permalink: "/docs/conduct/"
+note: This file is autogenerated. Edit /CONDUCT.markdown instead.
---
As contributors and maintainers of this project, and in the interest of
@@ -1,7 +1,8 @@
---
-layout: docs
title: History
+layout: docs
permalink: "/docs/history/"
+note: This file is autogenerated. Edit /History.markdown instead.
---
## 3.1.2 / 2016-02-19

0 comments on commit 2a2326a

Please sign in to comment.