Merge pull request #4601 from jekyll/copy-better

Merge pull request 4601
This commit is contained in:
jekyllbot 2016-03-02 20:06:24 -08:00
commit 7b80cb78bd
7 changed files with 58 additions and 67 deletions

View File

@ -1,5 +1,4 @@
Contribute
==========
# Contributing
So you've got an awesome idea to throw into Jekyll. Great! Please keep the
following in mind:

View File

@ -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 File

@ -87,6 +87,30 @@ 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)
title = File.read(file).match(/\A# (.*)$/)[1]
slug = File.basename(file, ".markdown").downcase
front_matter = front_matter.merge({
"title" => title,
"layout" => "docs",
"permalink" => "/docs/#{slug}/",
"note" => "This file is autogenerated. Edit /#{file} instead."
})
contents = "#{front_matter.to_yaml}---\n\n#{content_for(file)}"
File.write("site/_docs/#{slug}.md", contents)
end
def content_for(file)
contents = File.read(file)
case file
when "History.markdown"
converted_history(contents)
else
contents.gsub!(/\A# .*\n\n?/, "")
end
end
#############################################################################
#
# Standard tasks

View File

@ -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
siteify_file('CONDUCT.markdown', front_matter)
end
desc "Copy the contributing file"
task :contributing do
siteify_file('.github/CONTRIBUTING.markdown')
end
desc "Write the site latest_version.txt file"

View File

@ -1,9 +1,10 @@
---
layout: docs
title: Code of Conduct
permalink: "/docs/conduct/"
redirect_from: "/conduct/index.html"
editable: false
title: 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

View File

@ -1,7 +1,8 @@
---
layout: docs
title: Contributing
permalink: /docs/contributing/
layout: docs
permalink: "/docs/contributing/"
note: This file is autogenerated. Edit /.github/CONTRIBUTING.markdown instead.
---
So you've got an awesome idea to throw into Jekyll. Great! Please keep the
@ -27,38 +28,29 @@ following in mind:
change is to review, the more likely it will be merged.
* When submitting a pull request, please make judicious use of the pull request
body. A description of what changes were made, the motivations behind the
changes, and [any tasks completed or left to complete](http://git.io/gfm-tasks)
changes and [any tasks completed or left to complete](http://git.io/gfm-tasks)
will also speed up review time.
<div class="note warning">
<h5>Contributions will not be accepted without tests</h5>
<p>
If youre creating a small fix or patch to an existing feature, just
a simple test will do.
</p>
</div>
Test Dependencies
-----------------
To run the test suite and build the gem you'll need to install Jekyll's
dependencies. Simply run this command to get all set up:
dependencies. Simply run this command to get all setup:
<figure class="highlight"><pre><code>$ script/bootstrap</code></pre></figure>
$ script/bootstrap
Before you start, run the tests and make sure that they pass (to confirm your
environment is configured properly):
<figure class="highlight"><pre><code>$ script/cibuild</code></pre></figure>
$ script/cibuild
If you are only updating a file in `test/`, you can use the command:
<figure class="highlight"><pre><code>$ script/test test/blah_test.rb</code></pre></figure>
$ script/test test/blah_test.rb
If you are only updating a `.feature` file, you can use the command:
<figure class="highlight"><pre><code>$ script/cucumber features/blah.feature</code></pre></figure>
$ script/cucumber features/blah.feature
Both `script/test` and `script/cucumber` can be run without arguments to
run its entire respective suite.
@ -68,7 +60,7 @@ Workflow
Here's the most direct way to get your work merged into the project:
* Fork the project.
* [Fork](https://github.com/jekyll/jekyll/fork) the project.
* Clone down your fork ( `git clone git@github.com:[username]/jekyll.git` ).
* Create a topic branch to contain your change ( `git checkout -b my_awesome_feature` ).
* Hack away, add tests. Not necessarily in that order.
@ -86,18 +78,19 @@ open-sourced our docs and we welcome any pull requests if you find it
lacking.
You can find the documentation for jekyllrb.com in the
[site]({{ site.repository }}/tree/master/site) directory of
[site](https://github.com/jekyll/jekyll/tree/master/site) directory of
Jekyll's repo on GitHub.com.
All documentation pull requests should be directed at `master`. Pull
requests directed at another branch will not be accepted.
The [Jekyll wiki]({{ site.repository }}/wiki) on GitHub
The [Jekyll wiki](https://github.com/jekyll/jekyll/wiki) on GitHub
can be freely updated without a pull request as all GitHub users have access.
If you want to add your plugin to the [list of plugins](/docs/plugins/#available-plugins),
please submit a pull request modifying the [plugins page source
file]({{ site.repository }}/blob/master/site/_docs/plugins.md) by adding a
If you want to add your plugin to the
[list of plugins](http://jekyllrb.com/docs/plugins/#available-plugins),
please submit a pull request modifying the
[plugins page source file](site/_docs/plugins.md) by adding a
link to your plugin under the proper subheading depending upon its type.
Gotchas
@ -113,12 +106,5 @@ Gotchas
Finally...
----------
<div class="note">
<h5>Let us know what could be better!</h5>
<p>
Both using and hacking on Jekyll should be fun, simple, and easy, so if for
some reason you find its a pain, please <a
href="{{ site.repository }}/issues/new">create an issue</a> on
GitHub describing your experience so we can make it better.
</p>
</div>
Thanks! Hacking on Jekyll should be fun. If you find any of this hard to figure
out, let us know so we can improve our process or documentation!

View File

@ -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