Merge pull request #3427 from jekyll/proof
This commit is contained in:
commit
20bfdbb794
4
Gemfile
4
Gemfile
|
@ -32,3 +32,7 @@ if ENV['BENCHMARK']
|
||||||
gem 'rbtrace'
|
gem 'rbtrace'
|
||||||
gem 'stackprof'
|
gem 'stackprof'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if ENV['PROOF']
|
||||||
|
gem 'html-proofer', '~> 2.0'
|
||||||
|
end
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
machine:
|
||||||
|
timezone: UTC
|
||||||
|
ruby:
|
||||||
|
version: 2.1.5
|
||||||
|
environment:
|
||||||
|
PROOF: true
|
||||||
|
test:
|
||||||
|
override:
|
||||||
|
- script/proof -f
|
39
script/proof
39
script/proof
|
@ -5,20 +5,29 @@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
if [[ "$1" != "-f" ]]; then
|
function msg {
|
||||||
git diff --name-only ..master | grep '^site/' || {
|
printf "\e[0;37m==> $1\e[0m\n"
|
||||||
echo "No site files changed. We'll skip proofing. Run with -f to force."
|
|
||||||
exit 0
|
|
||||||
}
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Some site files have been changed! Proofing..."
|
|
||||||
|
|
||||||
command -v htmlproof || {
|
|
||||||
echo "Installing HTML::Proofer!"
|
|
||||||
gem install html-proofer -- --use-system-libraries
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bundle exec jekyll build -s site -d _site --trace
|
INGORE_HREFS=$(ruby -e 'puts %w{
|
||||||
printf "\e[0;36mProofing begins now!\e[0m\n"
|
Chrononaut
|
||||||
htmlproof ./_site
|
twitter.com
|
||||||
|
nearlyfreespeech.net
|
||||||
|
}.map{|h| "/#{h}/"}.join(",")')
|
||||||
|
SOURCE="site"
|
||||||
|
DESTINATION="_site"
|
||||||
|
|
||||||
|
export PROOF=true
|
||||||
|
export NOKOGIRI_USE_SYSTEM_LIBRARIES=true
|
||||||
|
|
||||||
|
# 1.
|
||||||
|
msg "Installing..."
|
||||||
|
bundle install -j8 > /dev/null || bundle install > /dev/null
|
||||||
|
|
||||||
|
# 2.
|
||||||
|
msg "Building..."
|
||||||
|
bundle exec jekyll build -s $SOURCE -d $DESTINATION --full-rebuild --trace
|
||||||
|
|
||||||
|
# 3.
|
||||||
|
msg "Proofing..."
|
||||||
|
time bundle exec htmlproof ./$DESTINATION --href-ignore $INGORE_HREFS
|
||||||
|
|
|
@ -410,7 +410,7 @@ defaults:
|
||||||
layout: "default"
|
layout: "default"
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
In this example the `layout` is set to `default` inside the [collection](../collections) with the name `my_collection`.
|
In this example the `layout` is set to `default` inside the [collection](../collections/) with the name `my_collection`.
|
||||||
|
|
||||||
### Precedence
|
### Precedence
|
||||||
|
|
||||||
|
|
|
@ -91,7 +91,7 @@ Another way to deploy your Jekyll site is to use [Rake](https://github.com/jimwe
|
||||||
|
|
||||||
### rsync
|
### rsync
|
||||||
|
|
||||||
Once you’ve generated the `_site` directory, you can easily rsync it using a `tasks/deploy` shell script similar to [this deploy script here](https://github.com/henrik/henrik.nyh.se/blob/master/tasks/deploy). You’d obviously need to change the values to reflect your site’s details. There is even [a matching TextMate command](http://gist.github.com/214959) that will help you run
|
Once you’ve generated the `_site` directory, you can easily rsync it using a `tasks/deploy` shell script similar to [this deploy script here](https://github.com/henrik/henrik.nyh.se/blob/master/script/deploy). You’d obviously need to change the values to reflect your site’s details. There is even [a matching TextMate command](http://gist.github.com/214959) that will help you run
|
||||||
this script from within Textmate.
|
this script from within Textmate.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -53,10 +53,10 @@ You have 3 options for installing plugins:
|
||||||
|
|
||||||
In general, plugins you make will fall into one of four categories:
|
In general, plugins you make will fall into one of four categories:
|
||||||
|
|
||||||
1. [Generators](#Generators)
|
1. [Generators](#generators)
|
||||||
2. [Converters](#Converters)
|
2. [Converters](#converters)
|
||||||
3. [Commands](#Commands)
|
3. [Commands](#commands)
|
||||||
4. [Tags](#Tags)
|
4. [Tags](#tags)
|
||||||
|
|
||||||
## Generators
|
## Generators
|
||||||
|
|
||||||
|
@ -273,7 +273,7 @@ class MyNewCommand < Jekyll::Command
|
||||||
c.syntax "new [options]"
|
c.syntax "new [options]"
|
||||||
c.description 'Create a new Jekyll site.'
|
c.description 'Create a new Jekyll site.'
|
||||||
|
|
||||||
c.option 'dest', '-d DEST, 'Where the site should go.'
|
c.option 'dest', '-d DEST', 'Where the site should go.'
|
||||||
|
|
||||||
c.action do |args, options|
|
c.action do |args, options|
|
||||||
Jekyll::Site.new_site_at(options['dest'])
|
Jekyll::Site.new_site_at(options['dest'])
|
||||||
|
@ -560,7 +560,7 @@ You can find a few useful plugins at the following locations:
|
||||||
- [Jekyll-citation](https://github.com/archome/jekyll-citation): Render BibTeX-formatted bibliographies/citations included in posts and pages (pure Ruby).
|
- [Jekyll-citation](https://github.com/archome/jekyll-citation): Render BibTeX-formatted bibliographies/citations included in posts and pages (pure Ruby).
|
||||||
- [Jekyll Dribbble Set Tag](https://github.com/ericdfields/Jekyll-Dribbble-Set-Tag): Builds Dribbble image galleries from any user.
|
- [Jekyll Dribbble Set Tag](https://github.com/ericdfields/Jekyll-Dribbble-Set-Tag): Builds Dribbble image galleries from any user.
|
||||||
- [Debbugs](https://gist.github.com/2218470): Allows posting links to Debian BTS easily.
|
- [Debbugs](https://gist.github.com/2218470): Allows posting links to Debian BTS easily.
|
||||||
- [Refheap_tag](https://github.com/aburdette/refheap_tag): Liquid tag that allows embedding pastes from [refheap](https://refheap.com).
|
- [Refheap_tag](https://github.com/aburdette/refheap_tag): Liquid tag that allows embedding pastes from [refheap](https://www.refheap.com/).
|
||||||
- [Jekyll-devonly_tag](https://gist.github.com/2403522): A block tag for including markup only during development.
|
- [Jekyll-devonly_tag](https://gist.github.com/2403522): A block tag for including markup only during development.
|
||||||
- [JekyllGalleryTag](https://github.com/redwallhp/JekyllGalleryTag) by [redwallhp](https://github.com/redwallhp): Generates thumbnails from a directory of images and displays them in a grid.
|
- [JekyllGalleryTag](https://github.com/redwallhp/JekyllGalleryTag) by [redwallhp](https://github.com/redwallhp): Generates thumbnails from a directory of images and displays them in a grid.
|
||||||
- [Youku and Tudou Embed](https://gist.github.com/Yexiaoxing/5891929): Liquid plugin for embedding Youku and Tudou videos.
|
- [Youku and Tudou Embed](https://gist.github.com/Yexiaoxing/5891929): Liquid plugin for embedding Youku and Tudou videos.
|
||||||
|
@ -579,9 +579,9 @@ You can find a few useful plugins at the following locations:
|
||||||
- [Jekyll Github Sample Tag](https://github.com/bwillis/jekyll-github-sample): A liquid tag to include a sample of a github repo file in your Jekyll site.
|
- [Jekyll Github Sample Tag](https://github.com/bwillis/jekyll-github-sample): A liquid tag to include a sample of a github repo file in your Jekyll site.
|
||||||
- [Jekyll Project Version Tag](https://github.com/rob-murray/jekyll-version-plugin): A Liquid tag plugin that renders a version identifier for your Jekyll site sourced from the git repository containing your code.
|
- [Jekyll Project Version Tag](https://github.com/rob-murray/jekyll-version-plugin): A Liquid tag plugin that renders a version identifier for your Jekyll site sourced from the git repository containing your code.
|
||||||
- [Piwigo Gallery](https://github.com/AlessandroLorenzi/piwigo_gallery) by [Alessandro Lorenzi](http://www.alorenzi.eu/): Jekyll plugin to generate thumbnails from a Piwigo gallery and display them with a Liquid tag
|
- [Piwigo Gallery](https://github.com/AlessandroLorenzi/piwigo_gallery) by [Alessandro Lorenzi](http://www.alorenzi.eu/): Jekyll plugin to generate thumbnails from a Piwigo gallery and display them with a Liquid tag
|
||||||
- [mathml.rb](https://github.com/tmthrgd/jekyll-plugins) by [Tom Thorogood](http://tomthorogood.co.uk/): A plugin to convert TeX mathematics into MathML for display.
|
- [mathml.rb](https://github.com/tmthrgd/jekyll-plugins) by Tom Thorogood: A plugin to convert TeX mathematics into MathML for display.
|
||||||
- [webmention_io.rb](https://github.com/aarongustafson/jekyll-webmention_io) by [Aaron Gustafson](http://aaron-gustafson.com/): A plugin to enable [webmention](http://indiewebcamp.com/webmention) integration using [Webmention.io](http://webmention.io). Includes an optional JavaScript for updating webmentions automatically between publishes and, if available, in realtime using WebSockets.
|
- [webmention_io.rb](https://github.com/aarongustafson/jekyll-webmention_io) by [Aaron Gustafson](http://aaron-gustafson.com/): A plugin to enable [webmention](http://indiewebcamp.com/webmention) integration using [Webmention.io](http://webmention.io). Includes an optional JavaScript for updating webmentions automatically between publishes and, if available, in realtime using WebSockets.
|
||||||
- [Jekyll 500px Embed](https://github.com/lkorth/jekyll-500px-embed) by [Luke Korth](https://lukekorth.com/). A Liquid tag plugin that embeds [500px](https://500px.com/) photos.
|
- [Jekyll 500px Embed](https://github.com/lkorth/jekyll-500px-embed) by Luke Korth. A Liquid tag plugin that embeds [500px](https://500px.com/) photos.
|
||||||
- [inline\_highlight](https://github.com/bdesham/inline_highlight): A tag for inline syntax highlighting.
|
- [inline\_highlight](https://github.com/bdesham/inline_highlight): A tag for inline syntax highlighting.
|
||||||
- [jekyll-mermaid](https://github.com/jasonbellamy/jekyll-mermaid): Simplify the creation of mermaid diagrams and flowcharts in your posts and pages.
|
- [jekyll-mermaid](https://github.com/jasonbellamy/jekyll-mermaid): Simplify the creation of mermaid diagrams and flowcharts in your posts and pages.
|
||||||
- [twa](https://github.com/Ezmyrelda/twa): Twemoji Awesome plugin for Jekyll. Liquid tag allowing you to use twitter emoji in your jekyll pages.
|
- [twa](https://github.com/Ezmyrelda/twa): Twemoji Awesome plugin for Jekyll. Liquid tag allowing you to use twitter emoji in your jekyll pages.
|
||||||
|
@ -594,7 +594,7 @@ You can find a few useful plugins at the following locations:
|
||||||
|
|
||||||
#### Other
|
#### Other
|
||||||
|
|
||||||
- [ditaa-ditaa](https://github.com/tmthrgd/ditaa-ditaa) by [Tom Thorogood](http://tomthorogood.co.uk/): a drastic revision of jekyll-ditaa that renders diagrams drawn using ASCII art into PNG images.
|
- [ditaa-ditaa](https://github.com/tmthrgd/ditaa-ditaa) by Tom Thorogood: a drastic revision of jekyll-ditaa that renders diagrams drawn using ASCII art into PNG images.
|
||||||
- [Pygments Cache Path by Raimonds Simanovskis](https://github.com/rsim/blog.rayapps.com/blob/master/_plugins/pygments_cache_patch.rb): Plugin to cache syntax-highlighted code from Pygments.
|
- [Pygments Cache Path by Raimonds Simanovskis](https://github.com/rsim/blog.rayapps.com/blob/master/_plugins/pygments_cache_patch.rb): Plugin to cache syntax-highlighted code from Pygments.
|
||||||
- [Draft/Publish Plugin by Michael Ivey](https://gist.github.com/49630): Save posts as drafts.
|
- [Draft/Publish Plugin by Michael Ivey](https://gist.github.com/49630): Save posts as drafts.
|
||||||
- [Growl Notification Generator by Tate Johnson](https://gist.github.com/490101): Send Jekyll notifications to Growl.
|
- [Growl Notification Generator by Tate Johnson](https://gist.github.com/490101): Send Jekyll notifications to Growl.
|
||||||
|
|
|
@ -43,7 +43,7 @@ file. For example, the following are examples of valid post filenames:
|
||||||
<div class="note">
|
<div class="note">
|
||||||
<h5>ProTip™: Link to other posts</h5>
|
<h5>ProTip™: Link to other posts</h5>
|
||||||
<p>
|
<p>
|
||||||
Use the <a href="../templates#post-url"><code>post_url</code></a>
|
Use the <a href="../templates/#post-url"><code>post_url</code></a>
|
||||||
tag to link to other posts without having to worry about the URL's
|
tag to link to other posts without having to worry about the URL's
|
||||||
breaking when the site permalink style changes.
|
breaking when the site permalink style changes.
|
||||||
</p>
|
</p>
|
||||||
|
|
|
@ -31,7 +31,7 @@ On Red Hat, CentOS, and Fedora systems you can do this by running:
|
||||||
sudo yum install ruby-devel
|
sudo yum install ruby-devel
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
On [NearlyFreeSpeech](http://nearlyfreespeech.net/) you need to run the
|
On [NearlyFreeSpeech](https://www.nearlyfreespeech.net/) you need to run the
|
||||||
following commands before installing Jekyll:
|
following commands before installing Jekyll:
|
||||||
|
|
||||||
{% highlight bash %}
|
{% highlight bash %}
|
||||||
|
|
|
@ -28,4 +28,4 @@ Happy developing!
|
||||||
|
|
||||||
[changelog]: /docs/history/
|
[changelog]: /docs/history/
|
||||||
[@jglovier]: https://github.com/jglovier
|
[@jglovier]: https://github.com/jglovier
|
||||||
[jekyll-1]: /news/2013/05/06/jekyll-1-0-0-released/
|
[jekyll-1]: {% post_url 2013-05-06-jekyll-1-0-0-released %}
|
||||||
|
|
|
@ -16,4 +16,4 @@ Jekyll 2.2.0 contains a few key updates:
|
||||||
will now work properly).
|
will now work properly).
|
||||||
|
|
||||||
As always, a full list of the updates are on the
|
As always, a full list of the updates are on the
|
||||||
[history page](/docs/history#v2-2-0). Happy Jekylling!
|
[history page](/docs/history/#v2-2-0). Happy Jekylling!
|
||||||
|
|
Loading…
Reference in New Issue