diff --git a/lib/site_template/_layouts/post.html b/lib/site_template/_layouts/post.html index 3a0fb52e..2592391f 100644 --- a/lib/site_template/_layouts/post.html +++ b/lib/site_template/_layouts/post.html @@ -4,7 +4,7 @@ layout: default
-

{{ page.title }}

+

{{ page.title | escape }}

diff --git a/lib/site_template/_posts/0000-00-00-welcome-to-jekyll.markdown.erb b/lib/site_template/_posts/0000-00-00-welcome-to-jekyll.markdown.erb index a1f2407c..6ad29942 100644 --- a/lib/site_template/_posts/0000-00-00-welcome-to-jekyll.markdown.erb +++ b/lib/site_template/_posts/0000-00-00-welcome-to-jekyll.markdown.erb @@ -1,7 +1,7 @@ --- layout: post title: "Welcome to Jekyll!" -date: <%= Time.now.strftime('%Y-%m-%d %H:%M:%S') %> +date: <%= Time.now.strftime('%Y-%m-%d %H:%M:%S %z') %> categories: jekyll update --- You’ll find this post in your `_posts` directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated. diff --git a/lib/site_template/_sass/_base.scss b/lib/site_template/_sass/_base.scss index 0883c3cd..9b8f292d 100644 --- a/lib/site_template/_sass/_base.scss +++ b/lib/site_template/_sass/_base.scss @@ -177,13 +177,10 @@ pre { /** * Clearfix */ -%clearfix { - - &:after { - content: ""; - display: table; - clear: both; - } +%clearfix:after { + content: ""; + display: table; + clear: both; } @@ -191,16 +188,13 @@ pre { /** * Icons */ -.icon { +.icon > svg { + display: inline-block; + width: 16px; + height: 16px; + vertical-align: middle; - > svg { - display: inline-block; - width: 16px; - height: 16px; - vertical-align: middle; - - path { - fill: $grey-color; - } + path { + fill: $grey-color; } } diff --git a/lib/site_template/_sass/_layout.scss b/lib/site_template/_sass/_layout.scss index b09c82fe..9cbfddef 100644 --- a/lib/site_template/_sass/_layout.scss +++ b/lib/site_template/_sass/_layout.scss @@ -12,6 +12,7 @@ .site-title { font-size: 26px; + font-weight: 300; line-height: 56px; letter-spacing: -1px; margin-bottom: 0; diff --git a/lib/site_template/_sass/_syntax-highlighting.scss b/lib/site_template/_sass/_syntax-highlighting.scss index e36627da..8fac5977 100644 --- a/lib/site_template/_sass/_syntax-highlighting.scss +++ b/lib/site_template/_sass/_syntax-highlighting.scss @@ -5,6 +5,10 @@ background: #fff; @extend %vertical-rhythm; + .highlighter-rouge & { + background: #eef; + } + .c { color: #998; font-style: italic } // Comment .err { color: #a61717; background-color: #e3d2d2 } // Error .k { font-weight: bold } // Keyword diff --git a/lib/site_template/about.md b/lib/site_template/about.md index 3ed64bb6..d0e6de5e 100644 --- a/lib/site_template/about.md +++ b/lib/site_template/about.md @@ -6,6 +6,10 @@ permalink: /about/ This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at [jekyllrb.com](http://jekyllrb.com/) -You can find the source code for the Jekyll new theme at: [github.com/jglovier/jekyll-new](https://github.com/jglovier/jekyll-new) +You can find the source code for the Jekyll new theme at: +{% include icon-github.html username="jglovier" %} / +[jekyll-new](https://github.com/jglovier/jekyll-new) -You can find the source code for Jekyll at [github.com/jekyll/jekyll](https://github.com/jekyll/jekyll) +You can find the source code for Jekyll at +{% include icon-github.html username="jekyll" %} / +[jekyll](https://github.com/jekyll/jekyll) diff --git a/lib/site_template/css/main.scss b/lib/site_template/css/main.scss index ba29244a..f2e566e2 100644 --- a/lib/site_template/css/main.scss +++ b/lib/site_template/css/main.scss @@ -8,7 +8,7 @@ // Our variables $base-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; $base-font-size: 16px; -$base-font-weight: 300; +$base-font-weight: 400; $small-font-size: $base-font-size * 0.875; $base-line-height: 1.5; diff --git a/lib/site_template/index.html b/lib/site_template/index.html index 83d93985..9fbc9b70 100644 --- a/lib/site_template/index.html +++ b/lib/site_template/index.html @@ -12,7 +12,7 @@ layout: default

- {{ post.title }} + {{ post.title | escape }}

{% endfor %} diff --git a/rake/docs.rake b/rake/docs.rake new file mode 100644 index 00000000..aec162b5 --- /dev/null +++ b/rake/docs.rake @@ -0,0 +1,23 @@ +############################################################################# +# +# Packaging tasks for jekyll-docs +# +############################################################################# + +namespace :docs do + desc "Release #{docs_name} v#{version}" + task :release => :build do + unless `git branch` =~ /^\* master$/ + puts "You must be on the master branch to release!" + exit! + end + sh "gem push pkg/#{docs_name}-#{version}.gem" + end + + desc "Build #{docs_name} v#{version} into pkg/" + task :build do + mkdir_p "pkg" + sh "gem build #{docs_name}.gemspec" + sh "mv #{docs_name}-#{version}.gem pkg" + end +end diff --git a/rake/release.rake b/rake/release.rake new file mode 100644 index 00000000..a78690d8 --- /dev/null +++ b/rake/release.rake @@ -0,0 +1,25 @@ +############################################################################# +# +# Packaging tasks +# +############################################################################# + +desc "Release #{name} v#{version}" +task :release => :build do + unless `git branch` =~ /^\* master$/ + puts "You must be on the master branch to release!" + exit! + end + sh "git commit --allow-empty -m 'Release :gem: #{version}'" + sh "git tag v#{version}" + sh "git push origin master" + sh "git push origin v#{version}" + sh "gem push pkg/#{name}-#{version}.gem" +end + +desc "Build #{name} v#{version} into pkg/" +task :build do + mkdir_p "pkg" + sh "gem build #{gemspec_file}" + sh "mv #{gem_file} pkg" +end diff --git a/rake/site.rake b/rake/site.rake new file mode 100644 index 00000000..f1af29ba --- /dev/null +++ b/rake/site.rake @@ -0,0 +1,152 @@ +############################################################################# +# +# Site tasks - http://jekyllrb.com +# +############################################################################# + +namespace :site do + task :generated_pages => [:history, :version_file, :conduct, :contributing] + + desc "Generate and view the site locally" + task :preview => :generated_pages do + require "launchy" + require "jekyll" + + # Yep, it's a hack! Wait a few seconds for the Jekyll site to generate and + # then open it in a browser. Someday we can do better than this, I hope. + Thread.new do + sleep 4 + puts "Opening in browser..." + Launchy.open("http://localhost:4000") + end + + # Generate the site in server mode. + puts "Running Jekyll..." + options = { + "source" => File.expand_path("site"), + "destination" => File.expand_path("site/_site"), + "watch" => true, + "serving" => true + } + Jekyll::Commands::Build.process(options) + Jekyll::Commands::Serve.process(options) + end + + desc "Generate the site" + task :generate => :generated_pages do + require "jekyll" + Jekyll::Commands::Build.process({ + "source" => File.expand_path("site"), + "destination" => File.expand_path("site/_site") + }) + end + task :build => :generate + + desc "Update normalize.css library to the latest version and minify" + task :update_normalize_css do + Dir.chdir("site/_sass") do + sh 'curl "http://necolas.github.io/normalize.css/latest/normalize.css" -o "normalize.scss"' + sh 'sass "normalize.scss":"_normalize.scss" --style compressed' + rm ['normalize.scss', Dir.glob('*.map')].flatten + end + end + + desc "Commit the local site to the gh-pages branch and publish to GitHub Pages" + task :publish => :generated_pages do + # Ensure the gh-pages dir exists so we can generate into it. + puts "Checking for gh-pages dir..." + unless File.exist?("./gh-pages") + puts "Creating gh-pages dir..." + sh "git clone git@github.com:jekyll/jekyll gh-pages" + end + + # Ensure latest gh-pages branch history. + Dir.chdir('gh-pages') do + sh "git checkout gh-pages" + sh "git pull origin gh-pages" + end + + # Proceed to purge all files in case we removed a file in this release. + puts "Cleaning gh-pages directory..." + purge_exclude = %w[ + gh-pages/. + gh-pages/.. + gh-pages/.git + gh-pages/.gitignore + ] + FileList["gh-pages/{*,.*}"].exclude(*purge_exclude).each do |path| + sh "rm -rf #{path}" + end + + # Copy site to gh-pages dir. + puts "Building site into gh-pages branch..." + ENV['JEKYLL_ENV'] = 'production' + require "jekyll" + Jekyll::Commands::Build.process({ + "source" => File.expand_path("site"), + "destination" => File.expand_path("gh-pages"), + "sass" => { "style" => "compressed" } + }) + + File.open('gh-pages/.nojekyll', 'wb') { |f| f.puts(":dog: food.") } + + # Commit and push. + puts "Committing and pushing to GitHub Pages..." + sha = `git rev-parse HEAD`.strip + Dir.chdir('gh-pages') do + sh "git add ." + sh "git commit --allow-empty -m 'Updating to #{sha}.'" + sh "git push origin gh-pages" + end + puts 'Done.' + end + + desc "Create a nicely formatted history page for the jekyll site based on the repo history." + task :history do + siteify_file('History.markdown') + end + + desc "Copy the Code of Conduct" + task :conduct do + front_matter = { + "redirect_from" => "/conduct/index.html", + "editable" => false + } + siteify_file('CONDUCT.markdown', front_matter) + end + + desc "Copy the contributing file" + task :contributing do + siteify_file('.github/CONTRIBUTING.markdown', "title" => "Contributing") + end + + desc "Write the site latest_version.txt file" + task :version_file do + File.open('site/latest_version.txt', 'wb') { |f| f.puts(version) } unless version =~ /(beta|rc|alpha)/i + end + + namespace :releases do + desc "Create new release post" + task :new, :version do |t, args| + raise "Specify a version: rake site:releases:new['1.2.3']" unless args.version + today = Time.new.strftime('%Y-%m-%d') + release = args.version.to_s + filename = "site/_posts/#{today}-jekyll-#{release.split('.').join('-')}-released.markdown" + + File.open(filename, "wb") do |post| + post.puts("---") + post.puts("layout: news_item") + post.puts("title: 'Jekyll #{release} Released'") + post.puts("date: #{Time.new.strftime('%Y-%m-%d %H:%M:%S %z')}") + post.puts("author: ") + post.puts("version: #{release}") + post.puts("categories: [release]") + post.puts("---") + post.puts + post.puts + end + + puts "Created #{filename}" + end + end +end diff --git a/script/bootstrap b/script/bootstrap index 99756046..054a2c24 100755 --- a/script/bootstrap +++ b/script/bootstrap @@ -1,4 +1,4 @@ -#!/bin/sh +#!/usr/bin/env bash script/branding bundle install -j8 diff --git a/script/branding b/script/branding index 2df6c670..2708f4d1 100755 --- a/script/branding +++ b/script/branding @@ -1,4 +1,4 @@ -#! /bin/bash +#!/usr/bin/env bash echo " ---------------------------------------------------------- " echo " _ ______ _ __ __ __ _ _ " diff --git a/script/cibuild b/script/cibuild index dade701b..d30fd36b 100755 --- a/script/cibuild +++ b/script/cibuild @@ -1,7 +1,9 @@ -#! /bin/bash -e +#!/usr/bin/env bash script/branding +set -e + if [[ -z "$TEST_SUITE" ]] then script/test ci diff --git a/script/cucumber b/script/cucumber index 31a9be63..0f0ef0f7 100755 --- a/script/cucumber +++ b/script/cucumber @@ -1,11 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash -if ruby --version | grep -q "jruby" -then - echo "Move along, we are not testing features on JRuby right now." - exit 0 -else - time ruby -S bundle exec cucumber \ - -f Features::Support::Overview \ - "$@" -fi +time ruby -S bundle exec cucumber \ + -f Jekyll::Cucumber::Formatter "$@" diff --git a/script/proof b/script/proof index 7c90b753..a5de7fd6 100755 --- a/script/proof +++ b/script/proof @@ -1,4 +1,4 @@ -#! /bin/bash +#!/usr/bin/env bash # # Usage: # script/proof @@ -14,6 +14,7 @@ INGORE_HREFS=$(ruby -e 'puts %w{ twitter.com nearlyfreespeech.net eduardoboucas.com + github.com\/matrix9180 }.map{|h| "/#{h}/"}.join(",")') SOURCE="site" DESTINATION="_site" @@ -27,8 +28,8 @@ bundle install -j8 > /dev/null || bundle install > /dev/null # 2. msg "Building..." -bundle exec jekyll build -s $SOURCE -d $DESTINATION --full-rebuild --trace +bundle exec jekyll build -s $SOURCE -d $DESTINATION --trace # 3. msg "Proofing..." -time bundle exec htmlproof ./$DESTINATION --href-ignore $INGORE_HREFS +time bundle exec htmlproof ./$DESTINATION --url-ignore $INGORE_HREFS diff --git a/script/rebund b/script/rebund deleted file mode 100755 index 2e8d3b1f..00000000 --- a/script/rebund +++ /dev/null @@ -1,140 +0,0 @@ -#!/bin/bash -# -# rebund(1) -# -# Author: Julien Letessier -# Homepage: https://github.com/mezis/rebund -# License: -# -# Copyright (c) 2014 HouseTrip Ltd -# -# MIT License -# -# Permission is hereby granted, free of charge, to any person obtaining -# a copy of this software and associated documentation files (the -# "Software"), to deal in the Software without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: -# -# The above copyright notice and this permission notice shall be -# included in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -# Configuration -: ${REBUND_CREDENTIALS:=user:secret} -: ${REBUND_ENDPOINT=http://keyfile-production.herokuapp.com} -: ${REBUND_TARBALL:=bundle.tbz} -: ${REBUND_BUNDLE_DIR:=vendor/bundle} - - - -log() { - echo "rebund: $*" > /dev/stderr -} - -die() { - echo "fatal: $*" > /dev/stderr - exit 1 -} - -success() { - log "$*" - exit 0 -} - -on_error() { - die 'unknown error.' -} - -get_ruby_version() { - bundle exec ruby --version -} - -get_gemfile() { - bundle exec sh -c 'echo $BUNDLE_GEMFILE' -} - -calculate_hash() { - (get_ruby_version ; cat $(get_gemfile)) | openssl sha256 | sed -e 's/.* //' -} - -build_tarball() { - test -e $REBUND_BUNDLE_DIR || die "cannot find bundle directory in ${REBUND_BUNDLE_DIR}" - test -e $REBUND_TARBALL && success 'bundle already uploaded' - tar jcf $REBUND_TARBALL $REBUND_BUNDLE_DIR -} - -upload_tarball() { - curl --fail \ - -F filedata=@${REBUND_TARBALL} \ - --digest --user $REBUND_CREDENTIALS \ - ${REBUND_ENDPOINT}/$(calculate_hash) \ - || success "could not upload bundle" -} - -expand_tarball() { - test -e $REBUND_TARBALL || success "no tarball" - tar jxf $REBUND_TARBALL -} - -download_tarball() { - curl --fail \ - --location \ - -o ${REBUND_TARBALL} \ - --digest --user $REBUND_CREDENTIALS \ - ${REBUND_ENDPOINT}/$(calculate_hash) \ - || success "could not download bundle" -} - -rebund_upload() { - build_tarball - upload_tarball -} - -rebund_download() { - download_tarball - expand_tarball -} - -rebund_usage() { - success "usage: $0 [-v] [upload|download]" -} - -# cath errors -trap on_error ERR - -# inherit the ERR trap in subprocesses -set -E - -while test $# -gt 0 ; do - case $1 in - -v) - set -x - ;; - upload) - rebund_upload - exit 0 - ;; - download) - rebund_download - exit 0 - ;; - *) - rebund_usage - exit 1 - ;; - esac - shift -done - -rebund_usage diff --git a/script/rubyprof b/script/rubyprof index cac68ae7..18c5777b 100755 --- a/script/rubyprof +++ b/script/rubyprof @@ -1,7 +1,8 @@ #!/usr/bin/env bash + export BENCHMARK=1 -TEST_SCRIPT="Jekyll::Commands::Build.process({'source' => 'site', 'full_rebuild' => true})" +TEST_SCRIPT="Jekyll::Commands::Build.process({'source' => 'site'})" RUBY=$(cat < /dev/null || script/bootstrap -TEST_SCRIPT="Jekyll::Commands::Build.process({'source' => 'site', 'full_rebuild' => true})" -PROF_OUTPUT_FILE=tmp/stackprof-$(date +%Y%m%d%H%M).dump +TEST_SCRIPT="Jekyll::Commands::Build.process({'source' => 'site'})" +PROF_OUTPUT_FILE=tmp/stackprof-${STACKPROF_MODE}-$(date +%Y%m%d%H%M).dump +echo Stackprof Mode: $STACKPROF_MODE test -f "$PROF_OUTPUT_FILE" || { bundle exec ruby -r./lib/jekyll -rstackprof \ - -e "StackProf.run(mode: :cpu, interval: 100, out: '${PROF_OUTPUT_FILE}') { ${TEST_SCRIPT} }" + -e "StackProf.run(mode: :${STACKPROF_MODE}, interval: 100, out: '${PROF_OUTPUT_FILE}') { ${TEST_SCRIPT} }" } bundle exec stackprof $PROF_OUTPUT_FILE $@ diff --git a/script/test b/script/test index e4e44f09..5aab2f06 100755 --- a/script/test +++ b/script/test @@ -1,4 +1,5 @@ -#! /bin/bash -e +#!/usr/bin/env bash +set -e # Usage: # script/test diff --git a/script/travis b/script/travis new file mode 100755 index 00000000..4d62fa9b --- /dev/null +++ b/script/travis @@ -0,0 +1,40 @@ +#!/bin/sh +# Usage: script/travis [ruby-version [file]] +# Example: script/travis 2.0 test/failing_test.rb +# Example: script/travis 2.3.0 +set -e + +mkdir -p vendor/docker +docker rm -fv docker-travis > /dev/null 2>&1 || true +docker run --volume=$(pwd):/home/travis/builds/jekyll/jekyll \ + --workdir=/home/travis/builds/jekyll/jekyll \ + --volume=$(pwd)/vendor/docker:/home/travis/builds/jekyll/jekyll/vendor/bundle \ + --user=travis --name=docker-travis -dit quay.io/travisci/travis-ruby \ + bash > /dev/null + +status=0 +if [ $# -eq 2 ]; then + docker exec -it docker-travis bash -ilc " \ + rvm use --install --binary --fuzzy $1 + bundle install --path vendor/bundle -j 12 \\ + --without benchmark:site:development + bundle clean + script/test $2 + " || status=$? + +elif [ $# -eq 1 ]; then + docker exec -it docker-travis bash -ilc " \ + rvm use --install --binary --fuzzy $1 + bundle install --path vendor/bundle -j 12 \\ + --without benchmark:site:development + bundle clean + bundle exec rake + " || status=$? + +else + docker exec -it docker-travis \ + bash -il || status=$? +fi + +docker rm -fv docker-travis > /dev/null +exit $status diff --git a/script/vendor-mimes b/script/vendor-mimes new file mode 100755 index 00000000..ea779232 --- /dev/null +++ b/script/vendor-mimes @@ -0,0 +1,35 @@ +#!/usr/bin/env ruby +# Vendors the MIME type config from the mime-db list +# usage: script/vendor-mimes + +require 'json' +require 'open-uri' + +config = File.expand_path "../lib/jekyll/mime.types", File.dirname(__FILE__) + +# Create an array of vendored mimetype => [extensions] +mimes = {} +json = open('https://raw.githubusercontent.com/jshttp/mime-db/master/db.json').read +data = JSON.parse(json) +data.reject! { |mime, meta| meta["extensions"].nil? || meta["extensions"].empty? } +data.each do |mime, meta| + # Normalize extensions and mime-types + mime = mime.downcase.strip + extensions = meta["extensions"].map { |e| e.downcase.strip }.compact + + # If a given extension is listed multiple times, prefer the first one listed + extensions.reject! { |extension| mimes.values.flatten.include?(extension) } + + next if extensions.empty? + mimes[mime] = [] if mimes[mime].nil? + mimes[mime].concat extensions +end + +strlen = mimes.keys.max_by(&:length).length +output = "" +output << "# Woah there. Do not edit this file directly.\n" +output << "# This file is generated automatically by script/vendor-mimes.\n\n" +mimes = mimes.sort_by { |k,v| k } +output << mimes.map { |mime,extensions| "#{mime.ljust(strlen)} #{extensions.join(" ")}" }.join("\n") + +File.write(config, output) diff --git a/site/README.md b/site/README.md index d98f6db7..27cd67c6 100644 --- a/site/README.md +++ b/site/README.md @@ -9,7 +9,8 @@ For information about contributing, see the [Contributing page](http://jekyllrb. ## Running locally You can preview your contributions before opening a pull request by running from within the directory: + 1. `bundle install` 2. `bundle exec rake site:preview` -It's just a jekyll site, afterall! :wink: \ No newline at end of file +It's just a jekyll site, afterall! :wink: diff --git a/site/_config.yml b/site/_config.yml index 46ba6f99..a7c59653 100644 --- a/site/_config.yml +++ b/site/_config.yml @@ -5,10 +5,30 @@ excerpt_separator: "" gauges_id: 503c5af6613f5d0f19000027 google_analytics_id: UA-50755011-1 +google_site_verification: onQcXpAvtHBrUI5LlroHNE_FP0b2qvFyPq7VZw36iEY repository: https://github.com/jekyll/jekyll help_url: https://github.com/jekyll/jekyll-help +timezone: America/Los_Angeles + collections: docs: output: true + +name: Jekyll • Simple, blog-aware, static sites +description: Transform your plain text into static websites and blogs +url: https://jekyllrb.com + +twitter: + username: jekyllrb + +logo: img/logo-2x.png + +gems: + - jekyll-feed + - jekyll-redirect-from + - jemoji + - jekyll-sitemap + - jekyll-seo-tag + - jekyll-avatar diff --git a/site/_data/docs.yml b/site/_data/docs.yml index bcdf352d..7cb85198 100644 --- a/site/_data/docs.yml +++ b/site/_data/docs.yml @@ -39,9 +39,11 @@ - troubleshooting - sites - resources - - upgrading + - upgrading/0-to-2 + - upgrading/2-to-3 - title: Meta docs: - contributing + - conduct - history diff --git a/site/_docs/assets.md b/site/_docs/assets.md index e82ddb30..db8847c1 100644 --- a/site/_docs/assets.md +++ b/site/_docs/assets.md @@ -4,9 +4,10 @@ title: Assets permalink: /docs/assets/ --- -Jekyll provides built-in support for Sass and CoffeeScript. In order to use -them, create a file with the proper extension name (one of `.sass`, `.scss`, -or `.coffee`) and start the file with two lines of triple dashes, like this: +Jekyll provides built-in support for Sass and can work with CoffeeScript via +a Ruby gem. In order to use them, you must first create a file with the +proper extension name (one of `.sass`, `.scss`, or `.coffee`) and start the +file with two lines of triple dashes, like this: {% highlight sass %} --- @@ -25,7 +26,7 @@ will process it and put it in your site's destination folder under
Jekyll processes all Liquid filters and tags in asset files
-

If you are using Mustache +

If you are using Mustache or another JavaScript templating language that conflicts with the Liquid template syntax, you will need to place {% raw %} and @@ -73,8 +74,21 @@ You may also specify the output style with the `style` option in your {% highlight yaml %} sass: - style: :compressed + style: compressed {% endhighlight %} These are passed to Sass, so any output style options Sass supports are valid here, too. + + +## Coffeescript + +To enable Coffeescript in Jekyll 3.0 and up you must + +* Install the `jekyll-coffeescript` gem +* Ensure that your `_config.yml` is up-to-date and includes the following: + +{% highlight yaml %} +gems: + - jekyll-coffeescript +{% endhighlight %} diff --git a/site/_docs/collections.md b/site/_docs/collections.md index e55378af..87c7c8e9 100644 --- a/site/_docs/collections.md +++ b/site/_docs/collections.md @@ -4,13 +4,6 @@ title: Collections permalink: /docs/collections/ --- -

-
Collections support is unstable and may change
-

- This is an experimental feature and the API may change until the feature stabilizes. -

-
- Not everything is a post or a page. Maybe you want to document the various methods in your open source project, members of a team, or talks at a conference. Collections allow you to define a new type of document that behave @@ -310,11 +303,8 @@ file, each document has the following attributes:

- The URL of the rendered collection. The file is only written to the - destination when the name of the collection to which it belongs is - included in the render key in the site's configuration - file. -

+ The URL of the rendered collection. The file is only written to the destination when the collection to which it belongs has output: true in the site's configuration. +

@@ -333,7 +323,7 @@ file, each document has the following attributes: ## Accessing Collection Attributes -Attributes from the YAML front matter can be accessed as data anywhere in the +Attributes from the YAML front matter can be accessed as data anywhere in the site. Using the above example for configuring a collection as `site.albums`, one might have front matter in an individual file structured as follows (which must use a supported markup format, and cannot be saved with a `.yaml` diff --git a/site/_docs/conduct.md b/site/_docs/conduct.md new file mode 100644 index 00000000..d68c5ec5 --- /dev/null +++ b/site/_docs/conduct.md @@ -0,0 +1,56 @@ +--- +title: Code of Conduct +layout: docs +permalink: "/docs/conduct/" +note: This file is autogenerated. Edit /CONDUCT.markdown instead. +redirect_from: "/conduct/index.html" +editable: false +--- + +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 +contribute through reporting issues, posting feature requests, updating +documentation, submitting pull requests or patches, and other activities. + +We are committed to making participation in this project a harassment-free +experience for everyone, regardless of level of experience, gender, gender +identity and expression, sexual orientation, disability, personal appearance, +body size, race, ethnicity, age, religion, or nationality. + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery +* Personal attacks +* Trolling or insulting/derogatory comments +* Public or private harassment +* Publishing other's private information, such as physical or electronic + addresses, without explicit permission +* Other unethical or unprofessional conduct + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +By adopting this Code of Conduct, project maintainers commit themselves to +fairly and consistently applying these principles to every aspect of managing +this project. Project maintainers who do not follow or enforce the Code of +Conduct may be permanently removed from the project team. + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by opening an issue or contacting a project maintainer. All complaints +will be reviewed and investigated and will result in a response that is deemed +necessary and appropriate to the circumstances. Maintainers are obligated to +maintain confidentiality with regard to the reporter of an incident. + + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 1.3.0, available at +[http://contributor-covenant.org/version/1/3/0/][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/3/0/ diff --git a/site/_docs/configuration.md b/site/_docs/configuration.md index f9ac4eaa..9956cb77 100644 --- a/site/_docs/configuration.md +++ b/site/_docs/configuration.md @@ -106,9 +106,9 @@ class="flag">flags (specified on the command-line) that control them. Set the time zone for site generation. This sets the TZ environment variable, which Ruby uses to handle time and date creation and manipulation. Any entry from the - IANA Time Zone + IANA Time Zone Database is valid, e.g. America/New_York. A list of all - available values can be found + available values can be found here. The default is the local time zone, as set by your operating system.

@@ -120,7 +120,7 @@ class="flag">flags (specified on the command-line) that control them.

Encoding

- Set the encoding of files by name. Only available for Ruby + Set the encoding of files by name (only available for Ruby 1.9 or later). The default value is utf-8 starting in 2.0.0, and nil before 2.0.0, which will yield the Ruby @@ -180,7 +180,7 @@ class="flag">flags (specified on the command-line) that control them.

Enable auto-regeneration of the site when files are modified.

-

-w, --watch

+

-w, --[no-]watch

@@ -198,13 +198,23 @@ class="flag">flags (specified on the command-line) that control them.

Process and render draft posts.

+

show_drafts: BOOL

--drafts

+ + +

Environment

+

Use a specific environment value in the build.

+ + +

JEKYLL_ENV=production

+ +

Future

-

Publish posts with a future date.

+

Publish posts or collection documents with a future date.

future: BOOL

@@ -259,10 +269,26 @@ class="flag">flags (specified on the command-line) that control them.

-q, --quiet

+ + +

Incremental build

+

+ Enable the experimental incremental build feature. Incremental build only + re-builds posts and pages that have changed, resulting in significant performance + improvements for large sites, but may also break site generation in certain + cases. +

+ + +

incremental: BOOL

+

-I, --incremental

+ +
+ ### Serve Command Options In addition to the options below, the `serve` sub-command can accept any of the options @@ -327,6 +353,24 @@ before your site is served.

--skip-initial-build

+ + +

X.509 (SSL) Private Key

+

SSL Private Key.

+ + +

--ssl-key

+ + + + +

X.509 (SSL) Certificate

+

SSL Public certificate.

+ + +

--ssl-cert

+ +