Release v4.0.0.pre.alpha1 (#7574)

Merge pull request 7574
This commit is contained in:
Frank Taillandier 2019-03-19 08:03:57 +01:00 committed by jekyllbot
parent f3cb41b65a
commit 378147d761
13 changed files with 281 additions and 257 deletions

View File

@ -1,13 +1,139 @@
## HEAD ## HEAD
### Major Enhancements
* Drop ruby 2.3 (#7454)
* Drop support for Ruby 2.1 and 2.2 (#6560)
* Drop support for older versions of Rouge (#6978)
* Drop support for pygments as syntax-highlighter (#7118)
* Drop support for Redcarpet (#6987)
* Drop support for rdiscount (#6988)
* Drop support for `jekyll-watch-1.4.0` and older (#7287)
* Incorporate `relative_url` filter in `link` tag (#6727)
* Refactor `highlight` tag to behave like the `raw` tag (#6821)
* Upgrade kramdown dependency to v2.x (#7492)
* Upgrade i18n to v1.x (#6931)
* Add `Jekyll::Cache` class to handle caching on disk (#7169)
* Cache converted markdown (#7159)
* Cache: Do not dump undumpable objects (#7190)
* Cache matched defaults sets for given parameters (#6888)
* Ignore cache directory (#7184)
* Add `Site#in_cache_dir` helper method (#7160)
* Remove 'cache_dir' during `jekyll clean` (#7158)
* Cache parsed Liquid templates in memory (#7136)
* Only read layouts from source_dir or theme_dir (#6788)
* Allow custom sorting of collection documents (#7427)
* Always exclude certain paths from being processed (#7188)
### Bug Fixes
* Security: fix `include` bypass of `EntryFilter#filter` symlink check (#7226)
* Theme gems: ensure directories aren't symlinks (#7419)
* Add call to unused method `validate_options` in `commands/serve.rb` (#7122)
* Check if scope applies to type before given path (#7263)
* Document two methods, simplify one of the methods (#7270)
* Check key in collections only if it isn't "posts" (#7277)
* Interpolate Jekyll::Page subclass on inspection (#7203)
* Measure the no. of times a template gets rendered (#7316)
* Reduce array traversal in Jekyll::Reader (#7157)
* Re-implement handling Liquid blocks in excerpts (#7250)
* Documents should be able to render their date (#7404)
* Fix Interpreter warning from Jekyll::Renderer (#7448)
* Loggers should accept both numbers and symbols (#6967)
* Replace regex arg to :gsub with a string arg (#7189)
* Dont write static files from unrendered collection (#7410)
* Excerpt handling of custom and intermediate tags (#7382)
* Change future post loglevel to warn to help user narrow down issues (#7527)
* Handle files with trailing dots in their basename (#7315)
* Fix unnecessary allocations via StaticFileReader (#7572)
* Don't check if site URL is absolute if it is nil (#7498)
* Avoid unnecessary duplication of pages array (#7272)
* Memoize Site#post_attr_hash (#7276)
* Memoize Document#excerpt_separator (#7569)
* Optimize Document::DATE_FILENAME_MATCHER to match valid filenames (#7292)
* Escape valid special chars in a site's path name (#7568)
* Replace `name` in Page#inspect with relative_path (#7434)
* Log a warning when the slug is empty (#7357)
### Minor Enhancements
* Enhance `--blank` scaffolding (#7310)
* Fix custom 404 page for GitHub pages (#7132)
* Load config file from within current theme-gem (#7304)
* Use `jekyll-compose` if installed (#6932)
* Suggest re-running command with `--trace` on fail (#6551)
* Support for binary operators in where_exp filter (#6998)
* Automatically load `_config.toml` (#7299)
* Add vendor folder to a newly installed site's .gitignore (#6968)
* Output Jekyll Version while debugging (#7173)
* Memoize computing excerpt's relative_path (#6951)
* Skip processing posts that can not be read (#7302)
* Memoize the return value of Site#documents (#7273)
* Cache globbed paths in front matter defaults (#7345)
* Cache computed item property (#7301)
* Cleanup Markdown converter (#7519)
* Disable Liquid via front matter (#6824)
* Do not process Liquid in post excerpt when disabled in front matter (#7146)
* Liquefied link tag (#6269)
* Update item_property to return numbers as numbers instead of strings (#6608)
* Use `.markdown` extension for page templates (#7126)
* Add support for `*.xhtml` files (#6854)
* Allow i18n v0.9.5 and higher (#7044)
* Ignore permission error of /proc/version (#7267)
* Strip extra slashes via `Jekyll.sanitized_path` (#7182)
* Site template: remove default config for markdown (#7285)
* Add a custom inspect string for StaticFile objects (#7422)
* Remind user to include gem in the Gemfile on error (#7476)
* Search Front matter defaults for Page objects with relative_path (#7261)
* Configure cache_dir (#7232)
* Lock use of `tzinfo` gem to v1.x (#7521, #7562)
* Utilize absolute paths of user-provided file paths (#7450)
### Development Fixes
* Use communicative method parameters (#7566)
* Scan `assert_equal` methods and rectify any offenses with a custom RuboCop cop (#7130)
* Add a script to profile docs with CI (#7540)
* Test with Ruby 2.6 on AppVeyor (#7518)
* Update gemspec (#7425)
* Upgrade liquid-c to v4.0 (#7375)
* Bump RuboCop to v0.63.x (#7489)
* Bump RuboCop to v0.62.x (#7449)
* Bump RuboCop to v0.61.x (#7401)
* Bump RuboCop to v0.60.x (#7338)
* Bump RuboCop to v0.59.0 (#7237)
* Bump RuboCop to v0.57.x (#7078)
* Relax version constraint on classifier-reborn gem (#7471)
* Test with Ruby v2.6 (#7438)
* Create symlink only if target is accessible (#7429)
* Test with oldest and latest Ruby only (#7412)
* Switch to `:install_if` for wdm gem (#7372)
* Update excludes for CodeClimate Analyses (#7365)
* CI(Appveyor): shallow clone with 5 last commits (#7312)
* update yajl-ruby (#7278)
* Add cucumber feature to test include_relative tag (#7213)
* Small benchmark refactoring (#7211)
* Lock Travis to Bundler-1.16.2 (#7144)
* Fix incorrectly passed arguments to assert_equal (#7134)
* fix up refute_equal call (#7133)
* Fix RuboCop offences in test files (#7128)
* Use assert_include (#7093)
* Remember to release docs gem (#7066)
* Update RuboCop's config (#7050)
* Useless privates removed (#6768)
* Load Rouge for TestKramdown (#7007)
* yajl-ruby update to v1.4.0 (#6976)
* Update instructions for releasing docs Gem (#6975)
* We are not using Ruby 2.2 anymore (#6977)
* Remove unnecessary Jekyll::Page constant (#6770)
* Remove unused error class (#6511)
### Documentation ### Documentation
* Release post for v3.8.0 (#6849)
* Add Installation Instructions for Ubuntu (#6925) * Add Installation Instructions for Ubuntu (#6925)
* add liquid tag jekyll-flickr (#6946) * add liquid tag jekyll-flickr (#6946)
* Add 4.0 development post (#6934)
* Updated copy - fixed casing of SaaS on resources page. (#6949) * Updated copy - fixed casing of SaaS on resources page. (#6949)
* WIP: Do not advise users to install Jekyll outside of Bundler (#6927) * Do not advise users to install Jekyll outside of Bundler (#6927)
* Don't prompt for sudo when installing with Ubuntu WSL (#6781) * Don't prompt for sudo when installing with Ubuntu WSL (#6781)
* Fix typo (#6969) * Fix typo (#6969)
* Add version number for group_by_exp doc (#6956) * Add version number for group_by_exp doc (#6956)
@ -16,8 +142,8 @@
* Updated nginx configuration for custom-404-page documentation (#6994) * Updated nginx configuration for custom-404-page documentation (#6994)
* List all static files variables (#7002) * List all static files variables (#7002)
* Document that _drafts need to be contained within the custom collection directory (#6985) * Document that _drafts need to be contained within the custom collection directory (#6985)
* proposed change for passive voice. (#7005) * Change for passive voice. (#7005)
* added the CAT plugin to the plugin list (#7011) * Added the CAT plugin to the plugin list (#7011)
* Updated to supported version (#7031) * Updated to supported version (#7031)
* Clarify definition of 'draft' (#7037) * Clarify definition of 'draft' (#7037)
* Listed the jekyll-target-blank plugin in plugins list. (#7046) * Listed the jekyll-target-blank plugin in plugins list. (#7046)
@ -29,7 +155,7 @@
* GitHub enables you to use themes from other repos (#7112) * GitHub enables you to use themes from other repos (#7112)
* Updates to CODE OF CONDUCT (v1.4.0) (#7105) * Updates to CODE OF CONDUCT (v1.4.0) (#7105)
* Instructions to view themes files under Linux (#7095) * Instructions to view themes files under Linux (#7095)
* add jekyll-xml-source (#7114) * Add jekyll-xml-source (#7114)
* Add the jekyll-firstimage filter plugin (#7127) * Add the jekyll-firstimage filter plugin (#7127)
* Use a real theme in the example (#7125) * Use a real theme in the example (#7125)
* Update docs about post creation (#7138) * Update docs about post creation (#7138)
@ -41,215 +167,84 @@
* Corrected sample usage of postfiles (#7181) * Corrected sample usage of postfiles (#7181)
* Add missing html end tag for code example in section 'For loops' (#7199) * Add missing html end tag for code example in section 'For loops' (#7199)
* Resolve "Unable to locate package ruby2.4" error (#7196) * Resolve "Unable to locate package ruby2.4" error (#7196)
* installation instructions for Fedora (#7198) * Installation instructions for Fedora (#7198)
* New docs (#7205) * New docs (#7205)
* List all standard liquid filters (#7333)
* Correct stylesheet url in tutorial step 7 (#7210) * Correct stylesheet url in tutorial step 7 (#7210)
* Add some minor improvements to image loading in Showcase page (#7214) * Add some minor improvements to image loading in Showcase page (#7214)
* Fix minor grammatical error (#7215) * Fix minor grammatical error (#7215)
* Add developer.spotify.com to the Jekyll Showcase (#7217) * Add developer.spotify.com to the Jekyll Showcase (#7217)
* removes quotes from markdown for assets (#7223) * Removes quotes from markdown for assets (#7223)
* clarified front matter requirement (#7234) * Clarified front matter requirement (#7234)
* Minor whitespace fixes (#7238) * Minor whitespace fixes (#7238)
* explicit location of where to create blog.html (#7241) * Explicit location of where to create blog.html (#7241)
* Fix a small grammar error/typo in the docs (#7260) * Fix a small grammar error/typo in the docs (#7260)
* environments.md: reference the build command options that allows multiple config files (#7266) * Reference the build command options that allows multiple config files (#7266)
* Update 10-deployment.md (#7268) * Update 10-deployment.md (#7268)
* Add more issue template(s) and pull request template (#7269) * Add more issue template(s) and pull request template (#7269)
* Suggest sites use OpenSSL instead of GnuTLS for their site's CI (#7010) * Suggest sites use OpenSSL instead of GnuTLS for their site's CI (#7010)
* Fix broken Contributors link in README.markdown (#7200) * Fix broken Contributors link in README.markdown (#7200)
* Docs: Add title tag to item in RSS template (#7282) * Add title tag to item in RSS template (#7282)
* Docs: more inclusive writing (#7283) * More inclusive writing (#7283)
* Document converter methods (#7289) * Document converter methods (#7289)
* Docs: Add link tag to item in RSS template (#7291) * Add link tag to item in RSS template (#7291)
* Add Isomer to showcase (#7300) * Add Isomer to showcase (#7300)
* Added missing semicolon (#7306) * Added missing semicolon (#7306)
* "This restricts you..." to "This restricts your" (#7307) * "This restricts you..." to "This restricts your" (#7307)
* Add a link to Giraffe Academy's tutorial (#7325) * Add a link to Giraffe Academy's tutorial (#7325)
* grammar correction (#7327) * Grammar correction (#7327)
* docs: list all standard liquid filters (#7333)
* Document Jekyll Filters with YAML data (#7335) * Document Jekyll Filters with YAML data (#7335)
* Remove redundant instruction comment (#7342) * Remove redundant instruction comment (#7342)
* docs: minimize rendering count (#7343) * Minimize rendering count (#7343)
* Update posts.md (#7360) * Update posts.md (#7360)
* Add info how to deploy using pre-push git hook (#7179) * Add info how to deploy using pre-push git hook (#7179)
* Textile is only supported through a converter plugin (#7003) * Textile is only supported through a converter plugin (#7003)
* Add documentation for custom tag blocks (#7359) * Add documentation for custom tag blocks (#7359)
* Added 99inbound's Jekyll post to form resources (#7348) * Added 99inbound's Jekyll post to form resources (#7348)
* docs: document page.dir and page.name (#7373) * Document page.dir and page.name (#7373)
* Remove installation instructions with Homebrew (#7381) * Remove installation instructions with Homebrew (#7381)
* Fix dead link and misleading prose (#7383) * Fix dead link and misleading prose (#7383)
* Fix content management section (#7385) * Fix content management section (#7385)
* Site: Better Performance (#7388)
* Proposed re-wording of Sass note. :) (#7392) * Proposed re-wording of Sass note. :) (#7392)
* Apply ruby official guide documents (#7393) * Apply ruby official guide documents (#7393)
* docs: Fix group_by_exp filter example (#7394) * Fix group_by_exp filter example (#7394)
* adjust team page listings (#7395) * Adjust team page listings (#7395)
* Update resources.md (#7396) * Update resources.md (#7396)
* Update resources.md (#7397) * Update resources.md (#7397)
* Remove alt attribute from a tags (#7407) * Remove alt attribute from a tags (#7407)
* Fix grammatical error in permalinks.md (#7409) * Fix grammatical error in permalinks.md (#7409)
* [Docs] Fix BASH code-block in ubuntu.md (#7420) * Fix BASH code-block in ubuntu.md (#7420)
* zlib is missing (#7428) * zlib is missing (#7428)
* Include docs for `{{ page.collection }}` (#7430) * Include docs for `{{ page.collection }}` (#7430)
* Permalink docs typo fixes (#7459) * Permalink docs typo fixes (#7459)
* Fixed unnecessary aticles and pronouns (#7466) * Fixed unnecessary aticles and pronouns (#7466)
* Grammatical correction (#7464) * Grammatical correction (#7464)
* Update resources.md (#7472) * Update resources.md (#7472)
* Docs: store SSL key and cert in site source (#7473) * Store SSL key and cert in site source (#7473)
* Minor doc fixes (#7495) * Minor doc fixes (#7495)
* Changed order of steps (#7503) * Changed order of steps (#7503)
* Hosting with AWS Amplify (#7510) * Hosting with AWS Amplify (#7510)
* Fix typo in tutorial for converting existing site (#7524) * Fix typo in tutorial for converting existing site (#7524)
* Add CloudSh to resource page. (#7497) * Add CloudSh to resource page. (#7497)
* Docs: check if var exists before include tag (#7530) * Check if var exists before include tag (#7530)
* Added formX to form-backend resources (#7536) * Added formX to form-backend resources (#7536)
* Clarify docs on collections regarding the need for front matter (#7538) * Clarify docs on collections regarding the need for front matter (#7538)
* Fix incorrect Windows path in themes.md (#7525) * Fix incorrect Windows path in themes.md (#7525)
* Document where Jekyll looks for layouts in a site (#7564) * Document where Jekyll looks for layouts in a site (#7564)
* docs: mention CommonMark plugins (#7418) * Mention CommonMark plugins (#7418)
* Addresses bundle not found. (#7351) * Addresses bundle not found. (#7351)
### Minor Enhancements
* use jekyll-compose if installed (#6932)
* Memoize computing excerpt's relative_path (#6951)
* Liquefied link tag (#6269)
* Suggest re-running command with --trace on fail (#6551)
* Update item_property to return numbers as numbers instead of strings (#6608)
* Use .markdown for page templates (#7126)
* Fix custom 404 page for GitHub pages (#7132)
* Add support for `*.xhtml` files (#6854)
* Cache matched defaults sets for given parameters (#6888)
* Ignore permission error of /proc/version (#7267)
* Strip extra slashes via `Jekyll.sanitized_path` (#7182)
* Site template: remove default config for markdown (#7285)
* Cache: Do not dump undumpable objects (#7190)
* Optimize rendering Liquid templates (#7136)
* Automatically load _config.toml (#7299)
* feat: enhance --blank scaffolding (#7310)
* Skip processing posts that can not be read (#7302)
* Memoize Site#post_attr_hash (#7276)
* Load config file from within current theme-gem (#7304)
* Memoize the return value of Site#documents (#7273)
* Upgrade liquid-c to v4.0 (#7375)
* Add a custom inspect string for StaticFile objects (#7422)
* Remind user to include gem in the Gemfile on error (#7476)
* Search Front matter defaults for Page objects with relative_path (#7261)
* Support for binary operators in where_exp filter (#6998)
* Configure cache_dir (#7232)
* Lock use of `tzinfo` gem to v1.x (#7521, #7562)
* Utilize absolute paths of user-provided file paths (#7450)
* Cache globbed paths in front matter defaults (#7345)
* Cache computed item property (#7301)
* Memoize Document#excerpt_separator (#7569)
* Cleanup Markdown converter (#7519)
* Optimize Document::DATE_FILENAME_MATCHER to match valid filenames (#7292)
### Major Enhancements
* Remove unused error class (#6511)
* Drop support for Ruby 2.1 and 2.2 (#6560)
* Add vendor folder to a newly installed site's .gitignore (#6968)
* bump i18n (#6931)
* We are not using Ruby 2.2 anymore (#6977)
* Drop support for older versions of Rouge (#6978)
* Remove support for Redcarpet (#6987)
* Remove support for rdiscount (#6988)
* Remove 'cache_dir' during `jekyll clean` (#7158)
* Output Jekyll Version while debugging (#7173)
* Drop support for pygments as syntax-highlighter (#7118)
* Add Cache class (#7169)
* Cache converted markdown (#7159)
* Ignore cache directory (#7184)
* Incorporate `relative_url` filter in `link` tag (#6727)
* Only read layouts from source_dir or theme_dir (#6788)
* Allow custom sorting of collection documents (#7427)
* Always exclude certain paths from being processed (#7188)
* Add `Site#in_cache_dir` helper method (#7160)
* Refactor `highlight` tag to behave like the `raw` tag (#6821)
* Upgrade kramdown dependency to v2.x (#7492)
* Feat: drop ruby 2.3 (#7454)
### Development Fixes
* Remove unnecessary Jekyll::Page constant (#6770)
* Loggers should accept both numbers and symbols (#6967)
* Update instructions for releasing docs Gem (#6975)
* yajl-ruby update to v1.4.0 (#6976)
* Load Rouge for TestKramdown (#7007)
* Useless privates removed (#6768)
* Allow i18n v0.9.5 and higher (#7044)
* Update Rubocop's config (#7050)
* Remember to release docs gem (#7066)
* Use assert_include (#7093)
* Update rubocop version to 0.57.x ### -docs (#7078)
* Example of CircleCI deployment through CircleCI v2 (#7024) * Example of CircleCI deployment through CircleCI v2 (#7024)
* Fix Rubocop offences in test files (#7128) * v4.0 development post (#6934)
* fix up refute_equal call (#7133) * Release post for v3.8.0 (#6849)
* Fix incorrectly passed arguments to assert_equal (#7134) * Release Post for v3.6.3, v3.7.4 and v3.8.4 (#7259)
* Lock Travis to Bundler-1.16.2 (#7144)
* Replace regex arg to :gsub with a string arg (#7189)
* Interpolate Jekyll::Page subclass on inspection (#7203)
* Small benchmark refactoring (#7211)
* Add cucumber feature to test include_relative tag (#7213)
* Bump Rubocop to v0.59.0 (#7237)
* update yajl-ruby (#7278)
* Drop support for `jekyll-watch-1.4.0` and older (#7287)
* CI(Appveyor): shallow clone with 5 last commits (#7312)
* Bump RuboCop to v0.60.x (#7338)
* Update excludes for CodeClimate Analyses (#7365)
* Switch to `:install_if` for wdm gem (#7372)
* Bump RuboCop to v0.61.x (#7401)
* dev: test oldest and latest Ruby only (#7412)
* Reduce array traversal in Jekyll::Reader (#7157)
* Create symlink only if target is accessible (#7429)
* Test with the new Ruby v2.6 (#7438)
* Bump RuboCop to v0.62.x (#7449)
* Relax version constraint on classifier-reborn gem (#7471)
* Update rubocop to ~> 0.63.1 (#7489)
* dev: update gemspec (#7425)
* Test with Ruby 2.6 on AppVeyor [skip travis] (#7518)
* Add a script to profile docs with CI (#7540)
* Scan `assert_equal` methods and rectify any offenses with a custom Rubocop cop (#7130)
### Bug Fixes
* Add call to unused method `validate_options` in `commands/serve.rb` (#7122)
* Security: fix `include` bypass of `EntryFilter#filter` symlink check (#7226)
* Check if scope applies to type before given path (#7263)
* Document two methods, simplify one of the methods (#7270)
* Check key in collections only if it isn't "posts" (#7277)
* Revert "Cache converter in renderer" (#7326)
* Measure the no. of times a template gets rendered (#7316)
* Re-implement handling Liquid blocks in excerpts (#7250)
* Theme gems: ensure directories aren't symlinks (#7419)
* Documents should be able to render their date (#7404)
* Fix Interpreter warning from Jekyll::Renderer (#7448)
* Dont write static files from unrendered collection (#7410)
* Excerpt handling of custom and intermediate tags (#7382)
* changed future post loglevel to warn to help user narrow down issues (#7527)
* Handle files with trailing dots in their basename (#7315)
* Fix unnecessary allocations via StaticFileReader (#7572)
* Don't check if site URL is absolute if it is nil (#7498)
* Use communicative method parameters (#7566)
* Avoid unnecessary duplication of pages array (#7272)
* Escape valid special chars in a site's path name (#7568)
* Replace `name` in Page#inspect with relative_path (#7434)
* Log a warning when the slug is empty (#7357)
* Push Markdown link refs to excerpt only as required (#7577)
### feature
* Disable Liquid via front matter (#6824)
* Do not process Liquid in post excerpt when disabled in front matter (#7146)
### Site Enhancements ### Site Enhancements
* Add Release Post for v3.6.3, v3.7.4 and v3.8.4 (#7259)
* Fix link to Tidelift in site's footer (#7377)
* :sparkles: Add a link to OpenCollective backing (#7378)
* Add @ashmaroli to Core Team listing (#7398) * Add @ashmaroli to Core Team listing (#7398)
* link site to sponsor listing in readme (#7405) * Lnk to Tidelift in site's footer (#7377)
* Link to OpenCollective backing (#7378
* Link to sponsor listing in README (#7405)
* Better Performance (#7388)
## 3.8.5 / 2018-11-04 ## 3.8.5 / 2018-11-04
@ -306,10 +301,10 @@
* Minimize array allocations in the `where` filter (#6860) * Minimize array allocations in the `where` filter (#6860)
* Bump JRuby (#6878) * Bump JRuby (#6878)
* Assert existence of <collection>.files (#6907) * Assert existence of <collection>.files (#6907)
* Bump Rubocop to 0.54.x (#6915) * Bump RuboCop to 0.54.x (#6915)
* Regenerate unconditionally unless its an incremental build (#6917) * Regenerate unconditionally unless its an incremental build (#6917)
* Centralize require statements (#6910) * Centralize require statements (#6910)
* Bump to Rubocop 0.55 (#6929) * Bump to RuboCop 0.55 (#6929)
* Refactor private method `HighlightBlock#parse_options` (#6822) * Refactor private method `HighlightBlock#parse_options` (#6822)
### Minor Enhancements ### Minor Enhancements

View File

@ -1,5 +1,6 @@
--- ---
version: 3.8.5 version: 3.8.5
min_ruby_version: 2.4.0
name: Jekyll • Simple, blog-aware, static sites name: Jekyll • Simple, blog-aware, static sites
description: Transform your plain text into static websites and blogs description: Transform your plain text into static websites and blogs
url: https://jekyllrb.com url: https://jekyllrb.com

View File

@ -77,10 +77,10 @@ note: This file is autogenerated. Edit /History.markdown instead.
- Minimize array allocations in the `where` filter ([#6860]({{ site.repository }}/issues/6860)) - Minimize array allocations in the `where` filter ([#6860]({{ site.repository }}/issues/6860))
- Bump JRuby ([#6878]({{ site.repository }}/issues/6878)) - Bump JRuby ([#6878]({{ site.repository }}/issues/6878))
- Assert existence of <collection>.files ([#6907]({{ site.repository }}/issues/6907)) - Assert existence of <collection>.files ([#6907]({{ site.repository }}/issues/6907))
- Bump Rubocop to 0.54.x ([#6915]({{ site.repository }}/issues/6915)) - Bump RuboCop to 0.54.x ([#6915]({{ site.repository }}/issues/6915))
- Regenerate unconditionally unless its an incremental build ([#6917]({{ site.repository }}/issues/6917)) - Regenerate unconditionally unless its an incremental build ([#6917]({{ site.repository }}/issues/6917))
- Centralize require statements ([#6910]({{ site.repository }}/issues/6910)) - Centralize require statements ([#6910]({{ site.repository }}/issues/6910))
- Bump to Rubocop 0.55 ([#6929]({{ site.repository }}/issues/6929)) - Bump to RuboCop 0.55 ([#6929]({{ site.repository }}/issues/6929))
- Refactor private method `HighlightBlock#parse_options` ([#6822]({{ site.repository }}/issues/6822)) - Refactor private method `HighlightBlock#parse_options` ([#6822]({{ site.repository }}/issues/6822))
### Minor Enhancements ### Minor Enhancements

View File

@ -8,7 +8,7 @@ Jekyll is a [Ruby Gem](/docs/ruby-101/#gems) that can be installed on most syste
## Requirements ## Requirements
* [Ruby](https://www.ruby-lang.org/en/downloads/) version 2.2.5 or above, including all development headers (ruby version can be checked by running `ruby -v`) * [Ruby](https://www.ruby-lang.org/en/downloads/) version {{ site.min_ruby_version }} or above, including all development headers (ruby version can be checked by running `ruby -v`)
* [RubyGems](https://rubygems.org/pages/download) (which you can check by running `gem -v`) * [RubyGems](https://rubygems.org/pages/download) (which you can check by running `gem -v`)
* [GCC](https://gcc.gnu.org/install/) and [Make](https://www.gnu.org/software/make/) (in case your system doesn't have them installed, which you can check by running `gcc -v`,`g++ -v` and `make -v` in your system's command line interface) * [GCC](https://gcc.gnu.org/install/) and [Make](https://www.gnu.org/software/make/) (in case your system doesn't have them installed, which you can check by running `gcc -v`,`g++ -v` and `make -v` in your system's command line interface)

View File

@ -9,41 +9,10 @@ First, you need to install the command-line tools to be able to compile native e
xcode-select --install xcode-select --install
``` ```
{: .note } ## Set up Ruby
We strongly recommend that you install Ruby gems in your home directory to avoid file permissions problems and using `sudo`.
You can do this with the `--user-install` option, for instance by running: Jekyll requires Ruby > {{ site.min_ruby_version }}.
As macOS Mojave 10.14 comes only with ruby 2.3.x, you'll have to install Ruby through Homebrew.
```sh
gem install --user-install bundler jekyll
```
Or you can change the default gem path, by adding those lines to your shell config file, .e.g. `~/.bash_profile` or `~/.bashrc` if your shell is bash:
```
export GEM_HOME=$HOME/gems
export PATH=$HOME/gems/bin:$PATH
```
Relaunch your terminal and run `gem env` to check that default gem paths point to your home directory by default.
## Set up Ruby included with the OS
Jekyll requires Ruby > 2.2.5. We recommend that you run Ruby > 2.3 though, as more and more dependencies ask for that requirement. You're good to go on macOS Mojave 10.14:
```sh
sw_vers -productVersion
10.14
ruby -v
ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18]
```
Install [Bundler](/docs/ruby-101/#bundler) and Jekyll by running:
```sh
gem install bundler jekyll
```
### Install latest stable Ruby with Homebrew {#brew} ### Install latest stable Ruby with Homebrew {#brew}
@ -69,7 +38,7 @@ which ruby
/usr/local/opt/ruby/bin/ruby /usr/local/opt/ruby/bin/ruby
ruby -v ruby -v
ruby 2.6.1p33 (2019-01-30 revision 66950) [x86_64-darwin18] ruby 2.6.2p47 (2019-03-13 revision 67232) [x86_64-darwin18]
``` ```
Yay, we are now running current stable Ruby! Yay, we are now running current stable Ruby!
@ -82,6 +51,24 @@ gem install bundler jekyll
That's it, you're ready to roll! That's it, you're ready to roll!
{: .note }
We strongly recommend that you install Ruby gems in your home directory to avoid file permissions problems and using `sudo`.
You can do this with the `--user-install` option, for instance by running:
```sh
gem install --user-install bundler jekyll
```
Or you can change the default gem path, by adding those lines to your shell config file, .e.g. `~/.bash_profile` or `~/.bashrc` if your shell is bash:
```
export GEM_HOME=$HOME/gems
export PATH=$HOME/gems/bin:$PATH
```
Relaunch your terminal and run `gem env` to check that default gem paths point to your home directory by default.
### Manage multiple Ruby environments with rbenv {#rbenv} ### Manage multiple Ruby environments with rbenv {#rbenv}
People often use [rbenv](https://github.com/rbenv/rbenv) to manage multiple People often use [rbenv](https://github.com/rbenv/rbenv) to manage multiple
@ -105,10 +92,10 @@ Restart your terminal for changes to take effect.
Now you can install the Ruby version of our choice, let's go with current latest stable Ruby: Now you can install the Ruby version of our choice, let's go with current latest stable Ruby:
```sh ```sh
rbenv install 2.5.3 rbenv install 2.6.2
rbenv global 2.5.3 rbenv global 2.6.2
ruby -v ruby -v
ruby 2.5.3p105 (2018-10-18 revision 65156) [x86_64-darwin18] ruby 2.6.2p47 (2019-03-13 revision 67232) [x86_64-darwin18]
``` ```
That's it! Head over [rbenv command references](https://github.com/rbenv/rbenv#command-reference) to learn how to use different versions of Ruby in your projects. That's it! Head over [rbenv command references](https://github.com/rbenv/rbenv#command-reference) to learn how to use different versions of Ruby in your projects.

View File

@ -90,10 +90,10 @@ You must include the file's original extension when using the `link` tag. Here a
{% raw %} {% raw %}
```liquid ```liquid
{{ site.baseurl }}{% link _collection/name-of-document.md %} {% link _collection/name-of-document.md %}
{{ site.baseurl }}{% link _posts/2016-07-26-name-of-post.md %} {% link _posts/2016-07-26-name-of-post.md %}
{{ site.baseurl }}{% link news/index.html %} {% link news/index.html %}
{{ site.baseurl }}{% link /assets/files/doc.pdf %} {% link /assets/files/doc.pdf %}
``` ```
{% endraw %} {% endraw %}
@ -101,14 +101,15 @@ You can also use the `link` tag to create a link in Markdown as follows:
{% raw %} {% raw %}
```liquid ```liquid
[Link to a document]({{ site.baseurl }}{% link _collection/name-of-document.md %}) [Link to a document]({% link _collection/name-of-document.md %})
[Link to a post]({{ site.baseurl }}{% link _posts/2016-07-26-name-of-post.md %}) [Link to a post]({% link _posts/2016-07-26-name-of-post.md %})
[Link to a page]({{ site.baseurl }}{% link news/index.html %}) [Link to a page]({% link news/index.html %})
[Link to a file]({{ site.baseurl }}{% link /assets/files/doc.pdf %}) [Link to a file]({% link /assets/files/doc.pdf %})
``` ```
{% endraw %} {% endraw %}
(Including `{% raw %}{{ site.baseurl }}{% endraw %}` is optional — it depends on whether you want to preface the page URL with the `baseurl` value.) {: .note }
Since {% include docs_version_badge.html version="v4.0"%} you don't need to prepend `link` tags with `site.baseurl`
The path to the post, page, or collection is defined as the path relative to the root directory (where your config file is) to the file, not the path from your existing page to the other page. The path to the post, page, or collection is defined as the path relative to the root directory (where your config file is) to the file, not the path from your existing page to the other page.

View File

@ -21,7 +21,7 @@ the header files for compiling extension modules for Ruby 2.x This
can be done on Ubuntu or Debian by running: can be done on Ubuntu or Debian by running:
```sh ```sh
sudo apt-get install ruby2.3-dev sudo apt-get install ruby2.6-dev
``` ```
On Red Hat, CentOS, and Fedora systems you can do this by running: On Red Hat, CentOS, and Fedora systems you can do this by running:
@ -138,10 +138,10 @@ jekyll new test
Running bundle install in /home/user/test... Running bundle install in /home/user/test...
Your user account isn't allowed to install to the system RubyGems. Your user account is not allowed to install to the system RubyGems.
You can cancel this installation and run: You can cancel this installation and run:
bundle install --path vendor/bundle bundle install --path vendor/bundle
to install the gems into ./vendor/bundle/, or you can enter your password to install the gems into ./vendor/bundle/, or you can enter your password
and install the bundled gems to RubyGems using sudo. and install the bundled gems to RubyGems using sudo.

View File

@ -10,6 +10,7 @@ guides to aid your upgrade:
- [From 0.x to 1.x and 2.x](/docs/upgrading/0-to-2/) - [From 0.x to 1.x and 2.x](/docs/upgrading/0-to-2/)
- [From 2.x to 3.x](/docs/upgrading/2-to-3/) - [From 2.x to 3.x](/docs/upgrading/2-to-3/)
- [From 3.x to 4.x](/docs/upgrading/3-to-4/)
## Minor updates ## Minor updates

View File

@ -3,34 +3,36 @@ title: Upgrading from 3.x to 4.x
permalink: /docs/upgrading/3-to-4/ permalink: /docs/upgrading/3-to-4/
--- ---
Upgrading from an older version of Jekyll? A few things have changed in Jekyll 4 A few things have changed in Jekyll 4.
that you'll want to know about.
Before we dive in, you need to have at least Ruby 2.3.0 installed. Run the following Before we dive in, you need to have at least Ruby {{ site.min_ruby_version }}
in your terminal to check installed.
Run the following in your terminal to check
```sh ```sh
ruby -v ruby -v
ruby 2.6.2p47 (2019-03-13 revision 67232) [x86_64-darwin18]
``` ```
If you're using Ruby >= 2.3.0, go ahead and fetch the latest version of Jekyll: If you're using a supported Ruby version > {{ site.min_ruby_version }}, go ahead
and fetch the latest version of Jekyll:
```sh ```sh
gem update jekyll gem update jekyll
``` ```
--- ## Template rendering
### Template rendering We've slightly altered the way Jekyll parses and renders your various templates
to improve the overall build times. Jekyll now parses a template once, caches it
internally and then renders the parsed template multiple times as required by
your pages and documents.
We've slightly altered the way Jekyll parses and renders your various templates to improve The downside to this is that some of the community-authored plugins may not work
the overall build times. Jekyll now parses a template once, caches it internally and then as they previously used to.
renders the parsed template multiple times as required by your pages and documents.
The downside to this is that some of the community-authored plugins may not work as they ## For plugin authors
previously used to.
#### For Plugin-authors
* If your plugin depends on the following code: `site.liquid_renderer.file(path).parse(content)`, * If your plugin depends on the following code: `site.liquid_renderer.file(path).parse(content)`,
note that the return value (`template`, an instance of *`Liquid::Template`*), from that line will note that the return value (`template`, an instance of *`Liquid::Template`*), from that line will
@ -46,11 +48,10 @@ you can invoke *`Liquid::Template`* directly:
+ template = Liquid::Template.parse(content) + template = Liquid::Template.parse(content)
``` ```
--- ## Exclusion changes
### Exclusion changes We've enhanced our default exclusion array.
It now looks like the following:
We've enhanced our default exclusion array. It now looks like the following:
```yaml ```yaml
# default excludes # default excludes
@ -81,27 +82,26 @@ include:
- node_modules/uglifier/index.js - node_modules/uglifier/index.js
``` ```
The above configuration directs Jekyll to handle only `node_modules/uglifier/index.js` The above configuration directs Jekyll to handle only
while ignoring every other file in the `node_modules` directory since that directory is `node_modules/uglifier/index.js` while ignoring every other file in the
"excluded" by default. `node_modules` directory since that directory is "excluded" by default.
Note that the default `include` array still gets overridden by the `include` array in your Note that the default `include` array still gets overridden by the `include`
config file. So, be sure to add `.htaccess` to the list if you need that file to be array in your config file. So, be sure to add `.htaccess` to the list if you
present in the generated site. need that file to be present in the generated site.
--- ## Kramdown v2
### kramdown v2
Jekyll has dropped support for `kramdown-1.x` entirely. Jekyll has dropped support for `kramdown-1.x` entirely.
From [`v2.0` onwards](https://kramdown.gettalong.org/news.html#kramdown-200-released) kramdown requires From [`v2.0` onwards](https://kramdown.gettalong.org/news.html#kramdown-200-released)
specific extensions to be additionally installed to use certain features are desired outside of kramdown's kramdown requires specific extensions to be additionally installed to use
core functionality. certain features are desired outside of kramdown's core functionality.
Out of all the extensions listed in the report linked above, gem `kramdown-parser-gfm` is automatically Out of all the extensions listed in the report linked above, gem
installed along with Jekyll 4.0. The remaining extensions will have to be manually installed by the user `kramdown-parser-gfm` is automatically installed along with Jekyll 4.0. The
depending on desired funtionality, by listing the extension's gem-name in their `Gemfile`. remaining extensions will have to be manually installed by the user depending on
desired funtionality, by listing the extension's gem-name in their `Gemfile`.
Notes: Notes:
* `kramdown-converter-pdf` will be ignored by Jekyll Core. To have Jekyll convert Markdown to PDF * `kramdown-converter-pdf` will be ignored by Jekyll Core. To have Jekyll convert Markdown to PDF
@ -135,7 +135,3 @@ Notes:
``` ```
* Vendors that provide a versioned Jekyll Environment Image (e.g. Docker Image, GitHub Pages, etc) * Vendors that provide a versioned Jekyll Environment Image (e.g. Docker Image, GitHub Pages, etc)
will have to manually whitelist kramdown's extension gems in their distributions for Jekyll 4.0. will have to manually whitelist kramdown's extension gems in their distributions for Jekyll 4.0.
---
*Did we miss something? Please click "Improve this page" above and add a section. Thanks!*

View File

@ -0,0 +1,42 @@
---
title: Jekyll 4.0.0.pre.alpha1 Released
date: 2019-03-18 18:17:31 +0100
author: dirtyf
version: 4.0.0.pre.alpha1
category: release
---
Dear Jekyllers,
Time has come to release a first alpha for Jekyll 4!
This pre version fixes many bugs, and should improve your build times. Some of you already shared [really](https://forestry.io/blog/how-i-reduced-my-jekyll-build-time-by-61/) [good](https://boris.schapira.dev/2018/11/jekyll-build-optimization/) results. We hope your Jekyll sites will also benefit from these optimizations.
If you're a plugin developer, we definitely need your feedback, especially if your plugin does not work with v4.
Jekyll now exposes a [caching API](/tutorials/cache-api/), that some plugins could benefit from.
Also be aware that it's a new *major* version, and it comes with a few breaking changes, notably :
1. We dropped support for [Ruby 2.3 who goes EOL at the end of the month](https://www.ruby-lang.org/en/downloads/).
GitHub Pages runs Ruby 2.5.x, services lile Netlify or Forestry already upgraded to latest Ruby 2.6.x.
2. `link` tag now include `relative_url` filter, hurray [no more need to prepend `{% raw %}{{ site.baseurl }}{% endraw %}` ](https://github.com/jekyll/jekyll/pull/6727).
3. [`{% raw %}{% highlight %}{% endraw %}` now behaves like `{% raw %}{% raw %}{% endraw %}`](https://github.com/jekyll/jekyll/pull/6821), so you can no longer use `include` tags within.
4. We dropped support for Pygments, RedCarpet and rdiscount.
5. We bumped kramdown to v2.
Checkout the complete [changelog](https://github.com/jekyll/jekyll/blob/master/History.markdown#minor-enhancements) for more details.
To test this pre version run:
```sh
gem install jekyll --pre
```
Please test this version thoroughly and file bugs as you encounter them.
Thanks to our dear contributors for helping making Jekyll better:
Aidan Fitzgerald, Akshat Kedia, Alex Wood, Alexey Kopytko, Alexey Pelykh, Ali Thompson, Ana María Martínez Gómez, Ananthakumar, Andreas Möller, Andrew Lyndem, Andy Alt, Anne Gentle, Anny, Arjun Thakur, Arthur Attwell, Ashwin Maroli, Behrang, Belhassen Chelbi, Ben Keith, Ben Otte, Bilawal Hameed, Boris Schapira, Boris van Hoytema, Brett C, Chris Finazzo, Christian Oliff, Damien Solodow, Dan Allen, Dan Friedman, Daniel Höpfl, David J. Malan, Denis McDonald, Derek Smart, Derpy, Dusty Candland, ExE Boss, Frank Taillandier, Gareth Cooper, Grzegorz Kaczorek, Isaac Goodman, Jacob Byers, Jakob Krigovsky, Jan Pobořil, Joe Shannon, Jordan Morgan, Jorie Tappa, Josue Caraballo, Justin Vallelonga, Jörg Steinsträter, Karel Bílek, Keith Mifsud, Kelly-Ann Green, Ken Salomon, Kevin Plattret, Kyle Barbour, Lars Kanis, Leandro Facchinetti, Luis Enrique Perez Alvarez, Luis Guillermo Yáñez, Ma HongJun, Manu Mathew, Mario, Martin Scharm, Matt Massicotte, Matthew Rathbone, Maxwell Gerber, Mertcan Yücel, Michael Hiiva, Mike Kasberg, Mike Neumegen, Monica Powell, Nicolas Hoizey, Nikhil Swaminathan, Nikita Skalkin, Olivia Hugger, Parker Moore, Pat Hawks, Patrick Favre-Bulle, Paul Kim, Philip Belesky, Preston Lim, Ralph, Robert Riemann, Rosário Pereira Fernandes, Samuel Gruetter, Scott Killen, Sri Pravan Paturi, Stephan Fischer, Stephen Weiss, Steven Westmoreland, Sundaram Kalyan Vedala, Thanos Kolovos, Timo Schuhmacher, Tobias, Tom Harvey, Tushar Prajapati, Victor Afanasev, Vitor Oliveira, Wouter Schoot, XhmikosR, Zhang Xiangze, _94gsc, argv-minus-one, chrisfinazzo, ikeji, jess, jpasholk, makmm, mo khan, ninevra, penguinpet, 김정환, 104fps
Happy Jekylling everyone!

View File

@ -2,7 +2,6 @@
layout: tutorials layout: tutorials
permalink: /tutorials/cache-api/ permalink: /tutorials/cache-api/
title: Cache API title: Cache API
published: false
--- ---
Jekyll includes a caching API, which is used both internally as well as exposed Jekyll includes a caching API, which is used both internally as well as exposed

View File

@ -49,7 +49,9 @@ Gem::Specification.new do |s|
s.post_install_message = <<~MSG s.post_install_message = <<~MSG
---------------------------------------------------------------------------------- ----------------------------------------------------------------------------------
This version of Jekyll comes with some major changes. Most notably: This version of Jekyll comes with some major changes.
Most notably:
* Our `link` tag now comes with the `relative_url` filter incorporated into it. * Our `link` tag now comes with the `relative_url` filter incorporated into it.
You should no longer prepend `{{ site.baseurl }}` to `{% link foo.md %}` You should no longer prepend `{{ site.baseurl }}` to `{% link foo.md %}`
For further details: https://github.com/jekyll/jekyll/pull/6727 For further details: https://github.com/jekyll/jekyll/pull/6727

View File

@ -1,5 +1,5 @@
# frozen_string_literal: true # frozen_string_literal: true
module Jekyll module Jekyll
VERSION = "3.8.5" VERSION = "4.0.0.pre.alpha1"
end end