Skip to content

Commit

Permalink
Merge branch 'master' into patch-7
Browse files Browse the repository at this point in the history
  • Loading branch information
DirtyF authored Jan 2, 2017
2 parents b1b0d00 + 7dce4e4 commit a44a1ef
Show file tree
Hide file tree
Showing 7 changed files with 46 additions and 16 deletions.
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ group :jekyll_optional_dependencies do
gem "toml", "~> 0.1.0"

platform :ruby, :mswin, :mingw, :x64_mingw do
gem "classifier-reborn", "~> 2.0"
gem "classifier-reborn", "~> 2.1.0"
gem "liquid-c", "~> 3.0"
gem "pygments.rb", "~> 0.6.0"
gem "rdiscount", "~> 2.0"
Expand Down
5 changes: 5 additions & 0 deletions History.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,14 @@
* Switch to `https` when possible. (#5611)
* Update `_font-awesome.scss` to move .woff file before .ttf (#5614)
* Update documentation on updating FontAwesome Iconset (#5655)
* Improve quickstart docs (#5689)
* Add Jekyll-Post to list of plugins (#5705)

### Minor Enhancements

* Add connector param to array_to_sentence_string filter (#5597)
* Adds group_by_exp filter (#5513)
* Use the current year for the LICENSE of theme (#5712)

### Bug Fixes

Expand All @@ -33,6 +36,7 @@
* Rubocop -a on lib/jekyll (#5666)
* Bump to rake 12.0 (#5670)
* Rubocop Gemfile (#5671)
* update Classifier-Reborn to 2.1.0 (#5711)

### Documentation

Expand All @@ -42,6 +46,7 @@
* Improve Permalinks documentation. (#5653)
* Fix typo in Variables doc page (#5657)
* Fix a couple of typos in the docs (#5658)
* Update windows.md (#5683)

## 3.3.1 / 2016-11-14

Expand Down
1 change: 1 addition & 0 deletions docs/_docs/plugins.md
Original file line number Diff line number Diff line change
Expand Up @@ -918,6 +918,7 @@ LESS.js files during generation.
- [jekyll-data](https://github.com/ashmaroli/jekyll-data): Read data files within Jekyll Theme Gems.
- [jekyll-pinboard](https://github.com/snaptortoise/jekyll-pinboard-plugin): Access your Pinboard bookmarks within your Jekyll theme.
- [jekyll-migrate-permalink](https://github.com/mpchadwick/jekyll-migrate-permalink): Adds a `migrate-permalink` sub-command to help deal with side effects of changing your permalink.
- [Jekyll-Post](https://github.com/robcrocombe/jekyll-post): A CLI tool to easily draft, edit, and publish Jekyll posts.
#### Editors
Expand Down
37 changes: 27 additions & 10 deletions docs/_docs/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,42 @@ title: Quick-start guide
permalink: /docs/quickstart/
---

For the impatient, here's how to get a boilerplate Jekyll site up and running.
If you already have [Ruby](https://www.ruby-lang.org/en/downloads/) and [RubyGems](https://rubygems.org/pages/download) installed (see Jekyll's [requirements](/docs/installation/#requirements/)), you can create a new Jekyll site by doing the following:

```sh
# Install Jekyll and Bundler gems through RubyGems
~ $ gem install jekyll bundler

# Create a new Jekyll site at ./myblog
~ $ jekyll new myblog

# Change into your new directory
~ $ cd myblog

# Build the site on the preview server
~/myblog $ bundle exec jekyll serve
# => Now browse to http://localhost:4000

# Now browse to http://localhost:4000
```

The `jekyll new` command now automatically initiates `bundle install` and installs the dependencies required. To skip this, pass `--skip-bundle` option like so `jekyll new myblog --skip-bundle`.
## About Bundler

`gem install jekyll bundler` installs the [jekyll](https://rubygems.org/gems/jekyll/) and [bundler](https://rubygems.org/gems/bundler) gems through [RubyGems](https://rubygems.org/). You need only to install the gems one time — not every time you create a new Jekyll project. Here are some additional details:

* `bundler` is a gem that manages other Ruby gems. It makes sure your gems and gem versions are compatible, and that you have all necessary dependencies each gem requires.
* The `Gemfile` and `Gemfile.lock` files inform Bundler about the gem requirements in your site. If your site doesn't have these Gemfiles, you can omit `bundle exec` and just run `jekyll serve`.

* When you run `bundle exec jekyll serve`, Bundler uses the gems and versions as specified in `Gemfile.lock` to ensure your Jekyll site builds with no compatibility or dependency conflicts.

## Options for creating a new site with Jekyll

If you wish to install jekyll into an existing directory, you can do so by running `jekyll new .` from within the directory instead of creating a new one. If the existing directory isn't empty, you'll also have to pass the `--force` option like so `jekyll new . --force`.
`jekyll new <PATH>` installs a new Jekyll site at the path specified (relative to current directory). In this case, Jekyll will be installed in a directory called `myblog`. Here are some additional details:

That's nothing, though. The real magic happens when you start creating blog
posts, using the front matter to control templates and layouts, and taking
advantage of all the awesome configuration options Jekyll makes available.
* To install the Jekyll site into the directory you're currently in, run `jekyll new .` If the existing directory isn't empty, you can pass the `--force` option with `jekyll new . --force`.
* `jekyll new` automatically initiates `bundle install` to install the dependencies required. (If you don't want Bundler to install the gems, use `jekyll new myblog --skip-bundle`.)
* By default, the Jekyll site installed by `jekyll new` uses a gem-based theme called [Minima](https://github.com/jekyll/minima). With [gem-based themes](../themes), some of the directories and files are stored in the theme-gem, hidden from your immediate view.
* To learn about other parameters you can include with `jekyll new`, type `jekyll new --help`.

If you're running into problems, ensure you have all the [requirements
installed][Installation].
## Next steps

[Installation]: /docs/installation/
Building a Jekyll site with the default theme is just the first step. The real magic happens when you start creating blog posts, using the front matter to control templates and layouts, and taking advantage of all the awesome configuration options Jekyll makes available.
3 changes: 3 additions & 0 deletions docs/_docs/windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ A quick way to install Jekyll is to follow the [installation instructions by Dav
2. Install Ruby via Chocolatey: `choco install ruby -y`
3. Reopen a command prompt and install Jekyll: `gem install jekyll`

Updates in the infrastructure of Ruby may cause SSL errors when attempting to use `gem install` with versions of the RubyGems package older than 2.6. (The RubyGems package installed via the Chocolatey tool is version 2.3) If you have installed an older version, you can update the RubyGems package using the directions [here.][ssl-certificate-update]
[ssl-certificate-update]: http://guides.rubygems.org/ssl-certificate-update/#installing-using-update-packages

For a more conventional way of installing Jekyll you can follow this [complete guide to install Jekyll 3 on Windows by Sverrir Sigmundarson][windows-installjekyll3].

[windows-installjekyll3]: https://labs.sverrirs.com/jekyll/
Expand Down
2 changes: 1 addition & 1 deletion lib/theme_template/LICENSE.txt.erb
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2016 <%= user_name %>
Copyright (c) <%= Time.now.year %> <%= user_name %>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
12 changes: 8 additions & 4 deletions script/stackprof
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,17 @@ esac
export BENCHMARK=true
command -v stackprof > /dev/null || script/bootstrap

TEST_SCRIPT="Jekyll::Commands::Build.process({'source' => 'site'})"
TEST_SCRIPT="Jekyll::Commands::Build.process({'source' => 'docs'})"
PROF_OUTPUT_FILE=tmp/stackprof-${STACKPROF_MODE}-$(date +%Y%m%d%H%M).dump

GC_BEFORE="puts 'GC Stats:'; puts JSON.pretty_generate(GC.stat); GC.disable"
GC_AFTER="puts 'GC Stats:'; GC.start(full_mark: true, immediate_sweep: false); puts JSON.pretty_generate(GC.stat);"

echo Stackprof Mode: $STACKPROF_MODE
test -f "$PROF_OUTPUT_FILE" || {
bundle exec ruby -r./lib/jekyll -rstackprof \
-e "StackProf.run(mode: :${STACKPROF_MODE}, interval: 100, out: '${PROF_OUTPUT_FILE}') { ${TEST_SCRIPT} }"
bundle exec ruby -r./lib/jekyll -rstackprof -rjson \
-e "StackProf.run(mode: :${STACKPROF_MODE}, interval: 100, out: '${PROF_OUTPUT_FILE}') { ${GC_BEFORE}; ${TEST_SCRIPT}; ${GC_AFTER}; }"
}

bundle exec stackprof $PROF_OUTPUT_FILE $@
set -x
bundle exec stackprof $PROF_OUTPUT_FILE $@ --sort-total

0 comments on commit a44a1ef

Please sign in to comment.