Compare commits

..

1393 Commits

Author SHA1 Message Date
Ashwin Maroli
34ef47b590 Release 💎 v4.2.2 2022-03-03 16:16:33 +05:30
Ashwin Maroli
202c555acc Backport #8830 for v4.2.x: Add a workflow to build gems consistently (#8869)
Add a workflow to build gems consistently
This backports db3f034 to 4.2-stable
2021-12-09 21:54:27 +05:30
Ashwin Maroli
f2ecf63a12 Lock rubocop-performance to v1.11.x
To avoid running `Performance/DeletePrefix` and `Performance/DeleteSuffix`
cops since the codebase is still supported on Ruby 2.4
2021-12-09 20:29:02 +05:30
Ashwin Maroli
57387864aa Lock http_parser.rb gem to v0.6.x on JRuby
Since newer versions of the gem do not have a Java counterpart.
2021-12-09 20:22:18 +05:30
Ashwin Maroli
ce1db82dbb Release 💎 4.2.1 2021-09-27 16:25:58 +05:30
Ashwin Maroli
855544ab29 Update history to reflect merge of #8808 [ci skip] 2021-09-16 12:04:14 +05:30
Ashwin Maroli
29ecdbdec5 Merge pull request #8808 from ashmaroli/4.2-stable-backport-8620
Backport #8620 for v4.2.x: Revert #7253: "Don't reset site.url to localhost:4000 by default"
2021-09-16 11:59:11 +05:30
Ashwin Maroli
04f93171b8 Update history to reflect merge of #8794 [ci skip] 2021-09-16 11:11:21 +05:30
Ashwin Maroli
55a39dd568 Backport #8756 for v4.2.x: Respect collections_dir config within include tag (#8794)
Respect collections_dir config within include tag
This backports aa9a416 and 1aea158 to 4.2-stable
2021-09-16 11:07:24 +05:30
Ashwin Maroli
3c9a7eef5b Update history to reflect merge of #8793 [ci skip] 2021-09-16 10:24:44 +05:30
Ashwin Maroli
54010a784c Backport #8786 for v4.2.x (#8793)
Fix regression in Convertible module from v4.2.0
This backports eca4504 to 4.2-stable
2021-09-16 10:17:30 +05:30
Ben Keith
f73e8b16f8 Backport #8620 for v4.2.x
Revert #7253: "Don't reset site.url to localhost:4000 by default"
This backports faef38b to 4.2-stable
2021-09-15 20:25:57 +05:30
Ashwin Maroli
ba024ea1b7 Fix CI on 4.2-stable branch 2021-08-29 14:29:45 +05:30
Frank Taillandier
871a05a9a4 Release 💎 4.2.0 2020-12-14 13:31:52 +01:00
Frank Taillandier
98d06862ee Release: Jekyll 4.2.0 (#8466)
* chore(release): 4.2.0 💎

Co-authored-by: Ashwin Maroli <ashmaroli@gmail.com>
2020-12-14 13:30:45 +01:00
Ashwin Maroli
1e2d72a574 Remove redundant quotes around YAML value 2020-12-11 19:53:44 +05:30
Frank Taillandier
0d7665c517 docs: new homebrew script [skip ci] 2020-12-11 00:27:54 +01:00
Ashwin Maroli
3ca9d6e891 Format History entries for changes on HEAD 2020-12-10 20:25:16 +05:30
jekyllbot
c571b3bd5a Update history to reflect merge of #8497 [ci skip] 2020-12-10 09:00:26 -05:00
Ashwin Maroli
01825f51db Stash attribute hash for Liquid computed for pages (#8497)
Merge pull request 8497
2020-12-10 09:00:23 -05:00
Ashwin Maroli
c70437e2de Correct offenses reported by RuboCop 1.6.0 2020-12-09 23:07:40 +05:30
Ashwin Maroli
84deb286ed Improve maintainability of showcase data and page 2020-12-09 22:25:46 +05:30
jekyllbot
d268e356f8 Update history to reflect merge of #8504 [ci skip] 2020-12-06 17:55:14 -05:00
Frank Taillandier
46cb37f479 fix: showcase (#8504)
Merge pull request 8504
2020-12-06 17:55:12 -05:00
jekyllbot
716fc3627c Update history to reflect merge of #8492 [ci skip] 2020-12-04 13:38:48 -05:00
Ashwin Maroli
91aed9ff8b Migrate TravisCI jobs to GitHub Actions (#8492)
Merge pull request 8492
2020-12-04 13:38:46 -05:00
Toby Glei
c4d493072d docs: update deployment docs for 21yunbox (#8494)
* docs: new deployment docs for 21yunbox

Co-authored-by: Frank Taillandier <frank.taillandier@gmail.com>
2020-12-04 11:47:26 +01:00
Frank Taillandier
f4a7eee57a docs: shell-based instructions
Fix #8483
2020-12-04 11:17:01 +01:00
Frank Taillandier
2f1ba8e7be docs: Shell-based instructions
Fix #8483
2020-12-04 11:07:07 +01:00
jekyllbot
9a6d3ea51e Update history to reflect merge of #8489 [ci skip] 2020-12-02 12:27:35 -05:00
Ashwin Maroli
c80ccbebf7 Optimize Page#dir with a private method (#8489)
Merge pull request 8489
2020-12-02 12:27:33 -05:00
Jacobo Vidal
686165af12 Add Arengu to form services list documentation (#8414)
* Add Arengu to form services list
2020-12-02 14:12:52 +01:00
Ashwin Maroli
371298f69b Compute hash of Gemfile.lock in workflow 2020-12-02 12:10:27 +05:30
jekyllbot
df09c414d8 Update history to reflect merge of #8485 [ci skip] 2020-12-02 00:56:54 -05:00
Ashwin Maroli
573b431abb Reduce allocations from computing item property (#8485)
Merge pull request 8485
2020-12-02 00:56:51 -05:00
Dan Nemenyi
68497a4d4b Echo PATH to .zshenv for newer macOS's (#8483)
* Add PATH to Zsh for newer macOSs 

Apple switched the default shell to Zsh with Catalina, so updating the PATH in .bash_profile will not have effect for relevant users, and is increasingly now the legacy approach.

This commit adds instructions to echo the PATH to .zshenv, the Zsh equivalent of .bash_profile, as well as to check which version of macOS the user is using.

* Update PATH in local macOS documentation
2020-12-01 14:57:05 +01:00
Frank Taillandier
6132653d5a docs: Homebrew bash script
Fix ##8490
2020-12-01 14:55:11 +01:00
Ashwin Maroli
9084f9f752 Configure new cops 2020-11-30 22:30:48 +05:30
jekyllbot
1ebde7c4cb Update history to reflect merge of #8486 [ci skip] 2020-11-29 14:21:11 -05:00
Adam Alton
568f4c5b76 structure.md: add link to Assets page from _sass section (#8486)
Merge pull request 8486
2020-11-29 14:21:09 -05:00
Ashwin Maroli
97db005336 Remove version constraint on gem tomlrb
This gem is required by the test-suite
2020-11-27 14:13:02 +05:30
jekyllbot
74c3055952 Update history to reflect merge of #8481 [ci skip] 2020-11-26 13:21:52 -05:00
Ashwin Maroli
58368cdacc Debug reading data files in a site (#8481)
Merge pull request 8481
2020-11-26 13:21:50 -05:00
Frank Taillandier
d8d1feec71 style: auo-gen-exclude 2020-11-23 16:58:18 +01:00
Frank Taillandier
8559fbfbe8 style: append o option to regexp
Performance/ConstantRegexp: Extract this regexp into a constant or append an /o option to its options.
2020-11-23 16:53:10 +01:00
Frank Taillandier
d560d53266 style: fix rubocop 1.40 offense 2020-11-23 16:46:50 +01:00
jekyllbot
3e3d9bce64 Update history to reflect merge of #8473 [ci skip] 2020-11-18 05:43:41 -05:00
Ashwin Maroli
a7e1ec901b Add custom debug strings for Jekyll objects (#8473)
Merge pull request 8473
2020-11-18 05:43:38 -05:00
jekyllbot
8a01e6aed9 Update history to reflect merge of #8472 [ci skip] 2020-11-18 05:42:10 -05:00
Ashwin Maroli
37df92dd29 Explicitly return nil after site process phase (#8472)
Merge pull request 8472
2020-11-18 05:42:08 -05:00
Ashwin Maroli
430167b9b9 Do not exclude CNAME from site build 2020-11-12 12:32:11 +05:30
Ashwin Maroli
ed7a4857a5 chore: rake site:generate 2020-11-12 12:18:43 +05:30
Frank Taillandier
6f8ca8c764 chore: cleanup 4.1.1 changelog 2020-11-11 21:24:44 +01:00
Frank Taillandier
68f117f5b3 docs: Ruby 2.7.2 2020-11-11 21:18:43 +01:00
jekyllbot
8ae4bf3f4a Update history to reflect merge of #8201 [ci skip] 2020-11-11 14:52:56 -05:00
iBug
10943d1f3a Build docs site with GitHub Actions (#8201)
Merge pull request 8201
2020-11-11 14:52:53 -05:00
jekyllbot
4d31a8c51b Update history to reflect merge of #8467 [ci skip] 2020-11-11 12:45:22 -05:00
Ashwin Maroli
e210e337bc Improve documentation on Hooks in Jekyll (#8467)
Merge pull request 8467
2020-11-11 12:45:20 -05:00
Frank Taillandier
6dd5bf21b9 chore: site generate 2020-11-11 16:28:56 +01:00
jekyllbot
ec3c0115c7 Update history to reflect merge of #7253 [ci skip] 2020-11-11 07:59:47 -05:00
Ashwin Maroli
91a3dd9e6f Don't reset site.url to localhost:4000 by default (#7253)
Merge pull request 7253
2020-11-11 07:59:44 -05:00
jekyllbot
9fbb7b57c9 Update history to reflect merge of #7414 [ci skip] 2020-11-11 07:50:00 -05:00
Ashwin Maroli
eae71e6235 Rendering arbitrary Liquid variables by default (#7414)
Merge pull request 7414
2020-11-11 07:49:58 -05:00
jekyllbot
661f0fa1b1 Update history to reflect merge of #8292 [ci skip] 2020-11-11 07:39:42 -05:00
Ashwin Maroli
fadbe9eba4 Test that Liquid expressions are not deeply evaled (#8292)
Merge pull request 8292
2020-11-11 07:39:40 -05:00
jekyllbot
83a2b30b76 Update history to reflect merge of #8100 [ci skip] 2020-11-11 07:29:07 -05:00
Ashwin Maroli
26086409bf Debug reading Page and Layout objects (#8100)
Merge pull request 8100
2020-11-11 07:29:05 -05:00
jekyllbot
d3299a8e02 Update history to reflect merge of #8406 [ci skip] 2020-11-11 05:38:05 -05:00
Ashwin Maroli
054d9356b9 Reduce allocations from rendering item as liquid (#8406)
Merge pull request 8406
2020-11-11 05:38:03 -05:00
jekyllbot
9de60bbf48 Update history to reflect merge of #8465 [ci skip] 2020-11-11 05:36:56 -05:00
Ashwin Maroli
c12a04dbc1 Allow triggering :post_convert events atomically (#8465)
Merge pull request 8465
2020-11-11 05:36:54 -05:00
jekyllbot
11ff8aa0dd Update history to reflect merge of #8463 [ci skip] 2020-11-09 07:03:17 -05:00
Ashwin Maroli
db9ca22c24 Generate items from site.include list only once (#8463)
Merge pull request 8463
2020-11-09 07:03:16 -05:00
jekyllbot
ddae19bbb4 Update history to reflect merge of #8459 [ci skip] 2020-11-08 11:15:19 -05:00
Ashwin Maroli
ce441d32ec Enhance detection of conflicting destination URLs (#8459)
Merge pull request 8459
2020-11-08 11:15:17 -05:00
jekyllbot
bcbc451a26 Update history to reflect merge of #8458 [ci skip] 2020-11-06 08:05:04 -05:00
Ashwin Maroli
920c6f4ddc Memoize destination of pages, documents and staticfiles (#8458)
Merge pull request 8458
2020-11-06 08:05:02 -05:00
jekyllbot
56d59a1782 Update history to reflect merge of #8457 [ci skip] 2020-11-05 09:38:54 -05:00
Ashwin Maroli
5054e57fa5 Enable Lint/NoReturnInBeginEndBlocks Cop (#8457)
Merge pull request 8457
2020-11-05 09:38:52 -05:00
Ashwin Maroli
0dedc09ab3 Move PathManager methods into its singleton class 2020-11-05 17:30:59 +05:30
jekyllbot
9b96cdfa7d Update history to reflect merge of #8456 [ci skip] 2020-11-05 06:45:36 -05:00
Enrico Tolotto
accce8656b docs: installation: fedora: add additional dependencies (#8456)
Merge pull request 8456
2020-11-05 06:45:34 -05:00
Ashwin Maroli
d3e3225fc1 Configure cops introduced in RuboCop v1.2 2020-11-05 16:00:33 +05:30
jekyllbot
80fce9fcc3 Update history to reflect merge of #8453 [ci skip] 2020-11-04 10:31:02 -05:00
Ashwin Maroli
bf18b27e2a Reduce array allocations from merging categories (#8453)
Merge pull request 8453
2020-11-04 10:31:00 -05:00
Ashwin Maroli
02d25d1cf2 actions/setup-ruby does not support patch versions 2020-11-03 12:17:14 +05:30
jekyllbot
3de3e7be8e Update history to reflect merge of #8444 [ci skip] 2020-11-02 16:31:02 -05:00
Ashwin Maroli
137de414c1 Use Ruby 2.7.1 in GitHub Actions (#8444)
Merge pull request 8444
2020-11-02 16:31:00 -05:00
Frank Taillandier
1099f73d2d fix(deps): Terminal Table 2.0
fix #8452
2020-11-02 22:29:52 +01:00
jekyllbot
95a7b20787 Update history to reflect merge of #8451 [ci skip] 2020-11-02 04:04:23 -05:00
Ashwin Maroli
a6bbcb7fb6 Memoize defaults computed for Convertibles (#8451)
Merge pull request 8451
2020-11-02 04:04:21 -05:00
Ashwin Maroli
e06641f423 Configure cops from RuboCop 1.1 2020-10-29 23:36:51 +05:30
Ashwin Maroli
4bda8cefb8 Refer to Bundler as a proper noun [ci skip] 2020-10-29 22:44:50 +05:30
Rachel Cheyfitz - Owner
5ec7a8e289 Update 07-assets.md (#8449)
Co-authored-by: Frank Taillandier <frank.taillandier@gmail.com>
2020-10-29 18:07:32 +01:00
jekyllbot
2c18ddcd80 Update history to reflect merge of #8450 [ci skip] 2020-10-29 13:03:48 -04:00
Rachel Cheyfitz - Owner
ebac932f10 docs: init project (#8450)
Merge pull request 8450
2020-10-29 13:03:46 -04:00
jekyllbot
25ccfd5b49 Update history to reflect merge of #8447 [ci skip] 2020-10-26 16:24:19 -04:00
Gabriel Staples
bd063ae0f0 Add links to all Jekyll themes on GitHub tagged with #jekyll-theme (#8447)
Merge pull request 8447
2020-10-26 16:24:17 -04:00
Ashwin Maroli
1ae2a1dd04 Bump RuboCop to v1.x 2020-10-21 17:57:08 +05:30
jekyllbot
8948277363 Update history to reflect merge of #8421 [ci skip] 2020-10-16 08:31:11 -04:00
Ashwin Maroli
7c56e397c9 Memoize array of drop getter method names (#8421)
Merge pull request 8421
2020-10-16 08:31:09 -04:00
SaintMalik
20abb8f62b Fix broken url in docs (#8435) 2020-10-12 11:22:30 +02:00
jekyllbot
e4db593814 Update history to reflect merge of #8394 [ci skip] 2020-10-11 05:15:49 -04:00
Ashwin Maroli
5dc43a88de Stash frequently used Drop setter keys for reuse (#8394)
Merge pull request 8394
2020-10-11 05:15:46 -04:00
jekyllbot
e0221ed3a8 Update history to reflect merge of #8393 [ci skip] 2020-10-11 04:41:28 -04:00
Ashwin Maroli
34a78e1ea2 Check default front matter scope against symbols (#8393)
Merge pull request 8393
2020-10-11 04:41:25 -04:00
Corey Megown
6d30bac845 correcting lightburn company spelling (#8433) 2020-10-10 21:42:53 +02:00
jekyllbot
9f8ac4eb7a Update history to reflect merge of #8430 [ci skip] 2020-10-08 15:32:51 -04:00
Frank Taillandier
bcff13a16a chore(deps): bump Rubocop to 0.93.0 (#8430)
Merge pull request 8430
2020-10-08 15:32:49 -04:00
jekyllbot
01d0b78abb Update history to reflect merge of #8427 [ci skip] 2020-10-08 10:03:18 -04:00
Ashwin Maroli
335429b10c Use Regexp#match? when MatchData is not required (#8427)
Merge pull request 8427
2020-10-08 10:03:16 -04:00
jekyllbot
e739c777fc Update history to reflect merge of #8424 [ci skip] 2020-10-07 10:39:09 -04:00
fauno
59bafa802b Cache Jekyll.sanitized_path (#8424)
Merge pull request 8424
2020-10-07 10:39:06 -04:00
Ashwin Maroli
56e15c5ace Profile allocations from lib/jekyll.rb as well 2020-10-07 18:47:29 +05:30
Ashwin Maroli
e59e998b42 Allow testing on Ruby 2.4 as well
Cucumber 5.x requires at least Ruby 2.5
2020-10-04 16:12:10 +05:30
jekyllbot
c9b84e2b35 Update history to reflect merge of #8400 [ci skip] 2020-10-01 09:53:15 -04:00
Ashwin Maroli
ecbfa58d65 Reduce allocation from normalize_whitespace filter (#8400)
Merge pull request 8400
2020-10-01 09:53:12 -04:00
jekyllbot
f0e342d390 Update history to reflect merge of #8403 [ci skip] 2020-10-01 09:51:43 -04:00
Ashwin Maroli
11020f80fa Utilize flexibility of Site#in_dest_dir (#8403)
Merge pull request 8403
2020-10-01 09:51:41 -04:00
Pratyaksh Gautam
d26970cf25 Update your-first-plugin.md (#8420) 2020-10-01 13:13:42 +02:00
jekyllbot
b17cb5fe2a Update history to reflect merge of #8404 [ci skip] 2020-09-30 02:49:14 -04:00
Ashwin Maroli
f7292ec9cc Enable Performance/ChainArrayAllocation cop (#8404)
Merge pull request 8404
2020-09-30 02:49:12 -04:00
jekyllbot
166796c448 Update history to reflect merge of #8408 [ci skip] 2020-09-30 02:11:30 -04:00
Ashwin Maroli
7cb10df0b8 Compute relative_path of pages using PathManager (#8408)
Merge pull request 8408
2020-09-30 02:11:28 -04:00
Ashwin Maroli
7d8a839a21 Restore Gemfile to prior state
rubocop-ast-0.7.1 has dropped the dependency on gem 'strscan'.
So the workaround is no longer necessary.

https://rubygems.org/gems/rubocop-ast/versions/0.7.1
2020-09-30 11:19:07 +05:30
jekyllbot
b71a26d11d Update history to reflect merge of #8418 [ci skip] 2020-09-28 10:21:59 -04:00
Ashwin Maroli
711986d19f Fix test suite compatibility with JRuby (#8418)
Merge pull request 8418
2020-09-28 10:21:57 -04:00
jekyllbot
c7c7be9b3a Update history to reflect merge of #8415 [ci skip] 2020-09-28 04:42:05 -04:00
Ashwin Maroli
98b7a4626a Handle nil argument to Jekyll.sanitized_path (#8415)
Merge pull request 8415
2020-09-28 04:42:01 -04:00
Frank Taillandier
16f8370ccd test: pubish cucumber report
--publish automatically publishes reports to reports.cucumber.io
https://github.com/cucumber/cucumber-ruby/blob/master/CHANGELOG.md#500
2020-09-26 20:15:53 +02:00
jekyllbot
fe898af92f Update history to reflect merge of #8413 [ci skip] 2020-09-26 03:27:39 -04:00
jesuslerma
adc0a2e182 Update cucumber gem version to 5.1.2 (#8413)
Merge pull request 8413
2020-09-26 03:27:36 -04:00
Frank Taillandier
2518dd16ff docs: Rubocop 0.92.0 [ci-skip] 2020-09-25 10:59:25 +02:00
Frank Taillandier
8b7847c8e6 chore(deps): bump Rubocop to 0.92.0 2020-09-25 10:58:05 +02:00
jekyllbot
993960ba8c Update history to reflect merge of #8409 [ci skip] 2020-09-25 03:50:07 -04:00
Takuya N
3f4a0da4d5 Remove NOKOGIRI_USE_SYSTEM_LIBRARIES from Travis CI docs (#8409)
Merge pull request 8409
2020-09-25 03:50:05 -04:00
jekyllbot
6326b1f9d4 Update history to reflect merge of #8410 [ci skip] 2020-09-25 03:47:51 -04:00
Takuya N
30ac3e07ba Remove CircleCI v1 docs as it was sunset in 2019 (#8410)
Merge pull request 8410
2020-09-25 03:47:49 -04:00
Ashwin Maroli
0ee9331892 Disable Continuous Integration workflow [ci skip] 2020-09-24 23:52:17 +05:30
jekyllbot
fd8a7e7e3b Update history to reflect merge of #8401 [ci skip] 2020-09-24 07:36:13 -04:00
Ashwin Maroli
51b976ed05 Check if site is in incremental mode optimally (#8401)
Merge pull request 8401
2020-09-24 07:36:10 -04:00
jekyllbot
715fe0c572 Update history to reflect merge of #8183 [ci skip] 2020-09-23 16:13:07 -04:00
Ashwin Maroli
53f175516b Implement custom delegators for drop methods (#8183)
Merge pull request 8183
2020-09-23 16:13:05 -04:00
Ashwin Maroli
c5d4bbd434 Exclude test files from a Layout RuboCop cop 2020-09-23 20:45:30 +05:30
m-naumann
eb4d91d5e5 docs: Clarify gem installation instructions (#8407) 2020-09-22 14:51:55 +02:00
Frank Taillandier
f8c72089dd docs: GitHub Pages is using 3.9.0
https://pages.github.com/versions/
2020-09-18 14:34:36 +02:00
jekyllbot
609fa612be Update history to reflect merge of #8392 [ci skip] 2020-09-18 07:23:10 -04:00
Ashwin Maroli
a401f0387e Reduce string allocations from generating doc URLs (#8392)
Merge pull request 8392
2020-09-18 07:23:08 -04:00
Ashwin Maroli
07e1eb1f27 Use commit message flag to control workflows 2020-09-17 20:30:26 +05:30
jekyllbot
49c11725b3 Update history to reflect merge of #8398 [ci skip] 2020-09-17 09:53:37 -04:00
Ashwin Maroli
c066999fa0 Add workflow to build and profile third-party repo (#8398)
Merge pull request 8398
2020-09-17 09:53:35 -04:00
Nicholas Paxford
94930c5a58 Update 05-includes.md (#8364)
Added two commas (line 19 and 60)
2020-09-16 19:46:41 +02:00
jekyllbot
7e0f907c64 Update history to reflect merge of #8391 [ci skip] 2020-09-16 06:36:28 -04:00
Ashwin Maroli
3fd7449fa1 Bump RuboCop to v0.91.x (#8391)
Merge pull request 8391
2020-09-16 06:36:26 -04:00
jekyllbot
0d337c8a93 Update history to reflect merge of #8389 [ci skip] 2020-09-14 09:37:58 -04:00
Ashwin Maroli
bd04997fee Stash documents write? attribute in a variable (#8389)
Merge pull request 8389
2020-09-14 09:37:56 -04:00
jekyllbot
c9ab616ace Update history to reflect merge of #8192 [ci skip] 2020-09-14 07:36:13 -04:00
Ashwin Maroli
f2b463bb85 Optimize parsing of parameters in include tag (#8192)
Merge pull request 8192
2020-09-14 07:36:10 -04:00
jekyllbot
3fb307dc25 Update history to reflect merge of #8387 [ci skip] 2020-09-11 09:24:27 -04:00
Ashwin Maroli
51bb40913b Reduce string allocations from the link tag (#8387)
Merge pull request 8387
2020-09-11 09:24:25 -04:00
jekyllbot
959fc18db5 Update history to reflect merge of #7236 [ci skip] 2020-09-09 12:05:02 -04:00
Ashwin Maroli
b456a69fa2 Refactor Jekyll::Utils::Platforms (#7236)
Merge pull request 7236
2020-09-09 12:04:59 -04:00
jekyllbot
ae2ec98262 Update history to reflect merge of #8383 [ci skip] 2020-09-09 05:18:22 -04:00
Ashwin Maroli
d1093e0160 Improve maintainability of config option data (#8383)
Merge pull request 8383
2020-09-09 05:18:20 -04:00
jekyllbot
1fbc4c28ea Update history to reflect merge of #8380 [ci skip] 2020-09-08 14:08:20 -04:00
Malathi
23f59f4153 Docs: Use data file(s) to render table(s) at https://jekyllrb.com/docs/configuration/options/ (#8380)
Merge pull request 8380
2020-09-08 14:08:17 -04:00
jekyllbot
e9b62b89a4 Update history to reflect merge of #8377 [ci skip] 2020-09-07 13:38:08 -04:00
Malathi
5924eb19f6 Use data file to render table at /docs/configuration/options/#global-configuration (#8377)
Merge pull request 8377
2020-09-07 13:38:06 -04:00
jekyllbot
ae7115638a Update history to reflect merge of #8375 [ci skip] 2020-09-07 09:40:14 -04:00
Ashwin Maroli
34add02e8b Fix path matching regex in post_url Liquid tag (#8375)
Merge pull request 8375
2020-09-07 09:40:12 -04:00
jekyllbot
abdbb58d8a Update history to reflect merge of #8359 [ci skip] 2020-09-06 11:57:51 -04:00
Shannon Kularathna
7188eac40f Add note about rebooting system after installation (#8359)
Merge pull request 8359
2020-09-06 11:57:48 -04:00
jekyllbot
6847a6cfcb Update history to reflect merge of #8372 [ci skip] 2020-09-05 10:52:07 -04:00
Shannon Kularathna
85508ccbf3 Docs Review: Getting Started (#8372)
Merge pull request 8372
2020-09-05 10:52:04 -04:00
jekyllbot
a0d7900bbe Update history to reflect merge of #8313 [ci skip] 2020-09-04 16:10:44 -04:00
jnozsc
e824f6b9cc Update rubocop gem to 0.90.0 (#8313)
Merge pull request 8313
2020-09-04 16:10:41 -04:00
jekyllbot
5aaa69da3e Update history to reflect merge of #8365 [ci skip] 2020-09-04 09:59:31 -04:00
Chuck Houpt
a88e5ef2b1 Add missing flag and options doc for build and serve commands (#8365)
Merge pull request 8365
2020-09-04 09:59:29 -04:00
jekyllbot
0de0f7ec35 Update history to reflect merge of #8358 [ci skip] 2020-09-04 08:33:00 -04:00
Thelonius Kort
910782e349 Replacing GIT_REPO by GIT_DIR (#8358)
Merge pull request 8358
2020-09-04 08:32:57 -04:00
jekyllbot
bed94b8ee7 Update history to reflect merge of #8369 [ci skip] 2020-09-04 06:08:16 -04:00
Ashwin Maroli
822bb57d41 Configure Performance cops (#8369)
Merge pull request 8369
2020-09-04 06:08:14 -04:00
Ashwin Maroli
ae6911d38a Update history to reflect merge of #8368 [ci skip] 2020-09-04 12:37:15 +05:30
Liam Cooke
eac6eb25b8 Add post_convert hook to modify HTML content before layout (#8368)
Co-authored-by: John Hughes <johnkhughes@users.noreply.github.com>
2020-09-04 12:31:24 +05:30
jekyllbot
badc9c2d30 Update history to reflect merge of #8354 [ci skip] 2020-08-27 12:50:20 -04:00
Shannon Kularathna
bc9895aa9b Clarify description of safe option (#8354)
Merge pull request 8354
2020-08-27 12:50:17 -04:00
Lou Rectoret
4299095d21 Run server with Autoreload (#8355)
* docs: livereload option

Co-authored-by: Frank Taillandier <frank.taillandier@gmail.com>
2020-08-25 15:44:58 +02:00
jekyllbot
b561413a81 Update history to reflect merge of #8353 [ci skip] 2020-08-24 10:42:13 -04:00
Shannon Kularathna
37a250bd8d Update default.md with info requested in #8314 (#8353)
Merge pull request 8353
2020-08-24 10:42:10 -04:00
jekyllbot
cac8d6ca5f Update history to reflect merge of #8352 [ci skip] 2020-08-23 10:39:08 -04:00
joelkennedy
0edc075818 Update documentation on third party site (#8352)
Merge pull request 8352
2020-08-23 10:39:06 -04:00
jekyllbot
0a2315d3af Update history to reflect merge of #8347 [ci skip] 2020-08-19 13:16:21 -04:00
Seeker
4f81011442 Supress warning issued for redirect pages (#8347)
Merge pull request 8347
2020-08-19 13:16:18 -04:00
jekyllbot
2afa51b9e1 Update history to reflect merge of #8349 [ci skip] 2020-08-17 11:58:06 -04:00
Frank Taillandier
d3126f57fd fix: security bump (#8349)
Merge pull request 8349
2020-08-17 11:58:02 -04:00
Ashwin Maroli
9dc60e4088 Update history regarding cherry-picks from docs-40 2020-08-16 22:40:26 +05:30
Alexey Pelykh
6a444634db Added docs for enhanced link tag 2020-08-16 22:29:11 +05:30
Nikita Skalkin
f26d70b53c Docs for remove support for Redcarpet
via #6990 and #8344


Co-authored-by: Emil Sågfors <emil.sagfors@iki.fi>
2020-08-16 22:17:38 +05:30
Frank Taillandier
190cffe875 rdiscount is not supported anymore 2020-08-16 22:04:43 +05:30
jekyllbot
b5201c50ff Update history to reflect merge of #8342 [ci skip] 2020-08-16 06:48:22 -04:00
Seeker
a4f5b850af Warn on command-line with permalink conflict (#8342)
Merge pull request 8342
2020-08-16 06:48:19 -04:00
Ashwin Maroli
9a7955d9b3 Update test to reflect changes in the latest Rouge 2020-08-12 16:12:59 +05:30
Ashwin Maroli
56ed7bed5d Stop testing on Windows via GitHub Actions
The builds seem to be choking for the past few days due to the presence of symlinked files.

Fortunately, AppVeyor builds continue to run as before.
2020-08-12 15:34:09 +05:30
Parker Moore
24a509f68b Merge pull request #8326 from jekyll/release-jekyll-3-9-0
Add Jekyll 3.9.0 release post
2020-08-05 14:44:54 -04:00
Parker Moore
180673b5a5 Add Jekyll 3.9.0 release post to main documentation 2020-08-05 14:43:06 -04:00
jekyllbot
95f45a0a04 Update history to reflect merge of #8325 [ci skip] 2020-08-05 14:19:28 -04:00
jekyllbot
ef2736d9a6 Update history to reflect merge of #8323 [ci skip] 2020-08-05 14:16:51 -04:00
Frank Taillandier
a39509678e fix: W3C HTML5 Validator warning
The type attribute is unnecessary for JavaScript resources.
2020-08-03 12:01:08 +02:00
jekyllbot
f9aa4b921e Update history to reflect merge of #8320 [ci skip] 2020-07-29 16:38:34 -04:00
Christopher Brown
113aa48ca6 Clarify target of subordinate clause (#8320)
Merge pull request 8320
2020-07-29 16:38:32 -04:00
jekyllbot
319c0d214e Update history to reflect merge of #8319 [ci skip] 2020-07-29 13:18:00 -04:00
bytecode1024
6256ae0719 Extra apostrophes in an URL (#8319)
Merge pull request 8319
2020-07-29 13:17:58 -04:00
jekyllbot
b728eda026 Update history to reflect merge of #8312 [ci skip] 2020-07-23 03:03:51 -04:00
iBug ♦
975c091d14 Fix IRB error "ubygems" (#8199) (#8312)
Merge pull request 8312
2020-07-23 03:03:48 -04:00
jekyllbot
df7589ae18 Update history to reflect merge of #7864 [ci skip] 2020-07-17 06:44:25 -04:00
Brittany Joiner
943a6fdb87 Update resources.md (#7864)
Merge pull request 7864
2020-07-17 06:44:23 -04:00
Steven Xu
d90d1f2494 add punctuation (#8306) 2020-07-16 18:28:22 +02:00
jekyllbot
581fcaddab Update history to reflect merge of #8305 [ci skip] 2020-07-16 12:23:07 -04:00
Francesco Bianco
e2159f72e3 Update default.html (#8305)
Merge pull request 8305
2020-07-16 12:23:05 -04:00
Ashwin Maroli
716536b551 Clarify relevance of data file basename [skip ci] 2020-07-12 21:40:05 +05:30
jekyllbot
1a03aafb81 Update history to reflect merge of #8297 [ci skip] 2020-07-10 14:38:57 -04:00
Alex Malaszkiewicz
f11fc5c1d1 Add refactoring type to PULL_REQUEST_TEMPLATE (#8297)
Merge pull request 8297
2020-07-10 14:38:55 -04:00
jekyllbot
1ab4dffe3c Update history to reflect merge of #8296 [ci skip] 2020-07-10 04:45:56 -04:00
Alex Malaszkiewicz
261fb28b11 Update RuboCop to-do file (#8296)
Merge pull request 8296
2020-07-10 04:45:54 -04:00
jekyllbot
43a8a4666d Update history to reflect merge of #8294 [ci skip] 2020-07-09 14:26:01 -04:00
Alex Malaszkiewicz
f5826eed3c Replace nested conditional with guard clauses (#8294)
Merge pull request 8294
2020-07-09 14:25:59 -04:00
jekyllbot
119c490ad2 Update history to reflect merge of #8291 [ci skip] 2020-07-08 14:46:09 -04:00
Ashwin Maroli
a5b6602ffd Add a note on the rendering process in the docs (#8291)
Merge pull request 8291
2020-07-08 14:46:06 -04:00
jekyllbot
6c640012a2 Update history to reflect merge of #8287 [ci skip] 2020-07-08 14:32:43 -04:00
Alex Malaszkiewicz
bdc67c4474 Update rubocop gem to 0.87.1 (#8287)
Merge pull request 8287
2020-07-08 14:32:40 -04:00
jekyllbot
bbde471f53 Update history to reflect merge of #8283 [ci skip] 2020-07-06 08:12:14 -04:00
Joe Marshall
8a1073733d Add Formcake to forms section (#8283)
Merge pull request 8283
2020-07-06 08:12:12 -04:00
jekyllbot
c94c9aab33 Update history to reflect merge of #8282 [ci skip] 2020-07-05 15:16:03 -04:00
Alex Malaszkiewicz
2c793fcf77 Move permalink styles data to constant (#8282)
Merge pull request 8282
2020-07-05 15:16:01 -04:00
jekyllbot
f693faf1b6 Update history to reflect merge of #8278 [ci skip] 2020-07-03 14:11:21 -04:00
Alex Malaszkiewicz
7e26a8623c Update cucumber gem to version 4.1 (#8278)
Merge pull request 8278
2020-07-03 14:11:17 -04:00
jekyllbot
690183baf5 Update history to reflect merge of #8230 [ci skip] 2020-07-01 02:35:17 -04:00
Felix Breidenstein
148608256a Fix 'page 1' special treatment in pagination docs (#8230)
Merge pull request 8230
2020-07-01 02:35:14 -04:00
jekyllbot
d596ceb5c2 Update history to reflect merge of #8274 [ci skip] 2020-07-01 02:32:47 -04:00
jaybe@jekyll
930c65fb20 Update pointer to special permalink variables for collections (#8274)
Merge pull request 8274
2020-07-01 02:32:44 -04:00
Frank Taillandier
b3b9fae4bc Release 💎 4.1.1 2020-06-24 18:57:46 +02:00
Frank Taillandier
06b969db5d chore: generate site 2020-06-24 18:57:25 +02:00
Frank Taillandier
baf0274234 chore: bump to 4.1.1 2020-06-24 18:55:53 +02:00
jekyllbot
3ec61e6a68 Update history to reflect merge of #8243 [ci skip] 2020-06-24 12:53:32 -04:00
Ashwin Maroli
a7b8d27bda Release post for v4.1.1 (#8243)
Merge pull request 8243
2020-06-24 12:53:29 -04:00
jekyllbot
3ebbb7994f Update history to reflect merge of #8265 [ci skip] 2020-06-24 08:02:28 -04:00
HonkingGoose
3f6e230d53 Change word (#8265)
Merge pull request 8265
2020-06-24 08:02:25 -04:00
jekyllbot
5446e0ed54 Update history to reflect merge of #8264 [ci skip] 2020-06-24 07:59:42 -04:00
HonkingGoose
edbafe8c98 Update link to Netlify step-by-step guide (#8264)
Merge pull request 8264
2020-06-24 07:59:40 -04:00
Ashwin Maroli
52a1db530a Bump RuboCop to v0.86.x 2020-06-22 20:02:29 +05:30
jekyllbot
c250b2abd3 Update history to reflect merge of #8231 [ci skip] 2020-06-22 09:40:06 -04:00
Ashwin Maroli
8136d490e3 Allow hyperlinks to specific filter documentation (#8231)
Merge pull request 8231
2020-06-22 09:40:04 -04:00
jekyllbot
5481ba0f22 Update history to reflect merge of #8261 [ci skip] 2020-06-20 17:59:45 -04:00
Bianca Power
b3de5ab83a correct typo (#8261)
Merge pull request 8261
2020-06-20 17:59:43 -04:00
jekyllbot
0975bd7990 Update history to reflect merge of #8236 [ci skip] 2020-06-17 09:26:56 -04:00
Ashwin Maroli
ba29de02d4 Make page excerpts consistent with doc excerpts (#8236)
Merge pull request 8236
2020-06-17 09:26:53 -04:00
jekyllbot
c78ecc8d82 Update history to reflect merge of #8250 [ci skip] 2020-06-13 14:55:55 -04:00
jaybe@jekyll
d89b0974a2 Update liquid.md (#8250)
Merge pull request 8250
2020-06-13 14:55:52 -04:00
jekyllbot
35e2f7cc3e Update history to reflect merge of #8249 [ci skip] 2020-06-13 02:59:24 -04:00
jaybe@jekyll
426e050b32 Add language and examples to describe how to use the configuration options. (#8249)
Merge pull request 8249
2020-06-13 02:59:21 -04:00
Markoz Peña
a7e74122f3 Fix typo name of repository (#8248) 2020-06-12 23:28:26 +02:00
jekyllbot
cddaa4de6f Update history to reflect merge of #8247 [ci skip] 2020-06-12 15:10:47 -04:00
Markoz Peña
e874ba3044 Change name to ▲Vercel (#8247)
Merge pull request 8247
2020-06-12 15:10:44 -04:00
jekyllbot
df75b3babf Update history to reflect merge of #8241 [ci skip] 2020-06-09 16:50:23 -04:00
Lucas Alves
6a8b9fc35d Including correct Sketch website (#8241)
Merge pull request 8241
2020-06-09 16:50:21 -04:00
jekyllbot
f4b7db18a5 Update history to reflect merge of #8234 [ci skip] 2020-06-08 08:39:52 -04:00
Ashwin Maroli
ee20e844aa Don't generate excerpts for non-html pages (#8234)
Merge pull request 8234
2020-06-08 08:39:50 -04:00
jekyllbot
0bb04d45c7 Update history to reflect merge of #8235 [ci skip] 2020-06-08 01:28:44 -04:00
Anthony
72c7529e27 Replace deprecated 'show' command with 'info' (#8235)
Merge pull request 8235
2020-06-08 01:28:42 -04:00
jekyllbot
81c13507c8 Update history to reflect merge of #8227 [ci skip] 2020-06-05 03:05:14 -04:00
Ashwin Maroli
75ae986208 Expect drive letter only on vanilla windows (#8227)
Merge pull request 8227
2020-06-05 03:05:12 -04:00
Ashwin Maroli
03256d7b80 Revert re-introduction of PageDrop
Reverts commit 1bfb12b210.
2020-06-04 20:08:35 +05:30
Ashwin Maroli
1bfb12b210 Revert deletion of PageDrop
Reverts commit 8590ab0768.
Reverts commit 69154c2ef7.
2020-06-04 19:24:51 +05:30
jekyllbot
69154c2ef7 Update history to reflect merge of #8221 [ci skip] 2020-06-04 08:54:19 -04:00
Ashwin Maroli
8590ab0768 Revert introduction of PageDrop (#8221)
Merge pull request 8221
2020-06-04 08:54:16 -04:00
jekyllbot
53c76b8a4b Update history to reflect merge of #8222 [ci skip] 2020-06-04 04:57:13 -04:00
Ashwin Maroli
8b22c9dcd5 Disable page excerpts by default (#8222)
Merge pull request 8222
2020-06-04 04:57:10 -04:00
Ashwin Maroli
4b57a4187e Revert temporary locks on ffi gem for Windows
This reverts commit 4046ca2322.
This reverts commit da61a16ee2.
2020-06-03 15:28:13 +05:30
jekyllbot
c7c645ed6e Update history to reflect merge of #8223 [ci skip] 2020-06-01 14:07:45 -04:00
Ashwin Maroli
751b8f9c3c Bump RuboCop to v0.85.x (#8223)
Merge pull request 8223
2020-06-01 14:07:43 -04:00
Ashwin Maroli
4046ca2322 Temporarily lock ffi gem to v1.12.x on Windows 2020-06-01 22:50:34 +05:30
Ashwin Maroli
da61a16ee2 Temporarily lock ffi gem to v1.12.x on Windows 2020-06-01 22:29:00 +05:30
Koos Looijesteijn
99c9b51c3a Add atom:link rel="self" to RSS feed template (#8213)
The [W3C validator](https://validator.w3.org/feed/check.cgi) says:
> This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

With the added line, this should be fixed.
2020-05-28 15:52:24 +02:00
Ashwin Maroli
627e3bbe53 Release post of v4.1.0 (#8209)
Co-authored-by: Frank Taillandier <frank.taillandier@gmail.com>
2020-05-27 12:53:29 +02:00
Frank Taillandier
d1c72e87b1 Release 💎 4.1.0 2020-05-27 12:43:37 +02:00
Frank Taillandier
0a48b23695 chore(release): v4.1.0 💎 2020-05-27 12:43:37 +02:00
Frank Taillandier
e05f2b9d5b docs: fix classifier-reborn link
Fix #8211
2020-05-27 11:30:47 +02:00
jekyllbot
84ea040d0d Update history to reflect merge of #8158 [ci skip] 2020-05-25 13:01:06 -04:00
Ashwin Maroli
1292dcc24a Initialize include-files as Jekyll objects (#8158)
Merge pull request 8158
2020-05-25 13:01:03 -04:00
jekyllbot
2f4c73f38c Update history to reflect merge of #8188 [ci skip] 2020-05-25 12:20:13 -04:00
Ashwin Maroli
c0fde30d4b Initialize static files' data hash only if needed (#8188)
Merge pull request 8188
2020-05-25 12:20:10 -04:00
Ashwin Maroli
bf568cc657 Revert merge of #8126 [skip ci]
This reverts commit ab8c4b9b50
and commit 5e2af1ba54
2020-05-22 22:27:59 +05:30
Ashwin Maroli
5e2af1ba54 Trigger Deploy Docs on push event 2020-05-22 22:18:28 +05:30
Ashwin Maroli
ab8c4b9b50 Add a workflow to build and deploy docs site (#8126) 2020-05-22 22:13:40 +05:30
jekyllbot
e761d0692c Update history to reflect merge of #7813 [ci skip] 2020-05-22 11:01:19 -04:00
iBug ♦
13b7291649 Make number_of_words respect CJK characters (#7813)
Merge pull request 7813
2020-05-22 11:01:17 -04:00
jekyllbot
2e80c557e3 Update history to reflect merge of #8171 [ci skip] 2020-05-21 06:56:49 -04:00
Ashwin Maroli
0b2c4c9cec Add find filters to optimize where-first chains (#8171)
Merge pull request 8171
2020-05-21 06:56:47 -04:00
jekyllbot
aecd937864 Update history to reflect merge of #6760 [ci skip] 2020-05-21 06:06:16 -04:00
Ashwin Maroli
589b122416 Profile various stages of a site's build process (#6760)
Merge pull request 6760
2020-05-21 06:06:14 -04:00
Ashwin Maroli
5649cac7e7 Bump RuboCop to v0.84.x
Enable new Lint/DeprecatedOpenSSLConstant cop

Additionally:
  * Enable Layout/EmptyLinesAroundAttributeAccessor cop
  * Sort configuration by cop names alphabetically
  * Add a blank line to separate various departments
2020-05-21 15:02:37 +05:30
jekyllbot
476ec0de9e Update history to reflect merge of #7642 [ci skip] 2020-05-21 04:44:17 -04:00
Ashwin Maroli
1ec3843130 Allow excerpts to be generated for Page objects (#7642)
Merge pull request 7642
2020-05-21 04:44:14 -04:00
jekyllbot
673f3d20ba Update history to reflect merge of #8196 [ci skip] 2020-05-20 17:04:20 -04:00
Ashwin Maroli
098eab0304 Improve documentation on tags and categories (#8196)
Merge pull request 8196
2020-05-20 17:04:15 -04:00
jekyllbot
881fdc1c01 Update history to reflect merge of #7482 [ci skip] 2020-05-20 07:44:18 -04:00
Ashwin Maroli
696e8e4b99 Filter out exclusively excluded entries sooner (#7482)
Merge pull request 7482
2020-05-20 07:44:15 -04:00
jekyllbot
bc3b92c151 Update history to reflect merge of #8193 [ci skip] 2020-05-20 05:28:58 -04:00
Toby Glei
b5e9870f45 docs: add 21yunbox for deployment (#8193)
Merge pull request 8193
2020-05-20 05:28:56 -04:00
jekyllbot
d7bec8015f Update history to reflect merge of #8191 [ci skip] 2020-05-19 16:29:34 -04:00
Philip Eriksson
b18a6830c3 Update third-party.md (#8191)
Merge pull request 8191
2020-05-19 16:29:31 -04:00
jekyllbot
a4ef72631a Update history to reflect merge of #8187 [ci skip] 2020-05-18 08:15:16 -04:00
Philip Eriksson
497246dcf9 Remove sudo from Travis CI tutorial (#8187)
Merge pull request 8187
2020-05-18 08:15:13 -04:00
codenitpicker
603fae800a docs: kramdown options (#8181)
Example usage of kramdown options

Co-authored-by: Frank Taillandier <frank.taillandier@gmail.com>
2020-05-17 14:03:37 +02:00
jekyllbot
5679e4aa93 Update history to reflect merge of #8178 [ci skip] 2020-05-14 09:38:11 -04:00
dotnetCarpenter
58a73a53d0 Ease discovery of CLI commands (in their entirety) (#8178)
Merge pull request 8178
2020-05-14 09:38:08 -04:00
Ashwin Maroli
7baca87e59 Remove outdated constraint in Gemfile 2020-05-14 14:41:24 +05:30
jekyllbot
838575421b Update history to reflect merge of #8177 [ci skip] 2020-05-14 04:58:44 -04:00
Ashwin Maroli
709e633016 Check if entry is a directory once per enumerator (#8177)
Merge pull request 8177
2020-05-14 04:58:42 -04:00
jekyllbot
3c8b6c92e7 Update history to reflect merge of #8167 [ci skip] 2020-05-14 02:20:23 -04:00
matt swanson
f8286b62a2 Switch slugify regex to support more Unicode character groups (#8167)
Merge pull request 8167
2020-05-14 02:20:20 -04:00
Ashwin Maroli
11dd893416 Bump RuboCop to v0.83.x 2020-05-11 18:21:16 +05:30
jekyllbot
8403184b14 Update history to reflect merge of #8154 [ci skip] 2020-05-10 11:02:38 -04:00
Ashwin Maroli
eb2423c6c4 Optimize path sanitization of default front matter (#8154)
Merge pull request 8154
2020-05-10 11:02:36 -04:00
jekyllbot
dc8f57d412 Update history to reflect merge of #8165 [ci skip] 2020-05-10 10:39:26 -04:00
Ashwin Maroli
88e3078a20 Provide invokables for common drop query keys (#8165)
Merge pull request 8165
2020-05-10 10:39:24 -04:00
jekyllbot
9f31fe1c3b Update history to reflect merge of #8170 [ci skip] 2020-05-10 05:29:26 -04:00
Ashwin Maroli
ce483d29a4 Site: Filter through just the docs collection (#8170)
Merge pull request 8170
2020-05-10 05:29:24 -04:00
Ashwin Maroli
001df60ea0 Use Ruby 2.6 on GitHub Actions
until all of the dependencies are installable on Ruby 2.7 on Windows
2020-05-10 12:56:32 +05:30
Ashwin Maroli
80683dde4e Forward-port release history from stable branches 2020-05-10 12:11:49 +05:30
Frank Taillandier
e70e993721 chore: set verion to 4.0.1 2020-05-10 00:41:55 +02:00
jekyllbot
b25d4374ee Update history to reflect merge of #8168 [ci skip] 2020-05-09 18:25:35 -04:00
Frank Taillandier
5375a2747e chore(ci): cache dependencies (#8168)
Merge pull request 8168
2020-05-09 18:25:33 -04:00
Frank Taillandier
8c77d2ece6 Release: v4.0.1 post (#8166)
* docs: 4.0.1 release post
* chore: bump latest version
2020-05-10 00:15:16 +02:00
jekyllbot
0fbdefb7bb Update history to reflect merge of #8075 [ci skip] 2020-05-09 07:29:16 -04:00
Ashwin Maroli
48e6cb18d7 Improve path normalization in liquid_renderer (#8075)
Merge pull request 8075
2020-05-09 07:29:13 -04:00
Frank Taillandier
d51cd070ed chore: use native lazy loading and fixed img 2020-05-09 13:07:02 +02:00
Frank Taillandier
667df335da docs: add french government websites
props @MattiSG
2020-05-09 13:05:19 +02:00
jekyllbot
a5112f3964 Update history to reflect merge of #8162 [ci skip] 2020-05-07 01:47:01 -04:00
Max Chadwick
88c0617588 Fix typo (#8162)
Merge pull request 8162
2020-05-07 01:46:58 -04:00
jekyllbot
190219414a Update history to reflect merge of #8131 [ci skip] 2020-05-06 15:56:58 -04:00
Ashwin Maroli
ed11d2149e Allow disabling import of theme configuration (#8131)
Merge pull request 8131
2020-05-06 15:56:56 -04:00
Frank Taillandier
1f39f7a96e docs: update resources
- ZEIT is now Vercel
- Mention forks like Glim and Bridgetown
- Remove old posts
2020-05-04 19:48:35 +02:00
jekyllbot
1888fc1db6 Update history to reflect merge of #8147 [ci skip] 2020-05-04 05:07:22 -04:00
jeffreytse
4dd1868405 docs: update your-first-plugin.md (#8147)
Merge pull request 8147
2020-05-04 05:07:20 -04:00
jekyllbot
42c0f5b89b Update history to reflect merge of #8042 [ci skip] 2020-04-30 16:50:39 -04:00
Ashwin Maroli
e11cd56a27 Remove dev dependencies from new theme-gem gemspec (#8042)
Merge pull request 8042
2020-04-30 16:50:36 -04:00
jekyllbot
68fda59b07 Update history to reflect merge of #8035 [ci skip] 2020-04-30 13:52:57 -04:00
Ashwin Maroli
c0e5541468 Configure default language for syntax-highlighting (#8035)
Merge pull request 8035
2020-04-30 13:52:55 -04:00
jekyllbot
8de0762923 Update history to reflect merge of #7950 [ci skip] 2020-04-30 13:52:14 -04:00
Ashwin Maroli
f69471cb4a Allow extensionless document in a strict site (#7950)
Merge pull request 7950
2020-04-30 13:52:11 -04:00
jekyllbot
f451129e5a Update history to reflect merge of #8150 [ci skip] 2020-04-30 09:06:27 -04:00
Mike Kasberg
d0f5f0f199 Clarify bundle config in Bundler tutorial (#8150)
Merge pull request 8150
2020-04-30 09:06:24 -04:00
jekyllbot
18f04c61ad Update history to reflect merge of #8113 [ci skip] 2020-04-27 10:06:08 -04:00
Billy Kong
70870328bf Config include trailing slash (#8113)
Merge pull request 8113
2020-04-27 10:06:05 -04:00
jekyllbot
82f1b32896 Update history to reflect merge of #8140 [ci skip] 2020-04-27 08:20:55 -04:00
Daniel Leidert
acf92593f7 Use platforms instead of install_if (#8140)
Merge pull request 8140
2020-04-27 08:20:52 -04:00
jekyllbot
59f1b9a131 Update history to reflect merge of #8138 [ci skip] 2020-04-27 05:21:10 -04:00
Daniel Leidert
47e3644cd5 Escape regex characters in paths to match (#8138)
Merge pull request 8138
2020-04-27 05:21:07 -04:00
jekyllbot
c8c3891cab Update history to reflect merge of #8119 [ci skip] 2020-04-27 03:30:02 -04:00
michaelcurrin
a36bea22e3 Docs: Deploy Jekyll site with GitHub Actions (#8119)
Merge pull request 8119
2020-04-27 03:29:59 -04:00
Frank Taillandier
2bc1e04620 chore(ci): Ruby 2.4 EOL
Stop test against Ruby 2.4
2020-04-26 06:42:28 +02:00
jekyllbot
9916526835 Update history to reflect merge of #8136 [ci skip] 2020-04-25 14:48:02 -04:00
Leo
3acc74c611 docs: Fix broken URL in the "Resources" page (#8136)
Merge pull request 8136
2020-04-25 14:47:59 -04:00
jekyllbot
a489a6b3e5 Update history to reflect merge of #8135 [ci skip] 2020-04-25 03:58:36 -04:00
Aaron K Redshaw
9e9c713f65 Added note about OS specific installation instructions. (#8135)
Merge pull request 8135
2020-04-25 03:58:34 -04:00
jekyllbot
6a5f52b3ef Update history to reflect merge of #8132 [ci skip] 2020-04-24 03:57:36 -04:00
Paramdeo Singh
470b925cdd Added Clear Linux (#8132)
Merge pull request 8132
2020-04-24 03:57:34 -04:00
Ashwin Maroli
79be8abb8f Update expected markup rendered by kramdown
kramdown-2.2.0 adds WAI-ARIA role attributes to rendered TOC and footnotes
ref: c8f0985476
2020-04-23 15:14:33 +05:30
Frank Taillandier
964b80edc6 docs: override default excluded filenames
fix #8009
2020-04-18 22:27:23 +02:00
Frank Taillandier
a2103c3452 Update FUNDING.yml 2020-04-17 10:40:03 +02:00
Ashwin Maroli
00013c3303 Bump RuboCop to v0.82.x 2020-04-16 19:40:10 +05:30
jekyllbot
38157eb9b3 Update history to reflect merge of #8079 [ci skip] 2020-04-15 09:12:09 -04:00
Ashwin Maroli
c8ce49fdfd Improve syntax-highlighting in documentation site (#8079)
Merge pull request 8079
2020-04-15 09:12:06 -04:00
jekyllbot
2ed78413ef Update history to reflect merge of #8122 [ci skip] 2020-04-14 20:12:24 -04:00
jonas-krummenacher
d935b6f7f9 KeyCDN added to third party site (#8122)
Merge pull request 8122
2020-04-14 20:12:22 -04:00
jekyllbot
561531eca6 Update history to reflect merge of #8002 [ci skip] 2020-04-13 11:34:25 -04:00
wzy
e5804f33c2 Add help about Gentoo/Linux (#8002)
Merge pull request 8002
2020-04-13 11:34:22 -04:00
Ashwin Maroli
d0b79bb3bb Use Ruby's English module in gemspec
* Can use `git ls-files` directly without the `-z` option.
* Can consequently use a readable variable `$INPUT_RECORD_SEPARATOR` instead
  of cryptic string `"\x0"` to generate array of paths.


Co-authored-by: Frank Taillandier <frank.taillandier@gmail.com>
2020-04-13 19:56:59 +05:30
Ashwin Maroli
3b32fa27d1 Revert to using "\x0" as INPUT_RECORD_SEPARATOR
This reverts commit 4536edb1b0
because the gem built doesn't include all the expected files.
2020-04-13 19:26:59 +05:30
Frank Taillandier
4536edb1b0 style: Style/SpecialGlobalVars
see: https://rubystyle.guide/#no-cryptic-perlisms
2020-04-13 15:21:20 +02:00
Ashwin Maroli
4e25c36d86 Revert "Pass require path to sub-process when running bundle install" (#8117)
* Revert "Pass require path to sub-process when running `bundle install` (#7618)"

This reverts commit 43b9f13b1a.

* Revert "Update history to reflect merge of #7618 [ci skip]"

This reverts commit 2c605bfeb3.
2020-04-13 12:41:38 +02:00
Frank Taillandier
657d924119 docs: update Ruby versions 2020-04-13 11:06:30 +02:00
jekyllbot
47ed1762d7 Update history to reflect merge of #7990 [ci skip] 2020-04-13 03:52:56 -04:00
Ashwin Maroli
9c0c518d52 Cache URLFilter results of string inputs per site (#7990)
Merge pull request 7990
2020-04-13 03:52:54 -04:00
jekyllbot
b1462571cb Update history to reflect merge of #8094 [ci skip] 2020-04-13 03:51:36 -04:00
Ashwin Maroli
30e7d5ea53 Add slugified_categories URL placeholder (#8094)
Merge pull request 8094
2020-04-13 03:51:33 -04:00
jekyllbot
6db506651a Update history to reflect merge of #7967 [ci skip] 2020-04-13 03:49:18 -04:00
Ashwin Maroli
67380a2738 Clear cached Liquid template scope before render (#7967)
Merge pull request 7967
2020-04-13 03:49:15 -04:00
jekyllbot
1cf04b8857 Update history to reflect merge of #7908 [ci skip] 2020-04-13 03:45:36 -04:00
Ashwin Maroli
be70c3e869 Add static file's basename to its url_placeholder (#7908)
Merge pull request 7908
2020-04-13 03:45:33 -04:00
jekyllbot
2c605bfeb3 Update history to reflect merge of #7618 [ci skip] 2020-04-12 21:34:30 -04:00
Justin Jia
43b9f13b1a Pass require path to sub-process when running bundle install (#7618)
Merge pull request 7618
2020-04-12 21:34:27 -04:00
jekyllbot
f82458bb15 Update history to reflect merge of #7570 [ci skip] 2020-04-12 21:12:50 -04:00
Ashwin Maroli
e42c35c9ac Reduce Jekyll::Renderer instances during a build (#7570)
Merge pull request 7570
2020-04-12 21:12:48 -04:00
Frank Taillandier
ffdab933b8 docs: Netlify and ZEIT Now guides
- Deploy Jekyll 4.0 on Netlify
- Deploy Jekyll on ZEIT Now example
2020-04-10 16:09:13 +02:00
jekyllbot
90f6d171d4 Update history to reflect merge of #8106 [ci skip] 2020-04-09 11:54:14 -04:00
Atlas Cove
7ac4c32181 Update variables.md (#8106)
Merge pull request 8106
2020-04-09 11:54:12 -04:00
jekyllbot
5c24527457 Update history to reflect merge of #8097 [ci skip] 2020-04-05 10:52:51 -04:00
guanicoe
8c3934fd02 Update front-matter.md (#8097)
Merge pull request 8097
2020-04-05 10:52:49 -04:00
jekyllbot
fa9c6d62a2 Update history to reflect merge of #8098 [ci skip] 2020-04-05 10:50:49 -04:00
HTeuMeuLeu
792ecfa310 Add version badge for Custom Sorting of Documents (#8098)
Merge pull request 8098
2020-04-05 10:50:46 -04:00
Ashwin Maroli
3c41a1eb1d Make corrections to tabulating CSV-data tutorial
* Replace highlight tags with triple backticks
* Replace hard tab characters with 2 spaces
* Fix typos
* Change tutorial title
2020-04-05 11:57:32 +05:30
Frank Taillandier
842a809cab fix: padding on liquid code blocks
props @MichaelCurrin
2020-04-04 16:35:45 +02:00
jekyllbot
d4ee27ed70 Update history to reflect merge of #8090 [ci skip] 2020-04-04 10:33:11 -04:00
michaelcurrin
047da6396a Create CSV to table tutorial (#8090)
Merge pull request 8090
2020-04-04 10:33:09 -04:00
jekyllbot
9b29a86bbd Update history to reflect merge of #8088 [ci skip] 2020-04-03 09:47:30 -04:00
Ashwin Maroli
a2c2957f55 Bump Ruby versions on Travis builds (#8088)
Merge pull request 8088
2020-04-03 09:47:27 -04:00
jekyllbot
8b17c0e3b3 Update history to reflect merge of #8092 [ci skip] 2020-04-02 18:22:54 -04:00
Ashwin Maroli
0cd3bb8d19 Render tutorial metadata in documentation site (#8092)
Merge pull request 8092
2020-04-02 18:22:52 -04:00
jekyllbot
2ef3281bad Update history to reflect merge of #8064 [ci skip] 2020-04-01 12:19:40 -04:00
Ashwin Maroli
784a689b13 Simplify Jekyll::Renderer#validate_layout (#8064)
Merge pull request 8064
2020-04-01 12:19:37 -04:00
jekyllbot
46cffe89b8 Update history to reflect merge of #8089 [ci skip] 2020-04-01 08:41:32 -04:00
Ashwin Maroli
bc9774561b Utilize relative_url filter in documentation site (#8089)
Merge pull request 8089
2020-04-01 08:41:30 -04:00
Ashwin Maroli
1412928dde Bump RuboCop to v0.81.x 2020-04-01 14:21:24 +05:30
jekyllbot
9614cb67d4 Update history to reflect merge of #8083 [ci skip] 2020-03-30 10:44:07 -04:00
Ashwin Maroli
f0ab09968e Reduce array allocations from StaticFile#path (#8083)
Merge pull request 8083
2020-03-30 10:44:04 -04:00
jekyllbot
539e712c41 Update history to reflect merge of #7987 [ci skip] 2020-03-30 10:36:40 -04:00
Ashwin Maroli
6bc27f9fdf Quicker categories for documents without superdirs (#7987)
Merge pull request 7987
2020-03-30 10:36:37 -04:00
jekyllbot
f7bff1c5c4 Update history to reflect merge of #8081 [ci skip] 2020-03-29 16:11:19 -04:00
Ashwin Maroli
09c448449e Add default front matter for tutorials collection (#8081)
Merge pull request 8081
2020-03-29 16:11:17 -04:00
jekyllbot
8d3c2f6a96 Update history to reflect merge of #8067 [ci skip] 2020-03-29 12:40:30 -04:00
Ashwin Maroli
e972065325 Reduce Pathname objects from front matter defaults (#8067)
Merge pull request 8067
2020-03-29 12:40:28 -04:00
jekyllbot
7860d1bac0 Update history to reflect merge of #8041 [ci skip] 2020-03-26 10:11:35 -04:00
Ashwin Maroli
237d08a76c Optimize Kramdown::JekyllDocument#to_html calls (#8041)
Merge pull request 8041
2020-03-26 10:11:33 -04:00
jekyllbot
ef6b382a48 Update history to reflect merge of #7992 [ci skip] 2020-03-26 09:39:49 -04:00
Ashwin Maroli
b84ba5accc Add PageDrop to provide Liquid templates with data (#7992)
Merge pull request 7992
2020-03-26 09:39:47 -04:00
jekyllbot
a011579fe4 Update history to reflect merge of #8069 [ci skip] 2020-03-22 12:04:36 -04:00
Ashwin Maroli
a1401c6fe9 Use layout.path when rendering the Liquid layout (#8069)
Merge pull request 8069
2020-03-22 12:04:33 -04:00
jekyllbot
83decb42f6 Update history to reflect merge of #8063 [ci skip] 2020-03-20 06:40:19 -04:00
Kieran Barker
1fe5bd0cf5 Remove extra paragraph tags (#8063)
Merge pull request 8063
2020-03-20 06:40:17 -04:00
jekyllbot
0683ab143e Update history to reflect merge of #8060 [ci skip] 2020-03-19 06:10:27 -04:00
Tobias Klüpfel
dc5e1d7056 Update 09-collections.md (#8060)
Merge pull request 8060
2020-03-19 06:10:25 -04:00
jekyllbot
c193677dc5 Update history to reflect merge of #8056 [ci skip] 2020-03-16 04:24:46 -04:00
Ashwin Maroli
7948578cd3 Mirror spec.homepage as metadata["homepage_uri"] (#8056)
Merge pull request 8056
2020-03-16 04:24:45 -04:00
jekyllbot
e9174dfd3b Update history to reflect merge of #8055 [ci skip] 2020-03-16 03:06:32 -04:00
Ashwin Maroli
ee5d0cffd6 Remove version-constraint relaxation for i18n gem (#8055)
Merge pull request 8055
2020-03-16 03:06:30 -04:00
jekyllbot
190a35dc9a Update history to reflect merge of #8057 [ci skip] 2020-03-15 18:49:57 -04:00
Frank Taillandier
a4b1ca2c75 chore: simplify require for Jekyll::VERSION (#8057)
Merge pull request 8057
2020-03-15 18:49:54 -04:00
jekyllbot
88360bd17d Update history to reflect merge of #8028 [ci skip] 2020-03-12 10:58:20 -04:00
Ashwin Maroli
f826b8b5ea Fix documents custom-ordering logic (#8028)
Merge pull request 8028
2020-03-12 10:58:17 -04:00
Frank Taillandier
1115eebe15 docs: add typeform 2020-03-10 01:24:32 +01:00
Frank Taillandier
325e6bb3f8 docs: add page layout to philosophy 2020-03-10 01:21:06 +01:00
Frank Taillandier
256b0875cb site: make resources editable 2020-03-10 01:20:31 +01:00
jekyllbot
a1c18b6e87 Update history to reflect merge of #8048 [ci skip] 2020-03-07 11:40:26 -05:00
Riccardo Porreca
3e182ef25e Non-deprecated vendor/bundle path configuration (#8048)
Merge pull request 8048
2020-03-07 11:40:24 -05:00
Frank Taillandier
422470dc6e docs: ZEIT and Render 2020-03-07 10:36:49 +01:00
Frank Taillandier
c8d673c984 docs: external links
Third-party services, deployment services
2020-03-07 09:57:14 +01:00
jekyllbot
27ca06326a Update history to reflect merge of #8047 [ci skip] 2020-03-06 11:08:59 -05:00
Ashwin Maroli
0f4c8d2248 Allow multiple binary operator in where_exp filter (#8047)
Merge pull request 8047
2020-03-06 11:08:56 -05:00
jekyllbot
ab6ef0b257 Update history to reflect merge of #8044 [ci skip] 2020-03-04 10:14:55 -05:00
Ashwin Maroli
ea57ef78da Simplify Jekyll::Hooks.trigger logic (#8044)
Merge pull request 8044
2020-03-04 10:14:53 -05:00
Frank Taillandier
6ae640755f chore: remove question template 2020-03-02 16:22:42 +01:00
Frank Taillandier
028c306c11 chore: redirect questions to the forum 2020-03-02 16:21:28 +01:00
jekyllbot
e6d082488c Update history to reflect merge of #8037 [ci skip] 2020-02-28 14:29:49 -05:00
Eric Knibbe
b05e6ee8ae docs: improvements for note boxes (#8037)
Merge pull request 8037
2020-02-28 14:29:47 -05:00
jekyllbot
53bb8bd7d3 Update history to reflect merge of #8032 [ci skip] 2020-02-27 08:14:17 -05:00
Ashwin Maroli
7ba99f0010 Docs: Render full contents of just the latest post (#8032)
Merge pull request 8032
2020-02-27 08:14:15 -05:00
jekyllbot
70fc6b377d Update history to reflect merge of #8030 [ci skip] 2020-02-27 00:22:06 -05:00
Matt Penna
0378c3628c Corrected command to modify PATH (#8030)
Merge pull request 8030
2020-02-27 00:22:03 -05:00
jekyllbot
4a6f91810c Update history to reflect merge of #8029 [ci skip] 2020-02-26 19:46:28 -05:00
Matt Penna
a9fb26fc33 Corrected command to modify PATH (#8029)
Merge pull request 8029
2020-02-26 19:46:25 -05:00
jekyllbot
aef8f11f6c Update history to reflect merge of #8013 [ci skip] 2020-02-26 11:36:22 -05:00
Ashwin Maroli
3d045d277e Optimize markdown parsing with Kramdown by reusing the options and parser objects (#8013)
Merge pull request 8013
2020-02-26 11:36:19 -05:00
jekyllbot
b1573b6292 Update history to reflect merge of #8026 [ci skip] 2020-02-26 01:28:38 -05:00
Dmitry Egorov
39e2a8b5f5 [Docs] Fix asset link ref in step-by-step tutorial (#8026)
Merge pull request 8026
2020-02-26 01:28:36 -05:00
jekyllbot
4d131eb069 Update history to reflect merge of #8020 [ci skip] 2020-02-24 18:44:13 -05:00
Ashwin Maroli
68066ce268 Optimize rendering of the documentation site (#8020)
Merge pull request 8020
2020-02-24 18:44:11 -05:00
jekyllbot
002ed48fd8 Update history to reflect merge of #8021 [ci skip] 2020-02-24 05:43:28 -05:00
Gareth Mcshane
331d3f3ffe remove leading slash from Sass file location (#8021)
Merge pull request 8021
2020-02-24 05:43:25 -05:00
jekyllbot
3e440a9cc1 Update history to reflect merge of #8017 [ci skip] 2020-02-21 06:08:50 -05:00
Eric Knibbe
8c3276133d docs: improve highlighting of code blocks (#8017)
Merge pull request 8017
2020-02-21 06:08:48 -05:00
jekyllbot
1a0a4b709a Update history to reflect merge of #8015 [ci skip] 2020-02-20 12:54:52 -05:00
Ashwin Maroli
707741c0f8 Configure kramdown toc_levels as array by default (#8015)
Merge pull request 8015
2020-02-20 12:54:49 -05:00
jekyllbot
3fb94fbca0 Update history to reflect merge of #7928 [ci skip] 2020-02-20 12:47:35 -05:00
Ashwin Maroli
558e05eb73 Add an option to easily disable disk-cache (#7928)
Merge pull request 7928
2020-02-20 12:47:32 -05:00
jekyllbot
ba3e3002c4 Update history to reflect merge of #8016 [ci skip] 2020-02-20 12:46:18 -05:00
Mark Bennett
9739246a89 Add Visual Studio Code Development Container (#8016)
Merge pull request 8016
2020-02-20 12:46:16 -05:00
jekyllbot
4a1f00e940 Update history to reflect merge of #8014 [ci skip] 2020-02-19 11:28:56 -05:00
Ashwin Maroli
d65a09b1d9 Update unit tests for Kramdown-based converter (#8014)
Merge pull request 8014
2020-02-19 11:28:54 -05:00
Ashwin Maroli
0cb0b8ad8c Bump JRuby version used in Travis CI build 2020-02-19 16:30:23 +05:30
jekyllbot
fc694fb496 Update history to reflect merge of #8012 [ci skip] 2020-02-19 01:48:29 -05:00
Frank Taillandier
6adb601232 chore(deps): rubocop 0.80.0 (#8012)
Merge pull request 8012
2020-02-19 01:48:26 -05:00
jekyllbot
99f91b551c Update history to reflect merge of #8007 [ci skip] 2020-02-17 02:49:10 -05:00
vhermecz
b5d8a5f409 Fix file references in Step by Step Tutorial's Assets step (#8007)
Merge pull request 8007
2020-02-17 02:49:08 -05:00
Frank Taillandier
d4e2d19d7e docs: VS Code plugins and config autocompletion
fix #7884
2020-02-14 14:08:21 +01:00
jekyllbot
5ee36686a9 Update history to reflect merge of #7413 [ci skip] 2020-02-13 13:40:03 -05:00
dkalev
6064ce8eba Update 07-assets.md (#7413)
Merge pull request 7413
2020-02-13 13:39:59 -05:00
jekyllbot
542d9ce79a Update history to reflect merge of #8000 [ci skip] 2020-02-12 08:48:59 -05:00
Radoslav Karlík
d7c110d568 Add Kentico Kontent CMS integration to resources (#8000)
Merge pull request 8000
2020-02-12 08:48:56 -05:00
jekyllbot
529f0f7030 Update history to reflect merge of #7696 [ci skip] 2020-02-06 11:11:54 -05:00
Ashwin Maroli
8bb76c865f Optimize Jekyll::Filters#item_property (#7696)
Merge pull request 7696
2020-02-06 11:11:50 -05:00
jekyllbot
44062561f0 Update history to reflect merge of #7865 [ci skip] 2020-02-06 10:13:49 -05:00
Liam Bigelow
6097d3b068 Include _config.yml in a new theme's gemspec (#7865)
Merge pull request 7865
2020-02-06 10:13:46 -05:00
jekyllbot
ac49cea881 Update history to reflect merge of #7996 [ci skip] 2020-02-06 03:28:13 -05:00
dgolant
a58d71a311 Update 03-front-matter.md (#7996)
Merge pull request 7996
2020-02-06 03:28:10 -05:00
jekyllbot
68e4e901c2 Update history to reflect merge of #7994 [ci skip] 2020-02-05 07:10:59 -05:00
lizharris
35077ff0a7 Fix English grammar error. (#7994)
Merge pull request 7994
2020-02-05 07:10:56 -05:00
jekyllbot
2c04ddcabd Update history to reflect merge of #7821 [ci skip] 2020-02-04 00:24:42 -05:00
Ashwin Maroli
5cc78db648 Test where filter handling numeric property values (#7821)
Merge pull request 7821
2020-02-04 00:24:40 -05:00
jekyllbot
4eb7a408e4 Update history to reflect merge of #7870 [ci skip] 2020-02-03 12:08:10 -05:00
Ben Stolovitz
7cac1f9096 Document sorting two documents by their date (#7870)
Merge pull request 7870
2020-02-03 12:08:07 -05:00
jekyllbot
b98a919351 Update history to reflect merge of #7989 [ci skip] 2020-02-01 23:31:16 -05:00
R.P. Pedraza
0aa29046a7 Correct documentation of filters (#7989)
Merge pull request 7989
2020-02-01 23:31:14 -05:00
jekyllbot
05cbe06c26 Update history to reflect merge of #7948 [ci skip] 2020-01-31 13:07:12 -05:00
Ashwin Maroli
389eb88c20 Attain Ruby 3.0 compatibility (#7948)
Merge pull request 7948
2020-01-31 13:07:08 -05:00
jekyllbot
5be7faac3e Update history to reflect merge of #7988 [ci skip] 2020-01-31 12:29:17 -05:00
Ashwin Maroli
5da8271e9b Return relative_url if site.url is an empty string (#7988)
Merge pull request 7988
2020-01-31 12:29:14 -05:00
jekyllbot
f3b4cad057 Update history to reflect merge of #7985 [ci skip] 2020-01-29 17:01:58 -05:00
Aaron Adams
b8c4e2aaf7 Move --baseurl to build command options (#7985)
Merge pull request 7985
2020-01-29 17:01:56 -05:00
jekyllbot
48ee086361 Update history to reflect merge of #7979 [ci skip] 2020-01-20 03:38:19 -05:00
Lizzy Kate
fc062db1e9 Fix YAML representation of group_by result (#7979)
Merge pull request 7979
2020-01-20 03:38:17 -05:00
Frank Taillandier
ccb6ee9db5 chore(deps): mercenary 0.4.0 2020-01-19 01:01:18 +01:00
jekyllbot
b2639ceb59 Update history to reflect merge of #7978 [ci skip] 2020-01-17 11:06:02 -05:00
csquare
c34d185d8d Correct a sentence in the documentation (#7978)
Merge pull request 7978
2020-01-17 11:05:59 -05:00
Frank Taillandier
333090d36e chore(ci): update to actions/checkoutv2
Improved performance: fetches only a single commit by default.

https://github.com/actions/checkout#whats-new
2020-01-16 20:30:05 +01:00
jekyllbot
32a5bcda3d Update history to reflect merge of #7940 [ci skip] 2020-01-15 10:02:40 -05:00
Patrik Eriksson
b9af7d3564 docs: remove watch option in config (#7940)
Merge pull request 7940
2020-01-15 10:02:37 -05:00
jekyllbot
9bc17cf40c Update history to reflect merge of #7975 [ci skip] 2020-01-15 09:14:22 -05:00
ddocs
f9a8bdba50 Corre (#7975)
Merge pull request 7975
2020-01-15 09:14:20 -05:00
jekyllbot
6cf0d7df39 Update history to reflect merge of #7974 [ci skip] 2020-01-15 08:48:17 -05:00
Ashwin Maroli
e826ae6e2b Remove post-install message from gemspec (#7974)
Merge pull request 7974
2020-01-15 08:48:15 -05:00
jekyllbot
5fa7fcc060 Update history to reflect merge of #7970 [ci skip] 2020-01-15 01:06:34 -05:00
Artyom Tokachev
34d0dd6c7d Bump RuboCop to v0.79.x (#7970)
Merge pull request 7970
2020-01-15 01:06:31 -05:00
jekyllbot
654d381039 Update history to reflect merge of #7955 [ci skip] 2019-12-31 12:15:07 -05:00
JC
4c0ba3a6bd docs: fix broken link (#7955)
Merge pull request 7955
2019-12-31 12:15:04 -05:00
jekyllbot
b0cca4c1b4 Update history to reflect merge of #7954 [ci skip] 2019-12-30 03:36:18 -05:00
Phil Nash
af65fa45e3 Adds some documentation for the :clean, :on_obsolete hook (#7954)
Merge pull request 7954
2019-12-30 03:36:16 -05:00
Frank Taillandier
af0f6aad34 Update FUNDING.yml 2019-12-25 23:16:50 +01:00
jekyllbot
ba47628fca Update history to reflect merge of #7779 [ci skip] 2019-12-25 12:37:01 -05:00
Ashwin Maroli
41c0cce5ea Test with JRuby 9.2.9.0 (#7779)
Merge pull request 7779
2019-12-25 12:36:59 -05:00
Frank Taillandier
67f387dfcf ci: test with stable Ruby releases
2.7.0 is out🎄
2019-12-25 14:23:03 +01:00
jekyllbot
f5ce5eb23f Update history to reflect merge of #7941 [ci skip] 2019-12-22 04:31:05 -05:00
Johan Wigert
c814089708 Changed deprecated command in themes documentation (#7941)
Merge pull request 7941
2019-12-22 04:31:03 -05:00
jekyllbot
83238b449a Update history to reflect merge of #7937 [ci skip] 2019-12-17 19:48:52 -05:00
Luis Puente
998470d00f Update 09-collections.md (#7937)
Merge pull request 7937
2019-12-17 19:48:49 -05:00
jekyllbot
fc6c2eca8b Update history to reflect merge of #7878 [ci skip] 2019-12-10 10:11:25 -05:00
Ivan Gromov
eb81dc0e96 Update item_property to recognize integers (#7878)
Merge pull request 7878
2019-12-10 10:11:22 -05:00
Frank Taillandier
7ad84ef3c5 docs: explain PATH for new command 2019-12-10 13:55:45 +01:00
jekyllbot
96e2ea1ad0 Update history to reflect merge of #7931 [ci skip] 2019-12-10 05:20:11 -05:00
Muhammed Salih
c3dc576e3c Include path in jekyll new commands (Usage docs) (#7931)
Merge pull request 7931
2019-12-10 05:20:08 -05:00
Frank Taillandier
866ff6a07d docs: typo 2019-12-05 16:04:12 +01:00
Frank Taillandier
c8b6b806e2 Merge pull request #7927 from AninditaBasu/patch-2
Update generators.md
2019-12-05 16:03:34 +01:00
Frank Taillandier
b1e2266878 Update index.md 2019-12-05 12:19:54 +01:00
jekyllbot
a54d5526c5 Update history to reflect merge of #7926 [ci skip] 2019-12-05 04:39:31 -05:00
Anindita Basu
98522b03ca Improve index page of Jekyll documentation (#7926)
Merge pull request 7926
2019-12-05 04:39:29 -05:00
Anindita Basu
18479e7f5a Update generators.md
Based on the info given in Issue 7897
2019-12-05 13:21:15 +05:30
jekyllbot
9557e68551 Update history to reflect merge of #7920 [ci skip] 2019-12-03 08:22:40 -05:00
Alexandre ZANNI
957c9cee9b add install instructions for ArchLinux and openSUSE (#7920)
Merge pull request 7920
2019-12-03 08:22:38 -05:00
jekyllbot
9867669cb6 Update history to reflect merge of #7918 [ci skip] 2019-12-03 03:31:28 -05:00
Patrik Eriksson
89dc5c2857 docs: add options for watch and force polling (#7918)
Merge pull request 7918
2019-12-03 03:31:26 -05:00
jekyllbot
9292b719bd Update history to reflect merge of #7919 [ci skip] 2019-12-02 07:55:20 -05:00
Patrik Eriksson
442d4dfb2e docs: add short serve command for livereload (#7919)
Merge pull request 7919
2019-12-02 07:55:18 -05:00
Frank Taillandier
c8cb0ea8e0 docs: macOS 10.15 comes with Ruby 2.6.3 2019-12-01 23:04:35 +01:00
jekyllbot
12b7d83664 Update history to reflect merge of #7909 [ci skip] 2019-11-30 10:50:38 -05:00
Zlatan Vasović
cc0b6fa0da Use bash executable consistently (#7909)
Merge pull request 7909
2019-11-30 10:50:36 -05:00
jekyllbot
1d7d11be61 Update history to reflect merge of #7893 [ci skip] 2019-11-27 13:48:29 -05:00
Gabriel Rubens
0bd9f0515d Update rubocop (#7893)
Merge pull request 7893
2019-11-27 13:48:26 -05:00
jekyllbot
d6d770f6b5 Update history to reflect merge of #7910 [ci skip] 2019-11-26 13:55:55 -05:00
Jason Taylor
6aa8aafa3a Upgrade rake to use version 13. Solves #7900 (#7910)
Merge pull request 7910
2019-11-26 13:55:52 -05:00
jekyllbot
c964be7628 Update history to reflect merge of #7906 [ci skip] 2019-11-20 10:31:51 -05:00
J·Y
42bf5675e9 Disambiguate the placeholder of permalink (#7906)
Merge pull request 7906
2019-11-20 10:31:49 -05:00
Frank Taillandier
88a2835afe Merge pull request #7905 from hteumeuleu/patch-1
Update link to the "Liquid templating system"
2019-11-19 22:04:10 +01:00
HTeuMeuLeu
acc2636894 Update link to the "Liquid templating system" 2019-11-19 22:01:30 +01:00
Frank Taillandier
14299310a4 Merge pull request #7899 from iBug/patch-1
Add back a missing colon to /resources/ page
2019-11-12 08:49:56 +01:00
jekyllbot
04527c5b8e Update history to reflect merge of #7896 [ci skip] 2019-11-12 02:47:29 -05:00
Damien St Pierre
e1b3d07b7e Docs: Clarify organizing pages into subfolders (#7896)
Merge pull request 7896
2019-11-12 02:47:27 -05:00
iBug ♦
c5b3ffd3e0 Add back a missing colon 2019-11-12 12:41:37 +08:00
jekyllbot
6cee92229c Update history to reflect merge of #7885 [ci skip] 2019-11-08 11:05:11 -05:00
Ashwin Maroli
b1ee88397b Split action steps to avoid using && on Windows (#7885)
Merge pull request 7885
2019-11-08 11:05:08 -05:00
jekyllbot
848759ca02 Update history to reflect merge of #7887 [ci skip] 2019-11-02 07:35:14 -04:00
Arthur Zey
2fb2268b57 fixed grammatical error (it's --> its) (#7887)
Merge pull request 7887
2019-11-02 07:35:12 -04:00
jekyllbot
51a07aea53 Update history to reflect merge of #7883 [ci skip] 2019-10-30 12:01:29 -04:00
Grzegorz Kaczorek
42c48b4f34 Better documentation for Jekyll::Converters::Identity (#7883)
Merge pull request 7883
2019-10-30 12:01:27 -04:00
jekyllbot
6a57842395 Update history to reflect merge of #7875 [ci skip] 2019-10-30 11:06:22 -04:00
sharath Kumar
744bbb0e07 add new theme source (#7875)
Merge pull request 7875
2019-10-30 11:06:19 -04:00
jekyllbot
b0e15a5f16 Update history to reflect merge of #7879 [ci skip] 2019-10-29 06:26:46 -04:00
J·Y
aee034f332 Replace `` with html tag (#7879)
Merge pull request 7879
2019-10-29 06:26:43 -04:00
jekyllbot
2e3154e288 Update history to reflect merge of #7873 [ci skip] 2019-10-22 09:19:44 -04:00
Itay Shakury
3174d19ee5 clarify _config.yml/collections type (#7873)
Merge pull request 7873
2019-10-22 09:19:42 -04:00
Frank Taillandier
f8b2748c09 site: remove non jekyll sites 2019-10-22 02:07:09 +02:00
jekyllbot
dd7d03eccd Update history to reflect merge of #7846 [ci skip] 2019-10-16 03:21:06 -04:00
James Buckley
22a974200d Rubocop version upgrade (#7846)
Merge pull request 7846
2019-10-16 03:21:04 -04:00
jekyllbot
4d0457bab2 Update history to reflect merge of #7857 [ci skip] 2019-10-11 07:40:40 -04:00
Simone Arpe
d9de94bfb5 Update third-party.md (#7857)
Merge pull request 7857
2019-10-11 07:40:38 -04:00
jekyllbot
3437135837 Update history to reflect merge of #7856 [ci skip] 2019-10-11 04:38:28 -04:00
David Zhang
30fcdcfa04 Doc: minor fix, should be greater or equal to min version [ci skip] (#7856)
Merge pull request 7856
2019-10-11 04:38:26 -04:00
jekyllbot
d9c6e2062a Update history to reflect merge of #7825 [ci skip] 2019-10-09 05:25:05 -04:00
Ward Sandler
f8d5772f29 link for memberships (#7825)
Merge pull request 7825
2019-10-09 05:25:03 -04:00
Frank Taillandier
83285056b3 Merge pull request #7848 from coliff/patch-3
Update html5shiv.min.js
2019-10-07 11:14:08 +02:00
Frank Taillandier
ede7c0188f Merge pull request #7847 from coliff/patch-2
Remove Generator meta tag
2019-10-07 11:07:37 +02:00
Christian Oliff
a92b564aaf Update html5shiv.min.js
From: https://github.com/aFarkas/html5shiv/blob/master/dist/html5shiv.min.js
2019-10-07 11:20:12 +09:00
Christian Oliff
6fbf908bcb Remove Generator meta tag (as this is already included in the SEO plugin) 2019-10-07 11:16:36 +09:00
Takashi Udagawa
3eab32fad7 Fix RuboCop Performance offenses in test files (#7839)
* Replace select.first with find
* Replace select.count with count
2019-10-06 12:00:25 +05:30
Frank Taillandier
de6548f1ba docs: link to themes galleries 2019-10-03 14:08:53 +02:00
Frank Taillandier
036dbe6349 Docs: add jamstackthemes.dev 2019-10-03 14:05:04 +02:00
Ashwin Maroli
6afaa369e1 [GH Actions]: Fetch repo 5 commits deep 2019-09-26 23:17:14 +05:30
jekyllbot
f0542b97f0 Update history to reflect merge of #7822 [ci skip] 2019-09-26 13:33:01 -04:00
Edward Thomson
275702edd5 Ci/GitHub actions (#7822)
Merge pull request 7822
2019-09-26 13:32:59 -04:00
Ashwin Maroli
f00a642901 Improve aesthetics of JekyllConf titles [skip ci] 2019-09-25 14:40:58 +05:30
jekyllbot
388a37208e Update history to reflect merge of #7826 [ci skip] 2019-09-25 02:01:42 -04:00
Mike Neumegen
dc6df7c73a Update JekyllConf page with 2019 talks (#7826)
Merge pull request 7826
2019-09-25 02:01:40 -04:00
jekyllbot
2e11e13455 Update history to reflect merge of #7823 [ci skip] 2019-09-23 06:05:33 -04:00
İsmail Arılık
98498e2e99 Update old GitHub wiki URL with new one (#7823)
Merge pull request 7823
2019-09-23 06:05:31 -04:00
Ashwin Maroli
7e291349d3 Gitignore all folder names with -cache [skip ci] 2019-09-15 12:43:35 +05:30
jekyllbot
d8de658089 Update history to reflect merge of #7815 [ci skip] 2019-09-11 22:45:27 -04:00
Kayce Basques
dd409b7ebc Rephrase the CircleCI v2 section (#7815)
Merge pull request 7815
2019-09-11 22:45:26 -04:00
jekyllbot
9f389e0ada Update history to reflect merge of #7812 [ci skip] 2019-09-05 10:03:51 -04:00
Ashwin Maroli
b54544c68b Clarify docs for static files in collection (#7812)
Merge pull request 7812
2019-09-05 10:03:49 -04:00
jekyllbot
b8e673b149 Update history to reflect merge of #7805 [ci skip] 2019-08-29 13:54:10 -04:00
Ivan Raszl
b3b2ec21a6 Add dropped title: Staff to the code (#7805)
Merge pull request 7805
2019-08-29 13:54:07 -04:00
jekyllbot
b66dabac9d Update history to reflect merge of #7768 [ci skip] 2019-08-22 14:03:26 -04:00
Viktor Szakats
650dcc637a serve: add support for ECC certificates (#7768)
Merge pull request 7768
2019-08-22 14:03:23 -04:00
jekyllbot
c55eaf7724 Update history to reflect merge of #7793 [ci skip] 2019-08-22 09:51:35 -04:00
Nikhil Benesch
55fba8ff31 Memoize absolute_url and relative_url filters (#7793)
Merge pull request 7793
2019-08-22 09:51:33 -04:00
Harry Wood
b9963f38b3 blog typo 'and support' unfinished sentence (#7797) 2019-08-21 14:01:53 +05:30
Frank Taillandier
164b0e2794 Merge pull request #7795 from XhmikosR/patch-1
Update 2019-08-19-jekyll-4-0-0-released.markdown
2019-08-20 22:49:19 +02:00
XhmikosR
6b851f0394 Update 2019-08-19-jekyll-4-0-0-released.markdown
Fix minor typo
2019-08-20 19:08:07 +03:00
jekyllbot
45b2c9e4ed Update history to reflect merge of #7782 [ci skip] 2019-08-20 10:46:10 -04:00
Frank Taillandier
26d80cc771 Jekyll v4.0 release (#7782)
Merge pull request 7782
2019-08-20 10:46:08 -04:00
jekyllbot
5d40711eab Update history to reflect merge of #7788 [ci skip] 2019-08-19 07:27:28 -04:00
Frank Taillandier
b02ba76c8a Test number_like regex on stringified property (#7788)
Merge pull request 7788
2019-08-19 07:27:26 -04:00
jekyllbot
8b44ee73ff Update history to reflect merge of #7794 [ci skip] 2019-08-19 04:39:31 -04:00
Vinicius Flores
2a11df447d Adding SmartForms as Forms service (#7794)
Merge pull request 7794
2019-08-19 04:39:29 -04:00
jekyllbot
dce7d56982 Update history to reflect merge of #7792 [ci skip] 2019-08-19 03:07:04 -04:00
Nikhil Benesch
9ddb4350d3 Actually conditionally include liquid-c (#7792)
Merge pull request 7792
2019-08-19 03:07:02 -04:00
jekyllbot
84e3b92959 Update history to reflect merge of #7786 [ci skip] 2019-08-18 07:16:56 -04:00
Ashwin Maroli
abcb0e29a3 Documentation for binary operators in where_exp (#7786)
Merge pull request 7786
2019-08-18 07:16:54 -04:00
Ashwin Maroli
c842d55cec History: Place Bug Fixes after Minor Enhancements 2019-08-18 12:51:50 +05:30
jekyllbot
917f79a10e Update history to reflect merge of #7783 [ci skip] 2019-08-18 03:01:03 -04:00
Andrea G
59101149e1 Update Ruby version used in Travis-CI example (#7783)
Merge pull request 7783
2019-08-18 03:01:01 -04:00
Frank Taillandier
45f5facbed docs: fix broken link [ci-skip] 2019-08-17 22:54:58 +02:00
Frank Taillandier
759315bfa3 Upgrade documentation for Jekyll v4.0 2019-08-17 14:02:14 +02:00
Frank Taillandier
26914126c7 Cleanup History 2019-08-14 21:18:32 +02:00
Ashwin Maroli
326ab2dfb7 Using jekyll-sass-converter 2.0 is a major change 2019-08-15 00:12:34 +05:30
jekyllbot
fd476206d7 Update history to reflect merge of #7778 [ci skip] 2019-08-14 14:24:57 -04:00
Ashwin Maroli
4e37fb6420 Use jekyll-sass-converter-2.0 by default (#7778)
Merge pull request 7778
2019-08-14 14:24:55 -04:00
jekyllbot
65773e19a8 Update history to reflect merge of #7290 [ci skip] 2019-08-14 13:36:15 -04:00
Ashwin Maroli
de60632309 Remove configuration of theme sass files from Core (#7290)
Merge pull request 7290
2019-08-14 13:36:11 -04:00
Frank Taillandier
0490d71661 Fix 404 2019-08-04 22:25:14 +02:00
jekyllbot
272360a80b Update history to reflect merge of #7701 [ci skip] 2019-08-04 16:11:13 -04:00
Ashwin Maroli
8035a3e153 Use String#end_with? to check if entry is a backup (#7701)
Merge pull request 7701
2019-08-04 16:11:12 -04:00
jekyllbot
2736589ba1 Update history to reflect merge of #7728 [ci skip] 2019-08-04 16:09:29 -04:00
Ashwin Maroli
a0c3a6bced Memoize fallback_data for Drop (#7728)
Merge pull request 7728
2019-08-04 16:09:27 -04:00
jekyllbot
93794d9239 Update history to reflect merge of #7758 [ci skip] 2019-08-04 16:08:55 -04:00
Ashwin Maroli
65f8831168 Reduce allocations by using #each_with_object (#7758)
Merge pull request 7758
2019-08-04 16:08:54 -04:00
jekyllbot
2c7cbddeba Update history to reflect merge of #7543 [ci skip] 2019-08-04 16:06:02 -04:00
Michelle Greer
764201dc8e Added Bonsai Search (#7543)
Merge pull request 7543
2019-08-04 16:06:00 -04:00
jekyllbot
f8c66f02e1 Update history to reflect merge of #7627 [ci skip] 2019-08-04 16:03:58 -04:00
Ashwin Maroli
f446aebf07 Delegate --profile tabulation to terminal-table (#7627)
Merge pull request 7627
2019-08-04 16:03:56 -04:00
Frank Taillandier
91f82907a3 update date 2019-08-04 21:34:17 +02:00
Matt Rogers
8e52cdbb6b Release 💎 4.0.0.pre.beta1 2019-08-04 13:21:33 -05:00
jekyllbot
21202589de Update history to reflect merge of #7716 [ci skip] 2019-08-04 14:20:13 -04:00
Matt Rogers
6511342e15 Prepare Jekyll 4.0.0 beta1 (#7716)
Merge pull request 7716
2019-08-04 14:20:11 -04:00
jekyllbot
0e591f08da Update history to reflect merge of #7440 [ci skip] 2019-08-04 08:37:47 -04:00
Ashwin Maroli
0f5e15811f Remove warnings and fixes for deprecated config (#7440)
Merge pull request 7440
2019-08-04 08:37:45 -04:00
jekyllbot
9a10ff9b5a Update history to reflect merge of #7769 [ci skip] 2019-08-04 02:49:36 -04:00
Frank Taillandier
6a4f8bdbec Fix: rubocop offenses (#7769)
Merge pull request 7769
2019-08-04 02:49:34 -04:00
jekyllbot
a87ca206da Update history to reflect merge of #7752 [ci skip] 2019-08-02 23:32:09 -04:00
Michael Bishop
07270c7cfd docs: improve how to include rouge stylesheets (#7752)
Merge pull request 7752
2019-08-02 23:32:07 -04:00
jekyllbot
532c499751 Update history to reflect merge of #7732 [ci skip] 2019-08-01 16:21:04 -04:00
Ashwin Maroli
b55927e8f7 Add PathManager class to cache interim paths (#7732)
Merge pull request 7732
2019-08-01 16:21:00 -04:00
jekyllbot
4eec5a55c3 Update history to reflect merge of #7764 [ci skip] 2019-07-31 08:49:40 -04:00
Matt Kraai
f3a03a14cd Fix misspelling (#7764)
Merge pull request 7764
2019-07-31 08:49:38 -04:00
jekyllbot
0f4b7be88d Update history to reflect merge of #7761 [ci skip] 2019-07-25 12:35:32 -04:00
Ashwin Maroli
1795996458 Replace redundant Array#map with Array#each (#7761)
Merge pull request 7761
2019-07-25 12:35:30 -04:00
Frank Taillandier
882279c307 Add default Sass dir 2019-07-24 15:15:27 +02:00
jekyllbot
384a874805 Update history to reflect merge of #7756 [ci skip] 2019-07-20 11:36:34 -04:00
Andrew Marcuse
5157bdc753 Update mime.types (#7756)
Merge pull request 7756
2019-07-20 11:36:32 -04:00
strangehill
8d5b5fa4dc Update .gitignore snippet in tutorial (#7748) 2019-07-18 14:43:59 +05:30
jekyllbot
7096885e98 Update history to reflect merge of #7720 [ci skip] 2019-07-15 11:38:55 -04:00
Chris Oliver
854e83230e Add recursive navigation tutorial (#7720)
Merge pull request 7720
2019-07-15 11:38:53 -04:00
Ashwin Maroli
ffe8d168f2 Prefer Regexp#match? over String#match?
This commit fixes a minor regression introduced in the commit e10a909

Prefer using `Regexp#match` because `@file` or `file` in these lines
could be `nil` if the `tag_markup` is just whitespace. In that scenario,
Jekyll should proceed to the validation logic and bail instead of raising
a `NoMethodError` exception.
2019-07-14 12:33:46 +05:30
jekyllbot
4c9cbad677 Update history to reflect merge of #7749 [ci skip] 2019-07-12 10:44:47 -04:00
Ashwin Maroli
135ebe2660 Reduce Array objects generated from utility method (#7749)
Merge pull request 7749
2019-07-12 10:44:45 -04:00
Ashwin Maroli
77b6033f2f Update Jekyll version in docs header 2019-07-10 16:15:59 +05:30
Parker Moore
fea0b69d39 3.8.6: add release note for 3c06609406 2019-07-02 16:51:40 -04:00
Frank Taillandier
f7f5cbc6f8 Merge pull request #7736 from jekyll/386-release-notes-public
Forward-port: 3.8.6 release notes
2019-07-02 22:13:34 +02:00
Frank Taillandier
5bc21d82f6 Regenerate Contributing 2019-07-02 21:29:07 +02:00
Parker Moore
f42e0e7169 Regenerate the History file bassed on our new date 2019-07-02 21:26:00 +02:00
Frank Taillandier
7c34db3991 Fix date 2019-07-02 21:26:00 +02:00
Parker Moore
b7e3f10a08 Move 3.8.6 documentation to the correct location in the History.markdown 2019-07-02 21:26:00 +02:00
Parker Moore
fcb8a1ecd3 Update contributing documentation on the website 2019-07-02 21:26:00 +02:00
Parker Moore
e318d1c836 Create 3.8.6 release notes 2019-07-02 21:26:00 +02:00
Frank Taillandier
874bd2e5c7 Merge pull request #7737 from ashmaroli/move-auto-generated-to-source
Move updates from generated file to source file
2019-07-02 21:22:37 +02:00
Ashwin Maroli
5b195ffe74 Generate a new site to reflect unreleased changes 2019-07-03 00:14:23 +05:30
Ashwin Maroli
03b500b7b7 Move updates from generated file to source file
#7464 and #7671 erroneously made changes to the auto-generated document
`docs/_docs/contributing.md` instead of the source file
`.github/CONTRIBUTING.markdown`
2019-07-02 23:54:02 +05:30
jekyllbot
ed8681b1e7 Update history to reflect merge of #7679 [ci skip] 2019-07-01 13:56:41 -04:00
Edgar Tinajero
ebe62e8a28 Update log output for an invalid theme directory (#7679)
Merge pull request 7679
2019-07-01 13:56:38 -04:00
jekyllbot
6435bd6167 Update history to reflect merge of #7704 [ci skip] 2019-06-28 12:28:02 -04:00
David Kennell
24f1978412 Introduce frontmatter in step 2 (#7704)
Merge pull request 7704
2019-06-28 12:27:59 -04:00
jekyllbot
2265e82181 Update history to reflect merge of #7598 [ci skip] 2019-06-28 06:45:11 -04:00
Yi Feng Xie
8abd4950a2 Update resources.md (#7598)
Merge pull request 7598
2019-06-28 06:45:09 -04:00
jekyllbot
7dbe470dce Update history to reflect merge of #7699 [ci skip] 2019-06-28 06:38:04 -04:00
Ashwin Maroli
3e8e6d22d7 Remove patch to modify config for kramdown (#7699)
Merge pull request 7699
2019-06-28 06:38:02 -04:00
Ashwin Maroli
c87f5fa7fa Normalize paths in reports from memory_profiler 2019-06-28 09:01:06 +05:30
jekyllbot
c76996cd8e Update history to reflect merge of #7723 [ci skip] 2019-06-27 13:16:29 -04:00
Ashwin Maroli
4530721575 Replace String#=~ with String#match? (#7723)
Merge pull request 7723
2019-06-27 13:16:27 -04:00
Ashwin Maroli
62959527dd Bump RuboCop to v0.72.x 2019-06-26 11:33:47 +05:30
jekyllbot
52374cf8be Update history to reflect merge of #7697 [ci skip] 2019-06-25 17:02:07 -04:00
Ashwin Maroli
27aa53cf82 Memoize SiteDrop#documents to reduce allocations (#7697)
Merge pull request 7697
2019-06-25 17:02:04 -04:00
jekyllbot
7d340d933a Update history to reflect merge of #7718 [ci skip] 2019-06-24 13:46:31 -04:00
Ashwin Maroli
e10a90987a Replace String#=~ with String#match? (#7718)
Merge pull request 7718
2019-06-24 13:46:28 -04:00
jekyllbot
25b274621b Update history to reflect merge of #7711 [ci skip] 2019-06-23 18:15:27 -04:00
Ashwin Maroli
68a31c8eb2 Don't read symlinks in site.include in safe mode (#7711)
Merge pull request 7711
2019-06-23 18:15:25 -04:00
jekyllbot
9ccdae161b Update history to reflect merge of #7702 [ci skip] 2019-06-23 16:23:10 -04:00
Ashwin Maroli
06eafadcbb Use regexp to filter special entries (#7702)
Merge pull request 7702
2019-06-23 16:23:09 -04:00
Ashwin Maroli
e37ee47219 Fix offenses detected by rubocop-performance-1.4.0 2019-06-21 15:27:18 +05:30
Ashwin Maroli
52ae35a589 Disable color output from profile:memory task
So that it is easier to parse the plaintext build logs
2019-06-21 15:00:45 +05:30
Ashwin Maroli
25898f8d9d Reword code-comment to reflect the implementation 2019-06-14 15:46:09 +05:30
Frank Taillandier
cca639dcc3 Merge pull request #7705 from ashmaroli/filter-dot-entries
Reject entries that are just dots in a directory
2019-06-14 08:31:57 +02:00
Frank Taillandier
7f1b678a4e Merge pull request #7707 from ashmaroli/refactor-glob-include
Refactor `EntryFilter#glob_include?`
2019-06-14 08:29:40 +02:00
jekyllbot
f0b7c9b783 Update history to reflect merge of #7687 [ci skip] 2019-06-13 20:29:59 -04:00
Ashwin Maroli
478e3ab301 Bump RuboCop to v0.71.0 (#7687)
Merge pull request 7687
2019-06-13 20:29:57 -04:00
jekyllbot
a4f24f54ad Update history to reflect merge of #7709 [ci skip] 2019-06-13 08:01:25 -04:00
Ashwin Maroli
70bc82bacc Update TestTags in sync with Rouge v3.4 (#7709)
Merge pull request 7709
2019-06-13 08:01:22 -04:00
Frank Taillandier
1480c41213 fix: LocalJump error: unexpected return
➜ rake site:latest_version
rake aborted!
LocalJumpError: unexpected return
/jekyll/rake/site.rake:89:in `block (2 levels) in <top (required)>'
Tasks: TOP => site:latest_version
(See full trace by running task with --trace)
2019-06-13 11:52:29 +02:00
jekyllbot
2df56abf85 Update history to reflect merge of #7708 [ci skip] 2019-06-12 18:39:16 -04:00
James Rhea
f56b7d59e6 fix link to Site Source config (#7708)
Merge pull request 7708
2019-06-12 18:39:14 -04:00
Ashwin Maroli
119e0047e8 Don't sanitize pattern or entry string 2019-06-09 16:38:19 +05:30
jekyllbot
58bc689829 Update history to reflect merge of #7706 [ci skip] 2019-06-09 07:06:50 -04:00
Ashwin Maroli
38bc4d2818 Do not install docs on updating gems on Travis (#7706)
Merge pull request 7706
2019-06-09 07:06:48 -04:00
Ashwin Maroli
3002aa58f5 Refactor EntryFilter#glob_include? 2019-06-09 15:35:39 +05:30
Ashwin Maroli
49e5b33fb0 Reject entries that are just dots in a directory 2019-06-09 11:42:34 +05:30
jekyllbot
13d31c4c8b Update history to reflect merge of #7695 [ci skip] 2019-06-05 12:10:40 -04:00
Ashwin Maroli
e05745929f Remove override to Jekyll::Document#respond_to? (#7695)
Merge pull request 7695
2019-06-05 12:10:37 -04:00
jekyllbot
04ba0c3b10 Update history to reflect merge of #7690 [ci skip] 2019-06-05 08:46:00 -04:00
SADIK KUZU
c914e8628b Typo fix in Jekyll 4.0 pre-release post (#7694) 2019-06-05 11:41:46 +05:30
jekyllbot
86fd200a68 Update history to reflect merge of #7691 [ci skip] 2019-06-03 04:59:58 -04:00
SADIK KUZU
56c39e76d2 Fix typo from 'Github' to 'GitHub' (#7691)
Merge pull request 7691
2019-06-03 04:59:56 -04:00
jekyllbot
2f791484ab Update history to reflect merge of #7689 [ci skip] 2019-05-31 11:31:49 -04:00
jekyllbot
db3570e582 Update history to reflect merge of #7684 [ci skip] 2019-05-30 21:28:05 -04:00
Ashwin Maroli
554e07d4a5 Revert memoizing Site#docs_to_write and #documents (#7684)
Merge pull request 7684
2019-05-30 21:28:03 -04:00
Christian Oliff
263d41f0f7 HTTPS link to yaml.org (#7686) 2019-05-30 14:39:44 +02:00
Frank Taillandier
c2a383ba43 Merge pull request #7680 from bomberstudios/patch-1
Added documentation for Live Reload feature
2019-05-28 21:48:57 +02:00
Ale Muñoz
276e71fb80 Update options.md 2019-05-28 15:13:02 +02:00
Ale Muñoz
641eb4e9e7 Update docs/_docs/configuration/options.md
Co-Authored-By: Frank Taillandier <frank.taillandier@gmail.com>
2019-05-28 15:11:50 +02:00
Frank Taillandier
4a7c5177c7 Merge pull request #7683 from fons-/patch-1
docs: `jekyll serve` restart after changing config
2019-05-28 12:04:32 +02:00
Fons van der Plas
390973683f docs: jekyll serve restart after changing config
These steps were missing in the Step-by-Step instructions on [jekyllrb.com/docs](https://jekyllrb.com/docs/step-by-step/01-setup/).
2019-05-27 14:10:25 +02:00
Frank Taillandier
c004281d86 Update FUNDING.yml 2019-05-26 18:11:40 +02:00
Frank Taillandier
03ce3f8a45 Update FUNDING.yml 2019-05-26 13:59:42 +02:00
Frank Taillandier
ac02b11fd2 Link to sponsorship
Co-authored-by: Ashwin Maroli <ashwin@jekyllrb.com>
Co-authored-by: Matt Rogers <mattr@jekyllrb.com>
2019-05-26 13:30:44 +02:00
Ale Muñoz
c6566b2410 Added documentation for Live Reload feature
This was added in 3.7.0 (see https://jekyllrb.com/news/2018/01/02/jekyll-3-7-0-released/) but it's not mentioned anywhere in the docs
2019-05-24 14:53:49 +02:00
jekyllbot
08b04aa337 Update history to reflect merge of #7678 [ci skip] 2019-05-24 03:50:47 -04:00
Ashwin Maroli
818441c8d9 Bump RuboCop to v0.70.x (#7678)
Merge pull request 7678
2019-05-24 03:50:45 -04:00
jekyllbot
b3770fd45d Update history to reflect merge of #7671 [ci skip] 2019-05-17 17:53:27 -04:00
krissy
98ae88f3fd Update small typo in contributing.md (#7671)
Merge pull request 7671
2019-05-17 17:53:26 -04:00
jekyllbot
617dc69879 Update history to reflect merge of #7609 [ci skip] 2019-05-17 02:53:45 -04:00
Ashwin Maroli
079b7231d9 Simplify assigning classname to docs' aside-links (#7609)
Merge pull request 7609
2019-05-17 02:53:43 -04:00
jekyllbot
9957e21be7 Update history to reflect merge of #7653 [ci skip] 2019-05-16 12:38:55 -04:00
Ashwin Maroli
ed385ba264 Reduce allocations from where-filter (#7653)
Merge pull request 7653
2019-05-16 12:38:53 -04:00
jekyllbot
2d3c030fac Update history to reflect merge of #7406 [ci skip] 2019-05-16 11:44:44 -04:00
Ashwin Maroli
49ffbbd4c7 Add type attribute to Document instances (#7406)
Merge pull request 7406
2019-05-16 11:44:39 -04:00
jekyllbot
db2de73a0d Update history to reflect merge of #7625 [ci skip] 2019-05-16 10:56:01 -04:00
Ashwin Maroli
7548132944 Reduce allocations from Jekyll::Document instances (#7625)
Merge pull request 7625
2019-05-16 10:55:59 -04:00
jekyllbot
7cdbbaafa7 Update history to reflect merge of #7643 [ci skip] 2019-05-16 10:04:40 -04:00
Ashwin Maroli
cbfdeaefcd Reduce string allocations with better alternatives (#7643)
Merge pull request 7643
2019-05-16 10:04:37 -04:00
jekyllbot
1658a1596e Update history to reflect merge of #7646 [ci skip] 2019-05-15 14:47:28 -04:00
Ashwin Maroli
af055b917c Profile allocations from a build session (#7646)
Merge pull request 7646
2019-05-15 14:47:25 -04:00
jekyllbot
a430c22007 Update history to reflect merge of #7654 [ci skip] 2019-05-15 12:14:10 -04:00
Ashwin Maroli
20c9d0957a Encode and unencode urls only as required (#7654)
Merge pull request 7654
2019-05-15 12:14:08 -04:00
jekyllbot
8c5ee73661 Update history to reflect merge of #7658 [ci skip] 2019-05-15 11:49:07 -04:00
Ashwin Maroli
c47611cb6e Initialize and reset glob_cache only as necessary (#7658)
Merge pull request 7658
2019-05-15 11:49:05 -04:00
jekyllbot
d6a756ba27 Update history to reflect merge of #7659 [ci skip] 2019-05-15 11:48:18 -04:00
Ashwin Maroli
ec347597da Reduce Array allocations via Jekyll::Cleaner (#7659)
Merge pull request 7659
2019-05-15 11:48:12 -04:00
jekyllbot
f99f910e29 Update history to reflect merge of #7656 [ci skip] 2019-05-15 11:45:56 -04:00
Ashwin Maroli
c763460943 Bump RuboCop to v0.69.x (#7656)
Merge pull request 7656
2019-05-15 11:45:54 -04:00
jekyllbot
12c074303e Update history to reflect merge of #7657 [ci skip] 2019-05-15 11:43:16 -04:00
Ashwin Maroli
965aef60e6 Initialize mutations for Drops only if necessary (#7657)
Merge pull request 7657
2019-05-15 11:43:13 -04:00
Frank Taillandier
6a604daa5a update teams 2019-05-12 13:31:33 +02:00
Frank Taillandier
bc54047315 add open graph image by default 2019-05-12 12:58:27 +02:00
Frank Taillandier
551014eb05 Docs: Invite to use bundler
Fix #7651
2019-05-08 13:04:04 +02:00
Frank Taillandier
dc265abf9f typo 2019-05-07 11:12:24 +02:00
Frank Taillandier
a62ed45588 New open graph image 2019-05-07 11:01:28 +02:00
jekyllbot
4dff839dbf Update history to reflect merge of #7648 [ci skip] 2019-05-06 23:31:15 -04:00
jingze_lu
98c5f47401 Solve "GitHub Page build failure" in 10-deployment.md (#7648)
Merge pull request 7648
2019-05-06 23:31:13 -04:00
jekyllbot
aa87361848 Update history to reflect merge of #7647 [ci skip] 2019-05-06 03:03:58 -04:00
Niklas Eicker
72c712ef9e add version tags to new placeholders (#5981) for permalinks (#7647)
Merge pull request 7647
2019-05-06 03:03:56 -04:00
jekyllbot
fd74fe3e93 Update history to reflect merge of #7644 [ci skip] 2019-05-04 11:00:44 -04:00
Anuj Bhatnagar
85bddfda21 Update 07-assets.md (#7644)
Merge pull request 7644
2019-05-04 11:00:43 -04:00
jekyllbot
8673cdc4cf Update history to reflect merge of #7640 [ci skip] 2019-05-02 00:38:26 -04:00
David Zhang
1b4340034b Doc: Data file section adds TSV (#7640)
Merge pull request 7640
2019-05-02 00:38:25 -04:00
jekyllbot
1bba76b4f5 Update history to reflect merge of #7638 [ci skip] 2019-05-01 14:54:22 -04:00
Ashwin Maroli
b04e3d3de7 Store list of expected extnames in a constant (#7638)
Merge pull request 7638
2019-05-01 14:54:18 -04:00
jekyllbot
568e50b37a Update history to reflect merge of #7532 [ci skip] 2019-05-01 14:43:22 -04:00
Ashwin Maroli
3e8c37b641 Refactor Jekyll::Cache (#7532)
Merge pull request 7532
2019-05-01 14:43:20 -04:00
jekyllbot
17a5f815b5 Update history to reflect merge of #7633 [ci skip] 2019-04-30 09:03:50 -04:00
Ashwin Maroli
14e5d00555 Fix broken include_relative usage in excerpt (#7633)
Merge pull request 7633
2019-04-30 09:03:48 -04:00
jekyllbot
1b2efb67c3 Update history to reflect merge of #7637 [ci skip] 2019-04-30 08:44:10 -04:00
Ashwin Maroli
a5cac26766 Bump RuboCop to v0.68.x (#7637)
Merge pull request 7637
2019-04-30 08:44:08 -04:00
jekyllbot
ced4404a5e Update history to reflect merge of #7583 [ci skip] 2019-04-19 10:30:19 -04:00
Ashwin Maroli
c8fe609f8f Target Ruby 2.4 syntax in RuboCop scans (#7583)
Merge pull request 7583
2019-04-19 10:30:17 -04:00
Ashwin Maroli
f4ee82650e Revert "Refactor highlight tag to behave like the raw tag" (#7592)
* Revert "Refactor `highlight` tag to behave like the `raw` tag (#6821)"

This reverts commit 36404b9a43.

* use Liquid `raw` in upgrading document
* let the minor improvements stay
* Revert entry in History.markdown
2019-04-19 12:49:03 +05:30
jekyllbot
36d3aed1f2 Update history to reflect merge of #7619 [ci skip] 2019-04-16 16:16:24 -04:00
Matt Rogers
a882608902 Update the contribution docs for draft pull requests (#7619)
Merge pull request 7619
2019-04-16 16:16:22 -04:00
jekyllbot
8e7b2ff7da Update history to reflect merge of #7561 [ci skip] 2019-04-12 14:01:34 -04:00
Liam Rosenfeld
6c872cf6a1 Install Docs that Work on MacOS 10.14 (#7561)
Merge pull request 7561
2019-04-12 14:01:31 -04:00
jekyllbot
ef588d6bc8 Update history to reflect merge of #7614 [ci skip] 2019-04-12 13:48:35 -04:00
Ashwin Maroli
ec0971ab17 Generate a "TOTAL" row for build-profile table (#7614)
Merge pull request 7614
2019-04-12 13:48:33 -04:00
jekyllbot
3cce93d9b8 Update history to reflect merge of #7610 [ci skip] 2019-04-11 12:02:48 -04:00
Ashwin Maroli
1bd1ae98e9 Avoid generating empty classnames (#7610)
Merge pull request 7610
2019-04-11 12:02:41 -04:00
jekyllbot
983e5af661 Update history to reflect merge of #7612 [ci skip] 2019-04-10 14:31:23 -04:00
Ashwin Maroli
6838153b83 Bump tested version of JRuby to 9.2.7.0 (#7612)
Merge pull request 7612
2019-04-10 14:31:21 -04:00
jekyllbot
8907f39548 Update history to reflect merge of #7607 [ci skip] 2019-04-07 06:53:59 -04:00
Ashwin Maroli
d6ece561b7 Simply couple of includes in the docs site (#7607)
Merge pull request 7607
2019-04-07 06:53:57 -04:00
jekyllbot
c68ccedc21 Update history to reflect merge of #7601 [ci skip] 2019-04-04 05:26:41 -04:00
Bjorn Krols
d0beaab6fe Added Formspark to form resources (#7601)
Merge pull request 7601
2019-04-04 05:26:40 -04:00
jekyllbot
3b675f5119 Update history to reflect merge of #7600 [ci skip] 2019-04-03 17:55:12 -04:00
Hodong Kim
7440050367 Fix link space (#7600)
Merge pull request 7600
2019-04-03 17:55:10 -04:00
jekyllbot
4f8e1f3d3f Update history to reflect merge of #7599 [ci skip] 2019-04-03 07:06:33 -04:00
Haris Bjelic
0ff03dba6c Update 07-assets.md (#7599)
Merge pull request 7599
2019-04-03 07:06:32 -04:00
jekyllbot
41583c9405 Update history to reflect merge of #7593 [ci skip] 2019-03-29 09:55:21 -04:00
Elvio Vicosa
31529906da Adds Statictastic to the list of resources (#7593)
Merge pull request 7593
2019-03-29 09:55:20 -04:00
jekyllbot
b09248ce2e Update history to reflect merge of #7589 [ci skip] 2019-03-29 02:54:47 -04:00
Ashwin Maroli
2591f33aa8 Incorporate relative_url within post_url tag (#7589)
Merge pull request 7589
2019-03-29 02:54:45 -04:00
jekyllbot
c985dc5899 Update history to reflect merge of #7586 [ci skip] 2019-03-26 17:21:48 -04:00
Ashwin Maroli
e3b284b757 Add a Cucumber feature for post_url tag (#7586)
Merge pull request 7586
2019-03-26 17:21:47 -04:00
jekyllbot
9e42fad62f Update history to reflect merge of #7584 [ci skip] 2019-03-22 12:19:00 -04:00
Ashwin Maroli
2090989fb3 Favor Ruby 2.3 squiggly-heredoc operator (#7584)
Merge pull request 7584
2019-03-22 12:18:58 -04:00
jekyllbot
dea6bdbfaf Update history to reflect merge of #7580 [ci skip] 2019-03-22 10:53:37 -04:00
Ashwin Maroli
9240addcf0 Detect nil and empty values in objects with where filter (#7580)
Merge pull request 7580
2019-03-22 10:53:34 -04:00
jekyllbot
16c24d9125 Update history to reflect merge of #5981 [ci skip] 2019-03-21 20:42:38 -04:00
Christoph Päper
0da5389cbb ISO week date drops (#5981)
Merge pull request 5981
2019-03-21 20:42:36 -04:00
Ashwin Maroli
6905c80470 Re-insert deleted History entry [skip ci] 2019-03-19 13:19:39 +05:30
Frank Taillandier
09b110d453 link to GitHub pre-release 2019-03-19 08:11:05 +01:00
Frank Taillandier
1041f7672f Release 💎 4.0.0.pre.alpha1 2019-03-19 08:05:07 +01:00
jekyllbot
6dcce995a6 Update history to reflect merge of #7574 [ci skip] 2019-03-19 03:03:59 -04:00
Frank Taillandier
378147d761 Release v4.0.0.pre.alpha1 (#7574)
Merge pull request 7574
2019-03-19 03:03:57 -04:00
jekyllbot
f3cb41b65a Update history to reflect merge of #7577 [ci skip] 2019-03-18 17:39:10 -04:00
Ashwin Maroli
9e137bae29 Push Markdown link refs to excerpt only as required (#7577)
Merge pull request 7577
2019-03-18 17:39:08 -04:00
Ashwin Maroli
3e2c8fd4c8 Bump RuboCop to v0.66.x 2019-03-18 15:35:53 +05:30
Ashwin Maroli
8552471712 Update Jekyll on Windows documentation [skip ci] 2019-03-18 15:14:05 +05:30
Ashwin Maroli
e522f54e53 Simplify Cucumber helper 2019-03-17 16:38:50 +05:30
Ashwin Maroli
26b7d6a94d Allow builds on JRuby to fail uneventfully 2019-03-17 16:29:16 +05:30
jekyllbot
9d0c73fce8 Update history to reflect merge of #7130 [ci skip] 2019-03-15 15:12:11 -04:00
Ashwin Maroli
7eefadb135 Scan assert_equal methods and rectify any offenses with a custom Rubocop cop (#7130)
Merge pull request 7130
2019-03-15 15:12:09 -04:00
jekyllbot
1e970b598d Update history to reflect merge of #7292 [ci skip] 2019-03-15 13:38:14 -04:00
Ashwin Maroli
cc7978f3bc Optimize Document::DATE_FILENAME_MATCHER to match valid filenames (#7292)
Merge pull request 7292
2019-03-15 13:38:12 -04:00
jekyllbot
5bc0ddd6d2 Update history to reflect merge of #7351 [ci skip] 2019-03-15 13:36:49 -04:00
Michael Hiiva
238f1c5eaf Addresses bundle not found. (#7351)
Merge pull request 7351
2019-03-15 13:36:48 -04:00
jekyllbot
b71dffc305 Update history to reflect merge of #7357 [ci skip] 2019-03-15 13:35:04 -04:00
mo khan
2bdf1a53c4 Log a warning when the slug is empty (#7357)
Merge pull request 7357
2019-03-15 13:35:01 -04:00
jekyllbot
757f47b21c Update history to reflect merge of #7418 [ci skip] 2019-03-15 13:33:56 -04:00
Frank Taillandier
5fa01141cc docs: mention CommonMark plugins (#7418)
Merge pull request 7418
2019-03-15 13:33:54 -04:00
jekyllbot
226fa22652 Update history to reflect merge of #7434 [ci skip] 2019-03-15 13:33:14 -04:00
Ashwin Maroli
555722887d Replace name in Page#inspect with relative_path (#7434)
Merge pull request 7434
2019-03-15 13:33:13 -04:00
jekyllbot
ec730657a7 Update history to reflect merge of #7454 [ci skip] 2019-03-15 13:31:57 -04:00
Frank Taillandier
57a29800b6 Feat: drop ruby 2.3 (#7454)
Merge pull request 7454
2019-03-15 13:31:54 -04:00
jekyllbot
5b86a636b5 Update history to reflect merge of #7519 [ci skip] 2019-03-15 13:30:42 -04:00
Ashwin Maroli
18f7a28168 Cleanup Markdown converter (#7519)
Merge pull request 7519
2019-03-15 13:30:39 -04:00
jekyllbot
7f2412c145 Update history to reflect merge of #7492 [ci skip] 2019-03-15 13:27:43 -04:00
Ashwin Maroli
575f4b66de Upgrade kramdown dependency to v2.x (#7492)
Merge pull request 7492
2019-03-15 13:27:41 -04:00
jekyllbot
9ba6c7dd77 Update history to reflect merge of #7569 [ci skip] 2019-03-15 13:20:19 -04:00
Ashwin Maroli
5942ee46ae Memoize Document#excerpt_separator (#7569)
Merge pull request 7569
2019-03-15 13:20:15 -04:00
jekyllbot
4279bafff3 Update history to reflect merge of #7568 [ci skip] 2019-03-15 13:14:59 -04:00
Ashwin Maroli
907477b9ca Escape valid special chars in a site's path name (#7568)
Merge pull request 7568
2019-03-15 13:14:57 -04:00
jekyllbot
e451acca6a Update history to reflect merge of #7272 [ci skip] 2019-03-15 13:11:48 -04:00
Ashwin Maroli
da313bf883 Avoid unnecessary duplication of pages array (#7272)
Merge pull request 7272
2019-03-15 13:11:46 -04:00
jekyllbot
9b3e5f9fc0 Update history to reflect merge of #7566 [ci skip] 2019-03-15 12:54:26 -04:00
Ashwin Maroli
8ccb013f85 Use communicative method parameters (#7566)
Merge pull request 7566
2019-03-15 12:54:24 -04:00
jekyllbot
67107f0ec5 Update history to reflect merge of #7498 [ci skip] 2019-03-15 12:53:42 -04:00
Ashwin Maroli
7ddaa9ffa1 Don't check if site URL is absolute if it is nil (#7498)
Merge pull request 7498
2019-03-15 12:53:40 -04:00
jekyllbot
3c231a41d2 Update history to reflect merge of #7301 [ci skip] 2019-03-15 12:52:32 -04:00
Ashwin Maroli
3b4151b773 Cache computed item property (#7301)
Merge pull request 7301
2019-03-15 12:52:30 -04:00
jekyllbot
d4b5760002 Update history to reflect merge of #7345 [ci skip] 2019-03-15 12:49:01 -04:00
Ashwin Maroli
b4dcdd42f8 Cache globbed paths in front matter defaults (#7345)
Merge pull request 7345
2019-03-15 12:49:00 -04:00
jekyllbot
46be718ef6 Update history to reflect merge of #6821 [ci skip] 2019-03-15 12:48:25 -04:00
Ashwin Maroli
36404b9a43 Refactor highlight tag to behave like the raw tag (#6821)
Merge pull request 6821
2019-03-15 12:48:21 -04:00
jekyllbot
d807deb647 Update history to reflect merge of #7450 [ci skip] 2019-03-15 12:10:50 -04:00
Ashwin Maroli
aea502745a Utilize absolute paths of user-provided file paths (#7450)
Merge pull request 7450
2019-03-15 12:10:48 -04:00
jekyllbot
475983537d Update history to reflect merge of #7572 [ci skip] 2019-03-14 21:40:47 -04:00
Ashwin Maroli
b668eb0150 Fix unnecessary allocations via StaticFileReader (#7572)
Merge pull request 7572
2019-03-14 21:40:45 -04:00
Ashwin Maroli
bdbf35136e Correct entry in History.markdown [skip ci] 2019-03-11 15:45:56 +05:30
jekyllbot
7889d7d215 Update history to reflect merge of #7564 [ci skip] 2019-03-11 06:10:57 -04:00
Ashwin Maroli
37f5e5f459 Improve handling sites without layouts (#7564)
Merge pull request 7564
2019-03-11 06:10:55 -04:00
Ashwin Maroli
12e7a35ea7 Update history to reflect merge of #7562 [ci skip] 2019-03-10 17:24:32 +05:30
Ashwin Maroli
5fa93015a6 Revert Utils::WinTZ upgrade and lock to TZInfo-1.x (#7562)
Revert "Add missing divider in upgrading-guide"
This reverts commit d8c745ca30.

Revert "Update history to reflect merge of #7521"
This reverts commit 7ee2e26d6c.

Revert "Upgrade WinTZ utility to use TZInfo-2.0"
This reverts commit 13cbef4221.

Lock use of `tzinfo` gem to v1.x
2019-03-10 17:20:48 +05:30
Frank Taillandier
3036d36a7c Merge pull request #7560 from rosariopfernandes/patch-1
Update circleci.md
2019-03-10 05:31:35 +01:00
Rosário Pereira Fernandes
9c11c9a8a7 Update circleci.md
- correct minor typo
2019-03-10 02:18:34 +02:00
Frank Taillandier
7f4b15194f Merge pull request #7558 from denismcdonald/patch-2
Minor typographical suggestions
2019-03-09 07:49:50 +01:00
Denis McDonald
633a2922d6 Minor typographical suggestions 2019-03-09 17:03:58 +11:00
Ashwin Maroli
68e633a56e Remove deprecated sudo: false in .travis.yml
https://blog.travis-ci.com/2018-11-19-required-linux-infrastructure-migration
2019-03-06 16:30:24 +05:30
Ashwin Maroli
5e7dc7b4d3 Use jruby-openssl-0.10.1 in JRuby builds 2019-03-06 13:15:56 +05:30
Ben Otte
9f7078d582 Fix Wiki link in README.markdown (#7549)
Updated sites link
2019-02-26 22:55:27 +05:30
Ashwin Maroli
d8c745ca30 Add missing divider in upgrading-guide [skip ci] 2019-02-21 17:06:35 +05:30
jekyllbot
7ee2e26d6c Update history to reflect merge of #7521 [ci skip] 2019-02-20 15:53:15 -05:00
Ashwin Maroli
13cbef4221 Upgrade WinTZ utility to use TZInfo-2.0 (#7521)
Merge pull request 7521
2019-02-20 15:53:13 -05:00
jekyllbot
4e24a460ae Update history to reflect merge of #7160 [ci skip] 2019-02-20 10:47:22 -05:00
Ashwin Maroli
63b3739062 Add Site#in_cache_dir helper method (#7160)
Merge pull request 7160
2019-02-20 10:47:20 -05:00
jekyllbot
25ad937597 Update history to reflect merge of #7525 [ci skip] 2019-02-20 03:21:39 -05:00
Ashwin Maroli
b975608cbb Fix incorrect Windows path in themes.md [skip ci] (#7525)
Merge pull request 7525
2019-02-20 03:21:37 -05:00
jekyllbot
2f94540f89 Update history to reflect merge of #7540 [ci skip] 2019-02-20 03:19:36 -05:00
Ashwin Maroli
51d1366902 Add a script to profile docs with CI (#7540)
Merge pull request 7540
2019-02-20 03:19:34 -05:00
Ashwin Maroli
2786d67be5 Use rubocop-0.65.x on all platforms except Windows 2019-02-20 13:15:54 +05:30
Ashwin Maroli
0fef05e161 Lock RuboCop on Windows to v0.64.x temporarily 2019-02-20 13:04:38 +05:30
Frank Taillandier
c36f248556 bump Rubocop 2019-02-19 22:15:30 +01:00
jekyllbot
bbc2e1469e Update history to reflect merge of #7188 [ci skip] 2019-02-19 11:54:20 -05:00
Ashwin Maroli
091b5bd697 Always exclude certain paths from being processed (#7188)
Merge pull request 7188
2019-02-19 11:54:18 -05:00
jekyllbot
fac57981d3 Update history to reflect merge of #7538 [ci skip] 2019-02-19 03:46:12 -05:00
Paul Kim
6df8808cbc Clarify docs on collections regarding the need for front matter (#7538)
Merge pull request 7538
2019-02-19 03:46:09 -05:00
jekyllbot
8319501415 Update history to reflect merge of #7536 [ci skip] 2019-02-18 09:26:05 -05:00
Ananthakumar
98dc27b0ab Added formX to form-backend resources (#7536)
Merge pull request 7536
2019-02-18 09:26:02 -05:00
Ashwin Maroli
33a55d7f65 Add dummy content to appease classifier-reborn
Removes the following noise from test logs:

```
Input: '' is entirely stopwords or words with 2 or fewer characters.
Classifier-Reborn cannot handle this document properly.
```
2019-02-17 13:57:54 +05:30
Ashwin Maroli
9f46819606 There are 59 test posts now 2019-02-17 12:49:46 +05:30
jekyllbot
d2adfb3cbb Update history to reflect merge of #7315 [ci skip] 2019-02-16 11:31:16 -05:00
Ashwin Maroli
dedfb0748f Handle files with trailing dots in their basename (#7315)
Merge pull request 7315
2019-02-16 11:31:14 -05:00
jekyllbot
996431ba60 Update history to reflect merge of #7427 [ci skip] 2019-02-16 11:19:04 -05:00
Ashwin Maroli
07bf5be7b4 Allow custom sorting of collection documents (#7427)
Merge pull request 7427
2019-02-16 11:19:03 -05:00
jekyllbot
f6527cd7ef Update history to reflect merge of #7527 [ci skip] 2019-02-16 11:08:28 -05:00
Josue Caraballo
9ee96562dd changed future post loglevel to warn to help user narrow down issues (#7527)
Merge pull request 7527
2019-02-16 11:08:26 -05:00
Frank Taillandier
403f526275 make it compatible with category feed [skip-ci] 2019-02-15 21:04:30 +01:00
Frank Taillandier
8d7ef662bc add missing Forestry logo [skip-ci] 2019-02-15 21:04:30 +01:00
Frank Taillandier
cc409d33f7 docs: add feed for releases [skip-ci] 2019-02-15 21:04:29 +01:00
jekyllbot
925aa33ddc Update history to reflect merge of #7530 [ci skip] 2019-02-15 09:20:15 -05:00
Jörg Steinsträter
f1777adae9 Check if var exists before include tag (#7530)
Merge pull request 7530
2019-02-15 09:20:12 -05:00
jekyllbot
55f0980716 Update history to reflect merge of #7232 [ci skip] 2019-02-15 08:47:03 -05:00
Ashwin Maroli
06c49c7af6 Configure cache_dir (#7232)
Merge pull request 7232
2019-02-15 08:47:00 -05:00
Ashwin Maroli
9cb27144b0 Update Pull Request Template 2019-02-15 14:40:49 +05:30
Frank Taillandier
65817cc6cb Redirect docs/resources 2019-02-14 22:44:36 +01:00
jekyllbot
f6e7c46dd1 Update history to reflect merge of #7497 [ci skip] 2019-02-14 16:32:18 -05:00
Dusty Candland
e3a51092dd Add CloudSh to resource page. (#7497)
Merge pull request 7497
2019-02-14 16:32:16 -05:00
jekyllbot
623e306fd6 Update history to reflect merge of #7524 [ci skip] 2019-02-14 04:54:26 -05:00
Wouter Schoot
b8886e4287 Update convert-existing-site-to-jekyll.md (#7524)
Merge pull request 7524
2019-02-14 04:54:24 -05:00
Ashwin Maroli
2903276b4e Notify users on Windows to use tzinfo-1.x series (#7520) 2019-02-14 14:15:01 +05:30
Ashwin Maroli
9a4b74c44b Show the code for sample generator first [skip ci] 2019-02-12 22:12:50 +05:30
jekyllbot
20d9cbe231 Update history to reflect merge of #7518 [ci skip] 2019-02-12 03:32:34 -05:00
Ashwin Maroli
349b0361c1 Test with Ruby 2.6 on AppVeyor [skip travis] (#7518)
Merge pull request 7518
2019-02-12 03:32:32 -05:00
Frank Taillandier
bbd635539d bump Rubocop 2019-02-10 16:43:57 +01:00
jekyllbot
13b0832459 Update history to reflect merge of #7510 [ci skip] 2019-02-04 13:04:50 -05:00
Nikhil Swaminathan
8597a581d7 Hosting with AWS Amplify (#7510)
Merge pull request 7510
2019-02-04 13:04:49 -05:00
Frank Taillandier
fb22130906 docs: lastest Ruby is 2.6.1 2019-02-03 00:10:00 +01:00
jekyllbot
1ceef6dcf7 Update history to reflect merge of #7425 [ci skip] 2019-02-02 16:03:46 -05:00
Frank Taillandier
9412171578 dev: update gemspec (#7425)
Merge pull request 7425
2019-02-02 16:03:44 -05:00
jekyllbot
317ed856ff Update history to reflect merge of #6998 [ci skip] 2019-01-30 09:44:49 -05:00
Ashwin Maroli
e819bc4af0 Support for binary operators in where_exp filter (#6998)
Merge pull request 6998
2019-01-30 09:44:45 -05:00
jekyllbot
4550f02b58 Update history to reflect merge of #7503 [ci skip] 2019-01-29 13:55:38 -05:00
Jacob Byers
52faf2c34c Changed order of steps (#7503)
Merge pull request 7503
2019-01-29 13:55:36 -05:00
jekyllbot
e1ef5f9229 Update history to reflect merge of #7261 [ci skip] 2019-01-27 09:00:46 -05:00
Ashwin Maroli
1df4e94989 Search Front matter defaults with relative_path (#7261)
Merge pull request 7261
2019-01-27 09:00:44 -05:00
jekyllbot
922e4c01fe Update history to reflect merge of #7495 [ci skip] 2019-01-24 10:17:27 -05:00
Behrang
fd302cb1f7 Minor doc fixes (#7495)
Merge pull request 7495
2019-01-24 10:17:25 -05:00
Ashwin Maroli
33680b67af Use 64Bit Ruby for all builds on AppVeyor 2019-01-23 17:16:39 +05:30
jekyllbot
2de291c297 Update history to reflect merge of #7489 [ci skip] 2019-01-23 02:05:44 -05:00
Luis Enrique Perez Alvarez
38b64fc9e9 Update rubocop to ~> 0.63.1 (#7489)
Merge pull request 7489
2019-01-23 02:05:43 -05:00
jekyllbot
79b7b9ac02 Update history to reflect merge of #7476 [ci skip] 2019-01-14 11:08:20 -05:00
Ashwin Maroli
1a01f95a12 Remind user to include gem in the Gemfile on error (#7476)
Merge pull request 7476
2019-01-14 11:08:17 -05:00
Frank Taillandier
0e761fd4ef chore(config): add config for update-docs 2019-01-13 08:29:57 +01:00
jekyllbot
aef5626b4d Update history to reflect merge of #7473 [ci skip] 2019-01-12 14:53:50 -05:00
Arthur Attwell
70fe95c439 Docs: store SSL key and cert in site source (#7473)
Merge pull request 7473
2019-01-12 14:53:48 -05:00
jekyllbot
ce0471fbec Update history to reflect merge of #7472 [ci skip] 2019-01-11 08:44:54 -05:00
Timo Schuhmacher
6dbaf59ac9 Update resources.md (#7472)
Merge pull request 7472
2019-01-11 08:44:49 -05:00
jekyllbot
58076c4ff9 Update history to reflect merge of #7471 [ci skip] 2019-01-11 08:43:00 -05:00
Ashwin Maroli
b02caf0731 Relax version constraint on classifier-reborn gem (#7471)
Merge pull request 7471
2019-01-11 08:42:58 -05:00
Ashwin Maroli
ae0a064f3f Output correct class name in custom inspect string 2019-01-11 13:18:49 +05:30
Frank Taillandier
500dd64316 Merge pull request #7470 from makmm/update-license-year
Update license year
2019-01-09 20:54:01 +01:00
Frank Taillandier
d87ee5af03 Update LICENSE 2019-01-09 20:53:38 +01:00
makmm
ddbf730865 Update license year 2019-01-09 18:31:23 +00:00
jekyllbot
80104c177a Update history to reflect merge of #7464 [ci skip] 2019-01-06 09:12:56 -05:00
Andrew Lyndem
5c16257947 Grammatical correction (#7464)
Merge pull request 7464
2019-01-06 09:12:54 -05:00
jekyllbot
52aa62b0ae Update history to reflect merge of #7466 [ci skip] 2019-01-06 09:07:44 -05:00
Andrew Lyndem
e87f41834f Fixed unnecessary aticles and pronouns (#7466)
Merge pull request 7466
2019-01-06 09:07:42 -05:00
jekyllbot
1a718e9b12 Update history to reflect merge of #7459 [ci skip] 2019-01-04 06:47:15 -05:00
Ben Keith
fc51c32337 Permalink docs typo fixes (#7459)
Merge pull request 7459
2019-01-04 06:47:14 -05:00
jekyllbot
ea7d107b5c Update history to reflect merge of #7382 [ci skip] 2019-01-04 04:30:31 -05:00
Kyle Barbour
88d63c9303 Excerpt handling of custom and intermediate tags (#7382)
Merge pull request 7382
2019-01-04 04:30:29 -05:00
Frank Taillandier
f539f4d075 Merge pull request #7457 from behrangsa/patch-1
Fixed grammar
2019-01-04 00:52:17 +01:00
Behrang
ced0d8a6ba Fixed grammar
there's ➡️ there are.
2019-01-03 23:34:29 +00:00
jekyllbot
831fba68be Update history to reflect merge of #7410 [ci skip] 2019-01-02 19:48:09 -05:00
Ashwin Maroli
5d144beb00 Dont write static files from unrendered collection (#7410)
Merge pull request 7410
2019-01-02 19:48:07 -05:00
jekyllbot
be78b4246c Update history to reflect merge of #7448 [ci skip] 2019-01-02 19:21:58 -05:00
Dan Allen
9a0153f4d2 fix warning in Jekyll::Renderer#layouts (#7448)
Merge pull request 7448
2019-01-02 19:21:57 -05:00
Ashwin Maroli
9fa6863794 Favor if-unless modifier when single-line body 2019-01-02 22:56:19 +05:30
jekyllbot
84c46eb680 Update history to reflect merge of #7449 [ci skip] 2019-01-02 04:10:10 -05:00
Ashwin Maroli
eaa75dfc40 Bump RuboCop to v0.62.x (#7449)
Merge pull request 7449
2019-01-02 04:10:08 -05:00
jekyllbot
d13ad84aa7 Update history to reflect merge of #7438 [ci skip] 2019-01-02 02:31:38 -05:00
Ashwin Maroli
3eb9b441c5 Test with the new Ruby v2.6 (#7438)
Merge pull request 7438
2019-01-02 02:31:36 -05:00
jekyllbot
dee01f671a Update history to reflect merge of #7430 [ci skip] 2018-12-24 12:55:30 -05:00
Derpy
f721386419 Include docs for {{ page.collection }} (#7430)
Merge pull request 7430
2018-12-24 12:55:29 -05:00
Ashwin Maroli
8fd432c10a Lock JRuby builds on Travis CI to i18n-1.2.x (#7437) 2018-12-24 22:34:54 +05:30
Ashwin Maroli
878e0ba29c Skip theme-dir-symlink test if on Windows 2018-12-18 23:18:48 +05:30
jekyllbot
57a05bf948 Update history to reflect merge of #7429 [ci skip] 2018-12-18 12:00:29 -05:00
Ashwin Maroli
c368fec322 Create symlink only if target is accessible (#7429)
Merge pull request 7429
2018-12-18 12:00:27 -05:00
jekyllbot
8c0a250da4 Update history to reflect merge of #7428 [ci skip] 2018-12-17 11:25:00 -05:00
Gareth Cooper
f8037c6699 zlib is missing (#7428)
Merge pull request 7428
2018-12-17 11:24:58 -05:00
jekyllbot
6f984b381c Update history to reflect merge of #7157 [ci skip] 2018-12-16 11:14:33 -05:00
Ashwin Maroli
18fb5687f4 Reduce array traversal in Jekyll::Reader (#7157)
Merge pull request 7157
2018-12-16 11:14:32 -05:00
jekyllbot
0f5697c4ea Update history to reflect merge of #7422 [ci skip] 2018-12-16 01:16:25 -05:00
Ashwin Maroli
446aa88bdf Add a custom inspect string for StaticFile objects (#7422)
Merge pull request 7422
2018-12-16 01:16:24 -05:00
jekyllbot
9882ca238d Update history to reflect merge of #7404 [ci skip] 2018-12-16 01:08:55 -05:00
Ashwin Maroli
1a7b55e6dd Documents should be able to render their date (#7404)
Merge pull request 7404
2018-12-16 01:08:53 -05:00
Ashwin Maroli
e41c42720a CI: Build stable branches during backport 2018-12-14 23:58:58 +05:30
jekyllbot
9221e3429d Update history to reflect merge of #7419 [ci skip] 2018-12-14 10:08:43 -05:00
Parker Moore
8741c69d42 Theme gems: ensure directories aren't symlinks (#7419)
Merge pull request 7419
2018-12-14 10:08:41 -05:00
jekyllbot
55bd0391da Update history to reflect merge of #7420 [ci skip] 2018-12-13 16:31:23 -05:00
Daniel Höpfl
7498d4144e Update ubuntu.md (#7420)
Merge pull request 7420
2018-12-13 16:31:21 -05:00
jekyllbot
a93dd0fa64 Update history to reflect merge of #7412 [ci skip] 2018-12-10 16:35:08 -05:00
Frank Taillandier
12f66076ba chore(ci): test oldest and latest Ruby only (#7412)
Merge pull request 7412
2018-12-10 16:35:06 -05:00
Frank Taillandier
6cb97771b7 docs: mention --user-install option 2018-12-10 21:06:59 +01:00
Frank Taillandier
1d8b038edd docs: update macOS install instructions 2018-12-10 16:28:28 +01:00
Ashwin Maroli
775153df6a Upgrade to Code Climate config v2 2018-12-10 18:16:02 +05:30
jekyllbot
92be0c3fab Update history to reflect merge of #7409 [ci skip] 2018-12-09 02:55:18 -05:00
Manu Mathew
03b51791c1 Fix grammatical error in permalinks.md (#7409)
Merge pull request 7409
2018-12-09 02:55:17 -05:00
jekyllbot
fe97682e3b Update history to reflect merge of #7407 [ci skip] 2018-12-08 02:23:39 -05:00
Matt Massicotte
8ac16a281c Remove alt attribute from a tags (#7407)
Merge pull request 7407
2018-12-08 02:23:38 -05:00
jekyllbot
eac18f88f5 Update history to reflect merge of #7405 [ci skip] 2018-12-06 11:53:31 -05:00
olivia hugger
dc549a769f link site to sponsor listing in readme (#7405)
Merge pull request 7405
2018-12-06 11:53:29 -05:00
Frank Taillandier
0f9467c61b Update issue templates 2018-12-05 20:43:36 +01:00
jekyllbot
d257398333 Update history to reflect merge of #7401 [ci skip] 2018-12-05 11:21:50 -05:00
Ashwin Maroli
eda9e2e4ef Bump RuboCop to v0.61.x (#7401)
Merge pull request 7401
2018-12-05 11:21:48 -05:00
jekyllbot
5b3eb43e08 Update history to reflect merge of #7398 [ci skip] 2018-12-01 12:17:20 -05:00
olivia hugger
9ae8c09c1b add @ashmaroli to core team listing (#7398)
Merge pull request 7398
2018-12-01 12:17:19 -05:00
jekyllbot
cfa022db1d Update history to reflect merge of #7397 [ci skip] 2018-11-30 07:41:18 -05:00
Mertcan Yücel
c704d36b39 Update resources.md (#7397)
Merge pull request 7397
2018-11-30 07:41:16 -05:00
jekyllbot
2f36fd7fff Update history to reflect merge of #7396 [ci skip] 2018-11-30 04:46:15 -05:00
Mertcan Yücel
970c1dde5c Update resources.md (#7396)
Merge pull request 7396
2018-11-30 04:46:13 -05:00
jekyllbot
24fa104567 Update history to reflect merge of #7395 [ci skip] 2018-11-28 14:37:51 -05:00
olivia hugger
6285f59ce3 adjust team page listings (#7395)
Merge pull request 7395
2018-11-28 14:37:49 -05:00
olivia
646b24d9ba add vpsservers to sponsors 2018-11-28 20:35:23 +01:00
jekyllbot
a0f7d800d6 Update history to reflect merge of #7394 [ci skip] 2018-11-27 18:37:11 -05:00
Joe Shannon
e4677b8567 docs: Fix group_by_exp filter example (#7394)
Merge pull request 7394
2018-11-27 18:37:09 -05:00
jekyllbot
78ea59f5a7 Update history to reflect merge of #7393 [ci skip] 2018-11-26 02:50:53 -05:00
김정환
48b6e743f1 Apply ruby official guide documents (#7393)
Merge pull request 7393
2018-11-26 02:50:52 -05:00
jekyllbot
d808359186 Update history to reflect merge of #7372 [ci skip] 2018-11-24 08:25:16 -05:00
XhmikosR
fa914d2dd8 Switch to gem 'wdm', '~> 0.1.1', :install_if => Gem.win_platform? (#7372)
Merge pull request 7372
2018-11-24 08:25:15 -05:00
jekyllbot
c8bd59b69e Update history to reflect merge of #7392 [ci skip] 2018-11-23 14:57:17 -05:00
jpasholk
62448192df Proposed re-wording of Sass note. :) (#7392)
Merge pull request 7392
2018-11-23 14:57:15 -05:00
jekyllbot
cd200d380f Update history to reflect merge of #7388 [ci skip] 2018-11-20 10:35:34 -05:00
Frank Taillandier
842c055ecb Site: Better Performance (#7388)
Merge pull request 7388
2018-11-20 10:35:32 -05:00
Frank Taillandier
c732da44d5 docs: update CoC to 1.4.1 2018-11-19 22:52:24 +01:00
jekyllbot
470ef47abc Update history to reflect merge of #7365 [ci skip] 2018-11-19 12:03:20 -05:00
Ashwin Maroli
6431637fd7 Update excludes for CodeClimate Analyses (#7365)
Merge pull request 7365
2018-11-19 12:03:18 -05:00
Frank Taillandier
6c5bb7cce1 docs: add Contentul plugin 2018-11-18 16:54:35 +01:00
jekyllbot
b26ad019c3 Update history to reflect merge of #6788 [ci skip] 2018-11-18 06:54:33 -05:00
Ashwin Maroli
bfc733da90 Only read layouts from source_dir or theme_dir (#6788)
Merge pull request 6788
2018-11-18 06:54:32 -05:00
jekyllbot
41b8192b07 Update history to reflect merge of #7385 [ci skip] 2018-11-18 03:36:10 -05:00
Akshat Kedia
ba2019dca9 Fix content management section (#7385)
Merge pull request 7385
2018-11-18 03:36:09 -05:00
jekyllbot
e397146acb Update history to reflect merge of #7383 [ci skip] 2018-11-16 04:46:55 -05:00
Leandro Facchinetti
d0753ecd82 Fix dead link and misleading prose (#7383)
Merge pull request 7383
2018-11-16 04:46:54 -05:00
Frank Taillandier
7184404c74 docs: use current macOS Ruby versions 2018-11-16 09:39:33 +01:00
jekyllbot
26608929dc Update history to reflect merge of #7381 [ci skip] 2018-11-16 03:30:41 -05:00
Leandro Facchinetti
cb245a7e30 Remove installation instructions with Homebrew (#7381)
Merge pull request 7381
2018-11-16 03:30:39 -05:00
jekyllbot
7c1f065a41 Update history to reflect merge of #7375 [ci skip] 2018-11-13 10:04:12 -05:00
Frank Taillandier
a642f31144 chore(deps): upgrade liquid-c to v4.0 (#7375)
Merge pull request 7375
2018-11-13 10:04:10 -05:00
jekyllbot
c65b08aef3 Update history to reflect merge of #7378 [ci skip] 2018-11-13 10:02:54 -05:00
Boris SCHAPIRA
677aa49aa2 Add a link to OpenCollective backing (#7378)
Merge pull request 7378
2018-11-13 10:02:51 -05:00
jekyllbot
39a240a8af Update history to reflect merge of #7377 [ci skip] 2018-11-13 09:59:22 -05:00
Boris SCHAPIRA
fdce19e966 🐛 Fix link to Tidelift (#7377)
Merge pull request 7377
2018-11-13 09:59:20 -05:00
jekyllbot
fb0f182a5d Update history to reflect merge of #7373 [ci skip] 2018-11-13 02:36:38 -05:00
jekyllbot
2acff4a5bf docs: document page.dir and page.name (#7373)
Merge pull request 7373
2018-11-13 02:36:37 -05:00
jekyllbot
84cb2cb06d Update history to reflect merge of #7348 [ci skip] 2018-11-12 14:10:29 -05:00
Matthew Rathbone
fc60ecce2d Added 99inbound's Jekyll post to form resources (#7348)
Merge pull request 7348
2018-11-12 14:10:28 -05:00
olivia hugger
68b8565c94 add icons8 to readme 2018-11-11 18:43:04 +01:00
olivia
4da289e22d add icons8 to site sponsors 2018-11-11 18:17:19 +01:00
jekyllbot
1cc84d8d7b Update history to reflect merge of #7359 [ci skip] 2018-11-07 17:40:11 -05:00
Sri Pravan Paturi
7d76d5e48e Add documentation for custom tag blocks (#7359)
Merge pull request 7359
2018-11-07 17:40:10 -05:00
olivia hugger
9a66a1614e correct faulty merges 2018-11-07 15:46:03 +01:00
jekyllbot
afd0a6ff69 Update history to reflect merge of #7360 [ci skip] 2018-11-07 09:18:39 -05:00
Tushar Prajapati
e3f9c452b6 Update posts.md (#7360)
Merge pull request 7360
2018-11-07 09:18:37 -05:00
olivia hugger
22d9936042 Merge pull request #7354 from jekyll/add-3.8.5-post
Add 3.8.5 post
2018-11-04 21:23:03 +01:00
olivia
271e476e67 reflect 3.8.5 release 2018-11-04 21:22:28 +01:00
olivia
d0c1cde922 Add 3.8.5 post 2018-11-04 21:07:14 +01:00
olivia hugger
564f7735b3 test for stable and backport branches on travis 2018-11-04 20:41:10 +01:00
jekyllbot
d971e39b4f Update history to reflect merge of #6727 [ci skip] 2018-11-04 14:03:21 -05:00
Ashwin Maroli
d926ebf688 Incorporate relative_url filter in link tag (#6727)
Merge pull request 6727
2018-11-04 14:03:18 -05:00
jekyllbot
1825813c93 Update history to reflect merge of #7250 [ci skip] 2018-11-04 14:02:02 -05:00
Ashwin Maroli
592b530de1 Re-implement handling Liquid blocks in excerpts (#7250)
Merge pull request 7250
2018-11-04 14:02:00 -05:00
jekyllbot
b586bed0ee Update history to reflect merge of #7273 [ci skip] 2018-10-31 13:10:21 -04:00
Ashwin Maroli
f0af098abe Memoize the return value of Site#documents (#7273)
Merge pull request 7273
2018-10-31 13:10:19 -04:00
jekyllbot
501d0253fa Update history to reflect merge of #7343 [ci skip] 2018-10-28 11:39:34 -04:00
Frank Taillandier
c9dda7ad50 docs: minimize rendering count (#7343)
Merge pull request 7343
2018-10-28 11:39:32 -04:00
jekyllbot
7d9667f13f Update history to reflect merge of #7304 [ci skip] 2018-10-28 06:08:34 -04:00
Ashwin Maroli
d67cbb4e5f Load config file from within current theme-gem (#7304)
Merge pull request 7304
2018-10-28 06:08:32 -04:00
jekyllbot
56c35f1a7d Update history to reflect merge of #7316 [ci skip] 2018-10-28 06:04:29 -04:00
Ashwin Maroli
9152b1c9b8 Measure the no. of times a template gets rendered (#7316)
Merge pull request 7316
2018-10-28 06:04:27 -04:00
Frank Taillandier
fbec40589d docs: exclude .jekyll-cache
Stop regenerating: files in  .jekyll-cache
2018-10-28 06:31:11 +01:00
jekyllbot
d492766220 Update history to reflect merge of #7276 [ci skip] 2018-10-28 01:12:05 -04:00
Ashwin Maroli
ea8ac3a7fa Memoize Site#post_attr_hash (#7276)
Merge pull request 7276
2018-10-28 01:12:04 -04:00
jekyllbot
266a8bb746 Update history to reflect merge of #7342 [ci skip] 2018-10-27 18:33:44 -04:00
Aidan Fitzgerald
4bbbb8d3e2 Remove redundant instruction comment (#7342)
Merge pull request 7342
2018-10-27 18:33:43 -04:00
jekyllbot
587111ec9f Update history to reflect merge of #7338 [ci skip] 2018-10-26 09:43:42 -04:00
Ashwin Maroli
8d80ada92b Bump RuboCop to v0.60.x (#7338)
Merge pull request 7338
2018-10-26 09:43:40 -04:00
Frank Taillandier
41c25f30e1 style: commas [ci skip]
Co-Authored-By: Ashwin Maroli <ashmaroli@users.noreply.github.com>
2018-10-26 15:31:20 +02:00
Frank Taillandier
bc11acc7b1 docs: use YAML data for paginator obkect 2018-10-26 15:00:17 +02:00
Frank Taillandier
9ff6a24a06 docs: variables table as include
Co-Authored-By: Ashwin Maroli <ashmaroli@users.noreply.github.com>
2018-10-24 17:23:00 +02:00
Frank Taillandier
29ba846f9b Merge pull request #7336 from jekyll/docs/data-variables
docs: Page variables as YAML data
2018-10-24 16:09:01 +02:00
Ashwin Maroli
75f1bccaa4 Adjust whitespace 2018-10-24 19:21:30 +05:30
Frank Taillandier
a7a9c52ae6 docs: Page variables as YAML data 2018-10-24 14:31:30 +02:00
jekyllbot
4ac66931d0 Update history to reflect merge of #7335 [ci skip] 2018-10-24 07:08:03 -04:00
Ashwin Maroli
7422b741c1 Document Jekyll Filters with YAML data (#7335)
Merge pull request 7335
2018-10-24 07:08:00 -04:00
Frank Taillandier
fe74976942 Merge pull request #7334 from ashmaroli/liquid-filters-template
Liquid templating to DRY content
2018-10-24 09:33:16 +02:00
Ashwin Maroli
6413df69e5 Liquid templating to DRY content 2018-10-24 08:28:07 +05:30
Frank Taillandier
bd623967ff docs: fix link to liquid filter 2018-10-24 01:26:06 +02:00
jekyllbot
3987256119 Update history to reflect merge of #7333 [ci skip] 2018-10-23 19:20:30 -04:00
Frank Taillandier
2b146a64fc docs: list all standard liquid filters (#7333)
Merge pull request 7333
2018-10-23 19:20:28 -04:00
olivia hugger
f3c85d4095 Merge pull request #7319 from jekyll/add-tidelift
Add Tidelift to site sponsors
2018-10-19 23:49:07 +02:00
jekyllbot
ecaefdb991 Update history to reflect merge of #7326 [ci skip] 2018-10-19 16:29:16 -04:00
Ashwin Maroli
c7a99f276c Revert "Cache converter in renderer" (#7326)
Merge pull request 7326
2018-10-19 16:29:14 -04:00
jekyllbot
5925c1a531 Update history to reflect merge of #7327 [ci skip] 2018-10-19 15:42:58 -04:00
Brett C
1530e246d8 grammar change (#7327)
Merge pull request 7327
2018-10-19 15:42:56 -04:00
jekyllbot
b3a7ba5a26 Update history to reflect merge of #7302 [ci skip] 2018-10-19 11:35:44 -04:00
Mario
ad7a5c0121 Skip processing posts that can not be read (#7302)
Merge pull request 7302
2018-10-19 11:35:42 -04:00
Frank Taillandier
7a1254563a Docs: reorganize README
Put things in order: getting started, diving in, then asking for help 😄
2018-10-18 14:04:09 +02:00
jekyllbot
2d14125d53 Update history to reflect merge of #7325 [ci skip] 2018-10-18 07:50:47 -04:00
_94gsc
885f76f84e Add a link to Giraffe Academy's tutorial (#7325)
Merge pull request 7325
2018-10-18 07:50:46 -04:00
olivia
8c9dcfee66 add final newline 2018-10-17 15:01:16 +02:00
olivia
42ecb661e4 add footer section for tidelift instead 2018-10-17 14:57:18 +02:00
olivia
bf02c401a3 add tidelift to site sponsors 2018-10-17 12:08:36 +02:00
Frank Taillandier
fd6e01fd6a docs: tweak capture delay [ci-skip]
Screenshots are better now but with Lazyloading it feels really slow. 🐢
Ideally we'd cache and use the former screenshot as placeholder and replace it with the newer version.
2018-10-12 19:32:50 +02:00
Frank Taillandier
77bc82b92f docs: add a bit of delay before capture [ci-skip]
Some images in the showcase show not fully loaded pages. A bit of delay should help.

Documentation: https://docs.capture.techulus.in/docs/screenshot-options
2018-10-12 19:24:49 +02:00
Frank Taillandier
f65bcd9920 docs: update showcase [ci-skip] 2018-10-12 19:11:56 +02:00
olivia hugger
a28fc8531a update my email in the sponsoring post 2018-10-12 19:01:40 +02:00
olivia hugger
5779b29855 fix typo in blank site template 2018-10-12 13:01:38 +02:00
jekyllbot
749415c47f Update history to reflect merge of #7310 [ci skip] 2018-10-12 06:57:47 -04:00
jekyllbot
37baaec83e feat: enhance --blank scaffolding (#7310)
Merge pull request 7310
2018-10-12 06:57:45 -04:00
jekyllbot
1bb7f03e44 Update history to reflect merge of #7312 [ci skip] 2018-10-10 17:15:42 -04:00
XhmikosR
f6f6a5661d Update appveyor.yml (#7312)
Merge pull request 7312
2018-10-10 17:15:41 -04:00
jekyllbot
153f24c4e4 Update history to reflect merge of #7307 [ci skip] 2018-10-09 20:21:40 -04:00
Jordan Morgan
2966b7ff94 "This restricts you..." to "This restricts your" (#7307)
Merge pull request 7307
2018-10-09 20:21:39 -04:00
jekyllbot
5795bf08fb Update history to reflect merge of #7306 [ci skip] 2018-10-09 18:13:26 -04:00
Jordan Morgan
3b4eb69d22 Added missing semicolon (#7306)
Merge pull request 7306
2018-10-09 18:13:24 -04:00
jekyllbot
148ac25190 Update history to reflect merge of #7300 [ci skip] 2018-10-07 04:50:18 -04:00
Preston Lim
51fe430fdd Add Isomer to showcase (#7300)
Merge pull request 7300
2018-10-07 04:50:17 -04:00
jekyllbot
7eca92adf8 Update history to reflect merge of #7299 [ci skip] 2018-10-05 09:43:07 -04:00
argv-minus-one
052dbf8b98 Automatically load _config.toml (#7299)
Merge pull request 7299
2018-10-05 09:43:06 -04:00
jekyllbot
fec13b3d05 Update history to reflect merge of #7136 [ci skip] 2018-10-03 11:29:48 -04:00
Ashwin Maroli
a2d61f976f Optimize rendering Liquid templates (#7136)
Merge pull request 7136
2018-10-03 11:29:45 -04:00
jekyllbot
440374aa4d Update history to reflect merge of #7190 [ci skip] 2018-10-02 07:27:16 -04:00
Pat Hawks
139ea09967 Do not dump undumpable objects (#7190)
Merge pull request 7190
2018-10-02 07:27:15 -04:00
Frank Taillandier
28cb55c455 chore(history): rendered includes are still WIP 2018-10-02 11:36:25 +02:00
Frank Taillandier
1eeb89460e Update History.markdown 2018-10-02 11:19:26 +02:00
jekyllbot
2cd15712c7 Update history to reflect merge of #7108 [ci skip] 2018-10-02 04:55:46 -04:00
jekyllbot
15128418be Update history to reflect merge of #7183 [ci skip] 2018-10-02 04:16:51 -04:00
Pat Hawks
b8dfc9a32f Cache converter in renderer (#7183)
Merge pull request 7183
2018-10-02 04:16:49 -04:00
jekyllbot
0b90e536ab Update history to reflect merge of #7159 [ci skip] 2018-10-02 04:07:09 -04:00
Pat Hawks
18d33b1fd6 Cache converted markdown (#7159)
Merge pull request 7159
2018-10-02 04:07:08 -04:00
jekyllbot
93b5b57aea Update history to reflect merge of #7291 [ci skip] 2018-10-02 03:14:55 -04:00
Andy Alt
517eb749a0 Docs: Add link tag to item in RSS template (#7291)
Merge pull request 7291
2018-10-02 03:14:54 -04:00
jekyllbot
d667f12941 Update history to reflect merge of #7289 [ci skip] 2018-10-01 14:37:17 -04:00
Grzegorz Kaczorek
55dd39d580 Document converter methods (#7289)
Merge pull request 7289
2018-10-01 14:37:15 -04:00
jekyllbot
452c1c88d0 Update history to reflect merge of #7287 [ci skip] 2018-10-01 08:49:33 -04:00
Ashwin Maroli
faed9c4143 Drop support for jekyll-watch-1.4.0 and older (#7287)
Merge pull request 7287
2018-10-01 08:49:31 -04:00
jekyllbot
a70ed3713f Update history to reflect merge of #7285 [ci skip] 2018-09-30 11:03:03 -04:00
jekyllbot
05f109071d Remove default config for markdown (#7285)
Merge pull request 7285
2018-09-30 11:03:02 -04:00
Frank Taillandier
63deec3074 Add links to YAML cheatsheets
Fix #6054
2018-09-30 11:00:57 +02:00
jekyllbot
8dcb14c582 Update history to reflect merge of #7283 [ci skip] 2018-09-29 08:31:29 -04:00
Frank Taillandier
688d0734b8 Docs: more inclusive writing (#7283)
Merge pull request 7283
2018-09-29 08:31:28 -04:00
jekyllbot
94baf09753 Update history to reflect merge of #7282 [ci skip] 2018-09-28 18:43:27 -04:00
Andy Alt
6c6595bd1e tutorial/convert existing site.md/rss:add title tag to item (#7282)
Merge pull request 7282
2018-09-28 18:43:25 -04:00
Frank Taillandier
927a09b4c5 Add latest version for sidebar
props @pathawks
2018-09-28 09:24:22 +02:00
Frank Taillandier
997c9044d5 Thanks @parkr 🙏 2018-09-27 14:54:25 +02:00
Frank Taillandier
4a6edf4778 Typo 2018-09-27 14:47:22 +02:00
jekyllbot
3055992712 Update history to reflect merge of #7259 [ci skip] 2018-09-27 08:38:32 -04:00
Ashwin Maroli
00311d2638 Add Release Post for v3.6.3, v3.7.4 and v3.8.4 (#7259)
Merge pull request 7259
2018-09-27 08:38:30 -04:00
jekyllbot
353574307a Update history to reflect merge of #7118 [ci skip] 2018-09-27 08:29:48 -04:00
Ashwin Maroli
4707017936 Drop support for pygments as syntax-highlighter (#7118)
Merge pull request 7118
2018-09-27 08:29:46 -04:00
jekyllbot
deff194cbf Update history to reflect merge of #7278 [ci skip] 2018-09-26 15:20:53 -04:00
liv
d306ba74e1 update yajl-ruby (#7278)
Merge pull request 7278
2018-09-26 15:20:51 -04:00
jekyllbot
0d2394bdca Update history to reflect merge of #7277 [ci skip] 2018-09-26 10:18:58 -04:00
Ashwin Maroli
57da5c0e29 Check key in collections only if it isn't "posts" (#7277)
Merge pull request 7277
2018-09-26 10:18:57 -04:00
liv
44a8035d13 reorder doc change template 2018-09-24 19:37:46 +02:00
jekyllbot
ec47c9dd9d Update history to reflect merge of #7200 [ci skip] 2018-09-24 13:29:08 -04:00
Maxwell Gerber
b8cf387b71 Fix Contributors link (#7200)
Merge pull request 7200
2018-09-24 13:29:06 -04:00
jekyllbot
3fc1d5b54b Update history to reflect merge of #7182 [ci skip] 2018-09-24 13:27:46 -04:00
Ashwin Maroli
6eee8b7e06 Strip extra slashes via Jekyll.sanitized_path (#7182)
Merge pull request 7182
2018-09-24 13:27:44 -04:00
jekyllbot
ce05f9cb15 Update history to reflect merge of #7010 [ci skip] 2018-09-24 13:26:34 -04:00
Isaac Goodman
81792c29d3 Use OpenSSL instead of GnuTLS (#7010)
Merge pull request 7010
2018-09-24 13:26:32 -04:00
Frank Taillandier
a0c2e65ed7 add issue template for documentation 2018-09-24 18:46:52 +02:00
jekyllbot
4d293d3376 Update history to reflect merge of #7269 [ci skip] 2018-09-24 12:34:34 -04:00
liv
d83d3e880e Add more issue template(s) and pull request template (#7269)
Merge pull request 7269
2018-09-24 12:34:32 -04:00
jekyllbot
1e81243ef8 Update history to reflect merge of #7270 [ci skip] 2018-09-24 12:31:37 -04:00
Grzegorz Kaczorek
8a7ecfce36 Document two methods, simplify one of the methods (#7270)
Merge pull request 7270
2018-09-24 12:31:36 -04:00
jekyllbot
5267e0b215 Update history to reflect merge of #7267 [ci skip] 2018-09-24 12:29:57 -04:00
ikeji
0960ae0755 Ignore permission error of /proc/version (#7267)
Merge pull request 7267
2018-09-24 12:29:55 -04:00
jekyllbot
f043eeabc5 Update history to reflect merge of #7268 [ci skip] 2018-09-23 06:09:37 -04:00
Luis Guillermo Yáñez
e9aa4ff2c1 Update 10-deployment.md (#7268)
Merge pull request 7268
2018-09-23 06:09:36 -04:00
jekyllbot
05fdb6733f Update history to reflect merge of #7266 [ci skip] 2018-09-22 08:51:36 -04:00
Tobias
096afbeee4 environments.md: reference the build command options that allows multiple config files (#7266)
Merge pull request 7266
2018-09-22 08:51:34 -04:00
Frank Taillandier
e59ff78f9d docs: fix path to Ubuntu 2018-09-21 10:33:31 +02:00
Frank Taillandier
879a4c44f6 docs: install dependencies on Debian 2018-09-21 10:30:58 +02:00
Frank Taillandier
47ec61f9b5 docs: Linux, not Ubuntu 2018-09-21 09:14:13 +02:00
jekyllbot
141a7b784b Update history to reflect merge of #7262 [ci skip] 2018-09-20 09:49:41 -04:00
jekyllbot
88dbe5db8a chore(release): reflect latest patched releases (#7262)
Merge pull request 7262
2018-09-20 09:49:39 -04:00
jekyllbot
f692f0999c Update history to reflect merge of #7263 [ci skip] 2018-09-20 09:45:55 -04:00
Ashwin Maroli
88e0472160 Check if scope applies to type before given path (#7263)
Merge pull request 7263
2018-09-20 09:45:53 -04:00
jekyllbot
72dc3a56f3 Update history to reflect merge of #7260 [ci skip] 2018-09-19 14:02:45 -04:00
Jorie Tappa
2e1492da55 Fix a small grammar error/typo in the docs (#7260)
Merge pull request 7260
2018-09-19 14:02:44 -04:00
jekyllbot
1987c36f27 Update history to reflect merge of #7229 [ci skip] 2018-09-19 07:56:17 -04:00
jekyllbot
bd41ebb97b Update history to reflect merge of #6888 [ci skip] 2018-09-19 07:46:41 -04:00
Ashwin Maroli
352133f39b cache matched defaults sets for given parameters (#6888)
Merge pull request 6888
2018-09-19 07:46:39 -04:00
Frank Taillandier
a0dc346e6c Unlock bundler
https://github.com/bundler/bundler/issues/6629 has been fixed
2018-09-19 02:35:41 -07:00
jekyllbot
573c7edbc1 Update history to reflect merge of #7228 [ci skip] 2018-09-18 12:24:17 -04:00
Frank Taillandier
a22cd6d603 Unpublish unreleased Cache API tutorial 2018-09-15 11:44:37 +02:00
Frank Taillandier
cc363657cb Add Kotn website 2018-09-15 11:09:46 +02:00
Frank Taillandier
495456bb3c Note: building from scratch
Fix #7242
2018-09-13 10:54:32 +02:00
jekyllbot
20d0326d30 Update history to reflect merge of #7241 [ci skip] 2018-09-11 18:26:20 -04:00
Stephen Weiss
938b2f1d01 explicit location of where to create blog.html (#7241)
Merge pull request 7241
2018-09-11 18:26:19 -04:00
Frank Taillandier
f9c981e317 Redirects Fixes #7230 2018-09-11 08:42:12 +02:00
jekyllbot
5dedcd5fce Update history to reflect merge of #7238 [ci skip] 2018-09-10 12:19:32 -04:00
Chris Finazzo
74c185c461 Minor grammar fixes (#7238)
Merge pull request 7238
2018-09-10 12:19:30 -04:00
jekyllbot
4271495fca Update history to reflect merge of #7237 [ci skip] 2018-09-09 18:14:48 -04:00
jekyllbot
a28f54a59f Bump Rubocop to v0.59.0 (#7237)
Merge pull request 7237
2018-09-09 18:14:46 -04:00
jekyllbot
6d777a2a21 Update history to reflect merge of #7234 [ci skip] 2018-09-09 17:27:04 -04:00
Stephen Weiss
d6c1216244 clarified front matter requirement (#7234)
Merge pull request 7234
2018-09-09 17:27:02 -04:00
jekyllbot
874ec5c3e2 Update history to reflect merge of #7226 [ci skip] 2018-09-07 15:17:56 -04:00
Parker Moore
f1c87a9129 Security: fix include bypass of EntryFilter#filter symlink check (#7226)
Merge pull request 7226
2018-09-07 15:17:55 -04:00
liv
863a93f9ff update forestry's sponsor url 2018-09-06 13:07:01 +02:00
jekyllbot
27cade4a28 Update history to reflect merge of #7223 [ci skip] 2018-09-06 02:16:21 -04:00
Justin Vallelonga
e56bf80bfc removes quotes from markdown for assets (#7223)
Merge pull request 7223
2018-09-06 02:16:19 -04:00
Frank Taillandier
56dd010c82 Explain the help command 2018-09-05 10:37:24 +02:00
Frank Taillandier
0db83b5008 Update link 2018-09-04 16:50:03 +02:00
jekyllbot
28492e8401 Update history to reflect merge of #7217 [ci skip] 2018-09-03 16:38:14 -04:00
Bilawal Hameed
895e58b01b Add developer.spotify.com to the Jekyll Showcase (#7217)
Merge pull request 7217
2018-09-03 16:38:12 -04:00
Frank Taillandier
7d5479e52f Update showcase.yml 2018-09-03 15:38:40 +02:00
jekyllbot
0b21d67507 Update history to reflect merge of #7215 [ci skip] 2018-09-03 08:18:33 -04:00
Sundaram Kalyan Vedala
93507f02dc Fix minor grammatical error (#7215)
Merge pull request 7215
2018-09-03 08:18:32 -04:00
jekyllbot
8e5c5a4e8a Update history to reflect merge of #7213 [ci skip] 2018-09-03 04:07:12 -04:00
Ashwin Maroli
182327d49c Add cucumber feature to test include_relative tag (#7213)
Merge pull request 7213
2018-09-03 04:07:11 -04:00
jekyllbot
d626fc07c2 Update history to reflect merge of #7214 [ci skip] 2018-09-03 04:05:39 -04:00
Thanos Kolovos
f22425ad2a Add some minor improvements to image loading (#7214)
Merge pull request 7214
2018-09-03 04:05:38 -04:00
jekyllbot
5c61d69c94 Update history to reflect merge of #7211 [ci skip] 2018-09-02 14:01:12 -04:00
Vitor Oliveira
397d289cd2 Refactoring: Fix benchmark code smell (#7211)
Merge pull request 7211
2018-09-02 14:01:11 -04:00
Frank Taillandier
a693153755 Typo 2018-09-02 10:13:43 +02:00
Frank Taillandier
d684e390df jekyll-plugin topic on GitHub 2018-09-02 07:58:09 +02:00
jekyllbot
8c5ee833d4 Update history to reflect merge of #7210 [ci skip] 2018-09-02 01:50:16 -04:00
ninevra
418018a41f Correct stylesheet url in tutorial step 7 (#7210)
Merge pull request 7210
2018-09-02 01:50:14 -04:00
jekyllbot
1e9cd27dc4 Update history to reflect merge of #7205 [ci skip] 2018-09-01 04:39:58 -04:00
Mike Neumegen
805f438f24 New docs (#7205)
Merge pull request 7205
2018-09-01 04:39:57 -04:00
jekyllbot
3aa41a6055 Update history to reflect merge of #7203 [ci skip] 2018-08-29 13:20:55 -04:00
Ashwin Maroli
9f93fd092f Interpolate Jekyll::Page subclass on inspection (#7203)
Merge pull request 7203
2018-08-29 13:20:52 -04:00
jekyllbot
58f10f8e8a Update history to reflect merge of #7198 [ci skip] 2018-08-26 09:50:36 -04:00
Samuel Gruetter
bd9162a3bb installation instructions for Fedora (#7198)
Merge pull request 7198
2018-08-26 09:50:35 -04:00
jekyllbot
d3fba977f7 Update history to reflect merge of #7196 [ci skip] 2018-08-26 07:45:08 -04:00
Ma HongJun
a983bac6ca Resolve "Unable to locate package ruby2.4" error (#7196)
Merge pull request 7196
2018-08-26 07:45:06 -04:00
jekyllbot
5666e42474 Update history to reflect merge of #7199 [ci skip] 2018-08-26 07:38:02 -04:00
Anny
535637ba06 Add missing html end tag for code example in section 'For loops' (#7199)
Merge pull request 7199
2018-08-26 07:38:00 -04:00
jekyllbot
2913ab2891 Update history to reflect merge of #6854 [ci skip] 2018-08-25 06:07:29 -04:00
ExE Boss
9195b61d51 Add support for *.xhtml files (#6854)
Merge pull request 6854
2018-08-25 06:07:28 -04:00
jekyllbot
130292f15e Update history to reflect merge of #7189 [ci skip] 2018-08-21 10:39:33 -04:00
Ashwin Maroli
7f09faa954 Replace regex arg to :gsub with a string arg (#7189)
Merge pull request 7189
2018-08-21 10:39:31 -04:00
jekyllbot
3f62fd96d3 Update history to reflect merge of #7169 [ci skip] 2018-08-21 03:38:54 -04:00
Pat Hawks
24dd9f1457 Add Cache class (#7169)
Merge pull request 7169
2018-08-21 03:38:53 -04:00
jekyllbot
30568ca7b8 Update history to reflect merge of #7184 [ci skip] 2018-08-16 16:30:52 -04:00
Frank Taillandier
7791ad27a2 update .gitignore 2018-08-16 18:06:56 +02:00
liv
61bb9e9626 change team page phrasing 2018-08-15 21:32:12 +02:00
jekyllbot
19a7c1f06a Update history to reflect merge of #7181 [ci skip] 2018-08-14 08:07:21 -04:00
David J. Malan
176489b95c Corrected sample usage of postfiles (#7181)
Merge pull request 7181
2018-08-14 08:07:19 -04:00
jekyllbot
9a9c480831 Update history to reflect merge of #7179 [ci skip] 2018-08-09 06:30:21 -04:00
Victor Afanasev
5ec7324559 Add info how to deploy using pre-push git hook (#7179)
Merge pull request 7179
2018-08-09 06:30:20 -04:00
jekyllbot
4814b45847 Update history to reflect merge of #7173 [ci skip] 2018-08-06 15:02:19 -04:00
Ashwin Maroli
81392ae0ee Output Jekyll Version while debugging (#7173)
Merge pull request 7173
2018-08-06 15:02:17 -04:00
olivia
9136e9c394 add cloudcannon to site sponsors 2018-08-06 18:33:31 +02:00
liv
4d6edb3a26 update sponsor links 2018-08-04 19:38:08 +02:00
olivia
fb7a13ab1e add siteleaf to site sponsors 2018-08-03 13:31:41 +02:00
jekyllbot
87cc350313 Update history to reflect merge of #7168 [ci skip] 2018-08-02 15:05:10 -04:00
Ken Salomon
85be75160c Document TSV as a supported data file format (#7168)
Merge pull request 7168
2018-08-02 15:05:09 -04:00
Frank Taillandier
0ff2ef7d28 Merge pull request #7171 from ashmaroli/codeclimate-badges
Fix links in Code Climate badges
2018-08-02 20:58:26 +02:00
Ashwin Maroli
aaa723373b Fix links in Code Climate badges 2018-08-02 22:30:33 +05:30
liv
ce6173360d revert and manually use sponsor images 2018-08-02 09:24:04 +02:00
liv
b4b90a989c use the correct sponsor embed 2018-08-02 09:22:13 +02:00
liv
edbd9f3028 fix opencollective display in readme 2018-08-01 14:25:41 +02:00
liv
2eb0c5bc8d Merge pull request #7142 from monkeywithacupcake/patch-1
Display Open Collective backers and sponsors
2018-08-01 14:12:13 +02:00
liv
e51f9c346c Merge pull request #7143 from jekyll/sponsor
Prepare docs for sponsoring
2018-08-01 14:11:33 +02:00
liv
f0da10a77a update blog post date 2018-08-01 09:56:40 +02:00
jekyllbot
51629865de Update history to reflect merge of #7158 [ci skip] 2018-07-31 16:12:59 -04:00
Pat Hawks
6e980f3f6a Remove 'cache_dir' during jekyll clean (#7158)
Merge pull request 7158
2018-07-31 16:12:57 -04:00
jekyllbot
37c9347422 Update history to reflect merge of #7163 [ci skip] 2018-07-28 12:22:16 -04:00
Zhang Xiangze
0001895968 Add closing tags for <a> (#7163)
Merge pull request 7163
2018-07-28 12:22:15 -04:00
jekyllbot
d0f8c86d2f Update history to reflect merge of #7162 [ci skip] 2018-07-27 15:17:03 -04:00
Kevin Plattret
493757d7cf Add version badge for date filters with ordinal (#7162)
Merge pull request 7162
2018-07-27 15:17:00 -04:00
Pat Hawks
ef41eeb7d4 Name some of our Travis builds 2018-07-23 13:29:36 -05:00
jekyllbot
fe0a6caa7f Update history to reflect merge of #7146 [ci skip] 2018-07-20 19:22:46 -04:00
Ken Salomon
5701087e7b Do not process Liquid in post excerpt when disabled in front matter (#7146)
Merge pull request 7146
2018-07-20 19:22:44 -04:00
Ashwin Maroli
e9f78247de Merge branch 'master' into sponsor 2018-07-17 22:06:47 +05:30
jekyllbot
02a2f9460a Update history to reflect merge of #7144 [ci skip] 2018-07-17 10:42:12 -04:00
Ashwin Maroli
e61cc513e9 Lock Travis to Bundler-1.16.2 (#7144)
Merge pull request 7144
2018-07-17 10:42:10 -04:00
olivia
477dbb34f4 update with suggestions 2018-07-17 16:04:14 +02:00
olivia
f0e26e9c1a add intentions to post; change title 2018-07-17 15:58:16 +02:00
olivia
9f05275619 Merge branch 'master' into sponsor 2018-07-17 12:20:54 +02:00
olivia
89ac354d5a add blank newline 2018-07-17 12:20:09 +02:00
jess
5c41eb743f Update README.markdown
Hi, I'm making updates for Open Collective. Either you or a supporter signed this repo up for Open Collective. This pull request adds backers and sponsors from your Open Collective https://opencollective.com/jekyll❤️

It adds two badges at the top to show the latest number of backers and sponsors. It also adds placeholders so that the avatar/logo of new backers/sponsors can automatically be shown without having to update your README.md. [more info](https://github.com/opencollective/opencollective/wiki/Github-banner). See how it looks on this [repo](https://github.com/apex/apex#backers).

You can also add a postinstall script to let people know after npm|yarn install that you are welcoming donations (optional). [More info](https://github.com/OpenCollective/opencollective-cli)
You can also add a "Donate" button to your website and automatically show your backers and sponsors there with our widgets. Have a look here: https://opencollective.com/widgets

P.S: As with any pull request, feel free to comment or suggest changes. The only thing "required" are the placeholders on the README because we believe it's important to acknowledge the people in your community that are contributing (financially or with code!).

Thank you for your great contribution to the open source community. You are awesome! 🙌
And welcome to the open collective community! 😊

Come chat with us in the #opensource channel on https://slack.opencollective.com - great place to ask questions and share best practices with other open source sustainers!
2018-07-16 13:06:18 -07:00
jekyllbot
ad9fbeb4b1 Update history to reflect merge of #7140 [ci skip] 2018-07-16 15:04:22 -04:00
Ashwin Maroli
50e0379444 Initialize upgrading doc for v4.0 (#7140)
Merge pull request 7140
2018-07-16 15:04:19 -04:00
Frank Taillandier
c2649ce5fb Merge pull request #7141 from belhassen07/master
Add dev.to link
2018-07-16 17:14:37 +02:00
Frank Taillandier
4cfba70355 Merge branch 'master' into master 2018-07-16 17:14:22 +02:00
Belhassen Chelbi
6802ec93eb Add Dev.to website link 2018-07-16 15:13:26 +01:00
jekyllbot
707e48a412 Update history to reflect merge of #7139 [ci skip] 2018-07-16 09:58:28 -04:00
Belhassen Chelbi
ca2766c2a1 Add DEV Community's Jekyll tag to community page (#7139)
Merge pull request 7139
2018-07-16 09:58:26 -04:00
Belhassen Chelbi
af78a1a568 Add DEV Community's Jekyll tag to community page 2018-07-16 03:17:22 +01:00
jekyllbot
34a1b7aeef Update history to reflect merge of #7138 [ci skip] 2018-07-15 18:18:44 -04:00
104fps
b2c6d03b47 Update docs about post creation (#7138)
Merge pull request 7138
2018-07-15 18:18:43 -04:00
jekyllbot
e49f507e4f Update history to reflect merge of #7134 [ci skip] 2018-07-15 16:11:46 -04:00
Ashwin Maroli
506c764e1e fix incorrectly passed arguments to assert_equal (#7134)
Merge pull request 7134
2018-07-15 16:11:45 -04:00
jekyllbot
16e9820dac Update history to reflect merge of #7133 [ci skip] 2018-07-13 19:48:02 -04:00
Ken Salomon
c7ce7ae054 fix up refute_equal call (#7133)
Merge pull request 7133
2018-07-13 19:48:00 -04:00
jekyllbot
3be9e74942 Update history to reflect merge of #6824 [ci skip] 2018-07-13 12:12:51 -04:00
Pat Hawks
7a4b3fe03d Disable Liquid via front matter (#6824)
Merge pull request 6824
2018-07-13 12:12:49 -04:00
jekyllbot
b69196cad3 Update history to reflect merge of #7132 [ci skip] 2018-07-13 06:33:58 -04:00
Scott Killen
f9ada3ced6 Fix custom 404 page for GitHub pages (#7132)
Merge pull request 7132
2018-07-13 06:33:56 -04:00
jekyllbot
e10444abf7 Update history to reflect merge of #7128 [ci skip] 2018-07-12 10:21:25 -04:00
Ashwin Maroli
9adac3a11e Fix Rubocop offences in test files (#7128)
Merge pull request 7128
2018-07-12 10:21:23 -04:00
jekyllbot
0612542582 Update history to reflect merge of #7125 [ci skip] 2018-07-11 13:32:41 -04:00
jekyllbot
5d1f85928a Use a real theme in the example (#7125)
Merge pull request 7125
2018-07-11 13:32:39 -04:00
jekyllbot
dcbc443387 Update history to reflect merge of #7126 [ci skip] 2018-07-11 10:01:20 -04:00
Jakob Krigovsky
1801793035 Use .markdown for page templates (#7126)
Merge pull request 7126
2018-07-11 10:01:17 -04:00
jekyllbot
0e0960e2c3 Update history to reflect merge of #7127 [ci skip] 2018-07-11 09:14:16 -04:00
Nicolas Hoizey
402ee84abb Add the jekyll-firstimage filter plugin (#7127)
Merge pull request 7127
2018-07-11 09:14:14 -04:00
jekyllbot
5950a7c113 Update history to reflect merge of #7122 [ci skip] 2018-07-09 23:06:56 -04:00
Alex Wood
8846741ed2 Fix #7082 Add call to unused method (#7122)
Merge pull request 7122
2018-07-09 23:06:54 -04:00
jekyllbot
a1ea95d445 Update history to reflect merge of #7114 [ci skip] 2018-07-09 12:12:39 -04:00
Derek Smart
3650baa5db add jekyll-xml-source (#7114)
Merge pull request 7114
2018-07-09 12:12:37 -04:00
Pat Hawks
4c7dbb6915 Fix tests to have "expected value" as the first argument passed to assert_equal (#7104)
* assert_equal(exp, act)

* improve clarity of PageWithoutAFile test

* Hoist invariant out of loop
2018-07-09 11:10:35 -05:00
jekyllbot
c124937e69 Update history to reflect merge of #6608 [ci skip] 2018-07-09 01:25:34 -04:00
Kelly-Ann Green
f4fcfbdaa0 Update item_property to return numbers as numbers instead of strings (#6608)
Merge pull request 6608
2018-07-09 01:25:32 -04:00
jekyllbot
caa0846e7b Update history to reflect merge of #7095 [ci skip] 2018-07-08 14:12:13 -04:00
Alexey Kopytko
d57715031a Instructions to view theme’s files under Linux (#7095)
Merge pull request 7095
2018-07-08 14:12:11 -04:00
jekyllbot
565567ac08 Update history to reflect merge of #7105 [ci skip] 2018-07-08 14:04:43 -04:00
Christian Oliff
385bf36724 Updates to v1.4 (#7105)
Merge pull request 7105
2018-07-08 14:04:41 -04:00
Frank Taillandier
70f4d4908d Fix: Escape Liquid 2018-07-07 13:01:41 +02:00
jekyllbot
bfd58fa949 Update history to reflect merge of #7112 [ci skip] 2018-07-06 14:47:05 -04:00
Boris van Hoytema
43f4fc6c70 GitHub enables you to use themes from other repos (#7112)
Merge pull request 7112
2018-07-06 14:47:03 -04:00
jekyllbot
4d96e4b7bd Update history to reflect merge of #7024 [ci skip] 2018-06-29 15:36:39 -04:00
Tom Harvey
e418d9b2f4 Example of CircleCI deployment through CircleCI v2 (#7024)
Merge pull request 7024
2018-06-29 15:36:37 -04:00
olivia
2dcdc49a36 add sponsoring post 2018-06-28 19:17:50 +02:00
olivia
efb7819d2e add forestry logo 2018-06-28 17:55:29 +02:00
olivia
67331185c2 add sponsor display in website footer 2018-06-26 22:48:26 +02:00
jekyllbot
caae9d2eca Update history to reflect merge of #7078 [ci skip] 2018-06-25 21:43:35 -04:00
Ralph
cb84017bbe Update rubocop version to 0.57.x (#7078)
Merge pull request 7078
2018-06-25 21:43:33 -04:00
jekyllbot
0728ccf08b Update history to reflect merge of #7093 [ci skip] 2018-06-23 16:57:36 -04:00
jekyllbot
0b6962cfe9 Use assert_include (#7093)
Merge pull request 7093
2018-06-23 16:57:35 -04:00
jekyllbot
3204445d6f Update history to reflect merge of #7091 [ci skip] 2018-06-23 09:27:32 -04:00
Steven Westmoreland
76422b03b7 Adding jekyll-info plugin (#7091)
Merge pull request 7091
2018-06-23 09:27:30 -04:00
jekyllbot
76919eea3b Update history to reflect merge of #7089 [ci skip] 2018-06-21 05:25:52 -04:00
Anne Gentle
1d461224dd Update travis-ci.md (#7089)
Merge pull request 7089
2018-06-21 05:25:50 -04:00
jekyllbot
8b63fbed6b Update history to reflect merge of #7086 [ci skip] 2018-06-20 11:43:50 -04:00
Jan Pobořil
f0cbbbb304 Added plugin json-get. (#7086)
Merge pull request 7086
2018-06-20 11:43:48 -04:00
jekyllbot
55ea4c840b Update history to reflect merge of #7066 [ci skip] 2018-06-17 11:36:56 -04:00
jekyllbot
bbc9c99cf9 Remember to release docs gem (#7066)
Merge pull request 7066
2018-06-17 11:36:54 -04:00
Frank Taillandier
6dbf8f469c Merge pull request #7070 from chrisfinazzo/remove-gemnasium
Remove Gemnasium badge
2018-06-12 17:55:34 +02:00
chrisfinazzo
cd996387a5 Remove Gemnasium badge 2018-06-11 22:05:38 -04:00
jekyllbot
baf70295f9 Update history to reflect merge of #7049 [ci skip] 2018-06-05 13:27:04 -04:00
Patrick Favre-Bulle
10b23f7466 Add Hints for some Improved Travis Config in Doc (#7049)
Merge pull request 7049
2018-06-05 13:27:02 -04:00
jekyllbot
e47dad9d20 Update history to reflect merge of #7058 [ci skip] 2018-06-05 12:09:26 -04:00
Stephan Fischer
4baa0093ed [Doc] Fixing a small typo (#7058)
Merge pull request 7058
2018-06-05 12:09:24 -04:00
Frank Taillandier
d7cef0c6db Merge branch 'master' into release-3.8.3 2018-06-05 16:08:49 +02:00
Pat Hawks
4c2c33aefd Merge branch '3.8-stable' into master 2018-06-05 08:31:40 -05:00
Pat Hawks
48e2de862d Release 💎 3.8.3 2018-06-05 08:23:52 -05:00
Pat Hawks
5687a09255 Release 💎 3.8.3 2018-06-04 21:39:43 -05:00
jekyllbot
c6415ce081 Update history to reflect merge of #7046 [ci skip] 2018-06-02 13:56:29 -04:00
Keith Mifsud
0e360623cb Listed the keyll-target-blank plugin in plugins list. (#7046)
Merge pull request 7046
2018-06-02 13:56:27 -04:00
jekyllbot
035ea729ff Update history to reflect merge of #7050 [ci skip] 2018-06-02 06:50:34 -04:00
Frank Taillandier
6c771608e5 Update Rubocop's config (#7050)
Merge pull request 7050
2018-06-02 06:50:32 -04:00
jekyllbot
6805f1c342 Update history to reflect merge of #7044 [ci skip] 2018-05-31 12:13:47 -04:00
Parker Moore
1684905ec7 Allow i18n v0.9.5 and higher (#7044)
Merge pull request 7044
2018-05-31 12:13:45 -04:00
jekyllbot
d64493806c Update history to reflect merge of #7037 [ci skip] 2018-05-24 16:27:59 -04:00
Ali Thompson
e3b325931b Update drafts.md (#7037)
Merge pull request 7037
2018-05-24 16:27:57 -04:00
jekyllbot
a96f846bdb Update history to reflect merge of #7031 [ci skip] 2018-05-21 02:45:05 -04:00
Dan Friedman
97c28f5495 Updated to supported version (#7031)
Merge pull request 7031
2018-05-21 02:45:03 -04:00
jekyllbot
03c252ba4d Update history to reflect merge of #7027 [ci skip] 2018-05-20 11:32:29 -05:00
Philip Belesky
6792ff936c Fix --unpublished not affecting collection documents (#7027)
Merge pull request 7027
2018-05-20 11:31:28 -05:00
jekyllbot
e932a1e27f Update history to reflect merge of #7027 [ci skip] 2018-05-20 12:30:17 -04:00
Philip Belesky
9aec161550 Fix --unpublished not affecting collection documents (#7027)
Merge pull request 7027
2018-05-20 12:30:15 -04:00
jekyllbot
9968df06b3 Update history to reflect merge of #6768 [ci skip] 2018-05-19 15:49:56 -04:00
Ana María Martínez Gómez
bc84603017 Useless privates removed (#6768)
Merge pull request 6768
2018-05-19 15:49:54 -04:00
Pat Hawks
d22b8ee392 Release 💎 3.8.2 2018-05-19 10:30:00 -05:00
Pat Hawks
784f2e2c0d Merge branch '3.8-stable' 2018-05-19 10:30:00 -05:00
jekyllbot
b89efa5d5d Update history to reflect merge of #7016 [ci skip] 2018-05-18 12:38:33 -05:00
Nikita Skalkin
450da91b4b Update rubocop version (#7016)
Merge pull request 7016
2018-05-18 12:34:52 -05:00
jekyllbot
b18872b658 Update history to reflect merge of #7015 [ci skip] 2018-05-18 11:28:46 -05:00
Kyle Barbour
74581422e3 Add whitespace control to LIQUID_TAG_REGEX (#7015)
Merge pull request 7015
2018-05-18 11:27:43 -05:00
jekyllbot
aed72f6464 Update history to reflect merge of #7015 [ci skip] 2018-05-17 18:22:33 -04:00
Kyle Barbour
b915c7577b Add whitespace control to LIQUID_TAG_REGEX (#7015)
Merge pull request 7015
2018-05-17 18:22:32 -04:00
jekyllbot
3bf940b7ee Update history to reflect merge of #7016 [ci skip] 2018-05-15 15:37:08 -04:00
Nikita Skalkin
fbaf591c12 Update rubocop version (#7016)
Merge pull request 7016
2018-05-15 15:37:05 -04:00
liv
007af750f4 Merge pull request #6995 from jekyll/oe-patch-1
Replace individual core team emails with link to team page
2018-05-15 17:39:23 +02:00
jekyllbot
62d297d4a0 Update history to reflect merge of #7011 [ci skip] 2018-05-14 10:05:24 -04:00
Martin Scharm
df0a5f7b0b added the CAT plugin to the plugin list (#7011)
Merge pull request 7011
2018-05-14 10:05:22 -04:00
Ashwin Maroli
8bb98632b4 Merge branch 'master' into oe-patch-1 2018-05-11 12:41:02 +05:30
jekyllbot
5a41149b7b Update history to reflect merge of #7007 [ci skip] 2018-05-10 18:28:40 -04:00
Ashwin Maroli
4f06767ac8 Load Rouge for TestKramdown (#7007)
Merge pull request 7007
2018-05-10 18:28:39 -04:00
Frank Taillandier
c6000597d9 Rephrase sentence 2018-05-10 18:35:18 +02:00
jekyllbot
b63036989a Update history to reflect merge of #7005 [ci skip] 2018-05-10 10:40:55 -04:00
penguinpet
9343d2e6bb proposed change for passive voice. (#7005)
Merge pull request 7005
2018-05-10 10:40:54 -04:00
jekyllbot
5d1823b604 Update history to reflect merge of #6988 [ci skip] 2018-05-09 09:44:38 -04:00
jekyllbot
149d5de59a Remove support for rdiscount (#6988)
Merge pull request 6988
2018-05-09 09:44:36 -04:00
jekyllbot
c2211eec0c Update history to reflect merge of #6985 [ci skip] 2018-05-09 07:52:13 -04:00
Andreas Möller
0b196ebd00 Mention _drafts in custom collections_dir note (#6985)
Merge pull request 6985
2018-05-09 07:52:11 -04:00
jekyllbot
56593bf897 Update history to reflect merge of #7003 [ci skip] 2018-05-09 07:45:21 -04:00
Frank Taillandier
e9b507a0df Textile is only supported through a converter plugin (#7003)
Merge pull request 7003
2018-05-09 07:45:18 -04:00
jekyllbot
a59eaff789 Update history to reflect merge of #7002 [ci skip] 2018-05-09 06:20:25 -04:00
Frank Taillandier
e2d8d3b92f List all static files variables (#7002)
Merge pull request 7002
2018-05-09 06:20:23 -04:00
olivia
66f8e748fe Replace individual core team emails 2018-05-07 19:52:59 +02:00
jekyllbot
0c5b74377b Update history to reflect merge of #6994 [ci skip] 2018-05-07 13:49:56 -04:00
Arjun Thakur
cec17d03f8 Updated nginx configuration for custom-404-page documentation (#6994)
Merge pull request 6994
2018-05-07 13:49:55 -04:00
503 changed files with 18779 additions and 9063 deletions

View File

@@ -1,36 +1,53 @@
engines:
version: "2"
checks:
argument-count:
enabled: true
config:
threshold: 5
file-lines:
enabled: true
config:
threshold: 300
method-complexity:
enabled: true
config:
threshold: 15
method-count:
enabled: true
config:
threshold: 50
method-lines:
enabled: true
config:
threshold: 30
plugins:
fixme:
enabled: false
rubocop:
enabled: true
channel: rubocop-0-54
channel: rubocop-0-60
exclude_paths:
- .codeclimate.yml
- .gitignore
- .rspec
- .rubocop.yml
- .travis.yml
exclude_patterns:
- "*.*"
- ".*"
- Gemfile.lock
- CHANGELOG.{md,markdown,txt,textile}
- CONTRIBUTING.{md,markdown,txt,textile}
- readme.{md,markdown,txt,textile}
- README.{md,markdown,txt,textile}
- Readme.{md,markdown,txt,textile}
- ReadMe.{md,markdown,txt,textile}
- COPYING
- Gemfile
- LICENSE
- Rakefile
- features/**/*
- script/**/*
- docs/**/*
- spec/**/*
- test/**/*
- vendor/**/*
- benchmark/
- docs/
- exe/
- features/
- rake/
- rubocop/
- script/
- spec/
- test/
- vendor/
- lib/blank_template/
- lib/site_template/
- lib/theme_template/
- lib/jekyll/mime.types
- lib/jekyll/commands/serve/livereload_assets/livereload.js
ratings:
paths:
- lib/**/*.rb

55
.devcontainer/Dockerfile Normal file
View File

@@ -0,0 +1,55 @@
#-------------------------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information.
#-------------------------------------------------------------------------------------------------------------
FROM ruby:2
# Avoid warnings by switching to noninteractive
ENV DEBIAN_FRONTEND=noninteractive
# This Dockerfile adds a non-root user with sudo access. Use the "remoteUser"
# property in devcontainer.json to use it. On Linux, the container user's GID/UIDs
# will be updated to match your local UID/GID (when using the dockerFile property).
# See https://aka.ms/vscode-remote/containers/non-root-user for details.
ARG USERNAME=vscode
ARG USER_UID=1000
ARG USER_GID=$USER_UID
# Configure apt and install packages
RUN apt-get update \
&& apt-get -y install --no-install-recommends apt-utils dialog locales 2>&1 \
# Verify git, process tools installed
&& apt-get -y install git openssh-client iproute2 procps lsb-release \
#
# Install ruby-debug-ide and debase
&& gem install ruby-debug-ide \
&& gem install debase \
#
# Install node.js
&& apt-get -y install curl software-properties-common \
&& curl -sL https://deb.nodesource.com/setup_13.x | bash - \
&& apt-get -y install nodejs \
#
# Create a non-root user to use if preferred - see https://aka.ms/vscode-remote/containers/non-root-user.
&& groupadd --gid $USER_GID $USERNAME \
&& useradd -s /bin/bash --uid $USER_UID --gid $USER_GID -m $USERNAME \
# [Optional] Add sudo support for the non-root user
&& apt-get install -y sudo \
&& echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME\
&& chmod 0440 /etc/sudoers.d/$USERNAME \
#
# Clean up
&& apt-get autoremove -y \
&& apt-get clean -y \
&& rm -rf /var/lib/apt/lists/*
# Set the locale
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
dpkg-reconfigure --frontend=noninteractive locales && \
update-locale LANG=en_US.UTF-8
ENV LANG en_US.UTF-8
# Switch back to dialog for any ad-hoc use of apt-get
ENV DEBIAN_FRONTEND=dialog

View File

@@ -0,0 +1,26 @@
// For format details, see https://aka.ms/vscode-remote/devcontainer.json or this file's README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.101.1/containers/ruby-2
{
"name": "Ruby 2",
"dockerFile": "Dockerfile",
// Set *default* container specific settings.json values on container create.
"settings": {
"terminal.integrated.shell.linux": "/bin/bash"
},
// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"rebornix.Ruby"
]
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],
// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "bundle install",
// Uncomment to connect as a non-root user. See https://aka.ms/vscode-remote/containers/non-root.
// "remoteUser": "vscode"
}

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
* text=auto

View File

@@ -4,30 +4,30 @@ Hi there! Interested in contributing to Jekyll? We'd love your help. Jekyll is a
## Where to get help or report a problem
See [the support guidelines](https://jekyllrb.com/docs/support/)
See the [support guidelines](https://jekyllrb.com/docs/support/)
## Ways to contribute
Whether you're a developer, a designer, or just a Jekyll devotee, there are lots of ways to contribute. Here's a few ideas:
* [Install Jekyll on your computer](https://jekyllrb.com/docs/installation/) and kick the tires. Does it work? Does it do what you'd expect? If not, [open an issue](https://github.com/jekyll/jekyll/issues/new) and let us know.
* Comment on some of the project's [open issues](https://github.com/jekyll/jekyll/issues). Have you experienced the same problem? Know a work around? Do you have a suggestion for how the feature could be better?
* Read through [the documentation](https://jekyllrb.com/docs/home/), and click the "improve this page" button, any time you see something confusing, or have a suggestion for something that could be improved.
* Browse through [the Jekyll discussion forum](https://talk.jekyllrb.com/), and lend a hand answering questions. There's a good chance you've already experienced what another user is experiencing.
* Find [an open issue](https://github.com/jekyll/jekyll/issues) (especially [those labeled `help-wanted`](https://github.com/jekyll/jekyll/issues?q=is%3Aopen+is%3Aissue+label%3Ahelp-wanted)), and submit a proposed fix. If it's your first pull request, we promise we won't bite, and are glad to answer any questions.
* Help evaluate [open pull requests](https://github.com/jekyll/jekyll/pulls), by testing the changes locally and reviewing what's proposed.
- [Install Jekyll on your computer](https://jekyllrb.com/docs/installation/) and kick the tires. Does it work? Does it do what you'd expect? If not, [open an issue](https://github.com/jekyll/jekyll/issues/new) and let us know.
- Comment on some of the project's [open issues](https://github.com/jekyll/jekyll/issues). Have you experienced the same problem? Know a work around? Do you have a suggestion for how the feature could be better?
- Read through the [documentation](https://jekyllrb.com/docs/home/), and click the "improve this page" button, any time you see something confusing, or have a suggestion for something that could be improved.
- Browse through the [Jekyll discussion forum](https://talk.jekyllrb.com/), and lend a hand answering questions. There's a good chance you've already experienced what another user is experiencing.
- Find an [open issue](https://github.com/jekyll/jekyll/issues) (especially [those labeled `help-wanted`](https://github.com/jekyll/jekyll/issues?q=is%3Aopen+is%3Aissue+label%3Ahelp-wanted)), and submit a proposed fix. If it's your first pull request, we promise we won't bite, and are glad to answer any questions.
- Help evaluate [open pull requests](https://github.com/jekyll/jekyll/pulls), by testing the changes locally and reviewing what's proposed.
## Submitting a pull request
### Pull requests generally
* The smaller the proposed change, the better. If you'd like to propose two unrelated changes, submit two pull requests.
- The smaller the proposed change, the better. If you'd like to propose two unrelated changes, submit two pull requests.
* The more information, the better. Make judicious use of the pull request body. Describe what changes were made, why you made them, and what impact they will have for users.
- The more information, the better. Make judicious use of the pull request body. Describe what changes were made, why you made them, and what impact they will have for users.
* Pull requests are easy and fun. If this is your first pull request, it may help to [understand GitHub Flow](https://guides.github.com/introduction/flow/).
- If this is your first pull request, it may help to [understand GitHub Flow](https://guides.github.com/introduction/flow/).
* If you're submitting a code contribution, be sure to read the [code contributions](#code-contributions) section below.
- If you're submitting a code contribution, be sure to read the [code contributions](#code-contributions) section below.
### Submitting a pull request via github.com
@@ -49,7 +49,7 @@ That's it! You'll be automatically subscribed to receive updates as others revie
2. Clone the repository locally `git clone https://github.com/<you-username>/jekyll`.
3. Create a new, descriptively named branch to contain your change ( `git checkout -b my-awesome-feature` ).
4. Hack away, add tests. Not necessarily in that order.
5. Make sure everything still passes by running `script/cibuild` (see [the tests section](#running-tests-locally) below)
5. Make sure everything still passes by running `script/cibuild` (see the [tests section](#running-tests-locally) below)
6. Push the branch up ( `git push origin my-awesome-feature` ).
7. Create a pull request by visiting `https://github.com/<your-username>/jekyll` and following the instructions at the top of the screen.
@@ -76,11 +76,12 @@ If you ever need to update our documentation with an icon that is not already av
5. Click `Generate Font` on the bottom-horizontal-bar.
6. Inspect the included icons and proceed by clicking `Download`.
7. Extract the font files and adapt the CSS to the paths we use in Jekyll:
- Copy the entire `fonts` directory over and overwrite existing ones at `<jekyll>/docs/`.
- Copy the contents of `selection.json` and overwrite existing content inside `<jekyll>/docs/icomoon-selection.json`.
- Copy the entire `@font-face {}` declaration and only the **new-icon(s)' css declarations** further below, to update the
- Copy the entire `fonts` directory over and overwrite existing ones at `<jekyll>/docs/`.
- Copy the contents of `selection.json` and overwrite existing content inside `<jekyll>/docs/icomoon-selection.json`.
- Copy the entire `@font-face {}` declaration and only the **new-icon(s)' css declarations** further below, to update the
`<jekyll>/docs/_sass/_font-awesome.scss` sass partial.
- Fix paths in the `@font-face {}` declaration by adding `../` before `fonts/FontAwesome.*` like so:
- Fix paths in the `@font-face {}` declaration by adding `../` before `fonts/FontAwesome.*` like so:
`('../fonts/Fontawesome.woff?9h6hxj')`.
### Adding plugins
@@ -89,7 +90,7 @@ If you want to add your plugin to the [list of plugins](https://jekyllrb.com/doc
## Code Contributions
Interesting in submitting a pull request? Awesome. Read on. There's a few common gotchas that we'd love to help you avoid.
Interested in submitting a pull request? Awesome. Read on. There's a few common gotchas that we'd love to help you avoid.
### Tests and documentation
@@ -101,19 +102,21 @@ If your contribution changes any Jekyll behavior, make sure to update the docume
#### Tests
* If you're creating a small fix or patch to an existing feature, a simple test is more than enough. You can usually copy/paste from an existing example in the `tests` folder, but if you need you can find out about our tests suites [Shoulda](https://github.com/thoughtbot/shoulda/tree/master) and [RSpec-Mocks](https://github.com/rspec/rspec-mocks).
- If you're creating a small fix or patch to an existing feature, a simple test is more than enough. You can usually copy/paste from an existing example in the `tests` folder, but if you need you can find out about our tests suites [Shoulda](https://github.com/thoughtbot/shoulda/tree/master) and [RSpec-Mocks](https://github.com/rspec/rspec-mocks).
* If it's a brand new feature, create a new [Cucumber](https://github.com/cucumber/cucumber/) feature, reusing existing steps where appropriate.
- If it's a brand new feature, create a new [Cucumber](https://github.com/cucumber/cucumber/) feature, reusing existing steps where appropriate.
### Code contributions generally
* Jekyll uses the [Rubocop](https://github.com/bbatsov/rubocop) static analyzer to ensure that contributions follow the [GitHub Ruby Styleguide](https://github.com/styleguide/ruby). Please check your code using `script/fmt` and resolve any errors before pushing your branch.
- Jekyll uses the [Rubocop](https://github.com/bbatsov/rubocop) static analyzer to ensure that contributions follow the [GitHub Ruby Styleguide](https://github.com/styleguide/ruby). Please check your code using `script/fmt` and resolve any errors before pushing your branch.
* Don't bump the Gem version in your pull request (if you don't know what that means, you probably didn't).
- Don't bump the Gem version in your pull request (if you don't know what that means, you probably didn't).
* You can use the command `script/console` to start a REPL to explore the result of
Jekyll's methods. It also provides you with helpful methods to quickly create a
site or configuration. [Feel free to check it out!](https://github.com/jekyll/jekyll/blob/master/script/console)
- You can use the command `script/console` to start a REPL to explore the result of
Jekyll's methods. It also provides you with helpful methods to quickly create a
site or configuration. [Feel free to check it out!](https://github.com/jekyll/jekyll/blob/master/script/console)
- Previously, we've used the WIP Probot app to help contributors determine whether their pull request is ready for review. Please use a [draft pull request](https://help.github.com/en/articles/about-pull-requests#draft-pull-requests) instead. When you're ready, [mark the pull request as ready for review](https://help.github.com/en/articles/changing-the-stage-of-a-pull-request)
## Running tests locally
@@ -146,6 +149,10 @@ script/cucumber features/blah.feature
Both `script/test` and `script/cucumber` can be run without arguments to
run its entire respective suite.
## Visual Studio Code Development Container
If you've got [Visual Studio Code](https://code.visualstudio.com/) with the [Remote Development Extension Pack](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack) installed then simply opening this repository in Visual Studio Code and following the prompts to "Re-open In A Development Container" will get you setup and ready to go with a fresh environment with all the requirements installed.
## A thank you
Thanks! Hacking on Jekyll should be fun. If you find any of this hard to figure out, let us know so we can improve our process or documentation!

5
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1,5 @@
# These are supported funding model platforms
# github: jekyll
open_collective: jekyll
tidelift: rubygems/jekyll

View File

@@ -1,78 +0,0 @@
<!--
Hi! Thanks for considering to file a bug with Jekyll. Please take the time to
answer the basic questions. You can convert `[ ]` into `[x]` to check boxes (or submit
and check.) If there is no need for certain fields like output and redirection, please delete
those headers before submitting. We know not all tickets require those steps.
Otherwise, please try to be as detailed as possible.
If you are unsure this is a bug in Jekyll, or this is a bug caused
by a plugin that isn't directly related to Jekyll, or if this is just
a generic usage question, please consider asking your question at
https://talk.jekyllrb.com where non-bug questions go.
Thanks!
-->
- [ ] I believe this to be a bug, not a question about using Jekyll.
- [ ] I updated to the latest Jekyll (or) if on GitHub Pages to the latest `github-pages`
- [ ] I ran `jekyll doctor` to check my configuration
- [ ] I read the CONTRIBUTION file at https://jekyllrb.com/docs/contributing/
- [ ] This is a feature request.
---
- [ ] I am on (or have tested on) ***macOS*** 10+
- [ ] I am on (or have tested on) ***Debian/Ubuntu*** GNU/Linux
- [ ] I am on (or have tested on) ***Fedora*** GNU/Linux
- [ ] I am on (or have tested on) ***Arch*** GNU/Linux
- [ ] I am on (or have tested on) ***Other*** GNU/Linux
- [ ] I am on (or have tested on) ***Windows*** 10+
<!--
Other GNU/Linux includes Scientific GNU/Linux, CentOS GNU/Linux, and others.
If you are on a minor sub-distro (such as ElementaryOS which does not diverge from
Ubuntu much, please check the parent distro. Kubuntu, Edubuntu, Lubuntu should
also be flagged as Ubuntu as their packages come from upstream Ubuntu.
-->
---
- [ ] I was trying to install.
- [ ] There is a broken Plugin API.
- [ ] I had an error on GitHub Pages, and I have reproduced it locally.
- [ ] I had an error on GitHub Pages, and GitHub Support said it was a Jekyll Bug.
- [ ] I had an error on GitHub Pages and I did not test it locally.
- [ ] I was trying to build.
- [ ] It was another bug.
## My Reproduction Steps
<!--
If this error occurred on GitHub Pages, please try to provide us with logs,
and look at them yourself, to determine if this is an actual Jekyll bug. In
the event you are unsure, file a ticket, however, when you do please provide
the logs (strip them of personal information.)
If you have trouble finding your logs, please email support@github.com and
they will happily help you. If you cannot find logs, please try your best to
replicate it locally because we cannot fix a problem if we do not know
exactly what caused it, or within a relatively close distance.
-->
<!--
Insert the steps you took to for this problem to exist. Such as the
directories you created and, the full command you ran, and include any
plugins you have installed, this is very important.
If your steps are complicated, you can also submit a GitHub
repository (please no zips, they will be removed and rejected by maintainers,)
and just supply a command for us to reproduce it ourselves.
-->
## The Output I Wanted
<!--
Insert the output from the command. Alter it as little as you can.
The minimum should be personal information. Though we normally don't log
anything like that so there should be no need to alter it.
-->

71
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,71 @@
---
name: Bug Report
about: Is something not working as expected?
title: ''
labels: ''
assignees: ''
---
<!--
Hi! Thanks for considering to file a bug with Jekyll. Please take the time to
answer the basic questions. Please try to be as detailed as possible.
If you are unsure this is a bug in Jekyll, or this is a bug caused
by a plugin that isn't directly related to Jekyll, or if this is just
a generic usage question, please consider asking your question at
https://talk.jekyllrb.com where non-bug questions go.
Thanks!
-->
<!--
Make sure that you've done all of these. If you're sure that the bug you're
reporting is only apparent in a previous version of Jekyll, please say so explicitly
in your description.
- I updated to the latest Jekyll (or) if on GitHub Pages to the latest `github-pages`
- I ran `jekyll doctor` to check my configuration
- I read the contributing document at https://jekyllrb.com/docs/contributing/
-->
## My Environment
<!--
Replace the values in the Version(s) column with the ones in your build. If you're not
using `github-pages`, just replace it with "No".
-->
| Software | Version(s) |
| ---------------- | ---------- |
| Operating System | |
| `jekyll` | Latest |
| `github-pages` | Latest |
---
## Expected Behaviour
<!--
What is it you expected to happen? This should be a description of how the
functionality you tried to use is supposed to work.
-->
## Current Behavior
<!--
Describe the details of the bug. Be sure to include any steps you took for the
problem to exist, such as the directories you created and the full command
you ran. Include any plugins you have installed (this is very important!).
You can include any logs you think relevant here. If you're using GitHub pages
and you're not sure where your logs are, please email support@github.com and
they will happily help you.
-->
## Code Sample
<!--
Please provide a code repository, gist, code snippet or sample files to
reproduce the issue.
-->

5
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Jekyll Community Forum
url: https://talk.jekyllrb.com/
about: Please ask and answer questions here.

24
.github/ISSUE_TEMPLATE/documentation.md vendored Normal file
View File

@@ -0,0 +1,24 @@
---
name: Documentation
about: Found a typo or something that isn't crystal clear in our docs?
title: 'docs: '
labels: documentation
assignees: DirtyF
---
<!-- Thanks for taking the time to open an issue and help us make Jekyll better! -->
## Motivation
<!-- Why should we update our docs? -->
## Suggestion
<!-- What should we do instead? -->
<!-- Thanks for taking the time to open an issue and help us make Jekyll better! -->

View File

@@ -0,0 +1,73 @@
---
name: Feature Request
about: Want us to add any features to Jekyll?
title: 'feat: '
labels: feature
assignees: ''
---
<!--
Hi! Thanks for considering to file a feature request with Jekyll. Please take the time to
answer the basic questions. Please try to be as detailed as possible.
Thanks!
-->
## Summary
<!--
A one-paragraph explanation of the feature.
-->
## Motivation
<!--
Why do you want to see this feature in Jekyll? What makes you sure that it should not be
implemented at the plugin level, but in Jekyll core? What use cases does it support?
NOTE: Please be mindful of the Jekyll philosophy (https://jekyllrb.com/philosophy/),
particularily Section 5. Think about if 90% of the users would benefit from your
feature request, and whether your feature would be better off in a plugin.
-->
## Guide-level explanation
<!--
Explain the proposal as if it was already included in the project and you
were teaching it to another programmer. That generally means:
- Introducing new named concepts.
- Explaining the feature largely in terms of examples.
- If applicable, provide sample error messages, deprecation warnings, or
migration guidance.
If this is a small feature, you may omit this section.
-->
## Reference-level explanation
<!--
This is the technical portion of the feature request. Explain the design in
sufficient detail that:
- Its interaction with other features is clear.
- It is reasonably clear how the feature would be implemented.
- Corner cases are dissected by example.
If you do not know how to answer this, you can omit it. No worries!
-->
## Drawbacks
<!--
Why should we *not* do this?
-->
## Unresolved Questions
<!--
What related issues do you consider out of scope for this feature that could be
addressed in the future independently of the solution that comes out of this
feature?
-->

46
.github/PULL_REQUEST_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,46 @@
<!--
Thanks for creating a Pull Request! Before you submit, please make sure
you've done the following:
- I read the contributing document at https://jekyllrb.com/docs/contributing/
-->
<!--
Make our lives easier! Choose one of the following by uncommenting it:
-->
<!-- This is a 🐛 bug fix. -->
<!-- This is a 🙋 feature or enhancement. -->
<!-- This is a 🔦 documentation change. -->
<!-- This is a 🔨 code refactoring. -->
<!--
Before you submit this pull request, make sure to have a look at the following
checklist. If you don't know how to do some of these, that's fine! Submit
your pull request and we will help you out on the way.
- I've added tests (if it's a bug, feature or enhancement)
- I've adjusted the documentation (if it's a feature or enhancement)
- The test suite passes locally (run `script/cibuild` to verify this)
-->
## Summary
<!--
Provide a description of what your pull request changes.
-->
## Context
<!--
Is this related to any GitHub issue(s)?
You can use keywords to automatically close the related issue.
For example, (all of) the following will close issue #4567 when your PR is merged.
Closes #4567
Fixes #4567
Resolves #4567
Use any one of the above as applicable.
-->

15
.github/config.yml vendored Normal file
View File

@@ -0,0 +1,15 @@
updateDocsComment: >
Thanks for opening this pull request! The maintainers of this repository would appreciate it if you would update some of our documentation based on your changes.
updateDocsWhiteList:
- bug
- fix
- Backport
- dev
- Update
- WIP
- chore
updateDocsTargetFiles:
- README
- docs/

14
.github/workflows/actions/memprof.rb vendored Normal file
View File

@@ -0,0 +1,14 @@
# frozen_string_literal: true
require 'jekyll'
require 'memory_profiler'
MemoryProfiler.report(allow_files: ['lib/jekyll/', 'lib/jekyll.rb']) do
Jekyll::PluginManager.require_from_bundler
Jekyll::Commands::Build.process({
"source" => File.expand_path(ARGV[0]),
"destination" => File.expand_path("#{ARGV[0]}/_site"),
"disable_disk_cache" => true,
})
puts ''
end.pretty_print(scale_bytes: true, normalize_paths: true)

85
.github/workflows/ci.yml vendored Normal file
View File

@@ -0,0 +1,85 @@
name: Continuous Integration
on:
push:
branches:
- 4.2-stable
pull_request:
branches:
- 4.2-stable
jobs:
ci:
if: "!contains(github.event.commits[0].message, '[ci skip]')"
name: 'Ruby ${{ matrix.ruby_version }}'
runs-on: 'ubuntu-latest'
env:
CI: true
strategy:
fail-fast: false
matrix:
ruby_version:
- 2.5
- 2.7
- jruby-9.2.11.1
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 5
- name: "Set up Ruby ${{ matrix.ruby_version }}"
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby_version }}
bundler-cache: true
- name: Run Unit Tests
run: bash script/test
- name: Run Cucumber Features
run: bash script/cucumber
- name: Sanity Check
run: bash script/default-site
style_check:
if: "!contains(github.event.commits[0].message, '[ci skip]')"
name: 'Code Style Check (Ruby ${{ matrix.ruby_version }})'
runs-on: 'ubuntu-latest'
strategy:
fail-fast: false
matrix:
ruby_version:
- 2.5
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 5
- name: "Set up Ruby ${{ matrix.ruby_version }}"
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby_version }}
bundler-cache: true
- name: Run RuboCop
run: bash script/fmt
profile_docs:
if: "!contains(github.event.commits[0].message, '[ci skip]')"
name: 'Profile Docs Site (Ruby ${{ matrix.ruby_version }})'
runs-on: 'ubuntu-latest'
env:
CI: true
strategy:
fail-fast: false
matrix:
ruby_version:
- 2.5
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 5
- name: "Set up Ruby ${{ matrix.ruby_version }}"
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby_version }}
bundler-cache: true
- name: Build Docs site with --profile
run: bash script/profile-docs
- name: Profile memory usage of building Docs site
run: bash script/memprof

59
.github/workflows/docs.yml vendored Normal file
View File

@@ -0,0 +1,59 @@
name: Build and deploy Jekyll documentation site
on:
push:
branches:
- master
env:
RUBY_VERSION: 2.7
jobs:
deploy_docs:
if: "!contains(github.event.commits[0].message, '[ci skip]')"
runs-on: 'ubuntu-latest'
steps:
- uses: actions/checkout@v2
- uses: actions/setup-ruby@v1
with:
ruby-version: ${{ env.RUBY_VERSION }}
- name: Setup cache for Bundler
id: cache
uses: actions/cache@v2
with:
path: vendor/bundle
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
restore-keys: |
${{ runner.os }}-gems-
- name: Set up dependencies
run: |
bundle install --path=vendor/bundle --jobs 4 --retry 3
bundle clean
- name: Clone target branch
run: |
REMOTE_BRANCH="${REMOTE_BRANCH:-gh-pages}"
REMOTE_REPO="https://${GITHUB_ACTOR}:${{ secrets.GITHUB_TOKEN }}@github.com/${GITHUB_REPOSITORY}.git"
echo "Publishing to ${GITHUB_REPOSITORY} on branch ${REMOTE_BRANCH}"
rm -rf docs/_site/
git clone --depth=1 --branch="${REMOTE_BRANCH}" --single-branch --no-checkout \
"${REMOTE_REPO}" docs/_site/
- name: Build site
run: bundle exec jekyll build --source docs --destination docs/_site --verbose --trace
env:
# For jekyll-github-metadata
JEKYLL_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Deploy to GitHub Pages
run: |
SOURCE_COMMIT="$(git log -1 --pretty="%an: %B" "$GITHUB_SHA")"
pushd docs/_site &>/dev/null
: > .nojekyll
git add --all
git -c user.name="${GITHUB_ACTOR}" -c user.email="${GITHUB_ACTOR}@users.noreply.github.com" \
commit --quiet \
--message "Deploy docs from ${GITHUB_SHA}" \
--message "$SOURCE_COMMIT"
git push
popd &>/dev/null

34
.github/workflows/release.yml vendored Normal file
View File

@@ -0,0 +1,34 @@
name: Release Gem
on:
push:
branches:
- master
- "*-stable"
paths:
- "lib/**/version.rb"
jobs:
release:
if: "github.repository_owner == 'jekyll'"
name: "Release Gem (Ruby ${{ matrix.ruby_version }})"
runs-on: "ubuntu-latest"
strategy:
fail-fast: true
matrix:
ruby_version:
- 2.7
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: "Set up Ruby ${{ matrix.ruby_version }}"
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby_version }}
bundler-cache: true
- name: Build and Publish Gem
uses: ashmaroli/release-gem@dist
with:
gemspec_name: jekyll
env:
GEM_HOST_API_KEY: ${{ secrets.RUBYGEMS_GEM_PUSH_API_KEY }}

42
.github/workflows/third-party.yml vendored Normal file
View File

@@ -0,0 +1,42 @@
name: Third-Party Repository Profiling
on:
push:
branches:
- 4.2-stable
pull_request:
branches:
- 4.2-stable
jobs:
build_n_profile:
if: "!contains(github.event.commits[0].message, '[ci skip]')"
runs-on: 'ubuntu-latest'
env:
BUNDLE_GEMFILE: "sandbox/Gemfile"
BUNDLE_PATH: "vendor/bundle"
BUNDLE_JOBS: 4
BUNDLE_RETRY: 3
CI: true
steps:
- name: Checkout Jekyll
uses: actions/checkout@v2
with:
fetch-depth: 5
path: jekyll
- name: Checkout Third-Party Repository
uses: actions/checkout@v2
with:
repository: ashmaroli/tomjoht.github.io
path: sandbox
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7
bundler-cache: true
- name: Run Jekyll Build 3 times
run: |
bundle exec jekyll build -s sandbox -d sandbox/_site --trace
bundle exec jekyll build -s sandbox -d sandbox/_site --trace
bundle exec jekyll build -s sandbox -d sandbox/_site --trace
- name: Memory Analysis of Jekyll Build
run: bundle exec ruby jekyll/.github/workflows/actions/memprof.rb sandbox

29
.gitignore vendored
View File

@@ -1,23 +1,28 @@
*.gem
*.swp
*~
.DS_Store
.analysis
# Jekyll
_site/
*-cache/
.jekyll-metadata
# Ruby
.bundle/
.byebug_history
.jekyll-metadata
.ruby-gemset
.ruby-version
.sass-cache
/test/source/file_name.txt
/vendor
*.gem
Gemfile.lock
_site/
bin/
# Files
.analysis
.DS_Store
*.swp
*~
# Folders
/vendor
bbin/
bin/
coverage
gh-pages/
pkg/
site/_site/
test/dest
tmp/*

View File

@@ -1,6 +1,8 @@
---
inherit_from: .rubocop_todo.yml
require:
- rubocop-performance
- ./rubocop/jekyll
Jekyll/NoPutsAllowed:
@@ -8,9 +10,11 @@ Jekyll/NoPutsAllowed:
- rake/*.rake
AllCops:
TargetRubyVersion: 2.3
SuggestExtensions: false
TargetRubyVersion: 2.4
Include:
- lib/**/*.rb
- test/**/*.rb
Exclude:
- bin/**/*
- exe/**/*
@@ -18,97 +22,192 @@ AllCops:
- script/**/*
- vendor/**/*
- tmp/**/*
Layout/AlignArray:
Enabled: false
Layout/AlignHash:
EnforcedHashRocketStyle: table
Layout/AlignParameters:
Enabled: false
Layout/EmptyLinesAroundAccessModifier:
Enabled: false
Layout/EmptyLinesAroundModuleBody:
Enabled: false
Layout/EndOfLine:
EnforcedStyle: native
Layout/ExtraSpacing:
AllowForAlignment: true
Layout/FirstParameterIndentation:
EnforcedStyle: consistent
Layout/IndentationWidth:
Severity: error
Layout/IndentArray:
EnforcedStyle: consistent
Layout/IndentHash:
EnforcedStyle: consistent
Layout/IndentHeredoc:
Enabled: false
Layout/MultilineMethodCallIndentation:
EnforcedStyle: indented
Layout/MultilineOperationIndentation:
EnforcedStyle: indented
Lint/NestedPercentLiteral:
Exclude:
- test/test_site.rb
Layout/BeginEndAlignment:
Enabled: true
Layout/EmptyComment:
Enabled: false
Layout/EmptyLinesAroundAttributeAccessor:
Enabled: true
Layout/EndAlignment:
Severity: error
Lint/UnneededRequireStatement:
Enabled: false
Lint/UnreachableCode:
Layout/HashAlignment:
EnforcedHashRocketStyle: table
Layout/IndentationWidth:
Severity: error
Lint/UselessAccessModifier:
Enabled: false
Lint/Void:
Enabled: false
Metrics/AbcSize:
Max: 21
Metrics/BlockLength:
Exclude:
- test/**/*.rb
- lib/jekyll/configuration.rb
- rake/*.rake
- jekyll.gemspec
Metrics/ClassLength:
Exclude:
- !ruby/regexp /features\/.*.rb$/
- !ruby/regexp /test\/.*.rb$/
Max: 300
Metrics/CyclomaticComplexity:
Max: 9
Metrics/LineLength:
Layout/FirstArrayElementIndentation:
EnforcedStyle: consistent
Layout/FirstHashElementIndentation:
EnforcedStyle: consistent
Layout/LineLength:
Exclude:
- !ruby/regexp /features\/.*.rb/
- Rakefile
- rake/*.rake
- Gemfile
- jekyll.gemspec
Max: 90
Max: 100
Severity: warning
Layout/MultilineMethodCallIndentation:
EnforcedStyle: indented
Layout/MultilineOperationIndentation:
EnforcedStyle: indented
Layout/SpaceAroundMethodCallOperator:
Enabled: true
Layout/SpaceInsideHashLiteralBraces:
Enabled: true
Exclude:
- test/**/*.rb
Lint/BinaryOperatorWithIdenticalOperands:
Enabled: true
Lint/ConstantDefinitionInBlock:
Enabled: true
Exclude:
- test/**/*.rb
Lint/DeprecatedOpenSSLConstant:
Enabled: true
Lint/DuplicateBranch:
Enabled: true
Lint/DuplicateElsifCondition:
Enabled: true
Lint/DuplicateRegexpCharacterClassElement:
Enabled: true
Lint/DuplicateRescueException:
Enabled: true
Lint/DuplicateRequire:
Enabled: true
Lint/EmptyBlock:
Enabled: true
Lint/EmptyClass:
Enabled: true
Lint/EmptyConditionalBody:
Enabled: true
Lint/EmptyFile:
Enabled: true
Lint/FloatComparison:
Enabled: true
Lint/HashCompareByIdentity:
Enabled: true
Lint/IdentityComparison:
Enabled: true
Lint/MissingSuper:
Enabled: false
Lint/MixedRegexpCaptureTypes:
Enabled: false
Lint/NestedPercentLiteral:
Exclude:
- test/test_site.rb
Lint/NoReturnInBeginEndBlocks:
Enabled: true
Lint/OutOfRangeRegexpRef:
Enabled: true
Lint/RaiseException:
Enabled: true
Lint/RedundantSafeNavigation:
Enabled: true
Lint/SelfAssignment:
Enabled: true
Lint/StructNewOverride:
Enabled: true
Lint/ToEnumArguments:
Enabled: false
Lint/TopLevelReturnWithArgument:
Enabled: true
Lint/TrailingCommaInAttributeDeclaration:
Enabled: true
Lint/UnmodifiedReduceAccumulator:
Enabled: true
Lint/UnreachableCode:
Severity: error
Lint/UnreachableLoop:
Enabled: true
Lint/UselessMethodDefinition:
Enabled: true
Lint/UselessTimes:
Enabled: true
Lint/Void:
Exclude:
- lib/jekyll/site.rb
Metrics/AbcSize:
Max: 23
Metrics/BlockLength:
Exclude:
- test/**/*.rb
- lib/jekyll/configuration.rb
- rake/*.rake
Metrics/ClassLength:
Exclude:
- !ruby/regexp /features\/.*.rb$/
- !ruby/regexp /test\/.*.rb$/
- lib/jekyll/document.rb
- lib/jekyll/site.rb
- lib/jekyll/commands/serve.rb
- lib/jekyll/configuration.rb
Max: 240
Metrics/CyclomaticComplexity:
Exclude:
- lib/jekyll/utils.rb
- lib/jekyll/commands/serve.rb
Max: 11
Metrics/MethodLength:
CountComments: false
Max: 20
Severity: error
Metrics/ModuleLength:
Max: 240
Exclude:
- lib/jekyll/filters.rb
Metrics/ParameterLists:
Max: 4
Metrics/PerceivedComplexity:
Max: 8
Max: 13
Naming/FileName:
Enabled: false
Naming/HeredocDelimiterNaming:
Enabled: false
Exclude:
- test/**/*.rb
Naming/MemoizedInstanceVariableName:
Exclude:
- lib/jekyll/page_without_a_file.rb
- lib/jekyll/drops/unified_payload_drop.rb
- lib/jekyll/convertible.rb
- lib/jekyll/drops/site_drop.rb
Naming/UncommunicativeMethodParamName:
AllowedNames:
- _
Performance/UnfreezeString:
- lib/jekyll/drops/unified_payload_drop.rb
- lib/jekyll/page_without_a_file.rb
Performance/AncestorsInclude:
Enabled: false
Performance/ArraySemiInfiniteRangeSlice:
Enabled: true
Performance/BigDecimalWithNumericArgument:
Enabled: true
Performance/BlockGivenWithExplicitBlock:
Enabled: true
Performance/ChainArrayAllocation:
Enabled: true
Performance/CollectionLiteralInLoop:
Enabled: true
Performance/ConstantRegexp:
Enabled: true
Performance/MethodObjectAsBlock:
Enabled: true
Performance/RedundantSortBlock:
Enabled: true
Performance/RedundantStringChars:
Enabled: true
Performance/ReverseFirst:
Enabled: true
Performance/SortReverse:
Enabled: false
Performance/Squeeze:
Enabled: true
Performance/StringInclude:
Enabled: true
Exclude:
- lib/jekyll/utils/platforms.rb
Performance/Sum:
Enabled: true
Security/MarshalLoad:
Exclude:
- !ruby/regexp /test\/.*.rb$/
@@ -117,34 +216,68 @@ Security/YAMLLoad:
Exclude:
- !ruby/regexp /features\/.*.rb/
- !ruby/regexp /test\/.*.rb$/
Style/Alias:
Style/ArgumentsForwarding:
Enabled: false
Style/ArrayCoercion:
Enabled: true
Style/AccessModifierDeclarations:
Enabled: false
Style/AccessorGrouping:
Enabled: false
Style/Alias:
EnforcedStyle: prefer_alias_method
Style/AndOr:
Severity: error
Style/BracesAroundHashParameters:
Enabled: false
Style/BisectedAttrAccessor:
Enabled: true
Style/CaseLikeIf:
Enabled: true
Style/ClassAndModuleChildren:
Enabled: false
Style/FrozenStringLiteralComment:
EnforcedStyle: always
Exclude:
- test/**/*.rb
Style/ClassEqualityComparison:
Enabled: true
Style/CollectionCompact:
Enabled: true
Style/CombinableLoops:
Enabled: true
Style/Documentation:
Enabled: false
Exclude:
- !ruby/regexp /features\/.*.rb$/
Style/DocumentDynamicEvalDefinition:
Enabled: true
Style/DoubleNegation:
Enabled: false
Style/ExponentialNotation:
Enabled: true
Style/ExplicitBlockArgument:
Enabled: false
Style/FormatStringToken:
Exclude:
- lib/jekyll/utils/ansi.rb
- lib/jekyll/liquid_renderer/table.rb
- lib/jekyll/profiler.rb
Style/FrozenStringLiteralComment:
EnforcedStyle: always
Style/GlobalStdStream:
Enabled: true
Style/GuardClause:
Enabled: false
Style/HashAsLastArrayItem:
Enabled: true
Style/HashEachMethods:
Enabled: true
Style/HashLikeCase:
Enabled: true
Style/HashSyntax:
EnforcedStyle: hash_rockets
Severity: error
Style/IfUnlessModifier:
Enabled: false
Style/InverseMethods:
Style/HashTransformKeys:
Enabled: false
Style/HashTransformValues:
Enabled: true
Style/KeywordParametersOrder:
Enabled: true
Style/MixinUsage:
Exclude:
- test/helper.rb
@@ -152,8 +285,12 @@ Style/ModuleFunction:
Enabled: false
Style/MultilineTernaryOperator:
Severity: error
Style/NumericPredicate:
Enabled: false
Style/NegatedIfElseCondition:
Enabled: true
Style/NilLambda:
Enabled: true
Style/OptionalBooleanParameter:
Enabled: true
Style/PercentLiteralDelimiters:
PreferredDelimiters:
"%q": "{}"
@@ -163,28 +300,50 @@ Style/PercentLiteralDelimiters:
"%w": "()"
"%W": "()"
"%x": "()"
Style/RedundantFreeze:
Style/RedundantArgument:
Enabled: true
Style/RedundantAssignment:
Enabled: true
Style/RedundantBegin:
Enabled: false
Style/RedundantReturn:
Enabled: false
Style/RedundantSelf:
Style/RedundantFetchBlock:
Enabled: false
Style/RedundantFileExtensionInRequire:
Enabled: true
Style/RedundantRegexpCharacterClass:
Enabled: true
Style/RedundantRegexpEscape:
Enabled: true
Style/RedundantSelfAssignment:
Enabled: true
Style/RegexpLiteral:
EnforcedStyle: percent_r
Style/RescueModifier:
Enabled: false
Style/SafeNavigation:
Enabled: false
Exclude:
- lib/jekyll/document.rb
Style/SignalException:
EnforcedStyle: only_raise
Style/SingleLineMethods:
Style/SingleArgumentDig:
Enabled: true
Style/SlicingWithRange:
Enabled: false
Style/SoleNestedConditional:
Enabled: true
Style/StringLiterals:
EnforcedStyle: double_quotes
Style/StringConcatenation:
Enabled: true
Exclude:
- lib/jekyll/commands/*.rb
- test/**/*.rb
Style/StringLiteralsInInterpolation:
EnforcedStyle: double_quotes
Style/SwapValues:
Enabled: true
Style/SymbolArray:
Enabled: false
EnforcedStyle: brackets
Style/TrailingCommaInArrayLiteral:
EnforcedStyleForMultiline: consistent_comma
Style/TrailingCommaInHashLiteral:

25
.rubocop_todo.yml Normal file
View File

@@ -0,0 +1,25 @@
# This configuration was generated by
# `rubocop --auto-gen-config --auto-gen-only-exclude`
# on 2020-11-23 15:56:48 UTC using RuboCop version 1.4.0.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
# versions of RuboCop, may require this file to be generated again.
# Offense count: 1
Style/CombinableLoops:
Exclude:
- 'lib/jekyll/tags/post_url.rb'
# Offense count: 1
# Configuration parameters: AllowedMethods.
# AllowedMethods: respond_to_missing?
Style/OptionalBooleanParameter:
Exclude:
- 'lib/jekyll/log_adapter.rb'
# Offense count: 1
# Configuration parameters: Methods.
Style/RedundantArgument:
Exclude:
- 'lib/jekyll/tags/link.rb'

View File

@@ -1,55 +0,0 @@
bundler_args: --without benchmark:site:development
script: script/cibuild
cache: bundler
language: ruby
sudo: false
rvm:
- &ruby1 2.5.1
- &ruby2 2.4.4
- &ruby3 2.3.7
- &jruby jruby-9.1.16.0
matrix:
include:
- rvm: *ruby1
env: TEST_SUITE=fmt
- rvm: *ruby1
env: TEST_SUITE=default-site
exclude:
- rvm: *jruby
env: TEST_SUITE=cucumber
env:
matrix:
- TEST_SUITE=test
- TEST_SUITE=cucumber
branches:
only:
- master
- themes
- /*-stable/
notifications:
slack:
secure: "\
dNdKk6nahNURIUbO3ULhA09/vTEQjK0fNbgjVjeYPEvROHgQBP1cIP3AJy8aWs8rl5Yyow4Y\
GEilNRzKPz18AsFptVXofpwyqcBxaCfmHP809NX5PHBaadydveLm+TNVao2XeLXSWu+HUNAY\
O1AanCUbJSEyJTju347xCBGzESU=\
"
addons:
code_climate:
repo_token:
secure: "\
mAuvDu+nrzB8dOaLqsublDGt423mGRyZYM3vsrXh4Tf1sT+L1PxsRzU4gLmcV27HtX2Oq9\
DA4vsRURfABU0fIhwYkQuZqEcA3d8TL36BZcGEshG6MQ2AmnYsmFiTcxqV5bmlElHEqQuT\
5SUFXLafgZPBnL0qDwujQcHukID41sE=\
"
# regular test configuration
after_success:
- bundle exec codeclimate-test-reporter
before_install:
- gem update --system
- gem install bundler

View File

@@ -1,24 +1,41 @@
# Code of Conduct
As contributors and maintainers of this project, and in the interest of
fostering an open and welcoming community, we pledge to respect all people who
contribute through reporting issues, posting feature requests, updating
documentation, submitting pull requests or patches, and other activities.
## Our Pledge
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.
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery
* Personal attacks
* Trolling or insulting/derogatory comments
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing other's private information, such as physical or electronic
addresses, without explicit permission
* Other unethical or unprofessional conduct
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
@@ -26,24 +43,34 @@ 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.
## Scope
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community.
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
## Enforcement
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.
reported by contacting the project team at [olivia@jekyllrb.com](mailto:olivia@jekyllrb.com). All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
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]
## Attribution
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/3/0/
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at [https://www.contributor-covenant.org/version/1/4/code-of-conduct.html](https://www.contributor-covenant.org/version/1/4/code-of-conduct.html)
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see
[https://www.contributor-covenant.org/faq](https://www.contributor-covenant.org/faq)

51
Gemfile
View File

@@ -3,41 +3,43 @@
source "https://rubygems.org"
gemspec :name => "jekyll"
gem "rake", "~> 12.0"
gem "rake", "~> 13.0"
group :development do
gem "launchy", "~> 2.3"
gem "pry"
unless RUBY_ENGINE == "jruby"
gem "pry-byebug"
end
gem "pry-byebug" unless RUBY_ENGINE == "jruby"
end
#
group :test do
gem "codeclimate-test-reporter", "~> 1.0.5"
gem "cucumber", "~> 3.0"
gem "cucumber", RUBY_VERSION >= "2.5" ? "~> 5.1.2" : "~> 4.1"
gem "httpclient"
gem "jekyll_test_plugin"
gem "jekyll_test_plugin_malicious"
gem "memory_profiler"
gem "nokogiri", "~> 1.7"
gem "rspec"
gem "rspec-mocks"
gem "rubocop", "~> 0.55.0"
gem "rubocop", "~> 1.12.0"
gem "rubocop-performance", "~> 1.11.0"
gem "test-dependency-theme", :path => File.expand_path("test/fixtures/test-dependency-theme", __dir__)
gem "test-theme", :path => File.expand_path("test/fixtures/test-theme", __dir__)
gem "test-theme-skinny", :path => File.expand_path("test/fixtures/test-theme-skinny", __dir__)
gem "test-theme-symlink", :path => File.expand_path("test/fixtures/test-theme-symlink", __dir__)
gem "jruby-openssl" if RUBY_ENGINE == "jruby"
if RUBY_ENGINE == "jruby"
gem "http_parser.rb", "~> 0.6.0"
gem "jruby-openssl"
end
end
#
group :test_legacy do
if RUBY_PLATFORM =~ %r!cygwin!
gem "test-unit"
end
gem "test-unit" if RUBY_PLATFORM =~ %r!cygwin!
gem "minitest"
gem "minitest-profile"
@@ -60,36 +62,35 @@ end
#
group :jekyll_optional_dependencies do
gem "coderay", "~> 1.1.0"
gem "jekyll-coffeescript"
gem "jekyll-docs", :path => "../docs" if Dir.exist?("../docs") && ENV["JEKYLL_VERSION"]
gem "jekyll-feed", "~> 0.9"
gem "jekyll-gist"
gem "jekyll-paginate"
gem "jekyll-redirect-from"
gem "kramdown", "~> 1.14"
gem "kramdown-syntax-coderay"
gem "mime-types", "~> 3.0"
gem "rdoc", "~> 6.0"
gem "tomlrb", "~> 1.2"
gem "tomlrb"
platform :ruby, :mswin, :mingw, :x64_mingw do
gem "classifier-reborn", "~> 2.2.0"
gem "liquid-c", "~> 3.0"
gem "pygments.rb", "~> 1.0"
gem "rdiscount", "~> 2.0"
gem "yajl-ruby", "~> 1.3"
platforms :ruby, :mswin, :mingw, :x64_mingw do
gem "classifier-reborn", "~> 2.2"
gem "liquid-c", "~> 4.0"
gem "yajl-ruby", "~> 1.4"
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem "tzinfo-data", :platforms => [:mingw, :mswin, :x64_mingw, :jruby]
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library
platforms :jruby, :mswin, :mingw, :x64_mingw do
gem "tzinfo", "~> 1.2"
gem "tzinfo-data"
end
end
#
group :site do
if ENV["PROOF"]
gem "html-proofer", "~> 3.4"
end
gem "html-proofer", "~> 3.4" if ENV["PROOF"]
gem "jekyll-avatar"
gem "jekyll-mentions"

View File

@@ -1,42 +1,667 @@
## HEAD
## 4.2.2 / 2022-03-03
### Documentation
### Bug Fixes
* Release post for v3.8.0 (#6849)
* Add Installation Instructions for Ubuntu (#6925)
* add liquid tag jekyll-flickr (#6946)
* Add 4.0 development post (#6934)
* Updated copy - fixed casing of SaaS on resources page. (#6949)
* WIP: Do not advise users to install Jekyll outside of Bundler (#6927)
* Don&#39;t prompt for sudo when installing with Ubuntu WSL (#6781)
* Fix typo (#6969)
* Add version number for group_by_exp doc (#6956)
* Update Windows install docs (#6926)
* Remove documentation for using Redcarpet (#6990)
### Minor Enhancements
* use jekyll-compose if installed (#6932)
* Memoize computing excerpt&#39;s relative_path (#6951)
* Liquefied link tag (#6269)
* Suggest re-running command with --trace on fail (#6551)
### 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&#39;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)
* Lock `http_parser.rb` gem to `v0.6.x` on JRuby.
### Development Fixes
* Remove unnecessary Jekyll::Page constant (#6770)
* Backport #8830 for v4.2.x: Add a workflow to build gems consistently (#8869)
* Lock `rubocop-performance` to `v1.11.x`.
## 4.2.1 / 2021-09-27
### Bug Fixes
* Backport #8620 for v4.2.x: Revert #7253: "Don't reset site.url to localhost:4000 by default" (#8808)
* Backport #8756 for v4.2.x: Respect collections_dir config within include tag (#8794)
* Backport #8786 for v4.2.x: Fix regression in Convertible module from v4.2.0 (#8793)
## 4.2.0 / 2020-12-14
### Minor Enhancements
* Warn on command-line with permalink conflict (#8342)
* Supress warning issued for redirect pages (#8347)
* Enhance detection of conflicting destination URLs (#8459)
* Add `:post_convert` hook to modify HTML content before layout (#8368)
* Allow triggering `:post_convert` events atomically (#8465)
* Debug reading Page and Layout objects (#8100)
* Do not reset `site.url` to `http://localhost:4000` by default (#7253)
* Add custom debug strings for Jekyll objects (#8473)
* Debug reading data files in a site (#8481)
### Bug Fixes
* Replace nested conditional with guard clauses (#8294)
* Fix: security bump (#8349)
* Fix path matching regex in post_url Liquid tag (#8375)
* Enable `Performance/ChainArrayAllocation` cop (#8404)
* Enable Lint/NoReturnInBeginEndBlocks Cop (#8457)
* Generate items from `site.include` list only once (#8463)
* Explicitly return nil after site process phase (#8472)
### Optimization Fixes
* Implement custom delegators for drop methods (#8183)
* Handle `nil` argument to `Jekyll.sanitized_path` (#8415)
* Cache `Jekyll.sanitized_path` (#8424)
* Memoize array of drop getter method names (#8421)
* Reduce string allocations from the `link` tag (#8387)
* Optimize parsing of parameters in `include` tag (#8192)
* Stash documents `write?` attribute in a variable (#8389)
* Reduce string allocations from generating doc URLs (#8392)
* Check if site is in incremental mode optimally (#8401)
* Utilize flexibility of `Site#in_dest_dir` (#8403)
* Reduce allocations from rendering item as liquid (#8406)
* Compute relative_path of pages using PathManager (#8408)
* Reduce allocation from `normalize_whitespace` filter (#8400)
* Use `Regexp#match?` when `MatchData` is not required (#8427)
* Check default front matter scope against symbols (#8393)
* Stash frequently used `Drop` setter keys for reuse (#8394)
* Memoize defaults computed for Convertibles (#8451)
* Reduce array allocations from merging categories (#8453)
* Memoize destination of pages, documents and staticfiles (#8458)
* Reduce allocations from computing item property (#8485)
* Optimize `Page#dir` with a private method (#8489)
* Stash attribute hash for Liquid computed for pages (#8497)
### Development Fixes
* Update cucumber gem to version 4.1 (#8278)
* Move permalink styles data to constant (#8282)
* Update rubocop gem to 0.87.1 (#8287)
* Update RuboCop to-do file (#8296)
* Fix `rake console` generating LoadError (#8312)
* Configure Performance cops (#8369)
* Update rubocop gem to 0.90.0 (#8313)
* Refactor `Jekyll::Utils::Platforms` (#7236)
* Bump RuboCop to v0.91.x (#8391)
* Add workflow to build and profile third-party repo (#8398)
* Bump RuboCop to v0.92.x
* Update cucumber gem version to 5.1.2 (#8413)
* Fix test suite compatibility with JRuby (#8418)
* chore(deps): bump Rubocop to 0.93.0 (#8430)
* Use Ruby 2.7.1 in GitHub Actions (#8444)
* Test that Liquid expressions are not deeply evaled (#8292)
* Test rendering arbitrary Liquid variables by default (#7414)
* Migrate TravisCI jobs to GitHub Actions (#8492)
### Documentation
* Update pointer to special permalink variables for collections (#8274)
* Fix special treatment for &#39;page 1&#39; in docs of pagination (#8230)
* Add Formcake to forms section (#8283)
* Add a note on the rendering process in the docs (#8291)
* Add refactoring type to PULL_REQUEST_TEMPLATE (#8297)
* Update resources.md (#7864)
* Extra apostrophes in an URL (#8319)
* Clarify target of subordinate clause (#8320)
* Cherry-pick commits from conflicting branch `docs-40`
* Update documentation on third party site (#8352)
* Update default.md with info requested in #8314 (#8353)
* Clarify description of `safe` option (#8354)
* Simplifying the Git post-receive hook-example (#8358)
* Add missing doc for build and serve commands (#8365)
* Docs Review: Getting Started (#8372)
* Add note about rebooting system after installation (#8359)
* Use data file to render table at `/docs/configuration/options/#global-configuration` (#8377)
* Use data file(s) to render table(s) at `/docs/configuration/options/` (#8380)
* Improve maintainability of config option data (#8383)
* Remove CircleCI v1 docs (#8410)
* Remove `NOKOGIRI_USE_SYSTEM_LIBRARIES` from Travis CI docs (#8409)
* Add links to all Jekyll themes on GitHub tagged with #jekyll-theme (#8447)
* Document initializing project Gemfile from scratch (#8450)
* Document installation of additional dependencies for installing Jekyll on Fedora (#8456)
* Improve documentation on Hooks in Jekyll (#8467)
* Build docs site with GitHub Actions (#8201)
* Add link to Assets page from `_sass` section in `_docs/structure.md` (#8486)
### Site Enhancements
* Fix rendering of *showcase* images (#8504)
## 4.1.1 / 2020-06-24
### Bug Fixes
* Disable page excerpts by default (#8222)
* Revert introduction of PageDrop (#8221)
* Don&#39;t generate excerpts for non-html pages (#8234)
* Make page excerpts consistent with doc excerpts (#8236)
### Documentation
* Replace deprecated &#39;show&#39; command with &#39;info&#39; (#8235)
* Change name to ▲Vercel (#8247)
* Add language and examples to describe how to use the configuration op… (#8249)
* Fix missing yaml front matter colon and adjust/add clarifying language. (#8250)
* correct typo (#8261)
* Allow hyperlinks to specific filter documentation (#8231)
* Update link to Netlify step-by-step guide (#8264)
* Fix grammar in documentation section (#8265)
### Site Enhancements
* Including correct Sketch website (#8241)
* Release post for v4.1.1 (#8243)
### Development Fixes
* Bump RuboCop to v0.85.x (#8223)
* Expect drive letter only on vanilla windows (#8227)
## 4.1.0 / 2020-05-27
### Bug Fixes
* Memoize `absolute_url` and `relative_url` filters (#7793)
* Fix documentation comment for `Jekyll::Converters::Identity` (#7883)
* Optimize `Jekyll::Filters#item_property` (#7696)
* Allow multiple binary operators in `where_exp` filter (#8047)
* Fix documents custom-ordering logic (#8028)
* Use `layout.path` when rendering the Liquid layout (#8069)
* Reduce array allocations from `StaticFile#path` (#8083)
* Simplify `Jekyll::Renderer#validate_layout` (#8064)
* Add static file's basename to its `url_placeholder` (#7908)
* Clear cached Liquid template scope before render (#7967)
* Cache `URLFilter` results of string inputs per site (#7990)
* Use `platforms` instead of `install_if` in Gemfile (#8140)
* Config include trailing slash (#8113)
* Improve path normalization in liquid_renderer (#8075)
* Switch slugify regex to support more Unicode character groups (#8167)
* Check if entry is a directory once per enumerator (#8177)
* Filter out exclusively excluded entries sooner (#7482)
* Return `relative_url` if site.url is an empty string (#7988)
* Configure kramdown toc_levels as array by default (#8015)
* Reduce `Pathname` objects from front matter defaults (#8067)
* Simplify `Jekyll::Hooks.trigger` logic (#8044)
* Quicker categories for documents without superdirs (#7987)
* Reduce `Jekyll::Renderer` instances during a build (#7570)
* Escape regex characters in paths to match (#8138)
* Provide invokables for common drop query keys (#8165)
* Optimize path sanitization of default front matter (#8154)
* Initialize static files' data hash only if needed (#8188)
* Initialize include-files as Jekyll objects (#8158)
### Minor Enhancements
* serve: add support for ECC certificates (#7768)
* Update `item_property` to recognize integers (#7878)
* Include `_config.yml` in a new theme's gemspec (#7865)
* Add an option to easily disable disk-cache (#7928)
* Optimize markdown parsing with Kramdown by reusing the options and parser objects (#8013)
* Add `PageDrop` to provide Liquid templates with data (#7992)
* Optimize `Kramdown::JekyllDocument#to_html` calls (#8041)
* Configure default language for syntax-highlighting (#8035)
* Remove dev dependencies from new theme-gem gemspec (#8042)
* Allow disabling import of theme configuration (#8131)
* Allow excerpts to be generated for `Page` objects (#7642)
* Profile various stages of a site's build process (#6760)
* Add find filters to optimize where-first chains (#8171)
* Make `number_of_words` filter respect CJK characters (#7813)
* Allow extensionless document in a strict site (#7950)
* Add `:slugified_categories` URL placeholder (#8094)
### Documentation
* Add dropped 'title: Staff' to the code (#7805)
* Clarify docs for static files in collection (#7812)
* Rephrase the CircleCI v2 section (#7815)
* Update old GitHub wiki URL with new one (#7823)
* Update JekyllConf page with 2019 talks (#7826)
* link for memberships (#7825)
* Doc: minor fix, should be greater or equal to min version (#7856)
* Update third-party.md - Fix broken link (#7857)
* clarify _config.yml/collections type (#7873)
* Replace backticks with HTML tags in data file (#7879)
* add new theme source (#7875)
* fixed grammatical error (it&#39;s --&gt; its) (#7887)
* Docs: Clarify organizing pages into subfolders (#7896)
* Disambiguate the placeholder of permalink (#7906)
* docs: add short serve command for livereload (#7919)
* docs: add options for watch and force polling (#7918)
* add install instructions for ArchLinux and openSUSE (#7920)
* Improve index page of Jekyll documentation (#7926)
* Include path in `jekyll new` commands (Usage docs) (#7931)
* Change `affect` to `effect` in the collections docs (#7937)
* Changed deprecated command in themes documentation (#7941)
* Adds some documentation for the `:clean`, `:on_obsolete` hook (#7954)
* docs: fix broken link (#7955)
* Corrected typo (#7975)
* docs: remove watch option in config (#7940)
* Correct a sentence in the documentation (#7978)
* Fix YAML representation of `group_by` result (#7979)
* Move `--baseurl` to build command options (#7985)
* Correct documentation of filters (#7989)
* Document sorting two documents by their `date` (#7870)
* Fix English grammar error (#7994)
* Update 03-front-matter.md (#7996)
* Add Kentico Kontent CMS integration to resources (#8000)
* Update 07-assets.md (#7413)
* Fix file references in Step by Step Tutorial's Assets step (#8007)
* docs: improve highlighting of code blocks (#8017)
* remove leading slash from Sass file location (#8021)
* [Docs] Fix asset link ref in step-by-step tutorial (#8026)
* Corrected command to modify PATH (#8029)
* Corrected command to modify PATH (#8030)
* Docs: Render full contents of just the latest post (#8032)
* docs: improvements for note boxes (#8037)
* Non-deprecated `vendor/bundle` path configuration (#8048)
* Update 09-collections.md (#8060)
* Remove extra paragraph tags (#8063)
* Add default front matter for tutorials collection (#8081)
* Create CSV to table tutorial (#8090)
* Add version badge for Custom Sorting of Documents (#8098)
* Docs: Fix grammar in `_docs/front-matter.md` (#8097)
* Update variables.md (#8106)
* Add help about Gentoo/Linux (#8002)
* Update documentation on third party site (#8122)
* Added Clear Linux (#8132)
* Added note about OS specific installation instructions. (#8135)
* Fix broken URL in the Resources Page on the Documentation Site (#8136)
* Docs: Deploy Jekyll site with GitHub Actions (#8119)
* Clarify `bundle config` in Bundler tutorial (#8150)
* docs: update your-first-plugin.md (#8147)
* Fix typo in documentation on GitHub Actions (#8162)
* Ease discovery of CLI commands (in their entirety) (#8178)
* Remove `sudo` from Travis CI tutorial (#8187)
* Add Gitlab Pages to 3rd party list (#8191)
* docs: add 21yunbox for deployment (#8193)
* Improve documentation on tags and categories (#8196)
### Development Fixes
* Ci/GitHub actions (#7822)
* Rubocop version upgrade (#7846)
* Split action steps to avoid using `&&` on Windows (#7885)
* Upgrade rake to use version 13 (#7910)
* Update dependency constraint to allow RuboCop v0.76 (#7893)
* Use bash executable consistently (#7909)
* Test with JRuby 9.2.9.0 (#7779)
* Bump RuboCop to v0.79.x (#7970)
* Remove post-install message from gemspec (#7974)
* Attain Ruby 3.0 compatibility (#7948)
* Test `where` filter handling numeric property values (#7821)
* chore(deps): rubocop 0.80.0 (#8012)
* Update unit tests for Kramdown-based converter (#8014)
* Add Visual Studio Code Development Container (#8016)
* chore: simplify require for `Jekyll::VERSION` (#8057)
* Remove version-constraint relaxation for i18n gem (#8055)
* Mirror `spec.homepage` as `metadata["homepage_uri"]` (#8056)
* Bump Ruby versions on Travis builds (#8088)
* chore(ci): cache dependencies (#8168)
### Site Enhancements
* Optimize rendering of the documentation site (#8020)
* Utilize `relative_url` filter in documentation site (#8089)
* Render tutorial metadata in documentation site (#8092)
* Improve syntax-highlighting in documentation site (#8079)
* Site: Filter through just the *docs* collection (#8170)
## 4.0.1 / 2020-05-08
### Bug Fixes
* Prevent console warning with Ruby 2.7 (#8124)
* Clear cached Liquid template scope before render (#8141)
* Add static file's basename to its url_placeholder (#8142)
* Update item_property to recognize integers (#8160)
### Development Fixes
* Fix Kramdown converter based tests for v4.0.x (#8143)
## 3.9.0 / 2020-08-05
### Minor Enhancements
* Allow use of kramdown v2 (#8322)
* Add default language for kramdown syntax highlighting (#8325)
## 3.8.7 / 2020-05-08
### Bug Fixes
* Prevent console warnings with Ruby 2.7 (#8125)
## 4.0.0 / 2019-08-19
### 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)
* Upgrade kramdown dependency to v2.x (#7492)
* Upgrade jekyll-sass-converter to v2.x - Sassc + sourcemaps (#7778)
* 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 &#39;cache_dir&#39; 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)
* Remove Jekyll::Utils#strip_heredoc in favor of a Ruby &gt; 2.3 built in (#7584)
* Incorporate `relative_url` within `post_url` tag (#7589)
* Remove patch to modify config for kramdown (#7699)
### Minor Enhancements
* Enhance `--blank` scaffolding (#7310)
* Use `jekyll-compose` if installed (#6932)
* Disable Liquid via front matter (#6824)
* Configure cache_dir (#7232)
* ISO week date drops (#5981)
* Fix custom 404 page for GitHub pages (#7132)
* Load config file from within current theme-gem (#7304)
* 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&#39;s .gitignore (#6968)
* Output Jekyll Version while debugging (#7173)
* Memoize computing excerpt&#39;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)
* 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)
* Lock use of `tzinfo` gem to v1.x (#7521, #7562)
* Utilize absolute paths of user-provided file paths (#7450)
* Detect `nil` and empty values in objects with `where` filter (#7580)
* Initialize mutations for Drops only if necessary (#7657)
* Reduce Array allocations via Jekyll::Cleaner (#7659)
* Encode and unencode urls only as required (#7654)
* Reduce string allocations with better alternatives (#7643)
* Reduce allocations from Jekyll::Document instances (#7625)
* Add `type` attribute to Document instances (#7406)
* Reduce allocations from where-filter (#7653)
* Memoize SiteDrop#documents to reduce allocations (#7697)
* Add PathManager class to cache interim paths (#7732)
* Remove warnings and fixes for deprecated config (#7440)
* Delegate --profile tabulation to `terminal-table` (#7627)
### Bug Fixes
* Security: fix `include` bypass of `EntryFilter#filter` symlink check (#7226)
* Theme gems: ensure directories aren&#39;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&#39;t &#34;posts&#34; (#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&#39;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&#39;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)
* Fix broken include_relative usage in excerpt (#7633)
* Initialize and reset glob_cache only as necessary (#7658)
* Revert memoizing Site#docs_to_write and #documents (#7684)
* Backport #7684 for v3.8.x: Revert memoizing Site#docs_to_write and refactor #documents (#7689)
* Backport #7213 and #7633 for v3.8.x: Fix broken include_relative usage in excerpt (#7690)
* Don&#39;t read symlinks in site.include in safe mode (#7711)
* Replace `String#=~` with `String#match?` (#7723)
* Update log output for an invalid theme directory (#7679)
* Remove configuration of theme sass files from Core (#7290)
* Actually conditionally include liquid-c (#7792)
* Test number_like regex on stringified property (#7788)
### Development Fixes
* Upgrade liquid-c to v4.0 (#7375)
* Bump RuboCop to v0.71.0 (#7687)
* Target Ruby 2.4 syntax (#7583)
* Fix: RuboCop offenses (#7769)
* Use communicative method parameters (#7566)
* Scan `assert_equal` methods and rectify any offenses with a custom RuboCop cop (#7130)
* CI: Test with Ruby 2.6 (#7438)
* CI: Test with Ruby 2.6 on AppVeyor (#7518)
* CI: Update RuboCop config (#7050)
* CI: Add a script to profile docs (#7540)
* CI(Appveyor): shallow clone with 5 last commits (#7312)
* CI: Test with oldest and latest Ruby only (#7412)
* CI: Update excludes for CodeClimate Analyses (#7365)
* CI: Lock Travis to Bundler-1.16.2 (#7144)
* CI: Bump tested version of JRuby to 9.2.7.0 (#7612)
* CI: Do not install docs on updating gems on Travis (#7706)
* Update gemspec (#7425)
* deps: relax version constraint on classifier-reborn gem (#7471)
* deps: update yajl-ruby (#7278)
* deps: bump yajl-ruby to v1.4.0 (#6976)
* Create symlink only if target is accessible (#7429)
* Switch to `:install_if` for wdm gem (#7372)
* Add cucumber feature to test include_relative tag (#7213)
* Small benchmark refactoring (#7211)
* 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)
* Useless privates removed (#6768)
* Load Rouge for TestKramdown (#7007)
* Update instructions for releasing docs Gem (#6975)
* yajl-ruby update to v1.4.0 (#6976)
* We are not using Ruby 2.2 anymore (#6977)
* Remove unnecessary Jekyll::Page constant (#6770)
* Remove unused error class (#6511)
* Add a Cucumber feature for post_url tag (#7586)
* Generate a &#34;TOTAL&#34; row for build-profile table (#7614)
* Refactor Jekyll::Cache (#7532)
* Store list of expected extnames in a constant (#7638)
* Profile allocations from a build session (#7646)
* Update small typo in contributing.md (#7671)
* Remove override to Jekyll::Document#respond_to? (#7695)
* Update TestTags in sync with Rouge v3.4 (#7709)
* Use regexp to filter special entries (#7702)
* Reduce Array objects generated from utility method (#7749)
* Update mime.types (#7756)
* Replace redundant Array#map with Array#each (#7761)
* Reduce allocations by using #each_with_object (#7758)
* Memoize fallback_data for Drop (#7728)
* Use String#end_with? to check if entry is a backup (#7701)
### Documentation
* Refactor docs (#7205)
* Add a link to Giraffe Academy&#39;s tutorial (#7325)
* Do not advise users to install Jekyll outside of Bundler (#6927)
* Remove documentation for using Redcarpet (#6990)
* Install Docs that Work on MacOS 10.14 (#7561)
* Add Installation Instructions for Ubuntu (#6925)
* Don&#39;t prompt for sudo when installing with Ubuntu WSL (#6781)
* Installation instructions for Fedora (#7198)
* Update Windows install docs (#6926)
* List all standard liquid filters (#7333)
* List all static files variables (#7002)
* Improve how to include Rouge stylesheets (#7752)
* Mention CommonMark plugins (#7418)
* Add TSV to list of supported _data files. (#7168)
* How to deploy using pre-push git hook (#7179)
* Hosting with AWS Amplify (#7510)
* CircleCI deployment through CircleCI v2 (#7024)
* GitHub Pages: use themes from other repos (#7112)
* Document page.dir and page.name (#7373)
* Document custom tag blocks (#7359)
* Document converter methods (#7289)
* Document `{{ page.collection }}` (#7430)
* Document Jekyll Filters with YAML data (#7335)
* Document where Jekyll looks for layouts in a site (#7564)
* plugin: liquid tag jekyll-flickr (#6946)
* plugin: jekyll-target-blank (#7046)
* plugin: json-get. (#7086)
* plugin: `jekyll-info` (#7091)
* plugin: jekyll-xml-source (#7114)
* plugin: jekyll-firstimage filter (#7127)
* plugin: CAT (#7011)
* Resources: Statictastic (#7593)
* Resources: Bonsai Search (#7543)
* Resources: Formspark (#7601)
* Resources: Jekpack(#7598)
* Resources: formX (#7536)
* Resources: 99inbound&#39;s Jekyll post (#7348)
* Resources: CloudSh (#7497)
* Community: DEV Community&#39;s Jekyll tag (#7139)
* Showcase: developer.spotify.com (#7217)
* Showcase: Isomer (#7300)
* Add version number for group_by_exp doc (#6956)
* Updated nginx configuration for custom-404-page documentation (#6994)
* Clarify definition of &#39;draft&#39; (#7037)
* _drafts need to be contained within the custom collection directory (#6985)
* Updated to supported version (#7031)
* Add Hints for some Improved Travis Config in Doc (#7049)
* Update travis-ci.md to point out &#34;this is an example Gemfile&#34; (#7089)
* Instructions to view themes files under Linux (#7095)
* Use a real theme in the example (#7125)
* Update docs about post creation (#7138)
* Initialize upgrading doc for v4.0 (#7140)
* Add version badge for date filters with ordinal (#7162)
* Corrected sample usage of postfiles (#7181)
* Resolve &#34;Unable to locate package ruby2.4&#34; error (#7196)
* Correct stylesheet url in tutorial step 7 (#7210)
* Removes quotes from markdown for assets (#7223)
* Clarified front matter requirement (#7234)
* Explicit location of where to create blog.html (#7241)
* Reference the build command options that allows multiple config files (#7266)
* Add more issue template(s) and pull request template (#7269)
* Suggest sites use OpenSSL instead of GnuTLS for their site&#39;s CI (#7010)
* Fix broken Contributors link in README.markdown (#7200)
* Add title tag to item in RSS template (#7282)
* Add link tag to item in RSS template (#7291)
* Remove redundant instruction comment (#7342)
* Textile is only supported through a converter plugin (#7003)
* Add recursive navigation tutorial (#7720)
* Remove installation instructions with Homebrew (#7381)
* Fix dead link and misleading prose (#7383)
* Fix content management section (#7385)
* Apply ruby official guide documents (#7393)
* Fix group_by_exp filter example (#7394)
* Remove alt attribute from a tags (#7407)
* Fix BASH code-block in ubuntu.md (#7420)
* zlib is missing (#7428)
* Fixed unnecessary aticles and pronouns (#7466)
* Store SSL key and cert in site source (#7473)
* Fix typo in tutorial for converting existing site (#7524)
* Check if var exists before include tag (#7530)
* Clarify docs on collections regarding the need for front matter (#7538)
* Fix incorrect Windows path in themes.md (#7525)
* Addresses bundle not found. (#7351)
* Update the contribution docs for draft pull requests (#7619)
* Data file section adds TSV (#7640)
* Indicate where the _sass folder is by default (#7644)
* Docs: add version tags to new placeholders (#5981) for permalinks (#7647)
* Solve &#34;GitHub Page build failure&#34; in 10-deployment.md (#7648)
* fix link to Site Source config (#7708)
* Introduce frontmatter in step 2 (#7704)
* Add @ashmaroli to Core Team listing (#7398)
* Lnk to Tidelift in site&#39;s footer (#7377)
* Link to OpenCollective backing (#7378
* Link to sponsor listing in README (#7405)
* Adjust team page listings (#7395)
* Updates to CODE OF CONDUCT (v1.4.0) (#7105)
* More inclusive writing (#7283)
* Update Ruby version used in Travis-CI example (#7783)
* Documentation for binary operators in where_exp (#7786)
* Adding SmartForms as Forms service (#7794)
### Site Enhancements
* Better Performance (#7388)
* Add some minor improvements to image loading in Showcase page (#7214)
* Simplify assigning classname to docs&#39; aside-links (#7609)
* Simplify couple of includes in the docs site (#7607)
* Avoid generating empty classnames (#7610)
* Minimize rendering count (#7343)
### Release
* Jekyll v4.0 release (#7782)
* Release post for v4.0.0 beta1 (#7716)
* Release post for v4.0.0.pre.alpha1 (#7574)
* Release post for v3.8.0 (#6849)
* Release post for v3.6.3, v3.7.4 and v3.8.4 (#7259)
* Post: v4.0 development (#6934)
## 3.8.6 / 2019-07-02
### Bug Fixes
* Update log output for an invalid theme directory (#7734)
* Memoize `SiteDrop#documents` to reduce allocations (#7722)
* Excerpt handling of custom and intermediate tags (#7467)
* Escape valid special chars in a site's path name (#7573)
* Revert memoizing `Site#docs_to_write` and refactor `#documents` (#7689)
* Fix broken `include_relative` usage in excerpt (#7690)
* Install platform-specific gems as required (3c06609406)
### Security Fixes
* Theme gems: ensure directories aren't symlinks (#7424)
## 3.8.5 / 2018-11-04
### Bug Fixes
* Re-implement handling Liquid blocks in excerpts (#7250)
## 3.8.4 / 2018-09-18
### Bug Fixes
* 3.8.x: security: fix `include` bypass of `EntryFilter#filter` symlink check (#7228)
## 3.8.3 / 2018-06-05
### Bug Fixes
* Fix --unpublished not affecting collection documents (#7027)
## 3.8.2 / 2018-05-18
### Development Fixes
* Update rubocop version (#7016)
### Bug Fixes
* Add whitespace control to LIQUID_TAG_REGEX (#7015)
## 3.8.1 / 2018-05-01
@@ -65,10 +690,10 @@
* Minimize array allocations in the `where` filter (#6860)
* Bump JRuby (#6878)
* Assert existence of &lt;collection&gt;.files (#6907)
* Bump Rubocop to 0.54.x (#6915)
* Bump RuboCop to 0.54.x (#6915)
* Regenerate unconditionally unless its an incremental build (#6917)
* Centralize require statements (#6910)
* Bump to Rubocop 0.55 (#6929)
* Bump to RuboCop 0.55 (#6929)
* Refactor private method `HighlightBlock#parse_options` (#6822)
### Minor Enhancements
@@ -139,6 +764,12 @@
* Handle liquid tags in excerpts robustly (#6891)
* Allow front matter defaults to be applied properly to documents gathered under custom `collections_dir` (#6885)
## 3.7.4 / 2018-09-07
### Bug Fixes
* Security: fix `include` bypass of EntryFilter#filter symlink check (#7224)
## 3.7.3 / 2018-02-25
### Bug Fixes
@@ -305,6 +936,12 @@
* Improve docs styling for code to be run in shell (#6641)
* Fix permalink icon markup in news-item layout (#6639)
## 3.6.3 / 2018-09-18
### Bug Fixes
* 3.6.x: security: fix `include` bypass of `EntryFilter#filter` symlink check (#7229)
## 3.6.2 / 2017-10-21
### Development Fixes
@@ -377,7 +1014,7 @@
* add SUPPORT file for GitHub (#6324)
* Rename CODE_OF_CONDUCT to show in banner (#6325)
* Docs : illustrate page.id for a collection&#39;s document (#6329)
* Docs: post&#39;s date can be overriden in YAML front matter (#6334)
* Docs: post&#39;s date can be overriden in front matter (#6334)
* Docs: `site.url` behavior on development and production environments (#6270)
* Fix typo in site.url section of variables.md :-[ (#6337)
* Docs: updates (#6343)
@@ -1043,7 +1680,7 @@
* Fix typo on Chocolatey name in Windows documentation (#4686)
* Use the correct URL, Fixes #4698 (#4699)
* Add jekyll-paspagon plugin (#4700)
* Bold-italicize note in assets documentation about needing yaml front matter (#4706)
* Bold-italicize note in assets documentation about needing front matter (#4706)
* Highlight the `script/` calls in the Contributing documentation (#4712)
* Add Hawkins to the list of third-party plugins (#4755)
* Fix a typo in pagination doc (#4763)
@@ -1211,7 +1848,7 @@
* Drop: fix hash setter precedence (#4312)
* utils: `has_yaml_header?` should accept files with extraneous spaces (#4290)
* Escape html from site.title and page.title in site template (#4307)
* Allow custom file extensions if defined in `permalink` YAML front matter (#4314)
* Allow custom file extensions if defined in `permalink` front matter (#4314)
* Fix deep_merge_hashes! handling of drops and hashes (#4359)
* Page should respect output extension of its permalink (#4373)
* Disable auto-regeneration when running server detached (#4376)
@@ -1414,7 +2051,7 @@
* Internal: trigger hooks by owner symbol (#3871)
* Update MIME types from mime-db (#3933)
* Add header to site template `_config.yml` for clarity & direction (#3997)
* Site template: add timezone offset to post date frontmatter (#4001)
* Site template: add timezone offset to post date front matter (#4001)
* Make a constant for the regex to find hidden files (#4032)
* Site template: refactor github & twitter icons into includes (#4049)
* Site template: add background to Kramdown Rouge-ified backtick code blocks (#4053)
@@ -1431,7 +2068,7 @@
* Fix nav items alignment when on multiple rows (#3264)
* Highlight: Only Strip Newlines/Carriage Returns, not Spaces (#3278)
* Find variables in front matter defaults by searching with relative file path. (#2774)
* Allow variables (e.g `:categories`) in YAML front matter permalinks (#3320)
* Allow variables (e.g `:categories`) in front matter permalinks (#3320)
* Handle nil URL placeholders in permalinks (#3325)
* Template: Fix nav items alignment when in "burger" mode (#3329)
* Template: Remove `!important` from nav SCSS introduced in #3329 (#3375)
@@ -1448,7 +2085,7 @@
* Add WOFF2 font MIME type to Jekyll server MIME types (#3647)
* Be smarter about extracting the extname in `StaticFile` (#3632)
* Process metadata for all dependencies (#3608)
* Show error message if the YAML front matter on a page/post is invalid. (#3643)
* Show error message if the front matter on a page/post is invalid. (#3643)
* Upgrade redcarpet to 3.2 (Security fix: OSVDB-120415) (#3652)
* Create #mock_expects that goes directly to RSpec Mocks. (#3658)
* Open `.jekyll-metadata` in binary mode to read binary Marshal data (#3713)
@@ -1526,7 +2163,7 @@
* Add a Resources link to tutorial on building dynamic navbars (#3185)
* Semantic structure improvements to the post and page layouts (#3251)
* Add new AsciiDoc plugin to list of third-party plugins. (#3277)
* Specify that all transformable collection documents must contain YAML front matter (#3271)
* Specify that all transformable collection documents must contain front matter (#3271)
* Assorted accessibility fixes (#3256)
* Update configuration docs to mention `keep_files` for `destination` (#3288, #3296)
* Break when we successfully generate nav link to save CPU cycles. (#3291)
@@ -1554,7 +2191,7 @@
* Add a link on all the docs pages to "Improve this page". (#3510)
* Add jekyll-auto-image generator to the list of third-party plugins (#3489)
* Replace link to the proposed `picture` element spec (#3530)
* Add frontmatter date formatting information (#3469)
* Add front matter date formatting information (#3469)
* Improve consistency and clarity of plugins options note (#3546)
* Add permalink warning to pagination docs (#3551)
* Fix grammar in Collections docs API stability warning (#3560)
@@ -2063,7 +2700,7 @@
* Clean up the `<head>` in the site template (#2186)
* Permit YAML blocks to end with three dots to better conform with the YAML spec (#2110)
* Use `File.exist?` instead of deprecated `File.exists?` (#2214)
* Require newline after start of YAML Front Matter header (#2211)
* Require newline after start of front matter header (#2211)
* Add the ability for pages to be marked as `published: false` (#1492)
* Add `Jekyll::LiquidExtensions` with `.lookup_variable` method for easy looking up of variable values in a Liquid context. (#2253)
* Remove literal lang name from class (#2292)
@@ -2741,7 +3378,7 @@
* Bullet-proof `limit_posts` option (#1004)
* Read in YAML as UTF-8 to accept non-ASCII chars (#836)
* Fix the CLI option `--plugins` to actually accept dirs and files (#993)
* Allow 'excerpt' in YAML front matter to override the extracted excerpt (#946)
* Allow 'excerpt' in front matter to override the extracted excerpt (#946)
* Fix cascade problem with site.baseurl, site.port and site.host. (#935)
* Filter out directories with valid post names (#875)
* Fix symlinked static files not being correctly built in unsafe mode (#909)
@@ -2753,7 +3390,7 @@
* Patch for multibyte URI problem with `jekyll serve` (#723)
* Order plugin execution by priority (#864)
* Fixed Page#dir and Page#url for edge cases (#536)
* Fix broken `post_url` with posts with a time in their YAML front matter (#831)
* Fix broken `post_url` with posts with a time in their front matter (#831)
* Look for plugins under the source directory (#654)
* Tumblr Migrator: finds `_posts` dir correctly, fixes truncation of long post names (#775)
* Force Categories to be Strings (#767)
@@ -2944,7 +3581,7 @@
* Bug Fixes
* Require redcloth >= 4.2.1 in tests (#92)
* Don't break on triple dashes in yaml front matter (#93)
* Don't break on triple dashes in front matter (#93)
### Minor Enhancements
@@ -2976,7 +3613,7 @@
* Added --paginate option to the executable along with a paginator object for the payload (@calavera)
* Upgraded RedCloth to 4.2.1, which makes `<notextile>` tags work once again.
* Configuration options set in config.yml are now available through the site payload (@vilcans)
* Posts can now have an empty YAML front matter or none at all (@ bahuvrihi)
* Posts can now have an empty front matter or none at all (@ bahuvrihi)
* Bug Fixes
* Fixing Ruby 1.9 issue that requires `#to_s` on the err object (@Chrononaut)
* Fixes for pagination and ordering posts on the same day (@ujh)
@@ -2984,7 +3621,7 @@
* Index.html file should always have index.html permalink (@eugenebolshakov)
* Added trailing slash to pretty permalink style so Apache is happy (@eugenebolshakov)
* Bad markdown processor in config fails sooner and with better message (@ gcnovus)
* Allow CRLFs in yaml front matter (@juretta)
* Allow CRLFs in front matter (@juretta)
* Added Date#xmlschema for Ruby versions < 1.9
## 0.5.1 / 2009-05-06
@@ -3063,7 +3700,7 @@
* Added post categories based on directories containing `_posts` (@mreid)
* Added post topics based on directories underneath `_posts`
* Added new date filter that shows the full month name (@mreid)
* Merge Post's YAML front matter into its to_liquid payload (@remi)
* Merge Post's front matter into its to_liquid payload (@remi)
* Restrict includes to regular files underneath `_includes`
* Bug Fixes
* Change YAML delimiter matcher so as to not chew up 2nd level markdown headers (@mreid)

View File

@@ -1,6 +1,6 @@
The MIT License (MIT)
Copyright (c) 2008-2018 Tom Preston-Werner and Jekyll contributors
Copyright (c) 2008-present Tom Preston-Werner and Jekyll contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@@ -1,19 +1,15 @@
# [Jekyll](https://jekyllrb.com/)
[![Gem Version](https://img.shields.io/gem/v/jekyll.svg)][ruby-gems]
[![Linux Build Status](https://img.shields.io/travis/jekyll/jekyll/master.svg?label=Linux%20build)][travis]
[![Linux Build Status](https://github.com/jekyll/jekyll/workflows/Continuous%20Integration/badge.svg)][ci-workflow]
[![Windows Build status](https://img.shields.io/appveyor/ci/jekyll/jekyll/master.svg?label=Windows%20build)][appveyor]
[![Maintainability](https://api.codeclimate.com/v1/badges/8ba0cb5b17bb9848e128/maintainability)](codeclimate)
[![Test Coverage](https://api.codeclimate.com/v1/badges/8ba0cb5b17bb9848e128/test_coverage)](coverage)
[![Dependency Status](https://img.shields.io/gemnasium/jekyll/jekyll.svg)][gemnasium]
[![Security](https://hakiri.io/github/jekyll/jekyll/master.svg)][hakiri]
[![Backers on Open Collective](https://opencollective.com/jekyll/backers/badge.svg)](#backers)
[![Sponsors on Open Collective](https://opencollective.com/jekyll/sponsors/badge.svg)](#sponsors)
[ruby-gems]: https://rubygems.org/gems/jekyll
[gemnasium]: https://gemnasium.com/jekyll/jekyll
[codeclimate]: https://codeclimate.com/github/jekyll/jekyll
[coverage]: https://codeclimate.com/github/jekyll/jekyll/coverage
[hakiri]: https://hakiri.io/github/jekyll/jekyll/master
[travis]: https://travis-ci.org/jekyll/jekyll
[ci-workflow]: https://github.com/jekyll/jekyll/actions?query=workflow%3A%22Continuous+Integration%22+branch%3Amaster
[appveyor]: https://ci.appveyor.com/project/jekyll/jekyll/branch/master
Jekyll is a simple, blog-aware, static site generator perfect for personal, project, or organization sites. Think of it like a file-based CMS, without all the complexity. Jekyll takes your content, renders Markdown and Liquid templates, and spits out a complete, static website ready to be served by Apache, Nginx or another web server. Jekyll is the engine behind [GitHub Pages](https://pages.github.com), which you can use to host sites right from your GitHub repositories.
@@ -24,18 +20,28 @@ Jekyll does what you tell it to do — no more, no less. It doesn't try to outs
See: https://jekyllrb.com/philosophy
## Having trouble?
See: https://jekyllrb.com/docs/troubleshooting/
## Getting Started
* [Install](https://jekyllrb.com/docs/installation/) the gem
* Read up about its [Usage](https://jekyllrb.com/docs/usage/) and [Configuration](https://jekyllrb.com/docs/configuration/)
* Take a gander at some existing [Sites](https://wiki.github.com/jekyll/jekyll/sites)
* Take a gander at some existing [Sites](https://github.com/jekyll/jekyll/wiki/sites)
* [Fork](https://github.com/jekyll/jekyll/fork) and [Contribute](https://jekyllrb.com/docs/contributing/) your own modifications
* Have questions? Check out our official forum community [Jekyll Talk](https://talk.jekyllrb.com/) or [`#jekyll` on irc.freenode.net](https://botbot.me/freenode/jekyll/)
## Diving In
* [Migrate](http://import.jekyllrb.com/docs/home/) from your previous system
* Learn how [Front Matter](https://jekyllrb.com/docs/front-matter/) works
* Put information on your site with [Variables](https://jekyllrb.com/docs/variables/)
* Customize the [Permalinks](https://jekyllrb.com/docs/permalinks/) your posts are generated with
* Use the built-in [Liquid Extensions](https://jekyllrb.com/docs/templates/) to make your life easier
* Use custom [Plugins](https://jekyllrb.com/docs/plugins/) to generate content specific to your site
* Watch [video tutorials from Giraffe Academy](https://jekyllrb.com/tutorials/video-walkthroughs/)
## Need help?
If you don't find the answer to your problem in our [docs](https://jekyllrb.com/docs/), or in the [troubleshooting section](https://jekyllrb.com/docs/troubleshooting/), ask the [community](https://jekyllrb.com/docs/community/) for help.
## Code of Conduct
In order to have a more open and welcoming community, Jekyll adheres to a
@@ -45,16 +51,35 @@ conduct.
Please adhere to this code of conduct in any interactions you have in the
Jekyll community. It is strictly enforced on all official Jekyll
repositories, websites, and resources. If you encounter someone violating
these terms, please let one of our core team members [Olivia](mailto:olivia@jekyllrb.com?subject=Jekyll%20CoC%20Violation), [Pat](mailto:pat@jekyllrb.com?subject=Jekyll%20CoC%20Violation), [Matt](mailto:matt@jekyllrb.com?subject=Jekyll%20CoC%20Violation) or [Parker](mailto:parker@jekyllrb.com?subject=Jekyll%20CoC%20Violation) know and we will address it as soon as possible.
these terms, please let one of our [core team members](https://jekyllrb.com/team/#core-team) know and we will address it as soon as possible.
## Diving In
## Credits
* [Migrate](http://import.jekyllrb.com/docs/home/) from your previous system
* Learn how the [YAML Front Matter](https://jekyllrb.com/docs/frontmatter/) works
* Put information on your site with [Variables](https://jekyllrb.com/docs/variables/)
* Customize the [Permalinks](https://jekyllrb.com/docs/permalinks/) your posts are generated with
* Use the built-in [Liquid Extensions](https://jekyllrb.com/docs/templates/) to make your life easier
* Use custom [Plugins](https://jekyllrb.com/docs/plugins/) to generate content specific to your site
### Sponsors
Support this project by becoming a sponsor. Your logo will show up in this README with a link to your website. [Become a sponsor!](https://opencollective.com/jekyll#sponsor)
<a href="https://opencollective.com/jekyll/sponsor/0/website" target="_blank"><img src="https://opencollective.com/jekyll/sponsor/0/avatar.svg" /></a>
<a href="https://opencollective.com/jekyll/sponsor/1/website" target="_blank"><img src="https://opencollective.com/jekyll/sponsor/1/avatar.svg" /></a>
<a href="https://opencollective.com/jekyll/sponsor/2/website" target="_blank"><img src="https://opencollective.com/jekyll/sponsor/2/avatar.svg" /></a>
<a href="https://opencollective.com/jekyll/sponsor/3/website" target="_blank"><img src="https://opencollective.com/jekyll/sponsor/3/avatar.svg" /></a>
<a href="https://opencollective.com/jekyll/sponsor/4/website" target="_blank"><img src="https://opencollective.com/jekyll/sponsor/4/avatar.svg" /></a>
<a href="https://opencollective.com/jekyll/sponsor/5/website" target="_blank"><img src="https://opencollective.com/jekyll/sponsor/5/avatar.svg" /></a>
<a href="https://opencollective.com/jekyll/sponsor/6/website" target="_blank"><img src="https://opencollective.com/jekyll/sponsor/6/avatar.svg" /></a>
<a href="https://opencollective.com/jekyll/sponsor/7/website" target="_blank"><img src="https://opencollective.com/jekyll/sponsor/7/avatar.svg" /></a>
<a href="https://opencollective.com/jekyll/sponsor/8/website" target="_blank"><img src="https://opencollective.com/jekyll/sponsor/8/avatar.svg" /></a>
<a href="https://opencollective.com/jekyll/sponsor/9/website" target="_blank"><img src="https://opencollective.com/jekyll/sponsor/9/avatar.svg" /></a>
### Contributors
This project exists thanks to all the people who contribute.
<a href="../../graphs/contributors"><img src="https://opencollective.com/jekyll/contributors.svg?width=890&button=false" /></a>
### Backers
Thank you to all our backers! 🙏 [Become a backer](https://opencollective.com/jekyll#backer)
<a href="https://opencollective.com/jekyll#backers" target="_blank"><img src="https://opencollective.com/jekyll/backers.svg?width=890" /></a>
## License

View File

@@ -159,5 +159,5 @@ end
desc "Open an irb session preloaded with this library"
task :console do
sh "irb -rubygems -r ./lib/#{name}.rb"
sh "irb -r ./lib/#{name}.rb"
end

View File

@@ -1,33 +1,32 @@
version: "{build}"
clone_depth: 10
clone_depth: 5
branches:
only:
- master
- themes
- /.*-stable/
build: off
install:
- SET PATH=C:\Ruby%RUBY_FOLDER_VER%\bin;%PATH%
- bundle install --retry 5 --jobs=%NUMBER_OF_PROCESSORS% --clean --path vendor\bundle
environment:
BUNDLE_WITHOUT: "benchmark:site:development"
BUNDLE_WITHOUT: "benchmark:development"
matrix:
- RUBY_FOLDER_VER: "25"
- RUBY_FOLDER_VER: "26"
TEST_SUITE: "test"
- RUBY_FOLDER_VER: "25"
TEST_SUITE: "cucumber"
- RUBY_FOLDER_VER: "25"
- RUBY_FOLDER_VER: "26"
TEST_SUITE: "default-site"
- RUBY_FOLDER_VER: "25-x64"
TEST_SUITE: "test"
- RUBY_FOLDER_VER: "24"
TEST_SUITE: "test"
- RUBY_FOLDER_VER: "23"
TEST_SUITE: "test"
- RUBY_FOLDER_VER: "26"
TEST_SUITE: "profile-docs"
- RUBY_FOLDER_VER: "26"
TEST_SUITE: "memprof"
- RUBY_FOLDER_VER: "26"
TEST_SUITE: "cucumber"
install:
- SET PATH=C:\Ruby%RUBY_FOLDER_VER%-x64\bin;%PATH%
- bundle install --retry 5 --jobs=%NUMBER_OF_PROCESSORS% --clean --path vendor\bundle
test_script:
- ruby --version
@@ -36,5 +35,5 @@ test_script:
- bash ./script/cibuild
cache:
# If one of the files after the right arrow changes, cache will be skipped
# If one of the files after the right arrow changes, cache will be invalidated
- 'vendor\bundle -> appveyor.yml,Gemfile,jekyll.gemspec'

View File

@@ -0,0 +1,49 @@
#!/usr/bin/env ruby
# frozen_string_literal: true
require 'benchmark/ips'
require_relative '../lib/jekyll'
puts ''
print 'Setting up... '
SITE = Jekyll::Site.new(
Jekyll.configuration({
"source" => File.expand_path("../docs", __dir__),
"destination" => File.expand_path("../docs/_site", __dir__),
"disable_disk_cache" => true,
"quiet" => true,
})
)
TEMPLATE_1 = Liquid::Template.parse(<<~HTML)
{%- assign doc = site.documents | where: 'url', '/docs/assets/' | first -%}
{{- doc.title -}}
HTML
TEMPLATE_2 = Liquid::Template.parse(<<~HTML)
{%- assign doc = site.documents | find: 'url', '/docs/assets/' -%}
{{- doc.title -}}
HTML
[:reset, :read, :generate].each { |phase| SITE.send(phase) }
puts 'done.'
puts 'Testing... '
puts " #{'where + first'.cyan} results in #{TEMPLATE_1.render(SITE.site_payload).inspect.green}"
puts " #{'find'.cyan} results in #{TEMPLATE_2.render(SITE.site_payload).inspect.green}"
if TEMPLATE_1.render(SITE.site_payload) == TEMPLATE_2.render(SITE.site_payload)
puts 'Success! Procceding to run benchmarks.'.green
puts ''
else
puts 'Something went wrong. Aborting.'.magenta
puts ''
return
end
Benchmark.ips do |x|
x.report('where + first') { TEMPLATE_1.render(SITE.site_payload) }
x.report('find') { TEMPLATE_2.render(SITE.site_payload) }
x.compare!
end

View File

@@ -0,0 +1,91 @@
#!/usr/bin/env ruby
# frozen_string_literal: true
# For pull request: https://github.com/jekyll/jekyll/pull/8192
require 'benchmark/ips'
require 'bundler/setup'
require 'memory_profiler'
require 'jekyll'
CONTEXT = {"bar"=>"The quick brown fox"}
MARKUP_1 = %Q(foo=bar lorem="ipsum \\"dolor\\"" alpha='beta \\'gamma\\'').freeze
MARKUP_2 = %Q(foo=bar lorem="ipsum 'dolor'" alpha='beta "gamma"').freeze
#
def old_parse_params(markup)
params = {}
while (match = Jekyll::Tags::IncludeTag::VALID_SYNTAX.match(markup))
markup = markup[match.end(0)..-1]
value = if match[2]
match[2].gsub('\\"', '"')
elsif match[3]
match[3].gsub("\\'", "'")
elsif match[4]
CONTEXT[match[4]]
end
params[match[1]] = value
end
params
end
def new_parse_params(markup)
params = {}
markup.scan(Jekyll::Tags::IncludeTag::VALID_SYNTAX) do |key, d_quoted, s_quoted, variable|
value = if d_quoted
d_quoted.include?('\\"') ? d_quoted.gsub('\\"', '"') : d_quoted
elsif s_quoted
s_quoted.include?("\\'") ? s_quoted.gsub("\\'", "'") : s_quoted
elsif variable
CONTEXT[variable]
end
params[key] = value
end
params
end
#
def report(label, markup, color)
prof_report = MemoryProfiler.report { yield }
allocated_memory = prof_report.scale_bytes(prof_report.total_allocated_memsize)
allocated_objects = prof_report.total_allocated
retained_memory = prof_report.scale_bytes(prof_report.total_retained_memsize)
retained_objects = prof_report.total_retained
puts <<~MSG.send(color)
#{(label + " ").ljust(49, "-")}
MARKUP: #{markup}
RESULT: #{yield}
Total allocated: #{allocated_memory} (#{allocated_objects} objects)
Total retained: #{retained_memory} (#{retained_objects} objects)
MSG
end
report('old w/ escaping', MARKUP_1, :magenta) { old_parse_params(MARKUP_1) }
report('new w/ escaping', MARKUP_1, :cyan) { new_parse_params(MARKUP_1) }
report('old no escaping', MARKUP_2, :green) { old_parse_params(MARKUP_2) }
report('new no escaping', MARKUP_2, :yellow) { new_parse_params(MARKUP_2) }
#
Benchmark.ips do |x|
x.report("old + esc".magenta) { old_parse_params(MARKUP_1) }
x.report("new + esc".cyan) { new_parse_params(MARKUP_1) }
x.compare!
end
Benchmark.ips do |x|
x.report("old - esc".green) { old_parse_params(MARKUP_2) }
x.report("new - esc".yellow) { new_parse_params(MARKUP_2) }
x.compare!
end

65
benchmark/path-manager.rb Normal file
View File

@@ -0,0 +1,65 @@
# frozen_string_literal: true
require 'benchmark/ips'
require 'jekyll'
class FooPage
def initialize(dir:, name:)
@dir = dir
@name = name
end
def slow_path
File.join(*[@dir, @name].map(&:to_s).reject(&:empty?)).sub(%r!\A/!, "")
end
def fast_path
Jekyll::PathManager.join(@dir, @name).sub(%r!\A/!, "")
end
end
nil_page = FooPage.new(:dir => nil, :name => nil)
empty_page = FooPage.new(:dir => "", :name => "")
root_page = FooPage.new(:dir => "", :name => "ipsum.md")
nested_page = FooPage.new(:dir => "lorem", :name => "ipsum.md")
slashed_page = FooPage.new(:dir => "/lorem/", :name => "/ipsum.md")
if nil_page.slow_path == nil_page.fast_path
Benchmark.ips do |x|
x.report('nil_page slow') { nil_page.slow_path }
x.report('nil_page fast') { nil_page.fast_path }
x.compare!
end
end
if empty_page.slow_path == empty_page.fast_path
Benchmark.ips do |x|
x.report('empty_page slow') { empty_page.slow_path }
x.report('empty_page fast') { empty_page.fast_path }
x.compare!
end
end
if root_page.slow_path == root_page.fast_path
Benchmark.ips do |x|
x.report('root_page slow') { root_page.slow_path }
x.report('root_page fast') { root_page.fast_path }
x.compare!
end
end
if nested_page.slow_path == nested_page.fast_path
Benchmark.ips do |x|
x.report('nested_page slow') { nested_page.slow_path }
x.report('nested_page fast') { nested_page.fast_path }
x.compare!
end
end
if slashed_page.slow_path == slashed_page.fast_path
Benchmark.ips do |x|
x.report('slashed_page slow') { slashed_page.slow_path }
x.report('slashed_page fast') { slashed_page.fast_path }
x.compare!
end
end

View File

@@ -90,26 +90,21 @@ end
Correctness.new(site_docs, "redirect_from".freeze).assert!
Correctness.new(site_docs, "title".freeze).assert!
# First, test with a property only a handful of documents have.
Benchmark.ips do |x|
x.config(time: 10, warmup: 5)
x.report('sort_by_property_directly with sparse property') do
sort_by_property_directly(site_docs, "redirect_from".freeze)
def test_property(property, meta_key)
Benchmark.ips do |x|
x.config(time: 10, warmup: 5)
x.report("sort_by_property_directly with #{property} property") do
sort_by_property_directly(site_docs, meta_key)
end
x.report("schwartzian_transform with #{property} property") do
schwartzian_transform(site_docs, meta_key)
end
x.compare!
end
x.report('schwartzian_transform with sparse property') do
schwartzian_transform(site_docs, "redirect_from".freeze)
end
x.compare!
end
# First, test with a property only a handful of documents have.
test_property('sparse', 'redirect_from')
# Next, test with a property they all have.
Benchmark.ips do |x|
x.config(time: 10, warmup: 5)
x.report('sort_by_property_directly with non-sparse property') do
sort_by_property_directly(site_docs, "title".freeze)
end
x.report('schwartzian_transform with non-sparse property') do
schwartzian_transform(site_docs, "title".freeze)
end
x.compare!
end
test_property('non-sparse', 'title')

View File

@@ -0,0 +1,83 @@
#!/usr/bin/env ruby
# frozen_string_literal: true
require "forwardable"
require "colorator"
require "liquid"
require "benchmark/ips"
require "memory_profiler"
# Set up (memory) profiler
class Profiler
def self.run
yield new(ARGV[0] || 10_000)
end
def initialize(count)
@count = count.to_i
end
def report(label, color, &block)
prof_report = MemoryProfiler.report { @count.to_i.times(&block) }
allocated_memory = prof_report.scale_bytes(prof_report.total_allocated_memsize)
allocated_objects = prof_report.total_allocated
retained_memory = prof_report.scale_bytes(prof_report.total_retained_memsize)
retained_objects = prof_report.total_retained
puts <<~MSG.send(color)
With #{label} calls
Total allocated: #{allocated_memory} (#{allocated_objects} objects)
Total retained: #{retained_memory} (#{retained_objects} objects)
MSG
end
end
# Set up stage
class Drop < Liquid::Drop
def initialize(obj)
@obj = obj
end
end
class ForwardDrop < Drop
extend Forwardable
def_delegators :@obj, :name
end
class StaticDrop < Drop
def name
@obj.name
end
end
class Document
def name
"lipsum"
end
end
# Set up actors
document = Document.new
alpha = ForwardDrop.new(document)
beta = StaticDrop.new(document)
count = ARGV[0] || 10_000
# Run profilers
puts "\nMemory profiles for #{count} calls to invoke drop key:"
Profiler.run do |x|
x.report("forwarded", :cyan) { alpha["name"] }
x.report("static", :green) { beta["name"] }
end
# Benchmark
puts "\nBenchmarking the two scenarios..."
Benchmark.ips do |x|
x.report("forwarded".cyan) { alpha["name"] }
x.report("static".green) { beta["name"] }
x.compare!
end

2
docs/.gitignore vendored
View File

@@ -1,5 +1,5 @@
_site/
.idea/
*.swp
pkg/
test/
.idea/

View File

@@ -1,5 +1,5 @@
---
version: 3.8.1
version: 4.2.0
name: Jekyll • Simple, blog-aware, static sites
description: Transform your plain text into static websites and blogs
url: https://jekyllrb.com
@@ -10,6 +10,7 @@ twitter:
logo: "/img/logo-2x.png"
google_analytics_id: UA-50755011-1
google_site_verification: onQcXpAvtHBrUI5LlroHNE_FP0b2qvFyPq7VZw36iEY
cloudinary_url: https://res.cloudinary.com/jekyll/image/upload/f_auto,q_auto,w_404
collections:
docs:
permalink: "/:collection/:path/"
@@ -18,6 +19,7 @@ collections:
permalink: "/news/:year/:month/:day/:title/"
output: true
tutorials:
permalink: "/:collection/:path/"
output: true
defaults:
- scope:
@@ -30,7 +32,16 @@ defaults:
type: posts
values:
layout: news_item
image: "/img/twitter-card.png"
- scope:
path: _tutorials
type: tutorials
values:
layout: tutorials
- scope:
path: ''
values:
image: "/img/jekyll-og.png"
future: true
plugins:
- jekyll-avatar
- jekyll-feed
@@ -39,10 +50,15 @@ plugins:
- jekyll-seo-tag
- jekyll-sitemap
- jemoji
feed:
categories:
- release
kramdown:
syntax_highlighter_opts:
default_lang: plaintext
sass:
style: compressed
strict_front_matter: true
exclude:
- ".gitignore"
- CNAME
- icomoon-selection.json
- readme.md

View File

@@ -0,0 +1,110 @@
- name: Regeneration
description: Enable auto-regeneration of the site when files are modified.
flag: "-w, --[no-]watch"
- name: Configuration
description: >-
Specify config files instead of using <code>_config.yml</code> automatically.
Settings in later files override settings in earlier files.
flag: "--config FILE1[,FILE2,...]"
- name: Plugins
description: >-
Specify plugin directories instead of using <code>_plugins/</code> automatically.
option: "plugins_dir: [ DIR1,... ]"
flag: "-p, --plugins DIR1[,DIR2,...]"
- name: Layouts
description: >-
Specify layout directory instead of using <code>_layouts/</code> automatically.
option: "layout_dir: DIR"
flag: --layouts DIR
- name: Drafts
description: Process and render draft posts.
option: "show_drafts: BOOL"
flag: -D, --drafts
- name: Environment
description: Use a specific environment value in the build.
flag: JEKYLL_ENV=production
- name: Future
description: Publish posts or collection documents with a future date.
option: "future: BOOL"
flag: --future
- name: Unpublished
description: Render posts that were marked as unpublished.
option: "unpublished: BOOL"
flag: --unpublished
- name: LSI
description: >-
Produce an index for related posts. Requires the
<a href="https://jekyll.github.io/classifier-reborn/">classifier-reborn</a> plugin.
option: "lsi: BOOL"
flag: --lsi
- name: Limit Posts
description: Limit the number of posts to parse and publish.
option: "limit_posts: NUM"
flag: --limit_posts NUM
- name: Force polling
description: Force watch to use polling.
option: "force_polling: BOOL"
flag: --force_polling
- name: Verbose output
description: Print verbose output.
flag: -V, --verbose
- name: Silence Output
description: Silence the normal output from Jekyll during a build.
flag: -q, --quiet
- name: Incremental build
description: >-
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.
option: "incremental: BOOL"
flag: -I, --incremental
- name: Liquid profiler
description: Generate a Liquid rendering profile to help you identify performance bottlenecks.
option: "profile: BOOL"
flag: --profile
- name: Strict Front Matter
description: Cause a build to fail if there is a YAML syntax error in a page's front matter.
option: "strict_front_matter: BOOL"
flag: --strict_front_matter
- name: Base URL
description: Serve the website from the given base URL.
option: "baseurl: URL"
flag: -b, --baseurl URL
- name: Trace
description: Show the full backtrace when an error occurs.
flag: -t, --trace

View File

@@ -0,0 +1,77 @@
- name: Site Source
description: Change the directory where Jekyll will read files
option: "source: DIR"
flag: -s, --source DIR
- name: Site Destination
description: Change the directory where Jekyll will write files
option: "destination: DIR"
flag: -d, --destination DIR
- name: Safe
description: >-
Disable <a href="/docs/plugins/">non-whitelisted plugins</a>, caching to disk, and ignore symbolic links.
option: "safe: BOOL"
flag: --safe
- name: Disable Disk Cache
version-badge: 4.1.0
description: >-
Disable caching of content to disk in order to skip creating a <code>.jekyll-cache</code> or similar directory at
the source to avoid interference with virtual environments and third-party directory watchers. Caching to disk is
always disabled in <code>safe</code> mode.
option: "disable_disk_cache: BOOL"
flag: --disable-disk-cache
- name: Ignore theme configuration
version-badge: 4.1.0
description: >-
Jekyll 4.0 started allowing themes to bundle a <code>_config.yml</code> to simplify theme-onboarding for new users.
In the unfortunate situation that importing a bundled theme configuration messes up the merged site-configuration,
the user can configure Jekyll to not import the theme-config entirely.
option: "ignore_theme_config: BOOL"
- name: Exclude
description: >-
Exclude directories and/or files from the conversion. These exclusions are relative to the site's source directory
and cannot be outside the source directory.
option: "exclude: [DIR, FILE, ...]"
- name: Include
description: >-
Force inclusion of directories and/or files in the conversion. <code>.htaccess</code> is a good example since
dotfiles are excluded by default.
option: "include: [DIR, FILE, ...]"
- name: Keep files
description: >-
When clobbering the site destination, keep the selected files. Useful for files that are not generated by jekyll;
e.g. files or assets that are generated by your build tool. The paths are relative to the <code>destination</code>.
option: "keep_files: [DIR, FILE, ...]"
- name: Time Zone
description: >-
Set the time zone for site generation. This sets the <code>TZ</code> environment variable, which Ruby uses to handle
time and date creation and manipulation. Any entry from the
<a href="https://en.wikipedia.org/wiki/Tz_database">IANA Time Zone Database</a>
is valid, e.g. <code>America/New_York</code>. A list of all available values can be found
<a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones"> here</a>.
When serving on a local machine, the default time zone is set by your operating system. But when served on a remote
host/server, the default time zone depends on the server's setting or location.
option: "timezone: TIMEZONE"
- name: Encoding
description: >-
Set the encoding of files by name (only available for Ruby 1.9 or later). The default value is <code>utf-8</code>
starting in 2.0.0, and <code>nil</code> before 2.0.0, which will yield the Ruby default of <code>ASCII-8BIT</code>.
Available encodings can be shown by the command <code>ruby -e 'puts Encoding::list.join("\n")'</code>.
option: "encoding: ENCODING"

View File

@@ -0,0 +1,71 @@
- name: Local Server Port
description: Listen on the given port.
option: "port: PORT"
flag: "-P, --port PORT"
- name: Local Server Hostname
description: Listen at the given hostname.
option: "host: HOSTNAME"
flag: "-H, --host HOSTNAME"
- name: Live Reload
description: Reload a page automatically on the browser when its content is edited.
option: "livereload: BOOL"
flag: "-l, --livereload"
- name: Live Reload Ignore
description: File glob patterns for LiveReload to ignore.
option: "livereload_ignore: [ GLOB1,... ]"
flag: "--livereload-ignore GLOB1[,GLOB2,...]"
- name: Live Reload Min/Max Delay
description: Minimum/Maximum delay before automatically reloading page.
options:
- "livereload_min_delay: SECONDS"
- "livereload_max_delay: SECONDS"
flags:
- "--livereload-min-delay SECONDS"
- "--livereload-max-delay SECONDS"
- name: Live Reload Port
description: Port for LiveReload to listen on.
flag: "--livereload-port PORT"
- name: Open URL
description: Open the site's URL in the browser.
option: "open_url: BOOL"
flag: "-o, --open-url"
- name: Detach
description: Detach the server from the terminal.
option: "detach: BOOL"
flag: "-B, --detach"
- name: Skips the initial site build
description: Skips the initial site build which occurs before the server is started.
option: "skip_initial_build: BOOL"
flag: "--skip-initial-build"
- name: Show Directory Listing
description: Show a directory listing instead of loading your index file.
option: "show_dir_listing: BOOL"
flag: "--show-dir-listing"
- name: X.509 (SSL) Private Key
description: "SSL Private Key, stored or symlinked in the site source."
flag: "--ssl-key"
- name: X.509 (SSL) Certificate
description: "SSL Public certificate, stored or symlinked in the site source."
flag: "--ssl-cert"

View File

@@ -1,53 +0,0 @@
- title: Getting Started
docs:
- home
- quickstart
- installation
- windows
- usage
- structure
- configuration
- title: Your Content
docs:
- frontmatter
- posts
- drafts
- pages
- static-files
- variables
- collections
- datafiles
- assets
- migrations
- title: Customization
docs:
- templates
- includes
- permalinks
- pagination
- plugins
- themes
- extras
- title: Deployment
docs:
- github-pages
- deployment-methods
- continuous-integration
- title: Miscellaneous
docs:
- troubleshooting
- sites
- resources
- upgrading/0-to-2
- upgrading/2-to-3
- title: Meta
docs:
- contributing
- maintaining
- conduct
- history

37
docs/_data/docs_nav.yml Normal file
View File

@@ -0,0 +1,37 @@
- title: Getting Started
docs:
- link: /docs/
- link: /docs/installation/
- link: /docs/ruby-101/
- link: /docs/community/
- link: /docs/step-by-step/01-setup/
- title: Build
docs:
- link: /docs/usage/
- link: /docs/configuration/
- link: /docs/rendering-process/
- title: Content
docs:
- link: /docs/pages/
- link: /docs/posts/
- link: /docs/front-matter/
- link: /docs/collections/
- link: /docs/datafiles/
- link: /docs/assets/
- link: /docs/static-files/
- title: Site Structure
docs:
- link: /docs/structure/
- link: /docs/liquid/
- link: /docs/variables/
- link: /docs/includes/
- link: /docs/layouts/
- link: /docs/permalinks/
- link: /docs/themes/
- link: /docs/pagination/
- title: Guides
docs:
- link: /docs/plugins/
- link: /docs/migrations/
- link: /docs/upgrading/
- link: /docs/deployment/

View File

@@ -0,0 +1,347 @@
#
# ---------------------------------------------------------------------------------------
# List of Liquid Filters provided by Jekyll Core that will be utilized for their
# documentation.
#
# To document a new filter, create a new "list-item" below with the following keys:
# name: : [REQUIRED] A string label that identifies the filter
# description: : [REQUIRED] A short description of what to expect from the filter
# version_badge: : [OPTIONAL] Jekyll version that introduced the filter
# examples: : [REQUIRED] A 'nested list' comprised of inputs and outputs
# input: : [REQUIRED] The filter syntax and usage
# output: : [OPTIONAL] The output from the filter
#
# Tip: Use YAML Block notations to "fold" a long string, or to "break" a long string
# to the following line. Block notations can also be used to avoid having to use
# backslashes to escape quotes.
# ---------------------------------------------------------------------------------------
#
- name: Relative URL
description: >-
Prepend the <code>baseurl</code> value to the input. Useful if
your site is hosted at a subpath rather than the root of the domain.
examples:
- input: '{{ "/assets/style.css" | relative_url }}'
output: '/my-baseurl/assets/style.css'
#
- name: Absolute URL
description: Prepend the <code>url</code> and <code>baseurl</code> value to the input.
examples:
- input: '{{ "/assets/style.css" | absolute_url }}'
output: 'http://example.com/my-baseurl/assets/style.css'
#
- name: Date to XML Schema
description: Convert a Date into XML Schema (ISO 8601) format.
examples:
- input: '{{ site.time | date_to_xmlschema }}'
output: '2008-11-07T13:07:54-08:00'
#
- name: Date to RFC-822 Format
description: Convert a Date into the RFC-822 format used for RSS feeds.
examples:
- input: '{{ site.time | date_to_rfc822 }}'
output: 'Mon, 07 Nov 2008 13:07:54 -0800'
#
- name: Date to String
description: Convert a date to short format.
examples:
- input: '{{ site.time | date_to_string }}'
output: '07 Nov 2008'
#
- name: Date to String in ordinal US style
description: 'Format a date to ordinal, US, short format.'
version_badge: 3.8.0
examples:
- input: '{{ site.time | date_to_string: "ordinal", "US" }}'
output: 'Nov 7th, 2008'
#
- name: Date to Long String
description: Format a date to long format.
examples:
- input: '{{ site.time | date_to_long_string }}'
output: '07 November 2008'
#
- name: Date to Long String in ordinal UK style
description: 'Format a date to ordinal, UK, long format.'
version_badge: 3.8.0
examples:
- input: '{{ site.time | date_to_long_string: "ordinal" }}'
output: '7th November 2008'
#
- name: Where
description: Select all the objects in an array where the key has the given value.
examples:
- input: '{{ site.members | where:"graduation_year","2014" }}'
output:
#
- name: Where Expression
description: Select all the objects in an array where the expression is true.
version_badge: 3.2.0
examples:
- input: |-
{{ site.members | where_exp:"item",
"item.graduation_year == 2014" }}
output:
- input: |-
{{ site.members | where_exp:"item",
"item.graduation_year < 2014" }}
output:
- input: |-
{{ site.members | where_exp:"item",
"item.projects contains 'foo'" }}
output:
#
- name: Find
description: >-
Return <strong>the first object</strong> in an array for which the queried
attribute has the given value or return <code>nil</code> if no item in
the array satisfies the given criteria.
version_badge: 4.1.0
examples:
- input: '{{ site.members | find: "graduation_year", "2014" }}'
output:
#
- name: Find Expression
description: >-
Return <strong>the first object</strong> in an array for which the given
expression evaluates to true or return <code>nil</code> if no item in
the array satisfies the evaluated expression.
version_badge: 4.1.0
examples:
- input: |-
{{ site.members | find_exp:"item",
"item.graduation_year == 2014" }}
output:
- input: |-
{{ site.members | find_exp:"item",
"item.graduation_year < 2014" }}
output:
- input: |-
{{ site.members | find_exp:"item",
"item.projects contains 'foo'" }}
output:
#
- name: Group By
description: Group an array's items by a given property.
examples:
- input: '{{ site.members | group_by:"graduation_year" }}'
output: |-
[{"name"=>"2013", "items"=>[...]},
{"name"=>"2014", "items"=>[...]}]
#
- name: Group By Expression
description: Group an array's items using a Liquid expression.
version_badge: 3.4.0
examples:
- input: |-
{{ site.members | group_by_exp: "item",
"item.graduation_year | truncate: 3, ''" }}
output: |-
[{"name"=>"201", "items"=>[...]},
{"name"=>"200", "items"=>[...]}]
#
- name: XML Escape
description: Escape some text for use in XML.
examples:
- input: '{{ page.content | xml_escape }}'
output:
#
- name: CGI Escape
description: >-
CGI escape a string for use in a URL. Replaces any special characters
with appropriate <code>%XX</code> replacements. CGI escape normally
replaces a space with a plus <code>+</code> sign.
examples:
- input: '{{ "foo, bar; baz?" | cgi_escape }}'
output: 'foo%2C+bar%3B+baz%3F'
#
- name: URI Escape
description: >-
Percent encodes any special characters in a URI.
URI escape normally replaces a space with <code>%20</code>.
<a href="https://en.wikipedia.org/wiki/Percent-encoding#Types_of_URI_characters">Reserved characters</a>
will not be escaped.
examples:
- input: '{{ "http://foo.com/?q=foo, \bar?" | uri_escape }}'
output: 'http://foo.com/?q=foo,%20%5Cbar?'
#
- name: Number of Words
description: >-
Count the number of words in some text.<br/>
From <span class="version-badge">v4.1.0</span>, this filter takes an optional
argument to control the handling of Chinese-Japanese-Korean (CJK) characters
in the <code>input</code> string.<br/>
Passing <code>'cjk'</code> as the argument will count every CJK character
detected as one word irrespective of being separated by whitespace.<br/>
Passing <code>'auto'</code> (auto-detect) works similar to <code>'cjk'</code>
but is more performant if the filter is used on a variable string that may
or may not contain CJK chars.
examples:
- input: '{{ "Hello world!" | number_of_words }}'
output: 2
- input: '{{ "你好hello世界world" | number_of_words }}'
output: 1
- input: '{{ "你好hello世界world" | number_of_words: "cjk" }}'
output: 6
- input: '{{ "你好hello世界world" | number_of_words: "auto" }}'
output: 6
#
- name: Array to Sentence
description: >-
Convert an array into a sentence. Useful for listing tags.
Optional argument for connector.
examples:
- input: '{{ page.tags | array_to_sentence_string }}'
output: 'foo, bar, and baz'
- input: '{{ page.tags | array_to_sentence_string: "or" }}'
output: 'foo, bar, or baz'
#
- name: Markdownify
description: Convert a Markdown-formatted string into HTML.
examples:
- input: '{{ page.excerpt | markdownify }}'
output:
#
- name: Smartify
description: 'Convert "quotes" into &ldquo;smart quotes.&rdquo;'
examples:
- input: '{{ page.title | smartify }}'
output:
#
- name: Converting Sass/SCSS
description: Convert a Sass- or SCSS-formatted string into CSS.
examples:
- input: '{{ some_sass | sassify }}'
output:
- input: '{{ some_scss | scssify }}'
output:
#
- name: Slugify
description: Convert a string into a lowercase URL "slug". See below for options.
examples:
- input: '{{ "The _config.yml file" | slugify }}'
output: 'the-config-yml-file'
- input: '{{ "The _config.yml file" | slugify: "pretty" }}'
output: 'the-_config.yml-file'
- input: '{{ "The _cönfig.yml file" | slugify: "ascii" }}'
output: 'the-c-nfig-yml-file'
- input: '{{ "The cönfig.yml file" | slugify: "latin" }}'
output: 'the-config-yml-file'
#
- name: Data To JSON
description: Convert Hash or Array to JSON.
examples:
- input: '{{ site.data.projects | jsonify }}'
output:
#
- name: Normalize Whitespace
description: Replace any occurrence of whitespace with a single space.
examples:
- input: '{{ "a \n b" | normalize_whitespace }}'
output:
#
- name: Sort
description: >-
Sort an array. Optional arguments for hashes
1.&nbsp;property name
2.&nbsp;nils order (<em>first</em> or <em>last</em>).
examples:
- input: '{{ page.tags | sort }}'
output:
- input: '{{ site.posts | sort: "author" }}'
output:
- input: '{{ site.pages | sort: "title", "last" }}'
output:
#
- name: Sample
description: 'Pick a random value from an array. Optionally, pick multiple values.'
examples:
- input: '{{ site.pages | sample }}'
output:
- input: '{{ site.pages | sample: 2 }}'
output:
#
- name: To Integer
description: Convert a string or boolean to integer.
examples:
- input: '{{ some_var | to_integer }}'
output:
#
- name: Array Filters
description: >-
Push, pop, shift, and unshift elements from an Array.
These are <strong>NON-DESTRUCTIVE</strong>, i.e. they do not mutate the array,
but rather make a copy and mutate that.
examples:
- input: '{{ page.tags | push: "Spokane" }}'
output: '["Seattle", "Tacoma", "Spokane"]'
- input: '{{ page.tags | pop }}'
output: '["Seattle"]'
- input: '{{ page.tags | shift }}'
output: '["Tacoma"]'
- input: '{{ page.tags | unshift: "Olympia" }}'
output: '["Olympia", "Seattle", "Tacoma"]'
#
- name: Inspect
description: Convert an object into its String representation for debugging.
examples:
- input: '{{ some_var | inspect }}'
output:

View File

@@ -0,0 +1,175 @@
# Variables provided by Jekyll core
#
# name: : name of the variable
# description: : content returned by the varialble
global:
- name: site
description: >-
Site wide information + configuration settings from <code>_config.yml</code>.
See below for details.
- name: page
description: >-
Page specific information + the <a href="/docs/front-matter/">front matter</a>.
Custom variables set via the front matter will be available here. See below for details.
- name: layout
description: >-
Layout specific information + the <a href="/docs/front-matter/">front matter</a>.
Custom variables set via front matter in layouts will be available here.
- name: content
description: >-
In layout files, the rendered content of the Post or Page being wrapped.
Not defined in Post or Page files.
- name: paginator
description: >-
When the <code>paginate</code> configuration option is set, this variable becomes available
for use. See <a href="../pagination/">Pagination</a> for details.
site:
- name: site.time
description: >-
The current time (when you run the <code>jekyll</code> command).
- name: site.pages
description: >-
A list of all Pages.
- name: site.posts
description: >-
A reverse chronological list of all Posts.
- name: site.related_posts
description: >-
If the page being processed is a Post, this contains a list of up to ten related Posts.
By default, these are the ten most recent posts. For high quality but slow to compute
results, run the <code>jekyll</code> command with the <code>--lsi</code>
(<a href="https://en.wikipedia.org/wiki/Latent_semantic_analysis#Latent_semantic_indexing">latent semantic indexing</a>)
option. Also note GitHub Pages does not support the
<code>lsi</code> option when generating sites.
- name: site.static_files
description: >-
A list of all <a href="/docs/static-files/">static files</a> (i.e.
files not processed by Jekyll's converters or the Liquid renderer).
Each file has five properties: <code>path</code>, <code>modified_time</code>,
<code>name</code>, <code>basename</code> and <code>extname</code>.
- name: site.html_pages
description: >-
A subset of <code>site.pages</code> listing those which end in <code>.html</code>.
- name: site.html_files
description: >-
A subset of <code>site.static_files</code> listing those which end in <code>.html</code>.
- name: site.collections
description: >-
A list of all the collections (including posts).
- name: site.data
description: >-
A list containing the data loaded from the YAML files located in the <code>_data</code>
directory.
- name: site.documents
description: >-
A list of all the documents in every collection.
- name: site.categories.CATEGORY
description: >-
The list of all Posts in category <code>CATEGORY</code>.
- name: site.tags.TAG
description: >-
The list of all Posts with tag <code>TAG</code>.
- name: site.url
description: >-
Contains the url of your site as it is configured in the <code>_config.yml</code>.
For example, if you have <code>url: http://mysite.com</code> in your configuration file,
then it will be accessible in Liquid as <code>site.url</code>. For the development
environment there is <a href="/news/#3-siteurl-is-set-by-the-development-server">an
exception</a>, if you are running <code>jekyll serve</code> in a development environment
<code>site.url</code> will be set to the value of <code>host</code>, <code>port</code>,
and SSL-related options. This defaults to <code>url: http://localhost:4000</code>.
- name: "site.[CONFIGURATION_DATA]"
description: >-
All the variables set via the command line and your <code>_config.yml</code> are available
through the <code>site</code> variable. For example, if you have <code>foo: bar</code> in
your configuration file, then it will be accessible in Liquid as <code>site.foo</code>.
Jekyll does not parse changes to <code>_config.yml</code> in
<code>watch</code> mode, you must restart Jekyll to see changes to variables.
page:
- name: page.content
description: >-
The content of the Page, rendered or un-rendered depending upon
what Liquid is being processed and what <code>page</code> is.
- name: page.title
description: >-
The title of the Page.
- name: page.excerpt
description: >-
The un-rendered excerpt of a document.
- name: page.url
description: >-
The URL of the Post without the domain, but with a leading slash, e.g.
<code>/2008/12/14/my-post.html</code>
- name: page.date
description: >-
The Date assigned to the Post. This can be overridden in a Posts front matter by specifying
a new date/time in the format <code>YYYY-MM-DD HH:MM:SS</code> (assuming UTC), or
<code>YYYY-MM-DD HH:MM:SS +/-TTTT</code> (to specify a time zone using an offset from UTC.
e.g. <code>2008-12-14 10:30:00 +0900</code>).
- name: page.id
description: >-
An identifier unique to a document in a Collection or a Post (useful in RSS feeds). e.g.
<code>/2008/12/14/my-post</code><code>/my-collection/my-document</code>
- name: page.categories
description: >-
The list of categories to which this post belongs. Categories are derived from the directory
structure above the <code>_posts</code> directory. For example, a post at
<code>/work/code/_posts/2008-12-24-closures.md</code> would have this field set to
<code>['work', 'code']</code>. These can also be specified in the
<a href="/docs/front-matter/">front matter</a>.
- name: page.collection
description: >-
The label of the collection to which this document belongs. e.g. <code>posts</code> for a post, or
<code>puppies</code> for a document at path <code>_puppies/rover.md</code>. If not part of a
collection, an empty string is returned.
- name: page.tags
description: >-
The list of tags to which this post belongs. These can be specified in the
<a href="/docs/front-matter/">front matter</a>.
- name: page.dir
description: >-
The path between the source directory and the file of the post or page, e.g.
<code>/pages/</code>.
This can be overridden by <code>permalink</code> in the <a href="/docs/front-matter/">front matter</a>.
- name: page.name
description: >-
The filename of the post or page, e.g. <code>about.md</code>
- name: page.path
description: >-
The path to the raw post or page. Example usage: Linking back to the page or posts source
on GitHub. This can be overridden in the <a href="/docs/front-matter/">front matter</a>.
- name: page.next
description: >-
The next post relative to the position of the current post in <code>site.posts</code>.
Returns <code>nil</code> for the last entry.
- name: page.previous
description: >-
The previous post relative to the position of the current post in <code>site.posts</code>.
Returns <code>nil</code> for the first entry.
paginator:
- name: paginator.page
description: The number of the current page
- name: paginator.per_page
description: Number of posts per page
- name: paginator.posts
description: Posts available for the current page
- name: paginator.total_posts
description: Total number of posts
- name: paginator.total_pages
description: Total number of pages
- name: paginator.previous_page
description: >-
The number of the previous page, or <code>nil</code> if no previous page exists
- name: paginator.previous_page_path
description: >-
The path to the previous page, or <code>nil</code> if no previous page exists
- name: paginator.next_page
description: >-
The number of the next page, or <code>nil</code> if no subsequent page exists
- name: paginator.next_page_path
description: >-
The path to the next page, or <code>nil</code> if no subsequent page exists

View File

@@ -53,7 +53,7 @@
year: 2016
- speaker: Amy Johnston
twitter_handle: amybeukenex
twitter_handle: AmyJohnstonXL
youtube_id: HR12JiUI2Zc
topic: Jekyll for Technical Documentation
year: 2016
@@ -83,7 +83,7 @@
year: 2016
- speaker: Julio Faerman
twitter_handle: jmfaerman
twitter_handle: juliodevrel
youtube_id: SOMonG8Iqak
topic: Jekyll on AWS
year: 2016
@@ -131,7 +131,7 @@
year: 2016
- speaker: Nils Borchers
twitter_handle: nilsborchers
twitter_handle: nilsbo
youtube_id: DtNMjuv6Rbo
topic: Building a living brand guide with Jekyll and Hologram
year: 2016
@@ -165,3 +165,45 @@
youtube_id: nq1AUB72GCQ
topic: Overcoming challenges in using Jekyll for documentation projects
year: 2016
- speaker: Pieter Roozen
twitter_handle: Pieter_Roozen
youtube_id: moQP0SqEPsw
topic: Jekyll As An API Endpoint
year: 2019
- speaker: Chen Hui Jing
twitter_handle: hj_chen
youtube_id: CERXESTZ5w4
topic: Why I love Jekyll Data Files
year: 2019
- speaker: Chris Ferdinandi
twitter_handle: ChrisFerdinandi
youtube_id: vR1aI_kQ4-A
topic: The Lean Web
year: 2019
- speaker: Catherine Roebuck
twitter_handle:
youtube_id: zTAP1m1BaDM
topic: Jekyll For City Government
year: 2019
- speaker: Joost van der Schee
twitter_handle: jhvanderschee
youtube_id: ztJJ1GSlYgI
topic: "Jekyll Codex - Jekyll for front-end developers"
year: 2019
- speaker: Matthew Loberg
twitter_handle: mloberg
youtube_id: 6eiAjAtSGqw
topic: Leverage AWS S3 And CloudFront To Deploy Blazing Fast Jekyll Sites
year: 2019
- speaker: George Phillips
twitter_handle: gphillips_nz
youtube_id: nEvdOwFJBVc
topic: Structuring Jekyll Sites For Enterprise Design Systems
year: 2019

View File

@@ -0,0 +1,15 @@
- title: Home
link: /
show_on_mobile: true
- title: Docs
link: /docs/
show_on_mobile: true
- title: Resources
link: /resources/
show_on_mobile: true
- title: Showcase
link: /showcase/
show_on_mobile: false
- title: News
link: /news/
show_on_mobile: true

3
docs/_data/ruby.yml Normal file
View File

@@ -0,0 +1,3 @@
min_version: 2.5.0
current_version: 2.7.2
current_version_output: ruby 2.7.2p137 (2020-10-01 revision 5445e04352)

329
docs/_data/showcase.yml Normal file
View File

@@ -0,0 +1,329 @@
- name: Tom Preston Werner Blog
url: http://tom.preston-werner.com/
image: tom-preston-werner.png
categories:
- personal
- blog
# - name: White House Social and Behavioral Sciences Team
# url: https://sbst.gov/
# image: sbst.png
# categories:
# - government
- name: SiteLeaf
url: https://siteleaf.com
image: siteleaf.png
categories:
- software
- marketing-site
- name: CloudCannon
url: https://cloudcannon.com/
image: cloudcannon.png
categories:
- software
- marketing-site
- name: Vesterheim Norwegian-American Museum
url: http://vesterheim.org/
image: vesterheim.png
categories:
- marketing-site
- name: KOTN
url: https://kotn.com/
image: kotn.png
categories:
- marketing-site
- name: MvvmCross
url: https://www.mvvmcross.com/
image: mvvm.png
categories:
- software
- marketing-site
- name: Vidgrid
url: https://www.vidgrid.com/
image: vidgrid.png
categories:
- software
- marketing-site
- name: Bitcoin
url: https://bitcoin.org/en/
image: bitcoin.png
categories:
- software
- marketing-site
- name: Mapwize
url: https://www.mapwize.io/
image: mapwize.png
categories:
- software
- marketing-site
- name: Auth0 Blog
url: https://auth0.com/blog/
image: auth0-blog.png
categories:
- software
- blog
- name: AWS Amplify
url: https://aws-amplify.github.io/
image: amplify-framework.png
categories:
- open-source
- marketing-site
- name: Freedom of Information Act
url: https://www.foia.gov/
image: foia-gov.png
categories:
- government
- name: "Art & About Sydney"
url: https://www.artandabout.com.au/
image: art-sydney.png
categories:
- government
- name: Passbolt Help
url: https://help.passbolt.com/
image: passbolt-help.png
categories:
- knowledgebase
- name: We are COLLINS
url: https://www.wearecollins.com/
image: collins.png
categories:
- agency
- name: Lightburn
url: https://lightburn.co/
image: lightburn.png
categories:
- agency
- name: italia.it
url: https://developers.italia.it/
image: italia-it.png
categories:
- community
- name: Sydney New Years Eve
url: https://www.sydneynewyearseve.com/
image: nsw.png
categories:
- government
- name: Login.gov
url: https://login.gov/
image: login-gov.png
categories:
- government
- name: plainlanguage.gov
url: https://plainlanguage.gov/
image: plainlanguage-gov.png
categories:
- government
- name: U.S. Web Design Standards
url: https://standards.usa.gov/
image: uswds.png
categories:
- government
- name: Grantmaker Search
url: https://www.grantmakers.io/
image: grantmakers.png
categories:
- marketing-site
- name: Rehan Butt
url: http://rehanbutt.com/
image: rehn.png
categories:
- personal
- portfolio
- name: The Markdown Guide
url: https://www.markdownguide.org/
image: markdown-guide.png
categories:
- knowledgebase
- name: Probot
url: https://probot.github.io/
image: probot.png
categories:
- documentation
- name: Matt Grey
url: https://himatt.com/
image: matt-grey.png
categories:
- personal
- portfolio
- name: Lattice
url: https://latticehq.com/
image: lattice.png
categories:
- software
- marketing-site
- name: MailTape
url: https://www.mailta.pe/
image: mailtape.png
categories:
- other
- name: Digital Democracy
url: http://www.digital-democracy.org/
image: digital-democracy.png
categories:
- other
- name: HTML Reference
url: http://htmlreference.io/
image: htmlreference.png
categories:
- documentation
- name: CSS Reference
url: http://cssreference.io/
image: cssreference.png
categories:
- documentation
- name: Chain
url: https://chain.com/
image: chain.png
categories:
- marketing-site
- name: IBM MobileFirst Foundation
url: https://mobilefirstplatform.ibmcloud.com/
image: ibm-mobile-foundation.png
categories:
- documentation
- name: "18F"
url: https://18f.gsa.gov/
image: 18f.png
categories:
- agency
- government
- name: Development Seed
url: https://developmentseed.org/
image: development-seed.png
categories:
- agency
- name: Isomer - Singapore Government Static Websites
url: https://isomer.gov.sg/
image: isomer.png
categories:
- government
- name: French Government Digital Services
url: https://beta.gouv.fr/
image: beta-gouv-fr.png
categories:
- government
- name: Paris Call for Trust and Security in Cyberspace
url: https://pariscall.international/
image: appel-de-paris.png
categories:
- government
- name: GitHub On Demand Training
url: https://services.github.com/on-demand/
image: github-learning-lab.png
categories:
- software
- knowledgebase
- name: TwitchCon
url: https://www.twitchcon.com/
image: twitchcon.png
categories:
- marketing-site
- conference
- name: UN World Statistics
url: https://worldstatisticsday.org
image: world-statistics-day.png
categories:
- government
- name: Netflix Devices
url: https://devices.netflix.com/en/
image: netflix.png
categories:
- marketing-site
- name: Twitch Developer Documentation
url: https://dev.twitch.tv/
image: twitch-developers.png
categories:
- marketing-site
- documentation
- name: Yeoman
url: http://yeoman.io/
image: yeoman.png
categories:
- open-source
- marketing-site
- name: Release Management Blog
url: https://release.mozilla.org/
image: mozilla-release-blog.png
categories:
- software
- blog
- name: frame.ai
url: https://frame.ai/
image: frame-ai.png
categories:
- software
- marketing-site
- name: Ionic Framwork
url: https://ionicframework.com/
image: ionic-framework.png
categories:
- software
- marketing-site
- name: Spotify for Developers
url: https://developer.spotify.com
image: spotify-developers.png
categories:
- marketing-site
- documentation
- software
- name: Sketch
url: https://sketch.com/
image: sketch.png
categories:
- software
- marketing-site
- name: Ruby on Rails
url: http://rubyonrails.org/
image: ruby-on-rails.png
categories:
- marketing-site
- documentation

View File

@@ -7,6 +7,7 @@
- custom-404-page
- convert-site-to-jekyll
- using-jekyll-with-bundler
- csv-to-table
#- title: Another section
# tutorials:

View File

@@ -3,10 +3,11 @@ title: Assets
permalink: /docs/assets/
---
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:
Jekyll provides built-in support for [Sass](https://sass-lang.com/)
and can work with [CoffeeScript](https://coffeescript.org/) 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:
```sass
---
@@ -27,7 +28,7 @@ will process it and put it in your site's destination folder under
<h5>Jekyll processes all Liquid filters and tags in asset files</h5>
<p>If you are using <a href="https://mustache.github.io">Mustache</a>
or another JavaScript templating language that conflicts with
the <a href="/docs/templates/">Liquid template syntax</a>, you
the <a href="{{ '/docs/templates/' | relative_url }}">Liquid template syntax</a>, you
will need to place <code>{&#37; raw &#37;}</code> and
<code>{&#37; endraw &#37;}</code> tags around your code.</p>
</div>
@@ -42,8 +43,7 @@ them to be in the output file, such as `<source>/css`. For an example, take
a look at [this example site using Sass support in Jekyll][example-sass].
If you are using Sass `@import` statements, you'll need to ensure that your
`sass_dir` is set to the base directory that contains your Sass files. You
can do that thusly:
`sass_dir` is set to the base directory that contains your Sass files:
```yaml
sass:
@@ -61,8 +61,8 @@ The Sass converter will default the `sass_dir` configuration option to
Note that the <code>sass_dir</code> becomes the load path for Sass imports,
nothing more. This means that Jekyll does not know about these files
directly, so any files here should not contain the YAML Front Matter as
described above nor will they be transformed as described above. This
directly. Any files here should not contain the empty front matter as
described above. If they do, they'll not be transformed as described above. This
folder should only contain imports.
</p>
@@ -79,7 +79,6 @@ sass:
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
@@ -89,5 +88,5 @@ To enable Coffeescript in Jekyll 3.0 and up you must
```yaml
plugins:
- jekyll-coffeescript
- jekyll-coffeescript
```

View File

@@ -6,25 +6,42 @@ 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.
## Our Pledge
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.
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery
* Personal attacks
* Trolling or insulting/derogatory comments
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing other's private information, such as physical or electronic
addresses, without explicit permission
* Other unethical or unprofessional conduct
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
@@ -32,24 +49,34 @@ 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.
## Scope
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community.
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
## Enforcement
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.
reported by contacting the project team at [olivia@jekyllrb.com](mailto:olivia@jekyllrb.com). All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
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]
## Attribution
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/3/0/
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at [https://www.contributor-covenant.org/version/1/4/code-of-conduct.html](https://www.contributor-covenant.org/version/1/4/code-of-conduct.html)
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see
[https://www.contributor-covenant.org/faq](https://www.contributor-covenant.org/faq)

View File

@@ -3,48 +3,33 @@ title: Collections
permalink: /docs/collections/
---
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
like Pages or Posts do normally, but also have their own unique properties and
namespace.
Collections are a great way to group related content like members of a team or
talks at a conference.
## Using Collections
## Setup
To start using collections, follow these 3 steps:
* [Step 1: Tell Jekyll to read in your collection](#step1)
* [Step 2: Add your content](#step2)
* [Step 3: Optionally render your collection's documents into independent files](#step3)
### Step 1: Tell Jekyll to read in your collection {#step1}
Add the following to your site's `_config.yml` file, replacing `my_collection`
with the name of your collection:
To use a Collection you first need to define it in your `_config.yml`. For
example here's a collection of staff members:
```yaml
collections:
- my_collection
- staff_members
```
You can optionally specify metadata for your collection in the configuration:
In this case `collections` is defined as a sequence (i.e array) with no additional metadata defined for each collection.
You can optionally specify metadata for your collection by defining `collections` as a mapping (i.e hashmap) instead of sequence, and then defining additional fields in it:
```yaml
collections:
my_collection:
foo: bar
staff_members:
people: true
```
Default attributes can also be set for a collection:
```yaml
defaults:
- scope:
path: ""
type: my_collection
values:
layout: page
```
{: .note .info}
When defining a collection as a sequence, its pages will not be rendered by
default. To enable this, <code>output: true</code> must be specified on the
collection, which requires defining the collection as a mapping. For more
information, see the section <a href="#output">Output</a>.
<div class="note">
<h5>Gather your collections {%- include docs_version_badge.html version="3.7.0" -%}</h5>
@@ -56,17 +41,40 @@ defaults:
</div>
<div class="note warning">
<h5>Be sure to move posts into custom collections directory</h5>
<h5>Be sure to move drafts and posts into custom collections directory</h5>
<p>If you specify a directory to store all your collections in the same place with <code>collections_dir: my_collections</code>, then you will need to move your <code>_posts</code> directory to <code>my_collections/_posts</code>. Note that, the name of your collections directory cannot start with an underscore (`_`).</p>
<p>If you specify a directory to store all your collections in the same place with <code>collections_dir: my_collections</code>, then you will need to move your <code>_drafts</code> and <code>_posts</code> directory to <code>my_collections/_drafts</code> and <code>my_collections/_posts</code>. Note that, the name of your collections directory cannot start with an underscore (`_`).</p>
</div>
### Step 2: Add your content {#step2}
## Add content
Create a corresponding folder (e.g. `<source>/_my_collection`) and add
documents. YAML front matter is processed if the front matter exists, and everything
after the front matter is pushed into the document's `content` attribute. If no YAML front
matter is provided, Jekyll will not generate the file in your collection.
Create a corresponding folder (e.g. `<source>/_staff_members`) and add
documents. Front matter is processed if the front matter exists, and everything
after the front matter is pushed into the document's `content` attribute. If no front
matter is provided, Jekyll will consider it to be a [static file]({{ '/docs/static-files/' | relative_url }})
and the contents will not undergo further processing. If front matter is provided,
Jekyll will process the file contents into the expected output.
Regardless of whether front matter exists or not, Jekyll will write to the destination
directory (e.g. `_site`) only if `output: true` has been set in the collection's
metadata.
For example here's how you would add a staff member to the collection set above.
The filename is `./_staff_members/jane.md` with the following content:
```markdown
---
name: Jane Doe
position: Developer
---
Jane has worked on Jekyll for the past *five years*.
```
<em>
Do note that in spite of being considered as a collection internally, the above
doesn't apply to [posts](/docs/posts/). Posts with a valid filename format will be
marked for processing even if they do not contain front matter.
</em>
<div class="note info">
<h5>Be sure to name your directories correctly</h5>
@@ -76,190 +84,108 @@ your <code>_config.yml</code> file, with the addition of the preceding <code>_</
</p>
</div>
### Step 3: Optionally render your collection's documents into independent files {#step3}
## Output
If you'd like Jekyll to create a public-facing, rendered version of each
document in your collection, set the `output` key to `true` in your collection
metadata in your `_config.yml`:
```yaml
collections:
my_collection:
output: true
```
This will produce a file for each document in the collection.
For example, if you have `_my_collection/some_subdir/some_doc.md`,
it will be rendered using Liquid and the Markdown converter of your
choice and written out to `<dest>/my_collection/some_subdir/some_doc.html`.
If you wish a specific page to be shown when accessing `/my_collection/`,
simply add `permalink: /my_collection/index.html` to a page.
To list items from the collection, on that page or any other, you can use:
Now you can iterate over `site.staff_members` on a page and output the content
for each staff member. Similar to posts, the body of the document is accessed
using the `content` variable:
{% raw %}
```liquid
{% for item in site.my_collection %}
<h2>{{ item.title }}</h2>
<p>{{ item.description }}</p>
<p><a href="{{ item.url }}">{{ item.title }}</a></p>
{% for staff_member in site.staff_members %}
<h2>{{ staff_member.name }} - {{ staff_member.position }}</h2>
<p>{{ staff_member.content | markdownify }}</p>
{% endfor %}
```
{% endraw %}
<div class="note info">
<h5>Don't forget to add YAML for processing</h5>
<p>
Files in collections that do not have front matter are treated as
<a href="/docs/static-files">static files</a> and simply copied to their
output location without processing.
</p>
</div>
## Configuring permalinks for collections {#permalinks}
If you wish to specify a custom pattern for the URLs where your Collection pages
will reside, you may do so with the [`permalink` property](../permalinks/):
If you'd like Jekyll to create a rendered page for each document in your
collection, you can set the `output` key to `true` in your collection
metadata in `_config.yml`:
```yaml
collections:
my_collection:
staff_members:
output: true
permalink: /:collection/:name
```
### Examples
For a collection with the following source file structure,
You can link to the generated page using the `url` attribute:
{% raw %}
```liquid
{% for staff_member in site.staff_members %}
<h2>
<a href="{{ staff_member.url }}">
{{ staff_member.name }} - {{ staff_member.position }}
</a>
</h2>
<p>{{ staff_member.content | markdownify }}</p>
{% endfor %}
```
_my_collection/
└── some_subdir
└── some_doc.md
{% endraw %}
## Permalinks
There are special [permalink variables for collections]({{ '/docs/permalinks/#collections' | relative_url }}) to
help you control the output url for the entire collection.
## Custom Sorting of Documents {%- include docs_version_badge.html version="4.0" -%}
{: #custom-sorting-of-documents}
By default, two documents in a collection are sorted by their `date` attribute when both of them have the `date` key in their front matter. However, if either or both documents do not have the `date` key in their front matter, they are sorted by their respective paths.
You can control this sorting via the collection's metadata.
### Sort By Front Matter Key
Documents can be sorted based on a front matter key by setting a `sort_by` metadata to the front matter key string. For example,
to sort a collection of tutorials based on key `lesson`, the configuration would be:
```yaml
collections:
tutorials:
sort_by: lesson
```
each of the following `permalink` configurations will produce the document structure shown below it.
The documents are arranged in the increasing order of the key's value. If a document does not have the front matter key defined
then that document is placed immediately after sorted documents. When multiple documents do not have the front matter key defined,
those documents are sorted by their dates or paths and then placed immediately after the sorted documents.
* **Default**
Same as `permalink: /:collection/:path`.
### Manually Ordering Documents
```
_site/
├── my_collection
│   └── some_subdir
│   └── some_doc.html
...
```
* `permalink: pretty`
Same as `permalink: /:collection/:path/`.
You can also manually order the documents by setting an `order` metadata with **the filenames listed** in the desired order.
For example, a collection of tutorials would be configured as:
```
_site/
├── my_collection
│   └── some_subdir
│   └── some_doc
│   └── index.html
...
```
* `permalink: /doc/:path`
```yaml
collections:
tutorials:
order:
- hello-world.md
- introduction.md
- basic-concepts.md
- advanced-concepts.md
```
```
_site/
├── doc
│   └── some_subdir
│   └── some_doc.html
...
```
* `permalink: /doc/:name`
Any documents with filenames that do not match the list entry simply gets placed after the rearranged documents. If a document is
nested under subdirectories, include them in entries as well:
```
_site/
├── doc
│   └── some_doc.html
...
```
* `permalink: /:name`
```yaml
collections:
tutorials:
order:
- hello-world.md
- introduction.md
- concepts/basics.md
- concepts/advanced.md
```
```
_site/
├── some_doc.html
...
```
### Template Variables
<div class="mobile-side-scroller">
<table>
<thead>
<tr>
<th>Variable</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<p><code>:collection</code></p>
</td>
<td>
<p>Label of the containing collection.</p>
</td>
</tr>
<tr>
<td>
<p><code>:path</code></p>
</td>
<td>
<p>Path to the document relative to the collection's directory.</p>
</td>
</tr>
<tr>
<td>
<p><code>:name</code></p>
</td>
<td>
<p>The document's base filename, with every sequence of spaces
and non-alphanumeric characters replaced by a hyphen.</p>
</td>
</tr>
<tr>
<td>
<p><code>:title</code></p>
</td>
<td>
<p>
The <code>:title</code> template variable will take the
<code>slug</code> <a href="/docs/frontmatter/">front matter</a>
variable value if any is present in the document; if none is
defined then <code>:title</code> will be equivalent to
<code>:name</code>, aka the slug generated from the filename.
</p>
</td>
</tr>
<tr>
<td>
<p><code>:output_ext</code></p>
</td>
<td>
<p>Extension of the output file. (Included by default and usually unnecessary.)</p>
</td>
</tr>
</tbody>
</table>
</div>
If both metadata keys have been defined properly, `order` list takes precedence.
## Liquid Attributes
### Collections
Each collection is accessible as a field on the `site` variable. For example, if
you want to access the `albums` collection found in `_albums`, you'd use
`site.albums`.
Each collection is itself an array of documents (e.g., `site.albums` is an array of documents, much like `site.pages` and
`site.posts`). See the table below for how to access attributes of those documents.
The collections are also available under `site.collections`, with the metadata
Collections are also available under `site.collections`, with the metadata
you specified in your `_config.yml` (if present) and the following information:
<div class="mobile-side-scroller">
@@ -353,7 +279,7 @@ you specified in your `_config.yml` (if present) and the following information:
<p>Except for documents in hard-coded default collection <code>posts</code>, all documents in collections
you create, are accessible via Liquid irrespective of their assigned date, if any, and therefore renderable.
</p>
<p>However documents are attempted to be written to disk only if the concerned collection
<p>Documents are attempted to be written to disk only if the concerned collection
metadata has <code>output: true</code>. Additionally, future-dated documents are only written if
<code>site.future</code> <em>is also true</em>.
</p>
@@ -362,10 +288,9 @@ you specified in your `_config.yml` (if present) and the following information:
</p>
</div>
### Documents
In addition to any YAML Front Matter provided in the document's corresponding
In addition to any front matter provided in the document's corresponding
file, each document has the following attributes:
<div class="mobile-side-scroller">
@@ -383,9 +308,9 @@ file, each document has the following attributes:
</td>
<td>
<p>
The (unrendered) content of the document. If no YAML Front Matter is
The (unrendered) content of the document. If no front matter is
provided, Jekyll will not generate the file in your collection. If
YAML Front Matter is used, then this is all the contents of the file
front matter is used, then this is all the contents of the file
after the terminating
`---` of the front matter.
</p>
@@ -455,51 +380,3 @@ file, each document has the following attributes:
</tbody>
</table>
</div>
## Accessing Collection Attributes
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`,
you 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`
extension):
```yaml
title: "Josquin: Missa De beata virgine and Missa Ave maris stella"
artist: "The Tallis Scholars"
director: "Peter Phillips"
works:
- title: "Missa De beata virgine"
composer: "Josquin des Prez"
tracks:
- title: "Kyrie"
duration: "4:25"
- title: "Gloria"
duration: "9:53"
- title: "Credo"
duration: "9:09"
- title: "Sanctus & Benedictus"
duration: "7:47"
- title: "Agnus Dei I, II & III"
duration: "6:49"
```
Every album in the collection could be listed on a single page with a template:
```liquid
{% raw %}
{% for album in site.albums %}
<h2>{{ album.title }}</h2>
<p>Performed by {{ album.artist }}{% if album.director %}, directed by {{ album.director }}{% endif %}</p>
{% for work in album.works %}
<h3>{{ work.title }}</h3>
<p>Composed by {{ work.composer }}</p>
<ul>
{% for track in work.tracks %}
<li>{{ track.title }} ({{ track.duration }})</li>
{% endfor %}
</ul>
{% endfor %}
{% endfor %}
{% endraw %}
```

View File

@@ -0,0 +1,8 @@
---
title: Report a bug
permalink: "/docs/community/bug/"
---
If you think you've found a bug within a Jekyll plugin, open an issue in that plugin's repository &mdash; First [look for the plugin on rubygems](https://rubygems.org/) then click on the `Homepage` link to access the plugin repository.
If you think you've found a bug within Jekyll itself, [open an issue](https://github.com/jekyll/jekyll/issues/new).

View File

@@ -0,0 +1,37 @@
---
title: Community
permalink: /docs/community/
redirect_from: "/help/index.html"
---
## Jekyll Contributor Code of Conduct
As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
Read the full [code of conduct]({{ '/docs/conduct/' | relative_url }})
## Where to get support
If you're looking for support for Jekyll, there are a lot of options:
* Read the [Jekyll Documentation]({{ '/docs/' | relative_url }})
* If you have a question about using Jekyll, start a discussion on the [Jekyll Forum](https://talk.jekyllrb.com/) or [StackOverflow](https://stackoverflow.com/questions/tagged/jekyll)
* Chat with Jekyllers &mdash; Join our [Gitter channel](https://gitter.im/jekyll/jekyll) or our [IRC channel on Freenode](irc:irc.freenode.net/jekyll)
There are a bunch of helpful community members on these services who are willing to point you in the right direction.
**Reminder: Jekyll's issue tracker is not a support forum.**
## Ways to contribute
* [How to Contribute]({{ '/docs/contributing/' | relative_url }})
* [How to file a bug]({{ '/docs/community/bug/' | relative_url }})
* [Guide for maintaining Jekyll]({{ '/docs/maintaining/' | relative_url }})
## Jekyllconf
[Watch videos]({{ '/jekyllconf/' | relative_url }}) from members of the Jekyll community speak about interesting use cases, tricks theyve learned or meta Jekyll topics.
## Jekyll on Twitter
The [official Jekyll Twitter account](https://twitter.com/jekyllrb).

View File

@@ -6,25 +6,42 @@ 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.
## Our Pledge
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.
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery
* Personal attacks
* Trolling or insulting/derogatory comments
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing other's private information, such as physical or electronic
addresses, without explicit permission
* Other unethical or unprofessional conduct
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
@@ -32,24 +49,34 @@ 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.
## Scope
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community.
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.
## Enforcement
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.
reported by contacting the project team at [olivia@jekyllrb.com](mailto:olivia@jekyllrb.com). All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
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]
## Attribution
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/3/0/
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at [https://www.contributor-covenant.org/version/1/4/code-of-conduct.html](https://www.contributor-covenant.org/version/1/4/code-of-conduct.html)
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see
[https://www.contributor-covenant.org/faq](https://www.contributor-covenant.org/faq)

View File

@@ -3,782 +3,16 @@ title: Configuration
permalink: /docs/configuration/
---
Jekyll allows you to concoct your sites in any way you can dream up, and its
thanks to the powerful and flexible configuration options that this is possible.
These options can either be specified in a `_config.yml` file placed in your
sites root directory, or can be specified as flags for the `jekyll` executable
in the terminal.
## Configuration Settings
### Global Configuration
The table below lists the available settings for Jekyll, and the various <code
class="option">options</code> (specified in the configuration file) and <code
class="flag">flags</code> (specified on the command-line) that control them.
<div class="mobile-side-scroller">
<table>
<thead>
<tr>
<th>Setting</th>
<th>
<span class="option">Options</span> and <span class="flag">Flags</span>
</th>
</tr>
</thead>
<tbody>
<tr class="setting">
<td>
<p class="name"><strong>Site Source</strong></p>
<p class="description">Change the directory where Jekyll will read files</p>
</td>
<td class="align-center">
<p><code class="option">source: DIR</code></p>
<p><code class="flag">-s, --source DIR</code></p>
</td>
</tr>
<tr class="setting">
<td>
<p class="name"><strong>Site Destination</strong></p>
<p class="description">Change the directory where Jekyll will write files</p>
</td>
<td class="align-center">
<p><code class="option">destination: DIR</code></p>
<p><code class="flag">-d, --destination DIR</code></p>
</td>
</tr>
<tr class="setting">
<td>
<p class="name"><strong>Safe</strong></p>
<p class="description">Disable <a href="../plugins/">custom plugins, and ignore symbolic links</a>.</p>
</td>
<td class="align-center">
<p><code class="option">safe: BOOL</code></p>
<p><code class="flag">--safe</code></p>
</td>
</tr>
<tr class="setting">
<td>
<p class="name"><strong>Exclude</strong></p>
<p class="description">
Exclude directories and/or files from the
conversion. These exclusions are relative to the site's
source directory and cannot be outside the source directory.
</p>
</td>
<td class="align-center">
<p><code class="option">exclude: [DIR, FILE, ...]</code></p>
</td>
</tr>
<tr class="setting">
<td>
<p class="name"><strong>Include</strong></p>
<p class="description">
Force inclusion of directories and/or files in the conversion.
<code>.htaccess</code> is a good example since dotfiles are excluded
by default.
</p>
</td>
<td class="align-center">
<p><code class="option">include: [DIR, FILE, ...]</code></p>
</td>
</tr>
<tr class="setting">
<td>
<p class="name"><strong>Keep files</strong></p>
<p class="description">
When clobbering the site destination, keep the selected files.
Useful for files that are not generated by jekyll; e.g. files or
assets that are generated by your build tool.
The paths are relative to the <code>destination</code>.
</p>
</td>
<td class="align-center">
<p><code class="option">keep_files: [DIR, FILE, ...]</code></p>
</td>
</tr>
<tr class="setting">
<td>
<p class="name"><strong>Time Zone</strong></p>
<p class="description">
Set the time zone for site generation. This sets the <code>TZ</code>
environment variable, which Ruby uses to handle time and date
creation and manipulation. Any entry from the
<a href="https://en.wikipedia.org/wiki/Tz_database">IANA Time Zone
Database</a> is valid, e.g. <code>America/New_York</code>. A list of all
available values can be found <a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones">
here</a>. When serving on a local machine, the default time zone is set by your operating system. But when served on a remote host/server, the default time zone depends on the server's setting or location.
</p>
</td>
<td class="align-center">
<p><code class="option">timezone: TIMEZONE</code></p>
</td>
</tr>
<tr class="setting">
<td>
<p class="name"><strong>Encoding</strong></p>
<p class="description">
Set the encoding of files by name (only available for Ruby
1.9 or later).
The default value is <code>utf-8</code> starting in 2.0.0,
and <code>nil</code> before 2.0.0, which will yield the Ruby
default of <code>ASCII-8BIT</code>.
Available encodings can be shown by the
command <code>ruby -e 'puts Encoding::list.join("\n")'</code>.
</p>
</td>
<td class="align-center">
<p><code class="option">encoding: ENCODING</code></p>
</td>
</tr>
<tr>
<td>
<p class='name'><strong>Defaults</strong></p>
<p class='description'>
Set defaults for <a href="../frontmatter/" title="YAML Front Matter">YAML Front Matter</a>
variables.
</p>
</td>
<td class='align-center'>
<p>see <a href="#front-matter-defaults" title="details">below</a></p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="note warning">
<h5>Destination folders are cleaned on site builds</h5>
<p>
The contents of <code>&lt;destination&gt;</code> are automatically
cleaned, by default, when the site is built. Files or folders that are not
created by your site will be removed. Some files could be retained
by specifying them within the <code>&lt;keep_files&gt;</code> configuration directive.
</p>
<p>
Do not use an important location for <code>&lt;destination&gt;</code>; instead, use it as
a staging area and copy files from there to your web server.
</p>
</div>
### Build Command Options
<div class="mobile-side-scroller">
<table>
<thead>
<tr>
<th>Setting</th>
<th><span class="option">Options</span> and <span class="flag">Flags</span></th>
</tr>
</thead>
<tbody>
<tr class="setting">
<td>
<p class="name"><strong>Regeneration</strong></p>
<p class="description">Enable auto-regeneration of the site when files are modified.</p>
</td>
<td class="align-center">
<p><code class="flag">-w, --[no-]watch</code></p>
</td>
</tr>
<tr class="setting">
<td>
<p class="name"><strong>Configuration</strong></p>
<p class="description">Specify config files instead of using <code>_config.yml</code> automatically. Settings in later files override settings in earlier files.</p>
</td>
<td class="align-center">
<p><code class="flag">--config FILE1[,FILE2,...]</code></p>
</td>
</tr>
<tr class="setting">
<td>
<p class="name"><strong>Drafts</strong></p>
<p class="description">Process and render draft posts.</p>
</td>
<td class="align-center">
<p><code class="option">show_drafts: BOOL</code></p>
<p><code class="flag">--drafts</code></p>
</td>
</tr>
<tr class="setting">
<td>
<p class="name"><strong>Environment</strong></p>
<p class="description">Use a specific environment value in the build.</p>
</td>
<td class="align-center">
<p><code class="flag">JEKYLL_ENV=production</code></p>
</td>
</tr>
<tr class="setting">
<td>
<p class="name"><strong>Future</strong></p>
<p class="description">Publish posts or collection documents with a future date.</p>
</td>
<td class="align-center">
<p><code class="option">future: BOOL</code></p>
<p><code class="flag">--future</code></p>
</td>
</tr>
<tr class="setting">
<td>
<p class="name"><strong>Unpublished</strong></p>
<p class="description">Render posts that were marked as unpublished.</p>
</td>
<td class="align-center">
<p><code class="option">unpublished: BOOL</code></p>
<p><code class="flag">--unpublished</code></p>
</td>
</tr>
<tr class="setting">
<td>
<p class="name"><strong>LSI</strong></p>
<p class="description">Produce an index for related posts. Requires the <a href="http://www.classifier-reborn.com/">classifier-reborn</a> plugin.</p>
</td>
<td class="align-center">
<p><code class="option">lsi: BOOL</code></p>
<p><code class="flag">--lsi</code></p>
</td>
</tr>
<tr class="setting">
<td>
<p class="name"><strong>Limit Posts</strong></p>
<p class="description">Limit the number of posts to parse and publish.</p>
</td>
<td class="align-center">
<p><code class="option">limit_posts: NUM</code></p>
<p><code class="flag">--limit_posts NUM</code></p>
</td>
</tr>
<tr class="setting">
<td>
<p class="name"><strong>Force polling</strong></p>
<p class="description">Force watch to use polling.</p>
</td>
<td class="align-center">
<p><code class="flag">--force_polling</code></p>
</td>
</tr>
<tr class="setting">
<td>
<p class="name"><strong>Verbose output</strong></p>
<p class="description">Print verbose output.</p>
</td>
<td class="align-center">
<p><code class="flag">-V, --verbose</code></p>
</td>
</tr>
<tr class="setting">
<td>
<p class="name"><strong>Silence Output</strong></p>
<p class="description">Silence the normal output from Jekyll
during a build</p>
</td>
<td class="align-center">
<p><code class="flag">-q, --quiet</code></p>
</td>
</tr>
<tr class="setting">
<td>
<p class="name"><strong>Incremental build</strong></p>
<p class="description">
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.
</p>
</td>
<td class="align-center">
<p><code class="option">incremental: BOOL</code></p>
<p><code class="flag">-I, --incremental</code></p>
</td>
</tr>
<tr class="setting">
<td>
<p class="name"><strong>Liquid profiler</strong></p>
<p class="description">
Generate a Liquid rendering profile to help you identify performance bottlenecks.
</p>
</td>
<td class="align-center">
<p><code class="option">profile: BOOL</code></p>
<p><code class="flag">--profile</code></p>
</td>
</tr>
<tr class="setting">
<td>
<p class="name"><strong>Strict Front Matter</strong></p>
<p class="description">
Cause a build to fail if there is a YAML syntax error in a page's front matter.
</p>
</td>
<td class="align-center">
<p><code class="option">strict_front_matter: BOOL</code></p>
<p><code class="flag">--strict_front_matter</code></p>
</td>
</tr>
</tbody>
</table>
</div>
### Serve Command Options
In addition to the options below, the `serve` sub-command can accept any of the options
for the `build` sub-command, which are then applied to the site build which occurs right
before your site is served.
<div class="mobile-side-scroller">
<table>
<thead>
<tr>
<th>Setting</th>
<th><span class="option">Options</span> and <span class="flag">Flags</span></th>
</tr>
</thead>
<tbody>
<tr class="setting">
<td>
<p class="name"><strong>Local Server Port</strong></p>
<p class="description">Listen on the given port.</p>
</td>
<td class="align-center">
<p><code class="option">port: PORT</code></p>
<p><code class="flag">--port PORT</code></p>
</td>
</tr>
<tr class="setting">
<td>
<p class="name"><strong>Local Server Hostname</strong></p>
<p class="description">Listen at the given hostname.</p>
</td>
<td class="align-center">
<p><code class="option">host: HOSTNAME</code></p>
<p><code class="flag">--host HOSTNAME</code></p>
</td>
</tr>
<tr class="setting">
<td>
<p class="name"><strong>Base URL</strong></p>
<p class="description">Serve the website from the given base URL</p>
</td>
<td class="align-center">
<p><code class="option">baseurl: URL</code></p>
<p><code class="flag">--baseurl URL</code></p>
</td>
</tr>
<tr class="setting">
<td>
<p class="name"><strong>Detach</strong></p>
<p class="description">Detach the server from the terminal</p>
</td>
<td class="align-center">
<p><code class="option">detach: BOOL</code></p>
<p><code class="flag">-B, --detach</code></p>
</td>
</tr>
<tr class="setting">
<td>
<p class="name"><strong>Skips the initial site build.</strong></p>
<p class="description">Skips the initial site build which occurs before the server is started.</p>
</td>
<td class="align-center">
<p><code class="flag">--skip-initial-build</code></p>
</td>
</tr>
<tr class="setting">
<td>
<p class="name"><strong>X.509 (SSL) Private Key</strong></p>
<p class="description">SSL Private Key.</p>
</td>
<td class="align-center">
<p><code class="flag">--ssl-key</code></p>
</td>
</tr>
<tr class="setting">
<td>
<p class="name"><strong>X.509 (SSL) Certificate</strong></p>
<p class="description">SSL Public certificate.</p>
</td>
<td class="align-center">
<p><code class="flag">--ssl-cert</code></p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="note warning">
<h5>Do not use tabs in configuration files</h5>
<p>
This will either lead to parsing errors, or Jekyll will revert to the
default settings. Use spaces instead.
</p>
</div>
## Custom WEBrick Headers
You can provide custom headers for your site by adding them to `_config.yml`
```yaml
# File: _config.yml
webrick:
headers:
My-Header: My-Value
My-Other-Header: My-Other-Value
```
### Defaults
We provide by default `Content-Type` and `Cache-Control` response headers: one
dynamic in order to specify the nature of the data being served, the other
static in order to disable caching so that you don't have to fight with Chrome's
aggressive caching when you are in development mode.
## Specifying a Jekyll environment at build time
In the build (or serve) arguments, you can specify a Jekyll environment and value. The build will then apply this value in any conditional statements in your content.
For example, suppose you set this conditional statement in your code:
```liquid
{% raw %}
{% if jekyll.environment == "production" %}
{% include disqus.html %}
{% endif %}
{% endraw %}
```
When you build your Jekyll site, the content inside the `if` statement won't be run unless you also specify a `production` environment in the build command, like this:
```sh
JEKYLL_ENV=production jekyll build
```
Specifying an environment value allows you to make certain content available only within specific environments.
The default value for `JEKYLL_ENV` is `development`. Therefore if you omit `JEKYLL_ENV` from the build arguments, the default value will be `JEKYLL_ENV=development`. Any content inside `{% raw %}{% if jekyll.environment == "development" %}{% endraw %}` tags will automatically appear in the build.
Your environment values can be anything you want (not just `development` or `production`). Some elements you might want to hide in development environments include Disqus comment forms or Google Analytics. Conversely, you might want to expose an "Edit me in GitHub" button in a development environment but not include it in production environments.
By specifying the option in the build command, you avoid having to change values in your configuration files when moving from one environment to another.
## Front Matter defaults
Using [YAML Front Matter](../frontmatter/) is one way that you can specify configuration in the pages and posts for your site. Setting things like a default layout, or customizing the title, or specifying a more precise date/time for the post can all be added to your page or post front matter.
Often times, you will find that you are repeating a lot of configuration options. Setting the same layout in each file, adding the same category - or categories - to a post, etc. You can even add custom variables like author names, which might be the same for the majority of posts on your blog.
Instead of repeating this configuration each time you create a new post or page, Jekyll provides a way to set these defaults in the site configuration. To do this, you can specify site-wide defaults using the `defaults` key in the `_config.yml` file in your project's root directory.
The `defaults` key holds an array of scope/values pairs that define what defaults should be set for a particular file path, and optionally, a file type in that path.
Let's say that you want to add a default layout to all pages and posts in your site. You would add this to your `_config.yml` file:
```yaml
defaults:
-
scope:
path: "" # an empty string here means all files in the project
values:
layout: "default"
```
<div class="note info">
<h5>Please stop and rerun `jekyll serve` command.</h5>
<p>
The <code>_config.yml</code> master configuration file contains global configurations
and variable definitions that are read once at execution time. Changes made to <code>_config.yml</code>
during automatic regeneration are not loaded until the next execution.
</p>
<p>
Note <a href="../datafiles">Data Files</a> are included and reloaded during automatic regeneration.
</p>
</div>
Here, we are scoping the `values` to any file that exists in the path `scope`. Since the path is set as an empty string, it will apply to **all files** in your project. You probably don't want to set a layout on every file in your project - like css files, for example - so you can also specify a `type` value under the `scope` key.
```yaml
defaults:
-
scope:
path: "" # an empty string here means all files in the project
type: "posts" # previously `post` in Jekyll 2.2.
values:
layout: "default"
```
Now, this will only set the layout for files where the type is `posts`.
The different types that are available to you are `pages`, `posts`, `drafts` or any collection in your site. While `type` is optional, you must specify a value for `path` when creating a `scope/values` pair.
As mentioned earlier, you can set multiple scope/values pairs for `defaults`.
```yaml
defaults:
-
scope:
path: ""
type: "pages"
values:
layout: "my-site"
-
scope:
path: "projects"
type: "pages" # previously `page` in Jekyll 2.2.
values:
layout: "project" # overrides previous default layout
author: "Mr. Hyde"
```
With these defaults, all pages would use the `my-site` layout. Any html files that exist in the `projects/` folder will use the `project` layout, if it exists. Those files will also have the `page.author` [liquid variable](../variables/) set to `Mr. Hyde`.
```yaml
collections:
my_collection:
output: true
defaults:
-
scope:
path: ""
type: "my_collection" # a collection in your site, in plural form
values:
layout: "default"
```
In this example, the `layout` is set to `default` inside the
[collection](../collections/) with the name `my_collection`.
### Glob patterns in Front Matter defaults
It is also possible to use glob patterns (currently limited to patterns that contain `*`) when matching defaults. For example, it is possible to set specific layout for each `special-page.html` in any subfolder of `section` folder. {%- include docs_version_badge.html version="3.7.0" -%}
```yaml
collections:
my_collection:
output: true
defaults:
-
scope:
path: "section/*/special-page.html"
values:
layout: "specific-layout"
```
<div class="note warning">
<h5>Globbing and Performance</h5>
<p>
Please note that globbing a path is known to have a negative effect on
performance and is currently not optimized, especially on Windows.
Globbing a path will increase your build times in proportion to the size
of the associated collection directory.
</p>
</div>
### Precedence
Jekyll will apply all of the configuration settings you specify in the `defaults` section of your `_config.yml` file. However, you can choose to override settings from other scope/values pair by specifying a more specific path for the scope.
You can see that in the second to last example above. First, we set the default page layout to `my-site`. Then, using a more specific path, we set the default layout for pages in the `projects/` path to `project`. This can be done with any value that you would set in the page or post front matter.
Finally, if you set defaults in the site configuration by adding a `defaults` section to your `_config.yml` file, you can override those settings in a post or page file. All you need to do is specify the settings in the post or page front matter. For example:
```yaml
# In _config.yml
...
defaults:
-
scope:
path: "projects"
type: "pages"
values:
layout: "project"
author: "Mr. Hyde"
category: "project"
...
```
```yaml
# In projects/foo_project.md
---
author: "John Smith"
layout: "foobar"
---
The post text goes here...
```
The `projects/foo_project.md` would have the `layout` set to `foobar` instead
of `project` and the `author` set to `John Smith` instead of `Mr. Hyde` when
the site is built.
## Default Configuration
Jekyll runs with the following configuration options by default. Alternative
settings for these options can be explicitly specified in the configuration
file or on the command-line.
<div class="note warning">
<h5>There are two unsupported kramdown options</h5>
<p>
Please note that both <code>remove_block_html_tags</code> and
<code>remove_span_html_tags</code> are currently unsupported in Jekyll due
to the fact that they are not included within the kramdown HTML converter.
</p>
</div>
```yaml
# Where things are
source: .
destination: ./_site
collections_dir: .
plugins_dir: _plugins
layouts_dir: _layouts
data_dir: _data
includes_dir: _includes
collections:
posts:
output: true
# Handling Reading
safe: false
include: [".htaccess"]
exclude: ["Gemfile", "Gemfile.lock", "node_modules", "vendor/bundle/", "vendor/cache/", "vendor/gems/", "vendor/ruby/"]
keep_files: [".git", ".svn"]
encoding: "utf-8"
markdown_ext: "markdown,mkdown,mkdn,mkd,md"
strict_front_matter: false
# Filtering Content
show_drafts: null
limit_posts: 0
future: false
unpublished: false
# Plugins
whitelist: []
plugins: []
# Conversion
markdown: kramdown
highlighter: rouge
lsi: false
excerpt_separator: "\n\n"
incremental: false
# Serving
detach: false
port: 4000
host: 127.0.0.1
baseurl: "" # does not include hostname
show_dir_listing: false
# Outputting
permalink: date
paginate_path: /page:num
timezone: null
quiet: false
verbose: false
defaults: []
liquid:
error_mode: warn
strict_filters: false
strict_variables: false
# Markdown Processors
kramdown:
auto_ids: true
entity_output: as_char
toc_levels: 1..6
smart_quotes: lsquo,rsquo,ldquo,rdquo
input: GFM
hard_wrap: false
footnote_nr: 1
show_warnings: false
```
## Liquid Options
Liquid's response to errors can be configured by setting `error_mode`. The
options are
- `lax` --- Ignore all errors.
- `warn` --- Output a warning on the console for each error.
- `strict` --- Output an error message and stop the build.
You can also configure Liquid's renderer to catch non-assigned variables and
non-existing filters by setting `strict_variables` and / or `strict_filters`
to `true` respectively. {% include docs_version_badge.html version="3.8.0" %}
Do note that while `error_mode` configures Liquid's parser, the `strict_variables`
and `strict_filters` options configure Liquid's renderer and are consequently,
mutually exclusive.
## Markdown Options
The various Markdown renderers supported by Jekyll sometimes have extra options
available.
### Custom Markdown Processors
If you're interested in creating a custom markdown processor, you're in luck! Create a new class in the `Jekyll::Converters::Markdown` namespace:
```ruby
class Jekyll::Converters::Markdown::MyCustomProcessor
def initialize(config)
require 'funky_markdown'
@config = config
rescue LoadError
STDERR.puts 'You are missing a library required for Markdown. Please run:'
STDERR.puts ' $ [sudo] gem install funky_markdown'
raise FatalException.new("Missing dependency: funky_markdown")
end
def convert(content)
::FunkyMarkdown.new(content).convert
end
end
```
Once you've created your class and have it properly set up either as a plugin
in the `_plugins` folder or as a gem, specify it in your `_config.yml`:
```yaml
markdown: MyCustomProcessor
```
## Incremental Regeneration
<div class="note warning">
<h5>Incremental regeneration is still an experimental feature</h5>
<p>
While incremental regeneration will work for the most common cases, it will
not work correctly in every scenario. Please be extremely cautious when
using the feature, and report any problems not listed below by
<a href="https://github.com/jekyll/jekyll/issues/new">opening an issue on GitHub</a>.
</p>
</div>
Incremental regeneration helps shorten build times by only generating documents
and pages that were updated since the previous build. It does this by keeping
track of both file modification times and inter-document dependencies in the
`.jekyll-metadata` file.
Under the current implementation, incremental regeneration will only generate a
document or page if either it, or one of its dependencies, is modified. Currently,
the only types of dependencies tracked are includes (using the
{% raw %}`{% include %}`{% endraw %} tag) and layouts. This means that plain
references to other documents (for example, the common case of iterating over
`site.posts` in a post listings page) will not be detected as a dependency.
To remedy some of these shortfalls, putting `regenerate: true` in the front-matter
of a document will force Jekyll to regenerate it regardless of whether it has been
modified. Note that this will generate the specified document only; references
to other documents' contents will not work since they won't be re-rendered.
Incremental regeneration can be enabled via the `--incremental` flag (`-I` for
short) from the command-line or by setting `incremental: true` in your
configuration file.
Jekyll gives you a lot of flexibility to customize how it builds your site. These
options can either be specified in a `_config.yml` or `_config.toml` file placed
in your sites root directory, or can be specified as flags for the `jekyll`
executable in the terminal.
* [Configuration Options]({{ '/docs/configuration/options/' | relative_url }})
* [Default Configuration]({{ '/docs/configuration/default/' | relative_url }})
* [Front Matter Defaults]({{ '/docs/configuration/front-matter-defaults/' | relative_url }})
* [Environments]({{ '/docs/configuration/environments/' | relative_url }})
* [Markdown Options]({{ '/docs/configuration/markdown/' | relative_url }})
* [Liquid Options]({{ '/docs/configuration/liquid/' | relative_url }})
* [Webrick Options]({{ '/docs/configuration/webrick/' | relative_url }})
* [Incremental Regeneration]({{ '/docs/configuration/incremental-regeneration/' | relative_url }})

View File

@@ -0,0 +1,89 @@
---
title: Default Configuration
permalink: "/docs/configuration/default/"
---
Jekyll runs with the following configuration options by default. Alternative
settings for these options can be explicitly specified in the configuration
file or on the command-line.
<div class="note info">
<h5>Be aware of directory paths</h5>
<p>
Make directory path values in configuration keys like `plugins_dir` relative to the current working directory, not the site source.
</p>
</div>
```yaml
# Where things are
source : .
destination : ./_site
collections_dir : .
plugins_dir : _plugins # takes an array of strings and loads plugins in that order
layouts_dir : _layouts
data_dir : _data
includes_dir : _includes
sass:
sass_dir: _sass
collections:
posts:
output : true
# Handling Reading
safe : false
include : [".htaccess"]
exclude : ["Gemfile", "Gemfile.lock", "node_modules", "vendor/bundle/", "vendor/cache/", "vendor/gems/", "vendor/ruby/"]
keep_files : [".git", ".svn"]
encoding : "utf-8"
markdown_ext : "markdown,mkdown,mkdn,mkd,md"
strict_front_matter : false
# Filtering Content
show_drafts : null
limit_posts : 0
future : false
unpublished : false
# Plugins
whitelist : []
plugins : []
# Conversion
markdown : kramdown
highlighter : rouge
lsi : false
excerpt_separator : "\n\n"
incremental : false
# Serving
detach : false
port : 4000
host : 127.0.0.1
baseurl : "" # does not include hostname
show_dir_listing : false
# Outputting
permalink : date
paginate_path : /page:num
timezone : null
quiet : false
verbose : false
defaults : []
liquid:
error_mode : warn
strict_filters : false
strict_variables : false
# Markdown Processors
kramdown:
auto_ids : true
entity_output : as_char
toc_levels : [1, 2, 3, 4, 5, 6]
smart_quotes : lsquo,rsquo,ldquo,rdquo
input : GFM
hard_wrap : false
footnote_nr : 1
show_warnings : false
```

View File

@@ -0,0 +1,49 @@
---
title: Environments
permalink: "/docs/configuration/environments/"
---
In the `build` (or `serve`) arguments, you can specify a Jekyll environment
and value. The build will then apply this value in any conditional statements
in your content.
For example, suppose you set this conditional statement in your code:
{% raw %}
```liquid
{% if jekyll.environment == "production" %}
{% include disqus.html %}
{% endif %}
```
{% endraw %}
When you build your Jekyll site, the content inside the `if` statement won't be
run unless you also specify a `production` environment in the build command,
like this:
```sh
JEKYLL_ENV=production jekyll build
```
Specifying an environment value allows you to make certain content available
only within specific environments.
The default value for `JEKYLL_ENV` is `development`. Therefore if you omit
`JEKYLL_ENV` from the build arguments, the default value will be
`JEKYLL_ENV=development`. Any content inside
{% raw %}`{% if jekyll.environment == "development" %}`{% endraw %} tags will
automatically appear in the build.
Your environment values can be anything you want (not just `development` or
`production`). Some elements you might want to hide in development
environments include Disqus comment forms or Google Analytics. Conversely,
you might want to expose an "Edit me in GitHub" button in a development
environment but not include it in production environments.
By specifying the option in the build command, you avoid having to change
values in your configuration files when moving from one environment to another.
{: .note}
To switch part of your config settings depending on the environment, use the
<a href="{{ '/docs/configuration/options/#build-command-options' | relative_url }}">build command option</a>,
for example <code>--config _config.yml,_config_development.yml</code>. Settings
in later files override settings in earlier files.

View File

@@ -0,0 +1,153 @@
---
title: Front Matter Defaults
permalink: "/docs/configuration/front-matter-defaults/"
---
Using [front matter](/docs/front-matter/) is one way that you can specify configuration in the pages and posts for your site. Setting things like a default layout, or customizing the title, or specifying a more precise date/time for the post can all be added to your page or post front matter.
Often times, you will find that you are repeating a lot of configuration options. Setting the same layout in each file, adding the same category - or categories - to a post, etc. You can even add custom variables like author names, which might be the same for the majority of posts on your blog.
Instead of repeating this configuration each time you create a new post or page, Jekyll provides a way to set these defaults in the site configuration. To do this, you can specify site-wide defaults using the `defaults` key in the `_config.yml` file in your project's root directory.
The `defaults` key holds an array of scope/values pairs that define what defaults should be set for a particular file path, and optionally, a file type in that path.
Let's say that you want to add a default layout to all pages and posts in your site. You would add this to your `_config.yml` file:
```yaml
defaults:
-
scope:
path: "" # an empty string here means all files in the project
values:
layout: "default"
```
<div class="note info">
<h5>Stop and rerun `jekyll serve` command.</h5>
<p>
The <code>_config.yml</code> master configuration file contains global configurations
and variable definitions that are read once at execution time. Changes made to <code>_config.yml</code>
during automatic regeneration are not loaded until the next execution.
</p>
<p>
Note <a href="{{ '/docs/datafiles' | relative_url }}">Data Files</a> are included and reloaded during automatic regeneration.
</p>
</div>
Here, we are scoping the `values` to any file that exists in the path `scope`. Since the path is set as an empty string, it will apply to **all files** in your project. You probably don't want to set a layout on every file in your project - like css files, for example - so you can also specify a `type` value under the `scope` key.
```yaml
defaults:
-
scope:
path: "" # an empty string here means all files in the project
type: "posts" # previously `post` in Jekyll 2.2.
values:
layout: "default"
```
Now, this will only set the layout for files where the type is `posts`.
The different types that are available to you are `pages`, `posts`, `drafts` or any collection in your site. While `type` is optional, you must specify a value for `path` when creating a `scope/values` pair.
As mentioned earlier, you can set multiple scope/values pairs for `defaults`.
```yaml
defaults:
-
scope:
path: ""
type: "pages"
values:
layout: "my-site"
-
scope:
path: "projects"
type: "pages" # previously `page` in Jekyll 2.2.
values:
layout: "project" # overrides previous default layout
author: "Mr. Hyde"
```
With these defaults, all pages would use the `my-site` layout. Any html files that exist in the `projects/`
folder will use the `project` layout, if it exists. Those files will also have the `page.author`
[liquid variable]({{ '/docs/variables/' | relative_url }}) set to `Mr. Hyde`.
```yaml
collections:
my_collection:
output: true
defaults:
-
scope:
path: ""
type: "my_collection" # a collection in your site, in plural form
values:
layout: "default"
```
In this example, the `layout` is set to `default` inside the
[collection]({{ '/docs/collections/' | relative_url }}) with the name `my_collection`.
### Glob patterns in Front Matter defaults
It is also possible to use glob patterns (currently limited to patterns that contain `*`) when matching defaults. For example, it is possible to set specific layout for each `special-page.html` in any subfolder of `section` folder. {%- include docs_version_badge.html version="3.7.0" -%}
```yaml
collections:
my_collection:
output: true
defaults:
-
scope:
path: "section/*/special-page.html"
values:
layout: "specific-layout"
```
<div class="note warning">
<h5>Globbing and Performance</h5>
<p>
Please note that globbing a path is known to have a negative effect on
performance and is currently not optimized, especially on Windows.
Globbing a path will increase your build times in proportion to the size
of the associated collection directory.
</p>
</div>
### Precedence
Jekyll will apply all of the configuration settings you specify in the `defaults` section of your `_config.yml` file. You can choose to override settings from other scope/values pair by specifying a more specific path for the scope.
You can see that in the second to last example above. First, we set the default page layout to `my-site`. Then, using a more specific path, we set the default layout for pages in the `projects/` path to `project`. This can be done with any value that you would set in the page or post front matter.
Finally, if you set defaults in the site configuration by adding a `defaults` section to your `_config.yml` file, you can override those settings in a post or page file. All you need to do is specify the settings in the post or page front matter. For example:
```yaml
# In _config.yml
...
defaults:
-
scope:
path: "projects"
type: "pages"
values:
layout: "project"
author: "Mr. Hyde"
category: "project"
...
```
```yaml
# In projects/foo_project.md
---
author: "John Smith"
layout: "foobar"
---
The post text goes here...
```
The `projects/foo_project.md` would have the `layout` set to `foobar` instead
of `project` and the `author` set to `John Smith` instead of `Mr. Hyde` when
the site is built.

View File

@@ -0,0 +1,36 @@
---
title: Default Configuration
permalink: "/docs/configuration/incremental-regeneration/"
---
## Incremental Regeneration
<div class="note warning">
<h5>Incremental regeneration is still an experimental feature</h5>
<p>
While incremental regeneration will work for the most common cases, it will
not work correctly in every scenario. Please be extremely cautious when
using the feature, and report any problems not listed below by
<a href="https://github.com/jekyll/jekyll/issues/new">opening an issue on GitHub</a>.
</p>
</div>
Incremental regeneration helps shorten build times by only generating documents
and pages that were updated since the previous build. It does this by keeping
track of both file modification times and inter-document dependencies in the
`.jekyll-metadata` file.
Under the current implementation, incremental regeneration will only generate a
document or page if either it, or one of its dependencies, is modified. Currently,
the only types of dependencies tracked are includes (using the
{% raw %}`{% include %}`{% endraw %} tag) and layouts. This means that plain
references to other documents (for example, the common case of iterating over
`site.posts` in a post listings page) will not be detected as a dependency.
To remedy some of these shortfalls, putting `regenerate: true` in the front-matter
of a document will force Jekyll to regenerate it regardless of whether it has been
modified. Note that this will generate the specified document only; references
to other documents' contents will not work since they won't be re-rendered.
Incremental regeneration can be enabled via the `--incremental` flag (`-I` for
short) from the command-line or by setting `incremental: true` in your
configuration file.

View File

@@ -0,0 +1,38 @@
---
title: Liquid Options
permalink: "/docs/configuration/liquid/"
---
Liquid's response to errors can be configured by setting `error_mode`. The
options are
- `lax` --- Ignore all errors.
- `warn` --- Output a warning on the console for each error. (default)
- `strict` --- Output an error message and stop the build.
Within _config.yml, the default configuration is as follows:
```yaml
liquid:
error_mode: warn
```
The above example depicts the "warn" value, which is already set by default- `error_mode: warn`. This results in any issues being called out during the build process however will continue to build if possible.
You can also configure Liquid's renderer to catch non-assigned variables and
non-existing filters by setting `strict_variables` and / or `strict_filters`
to `true` respectively. {% include docs_version_badge.html version="3.8.0" %}
Do note that while `error_mode` configures Liquid's parser, the `strict_variables`
and `strict_filters` options configure Liquid's renderer and are consequently,
mutually exclusive.
An example of setting these variables within _config.yml is as follows:
```yaml
liquid:
error_mode: strict
strict_variables: true
strict_filters: true
```
Configuring as described above will stop your build/serve from happening and call out the offending error and halt. This is helpful when desiring to catch liquid-related issues by stopping the build or serve process and allowing you to deal with any issues.

View File

@@ -0,0 +1,94 @@
---
title: Markdown Options
permalink: "/docs/configuration/markdown/"
---
The various Markdown renderers supported by Jekyll sometimes have extra options
available.
### Kramdown
Kramdown is the default Markdown renderer for Jekyll. Below is a list of the
currently supported options:
* **auto_id_prefix** - Prefix used for automatically generated header IDs
* **auto_id_stripping** - Strip all formatting from header text for automatic ID generation
* **auto_ids** - Use automatic header ID generation
* **coderay_bold_every** - Defines how often a line number should be made bold
* **coderay_css** - Defines how the highlighted code gets styled
* **coderay_default_lang** - Sets the default language for highlighting code blocks
* **coderay_line_number_start** - The start value for the line numbers
* **coderay_line_numbers** - Defines how and if line numbers should be shown
* **coderay_tab_width** - The tab width used in highlighted code
* **coderay_wrap** - Defines how the highlighted code should be wrapped
* **enable_coderay** - Use coderay for syntax highlighting
* **entity_output** - Defines how entities are output
* **footnote_backlink** - Defines the text that should be used for the footnote backlinks
* **footnote_backlink_inline** - Specifies whether the footnote backlink should always be inline
* **footnote_nr** - The number of the first footnote
* **gfm_quirks** - Enables a set of GFM specific quirks
* **hard_wrap** - Interprets line breaks literally
* **header_offset** - Sets the output offset for headers
* **html_to_native** - Convert HTML elements to native elements
* **line_width** - Defines the line width to be used when outputting a document
* **link_defs** - Pre-defines link definitions
* **math_engine** - Set the math engine
* **math_engine_opts** - Set the math engine options
* **parse_block_html** - Process kramdown syntax in block HTML tags
* **parse_span_html** - Process kramdown syntax in span HTML tags
* **smart_quotes** - Defines the HTML entity names or code points for smart quote output
* **syntax_highlighter** - Set the syntax highlighter
* **syntax_highlighter_opts** - Set the syntax highlighter options
* **toc_levels** - Defines the levels that are used for the table of contents
* **transliterated_header_ids** - Transliterate the header text before generating the ID
* **typographic_symbols** - Defines a mapping from typographical symbol to output characters
### Example Usage
```yaml
kramdown:
html_to_native: true
```
<div class="note warning">
<h5>There are two unsupported kramdown options</h5>
<p>
Please note that both <code>remove_block_html_tags</code> and
<code>remove_span_html_tags</code> are currently unsupported in Jekyll due
to the fact that they are not included within the kramdown HTML converter.
</p>
</div>
For more details about these options have a look at the [Kramdown configuration documentation](https://kramdown.gettalong.org/options.html).
### CommonMark
[CommonMark](https://commonmark.org/) is a rationalized version of Markdown syntax, implemented in C and thus faster than default Kramdown implemented in Ruby. It [slightly differs](https://github.com/commonmark/CommonMark#differences-from-original-markdown) from original Markdown and does not support all the syntax elements implemented in Kramdown, like [Block Inline Attribute Lists](https://kramdown.gettalong.org/syntax.html#block-ials).
It comes in two flavors: basic CommonMark with [jekyll-commonmark](https://github.com/jekyll/jekyll-commonmark) plugin and [GitHub Flavored Markdown supported by GitHub Pages](https://github.com/github/jekyll-commonmark-ghpages).
### Custom Markdown Processors
If you're interested in creating a custom markdown processor, you're in luck! Create a new class in the `Jekyll::Converters::Markdown` namespace:
```ruby
class Jekyll::Converters::Markdown::MyCustomProcessor
def initialize(config)
require 'funky_markdown'
@config = config
rescue LoadError
STDERR.puts 'You are missing a library required for Markdown. Please run:'
STDERR.puts ' $ [sudo] gem install funky_markdown'
raise FatalException.new("Missing dependency: funky_markdown")
end
def convert(content)
::FunkyMarkdown.new(content).convert
end
end
```
Once you've created your class and have it properly set up either as a plugin
in the `_plugins` folder or as a gem, specify it in your `_config.yml`:
```yaml
markdown: MyCustomProcessor
```

View File

@@ -0,0 +1,162 @@
---
title: Configuration Options
permalink: "/docs/configuration/options/"
---
The tables below list the available settings for Jekyll, and the various <code
class="option">options</code> (specified in the configuration file) and <code
class="flag">flags</code> (specified on the command-line) that control them.
### Global Configuration
<div class="mobile-side-scroller">
<table>
<thead>
<tr>
<th>Setting</th>
<th>
<span class="option">Options</span> and <span class="flag">Flags</span>
</th>
</tr>
</thead>
<tbody>
{% for setting in site.data.config_options.global %}
<tr class="setting">
<td>
<p class="name">
<strong>{{ setting.name }}</strong>
{% if setting.version-badge %}
<span class="version-badge" title="Introduced in v{{ setting.version-badge }}">{{ setting.version-badge }}</span>
{% endif %}
</p>
<p class="description">{{ setting.description }}</p>
</td>
<td class="align-center">
<p><code class="option">{{ setting.option }}</code></p>
{% if setting.flag %}
<p><code class="flag">{{ setting.flag }}</code></p>
{% endif %}
</td>
</tr>
{% endfor %}
<tr>
<td>
<p class='name'><strong>Defaults</strong></p>
<p class='description'>
Set defaults for <a href="{{ '/docs/front-matter/' | relative_url }}" title="front matter">front matter</a>
variables.
</p>
</td>
<td class='align-center'>
<p>see <a href="{{ '/docs/configuration/front-matter-defaults/' | relative_url }}" title="details">below</a></p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="note warning">
<h5>Destination folders are cleaned on site builds</h5>
<p>
The contents of <code>&lt;destination&gt;</code> are automatically
cleaned, by default, when the site is built. Files or folders that are not
created by your site will be removed. Some files could be retained
by specifying them within the <code>&lt;keep_files&gt;</code> configuration directive.
</p>
<p>
Do not use an important location for <code>&lt;destination&gt;</code>; instead, use it as
a staging area and copy files from there to your web server.
</p>
</div>
### Build Command Options
<div class="mobile-side-scroller">
<table>
<thead>
<tr>
<th>Setting</th>
<th><span class="option">Options</span> and <span class="flag">Flags</span></th>
</tr>
</thead>
<tbody>
{% for setting in site.data.config_options.build %}
<tr class="setting">
<td>
<p class="name">
<strong>{{ setting.name }}</strong>
{% if setting.version-badge %}
<span class="version-badge" title="Introduced in v{{ setting.version-badge }}">{{ setting.version-badge }}</span>
{% endif %}
</p>
<p class="description">{{ setting.description }}</p>
</td>
<td class="align-center">
{% if setting.option %}<p><code class="option">{{ setting.option }}</code></p>{% endif %}
{% if setting.flag %}<p><code class="flag">{{ setting.flag }}</code></p>{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
### Serve Command Options
In addition to the options below, the `serve` sub-command can accept any of the options
for the `build` sub-command, which are then applied to the site build which occurs right
before your site is served.
<div class="mobile-side-scroller">
<table>
<thead>
<tr>
<th>Setting</th>
<th><span class="option">Options</span> and <span class="flag">Flags</span></th>
</tr>
</thead>
<tbody>
{% for setting in site.data.config_options.serve %}
<tr class="setting">
<td>
<p class="name">
<strong>{{ setting.name }}</strong>
{% if setting.version-badge %}
<span class="version-badge" title="Introduced in v{{ setting.version-badge }}">{{ setting.version-badge }}</span>
{% endif %}
</p>
<p class="description">{{ setting.description }}</p>
</td>
<td class="align-center">
{% if setting.option %}
<p><code class="option">{{ setting.option }}</code></p>
{% elsif setting.options %}
<p>
{% for option in setting.options %}
<code class="option">{{ option }}</code><br>
{% endfor %}
</p>
{% endif %}
{% if setting.flag %}
<p><code class="flag">{{ setting.flag }}</code></p>
{% elsif setting.flags %}
<p>
{% for flag in setting.flags %}
<code class="flag">{{ flag }}</code><br>
{% endfor %}
</p>
{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<div class="note warning">
<h5>Do not use tabs in configuration files</h5>
<p>
This will either lead to parsing errors, or Jekyll will revert to the
default settings. Use spaces instead.
</p>
</div>

View File

@@ -0,0 +1,20 @@
---
title: WEBrick Options
permalink: "/docs/configuration/webrick/"
---
You can provide custom headers for your site by adding them to `_config.yml`
```yaml
# File: _config.yml
webrick:
headers:
My-Header: My-Value
My-Other-Header: My-Other-Value
```
### Defaults
Jekyll provides by default `Content-Type` and `Cache-Control` response
headers: one dynamic in order to specify the nature of the data being served,
the other static in order to disable caching so that you don't have to fight
with Chrome's aggressive caching when you are in development mode.

View File

@@ -21,8 +21,6 @@ title: "Buddy"
Whenever you make a push to the selected branch, the Jekyll action runs `jekyll build` in an isolated [Jekyll Docker image][jekyll-docker-image]. The output is generated to the `/filesystem` directory, and can be further deployed to FTP/SFTP and IaaS services. You can add your own commands, install additional packages, attach services, and run Selenium tests, as well as add other actions down the pipeline, eg. a Slack notification or an SSH script that will restart your server.
![Jekyll Build](https://buddy.works/data/blog/_images/buddyworks-jekyll-small.png)
[jekyll-docker-image]: https://hub.docker.com/r/jekyll/jekyll/
## 3. Using YAML for configuration

View File

@@ -12,7 +12,7 @@ Building, testing, and deploying your Jekyll-generated website can quickly be do
To start building your project on CircleCI, all you need to do is 'follow' your project from CircleCI's website:
1. Visit the 'Add Projects' page: <https://circleci.com/add-projects>
1. Visit the 'Add Projects' page
1. From the GitHub or Bitbucket tab on the left, choose a user or organization.
1. Find your project in the list and click 'Build project' on the right.
1. The first build will start on its own. You can start telling CircleCI how to build your project by creating a [circle.yml][3] file in the root of your repository.
@@ -34,11 +34,11 @@ gem 'jekyll'
gem 'html-proofer'
```
CircleCI detects when `Gemfile` is present is will automatically run `bundle install` for you in the `dependencies` phase.
CircleCI detects when `Gemfile` is present and will automatically run `bundle install` for you in the `dependencies` phase.
## 3. Testing
The most basic test that can be run is simply seeing if `jekyll build` actually works. This is a blocker, a dependency if you will, for other tests you might run on the generate site. So we'll run Jekyll, via Bundler, in the `dependencies` phase.
The most basic test that can be run is seeing if `jekyll build` actually works. This is a blocker, a dependency if you will, for other tests you might run on the generate site. So we'll run Jekyll, via Bundler, in the `dependencies` phase.
```yaml
dependencies:
@@ -61,26 +61,75 @@ test:
## Complete Example circle.yml File
When you put it all together, here's an example of what that `circle.yml` file could look like:
Since v2, CircleCI is a Docker-based system. The example `circle.yml` below demonstrates how to
deploy your Jekyll project to AWS. In order for this to work you would first have to set the
`S3_BUCKET_NAME` [environment variable](https://circleci.com/docs/2.0/env-vars/).
```yaml
machine:
environment:
NOKOGIRI_USE_SYSTEM_LIBRARIES: true # speeds up installation of html-proofer
dependencies:
post:
- bundle exec jekyll build
test:
post:
- bundle exec htmlproofer ./_site --allow-hash-href --check-favicon --check-html --disable-external
deployment:
prod:
branch: master
commands:
- rsync -va --delete ./_site username@my-website:/var/html
defaults: &defaults
working_directory: ~/repo
version: 2
jobs:
build:
<<: *defaults
docker:
- image: circleci/ruby:2.5
environment:
BUNDLE_PATH: ~/repo/vendor/bundle
steps:
- checkout
- restore_cache:
keys:
- rubygems-v1-{% raw %}{{ checksum "Gemfile.lock" }}{% endraw %}
- rubygems-v1-fallback
- run:
name: Bundle Install
command: bundle check || bundle install
- save_cache:
key: rubygems-v1-{% raw %}{{ checksum "Gemfile.lock" }}{% endraw %}
paths:
- vendor/bundle
- run:
name: Jekyll build
command: bundle exec jekyll build
- run:
name: HTMLProofer tests
command: |
bundle exec htmlproofer ./_site \
--allow-hash-href \
--check-favicon \
--check-html \
--disable-external
- persist_to_workspace:
root: ./
paths:
- _site
deploy:
<<: *defaults
docker:
- image: circleci/python:3.6.3
environment:
S3_BUCKET_NAME: <<YOUR BUCKET NAME HERE>>
steps:
- attach_workspace:
at: ./
- run:
name: Install AWS CLI
command: pip install awscli --upgrade --user
- run:
name: Upload to s3
command: ~/.local/bin/aws s3 sync ./_site s3://$S3_BUCKET_NAME/ --delete --acl public-read
workflows:
version: 2
test-deploy:
jobs:
- build
- deploy:
requires:
- build
filters:
branches:
only: master
```
## Questions?

View File

@@ -0,0 +1,213 @@
---
title: GitHub Actions
---
When building a Jekyll site with GitHub Pages, the standard flow is restricted for security reasons
and to make it simpler to get a site setup. For more control over the build and still host the site
with GitHub Pages you can use GitHub Actions.
## Advantages of using Actions
### Control over gemset
- **Jekyll version** --- Instead of using the currently enabled version at `3.9.0`, you can use any
version of Jekyll you want. For example `4.0.0`, or point directly to the repository.
- **Plugins** --- You can use any Jekyll plugins irrespective of them being on the
[supported versions][ghp-whitelist] list, even `*.rb` files placed in the `_plugins` directory
of your site.
- **Themes** --- While using a custom theme is possible without Actions, it is now simpler.
### Workflow Management
- **Customization** --- By creating a workflow file to run Actions, you can specify custom build
steps, use environment variables.
- **Logging** --- The build log is visible and can be tweaked to be verbose, so it is much easier to
debug errors using Actions.
## Workspace setup
The first and foremost requirement is a Jekyll project hosted at GitHub. Choose an existing Jekyll
project or follow the [Quickstart]({{ '/docs' | relative_url }}) and push the repository to GitHub
if it is not hosted there already.
We're only going to cover builds from the `master` branch in this page. Therefore, ensure that you
are working on the `master` branch. If necessary, you may create it based on your default branch.
When the Action builds your site, the contents of the *destination* directory will be automatically
pushed to the `gh-pages` branch with a commit, ready to be used for serving.
{: .note .warning}
The Action we're using here will create (or reset an existing) `gh-pages` branch on every successful
deploy.<br/> So, if you have an existing `gh-pages` branch that is used to deploy your production
build, ensure to make a backup of the contents into a different branch so that you can rollback
easily if necessary.
The Jekyll site we'll be using for the rest of this page initially consists of just a `_config.yml`,
an `index.md` page and a `Gemfile`. The contents are respectively:
```yaml
# _config.yml
title: "Jekyll Actions Demo"
```
{% raw %}
```liquid
---
---
Welcome to My Home Page
{% assign date = '2020-04-13T10:20:00Z' %}
- Original date - {{ date }}
- With timeago filter - {{ date | timeago }}
```
{% endraw %}
```ruby
# Gemfile
source 'https://rubygems.org'
gem 'jekyll', '~> 4.0'
group :jekyll_plugins do
gem 'jekyll-timeago', '~> 0.13.1'
end
```
{: .note .info}
The demo site uses Jekyll 4 and a [third-party plugin][timeago-plugin], both of which are currently
not whitelisted for use on GitHub pages. The plugin will allow us to describe how far back a date
was from today. e.g. If we give a date as `2016-03-23T10:20:00Z` and the current date is
`2020-04-13T10:20:00Z`, then the output would be `4 years and 3 weeks ago`.
{: .note .info}
The action we're using takes care of installing the Ruby gems and dependencies. While that keeps
the setup simple for the user, one may encounter issues if they also check-in `Gemfile.lock` if it
was generated with an old version of Bundler.
### Setting up the Action
GitHub Actions are registered for a repository by using a YAML file inside the directory path
`.github/workflows` (note the dot at the start). Here we shall employ
[Jekyll Actions][jekyll-actions] from the Marketplace for its simplicity.
Create a **workflow file**, say `github-pages.yml`, using either the GitHub interface or by pushing
a YAML file to the workflow directory path manually. The base contents are:
{% raw %}
```yaml
name: Build and deploy Jekyll site to GitHub Pages
on:
push:
branches:
- master
jobs:
github-pages:
runs-on: ubuntu-16.04
steps:
- uses: actions/checkout@v2
- uses: helaili/jekyll-action@2.0.1
env:
JEKYLL_PAT: ${{ secrets.JEKYLL_PAT }}
```
{% endraw %}
The above workflow can be explained as the following:
- We trigger the build using **on.push** condition for `master` branch only --- this prevents
the Action from overwriting the `gh-pages` branch on any feature branch pushes.
- The **name** of the job matches our YAML filename: `github-pages`.
- The **checkout** action takes care of cloning your repository.
- We specify our selected **action** and **version number** using `helaili/jekyll-action@2.0.0`.
This handles the build and deploy.
- We set a reference to a secret **environment variable** for the action to use. The `JEKYLL_PAT`
is a *Personal Access Token* and is detailed in the next section.
Instead of using the **on.push** condition, you could trigger your build on a **schedule** by
using the [on.schedule] parameter. For example, here we build daily at midnight by specifying
**cron** syntax, which can be tested at the [crontab guru] site.
```yaml
on:
schedule:
- cron: '0 0 * * *'
```
Note that this string must be quoted to prevent the asterisks from being evaluated incorrectly.
[on.schedule]: https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#onschedule
[crontab guru]: https://crontab.guru/
### Providing permissions
The action needs permissions to push to your `gh-pages` branch. So you need to create a GitHub
**authentication token** on your GitHub profile, then set it as an environment variable in your
build using _Secrets_:
1. On your GitHub profile, under **Developer Settings**, go to the [Personal Access Tokens][tokens]
section.
2. **Create** a token. Give it a name like "GitHub Actions" and ensure it has permissions to
`public_repos` (or the entire `repo` scope for private repository) --- necessary for the action
to commit to the `gh-pages` branch.
3. **Copy** the token value.
4. Go to your repository's **Settings** and then the **Secrets** tab.
5. **Create** a token named `JEKYLL_PAT` (*important*). Give it a value using the value copied
above.
### Build and deploy
On pushing any local changes onto `master`, the action will be triggered and the build will
**start**.
To watch the progress and see any build errors, check on the build **status** using one of the
following approaches:
- **View by commit**
- Go to the repository level view in GitHub. Under the most recent commit (near the top) youll
see a **status symbol** next to the commit message as a tick or _X_. Hover over it and click
the **details** link.
- **Actions tab**
- Go to the repository's Actions tab. Click on the `jekyll` workflow tab.
If all goes well, all steps will be green and the built assets will now exist on the `gh-pages`
branch.
On a successful build, GitHub Pages will **publish** the site stored on the repository `gh-pages`
branches. Note that you do not need to setup a `gh-pages` branch or enable GitHub Pages, as the
action will take care of this for you.
(For private repositories, you'll have to upgrade to a paid plan).
To see the **live site**:
1. Go to the **environment** tab on your repository.
2. Click **View Deployment** to see the deployed site URL.
3. View your site at the **URL**. Make sure the `timeago` filter works as expected.
4. Optionally **add** this URL to your repository's main page and to your `README.md`, to make it
easy for people to find.
When you need to make further **changes** to the site, commit to `master` and push. The workflow
will build and deploy your site again.
Be sure **not to edit** the `gh-pages` branch directly, as any changes will be lost on the next
successful deploy from the Action.
## External links
- [jekyll-actions] is an action available on the GitHub Marketplace and was used in this guide.
- [jekyll-actions-quickstart] is an unofficial repository that includes a live demo of the
`jekyll-actions` action. That project can be used as a template for making a new site.
[ghp-whitelist]: https://pages.github.com/versions/
[timeago-plugin]: https://rubygems.org/gems/jekyll-timeago
[tokens]: https://github.com/settings/tokens
[jekyll-actions]: https://github.com/marketplace/actions/jekyll-actions
[jekyll-actions-quickstart]: https://github.com/MichaelCurrin/jekyll-actions-quickstart

View File

@@ -1,10 +0,0 @@
---
title: Continuous Integration
permalink: /docs/continuous-integration/
---
Continuous Integration (CI) enables you to publish your Jekyll generated website with confidence by automating the quality assurance and deployment processes. You can quickly get started using CI with one of the providers below:
* [Travis CI](travis-ci)
* [CircleCI](circleci)
* [Buddy](buddyworks)

View File

@@ -2,7 +2,7 @@
title: "Travis CI"
---
You can easily test your website build against one or more versions of Ruby.
You can test your website build against one or more versions of Ruby.
The following guide will show you how to set up a free build environment on
[Travis][travis], with [GitHub][github] integration for pull requests.
@@ -11,7 +11,7 @@ The following guide will show you how to set up a free build environment on
## 1. Enabling Travis and GitHub
Enabling Travis builds for your GitHub repository is pretty simple:
To enable Travis builds for your GitHub repository:
1. Go to your profile on travis-ci.org: https://travis-ci.org/profile/username
2. Find the repository for which you're interested in enabling builds.
@@ -21,7 +21,7 @@ Enabling Travis builds for your GitHub repository is pretty simple:
## 2. The Test Script
The simplest test script simply runs `jekyll build` and ensures that Jekyll
The simplest test script runs `jekyll build` and ensures that Jekyll
doesn't fail to build the site. It doesn't check the resulting site, but it
does ensure things are built properly.
@@ -34,7 +34,7 @@ Save the commands you want to run and succeed in a file: `./script/cibuild`
### The HTML Proofer Executable
```sh
```bash
#!/usr/bin/env bash
set -e # halt script on error
@@ -76,7 +76,7 @@ with Ruby and requires RubyGems to install, we use the Ruby language build
environment. Below is a sample `.travis.yml` file, followed by
an explanation of each line.
**Note:** You will need a Gemfile as well, [Travis will automatically install](https://docs.travis-ci.com/user/languages/ruby/#Dependency-Management) the dependencies based on the referenced gems:
**Note:** You will need a Gemfile as well, [Travis will automatically install](https://docs.travis-ci.com/user/languages/ruby/#Dependency-Management) the dependencies based on the referenced gems. Here is an example `Gemfile` with two referenced gems, "jekyll" and "html-proofer":
```ruby
source "https://rubygems.org"
@@ -90,7 +90,7 @@ Your `.travis.yml` file should look like this:
```yaml
language: ruby
rvm:
- 2.3.3
- 2.6.3
before_script:
- chmod +x ./script/cibuild # or do this locally and commit
@@ -105,11 +105,16 @@ branches:
- gh-pages # test the gh-pages branch
- /pages-(.*)/ # test every branch which starts with "pages-"
env:
global:
- NOKOGIRI_USE_SYSTEM_LIBRARIES=true # speeds up installation of html-proofer
addons:
apt:
packages:
- libcurl4-openssl-dev
sudo: false # route your build to the container-based infrastructure for a faster build
cache: bundler # caching bundler gem packages will speed up build
# Optional: disable email notifications about the outcome of your builds
notifications:
email: false
```
Ok, now for an explanation of each line:
@@ -123,12 +128,13 @@ access to Bundler, RubyGems, and a Ruby runtime.
```yaml
rvm:
- 2.3.3
- 2.6.3
```
RVM is a popular Ruby Version Manager (like rbenv, chruby, etc). This
directive tells Travis the Ruby version to use when running your test
script.
script. Use a [version which is pre-installed on the Travis build docker][5]
image to speed up the build.
```yaml
before_script:
@@ -177,18 +183,6 @@ prefixed, exemplified above with the `/pages-(.*)/` regular expression.
The `branches` directive is completely optional. Travis will build from every
push to any branch of your repo if leave it out.
```yaml
env:
global:
- NOKOGIRI_USE_SYSTEM_LIBRARIES=true # speeds up installation of html-proofer
```
Using `html-proofer`? You'll want this environment variable. Nokogiri, used
to parse HTML files in your compiled site, comes bundled with libraries
which it must compile each time it is installed. Luckily, you can
dramatically decrease the install time of Nokogiri by setting the
environment variable `NOKOGIRI_USE_SYSTEM_LIBRARIES` to `true`.
<div class="note warning">
<h5>Be sure to exclude <code>vendor</code> from your
<code>_config.yml</code></h5>
@@ -200,14 +194,21 @@ environment variable `NOKOGIRI_USE_SYSTEM_LIBRARIES` to `true`.
exclude: [vendor]
```
By default you should supply the `sudo: false` command to Travis. This command
explicitly tells Travis to run your build on Travis's [container-based
infrastructure](https://docs.travis-ci.com/user/workers/container-based-infrastructure/#Routing-your-build-to-container-based-infrastructure). Running on the container-based infrastructure can often times
speed up your build. If you have any trouble with your build, or if your build
does need `sudo` access, modify the line to `sudo: required`.
To speed up the build, you should cache the gem packages created by `bundler`.
Travis has a pre-defined [cache strategy for this tool][6] which should have
all the default configs to do exactly that.
```yaml
sudo: false
cache: bundler
```
Optionally, if you are not interested in the build email notifications you
can disable them with this configuration. Travis supports a wide array of
notification services, you may find [another one more useful (e.g. slack)][7].
```yaml
notifications:
email: false
```
### Troubleshooting
@@ -227,3 +228,6 @@ fix or [ask for help][4] if you run into trouble and need some help.
[3]: https://github.com/jekyll/jekyll/edit/master/docs/_docs/continuous-integration/travis-ci.md
[4]: https://jekyllrb.com/help/
[5]: https://docs.travis-ci.com/user/languages/ruby/#Specifying-Ruby-versions-and-implementations
[6]: https://docs.travis-ci.com/user/caching/#Caching-directories-(Bundler%2C-dependencies)
[7]: https://docs.travis-ci.com/user/notifications/

View File

@@ -8,30 +8,30 @@ Hi there! Interested in contributing to Jekyll? We'd love your help. Jekyll is a
## Where to get help or report a problem
See [the support guidelines](https://jekyllrb.com/docs/support/)
See the [support guidelines](https://jekyllrb.com/docs/support/)
## Ways to contribute
Whether you're a developer, a designer, or just a Jekyll devotee, there are lots of ways to contribute. Here's a few ideas:
* [Install Jekyll on your computer](https://jekyllrb.com/docs/installation/) and kick the tires. Does it work? Does it do what you'd expect? If not, [open an issue](https://github.com/jekyll/jekyll/issues/new) and let us know.
* Comment on some of the project's [open issues](https://github.com/jekyll/jekyll/issues). Have you experienced the same problem? Know a work around? Do you have a suggestion for how the feature could be better?
* Read through [the documentation](https://jekyllrb.com/docs/home/), and click the "improve this page" button, any time you see something confusing, or have a suggestion for something that could be improved.
* Browse through [the Jekyll discussion forum](https://talk.jekyllrb.com/), and lend a hand answering questions. There's a good chance you've already experienced what another user is experiencing.
* Find [an open issue](https://github.com/jekyll/jekyll/issues) (especially [those labeled `help-wanted`](https://github.com/jekyll/jekyll/issues?q=is%3Aopen+is%3Aissue+label%3Ahelp-wanted)), and submit a proposed fix. If it's your first pull request, we promise we won't bite, and are glad to answer any questions.
* Help evaluate [open pull requests](https://github.com/jekyll/jekyll/pulls), by testing the changes locally and reviewing what's proposed.
- [Install Jekyll on your computer](https://jekyllrb.com/docs/installation/) and kick the tires. Does it work? Does it do what you'd expect? If not, [open an issue](https://github.com/jekyll/jekyll/issues/new) and let us know.
- Comment on some of the project's [open issues](https://github.com/jekyll/jekyll/issues). Have you experienced the same problem? Know a work around? Do you have a suggestion for how the feature could be better?
- Read through the [documentation](https://jekyllrb.com/docs/home/), and click the "improve this page" button, any time you see something confusing, or have a suggestion for something that could be improved.
- Browse through the [Jekyll discussion forum](https://talk.jekyllrb.com/), and lend a hand answering questions. There's a good chance you've already experienced what another user is experiencing.
- Find an [open issue](https://github.com/jekyll/jekyll/issues) (especially [those labeled `help-wanted`](https://github.com/jekyll/jekyll/issues?q=is%3Aopen+is%3Aissue+label%3Ahelp-wanted)), and submit a proposed fix. If it's your first pull request, we promise we won't bite, and are glad to answer any questions.
- Help evaluate [open pull requests](https://github.com/jekyll/jekyll/pulls), by testing the changes locally and reviewing what's proposed.
## Submitting a pull request
### Pull requests generally
* The smaller the proposed change, the better. If you'd like to propose two unrelated changes, submit two pull requests.
- The smaller the proposed change, the better. If you'd like to propose two unrelated changes, submit two pull requests.
* The more information, the better. Make judicious use of the pull request body. Describe what changes were made, why you made them, and what impact they will have for users.
- The more information, the better. Make judicious use of the pull request body. Describe what changes were made, why you made them, and what impact they will have for users.
* Pull requests are easy and fun. If this is your first pull request, it may help to [understand GitHub Flow](https://guides.github.com/introduction/flow/).
- If this is your first pull request, it may help to [understand GitHub Flow](https://guides.github.com/introduction/flow/).
* If you're submitting a code contribution, be sure to read the [code contributions](#code-contributions) section below.
- If you're submitting a code contribution, be sure to read the [code contributions](#code-contributions) section below.
### Submitting a pull request via github.com
@@ -53,7 +53,7 @@ That's it! You'll be automatically subscribed to receive updates as others revie
2. Clone the repository locally `git clone https://github.com/<you-username>/jekyll`.
3. Create a new, descriptively named branch to contain your change ( `git checkout -b my-awesome-feature` ).
4. Hack away, add tests. Not necessarily in that order.
5. Make sure everything still passes by running `script/cibuild` (see [the tests section](#running-tests-locally) below)
5. Make sure everything still passes by running `script/cibuild` (see the [tests section](#running-tests-locally) below)
6. Push the branch up ( `git push origin my-awesome-feature` ).
7. Create a pull request by visiting `https://github.com/<your-username>/jekyll` and following the instructions at the top of the screen.
@@ -80,11 +80,12 @@ If you ever need to update our documentation with an icon that is not already av
5. Click `Generate Font` on the bottom-horizontal-bar.
6. Inspect the included icons and proceed by clicking `Download`.
7. Extract the font files and adapt the CSS to the paths we use in Jekyll:
- Copy the entire `fonts` directory over and overwrite existing ones at `<jekyll>/docs/`.
- Copy the contents of `selection.json` and overwrite existing content inside `<jekyll>/docs/icomoon-selection.json`.
- Copy the entire `@font-face {}` declaration and only the **new-icon(s)' css declarations** further below, to update the
- Copy the entire `fonts` directory over and overwrite existing ones at `<jekyll>/docs/`.
- Copy the contents of `selection.json` and overwrite existing content inside `<jekyll>/docs/icomoon-selection.json`.
- Copy the entire `@font-face {}` declaration and only the **new-icon(s)' css declarations** further below, to update the
`<jekyll>/docs/_sass/_font-awesome.scss` sass partial.
- Fix paths in the `@font-face {}` declaration by adding `../` before `fonts/FontAwesome.*` like so:
- Fix paths in the `@font-face {}` declaration by adding `../` before `fonts/FontAwesome.*` like so:
`('../fonts/Fontawesome.woff?9h6hxj')`.
### Adding plugins
@@ -93,7 +94,7 @@ If you want to add your plugin to the [list of plugins](https://jekyllrb.com/doc
## Code Contributions
Interesting in submitting a pull request? Awesome. Read on. There's a few common gotchas that we'd love to help you avoid.
Interested in submitting a pull request? Awesome. Read on. There's a few common gotchas that we'd love to help you avoid.
### Tests and documentation
@@ -105,19 +106,21 @@ If your contribution changes any Jekyll behavior, make sure to update the docume
#### Tests
* If you're creating a small fix or patch to an existing feature, a simple test is more than enough. You can usually copy/paste from an existing example in the `tests` folder, but if you need you can find out about our tests suites [Shoulda](https://github.com/thoughtbot/shoulda/tree/master) and [RSpec-Mocks](https://github.com/rspec/rspec-mocks).
- If you're creating a small fix or patch to an existing feature, a simple test is more than enough. You can usually copy/paste from an existing example in the `tests` folder, but if you need you can find out about our tests suites [Shoulda](https://github.com/thoughtbot/shoulda/tree/master) and [RSpec-Mocks](https://github.com/rspec/rspec-mocks).
* If it's a brand new feature, create a new [Cucumber](https://github.com/cucumber/cucumber/) feature, reusing existing steps where appropriate.
- If it's a brand new feature, create a new [Cucumber](https://github.com/cucumber/cucumber/) feature, reusing existing steps where appropriate.
### Code contributions generally
* Jekyll uses the [Rubocop](https://github.com/bbatsov/rubocop) static analyzer to ensure that contributions follow the [GitHub Ruby Styleguide](https://github.com/styleguide/ruby). Please check your code using `script/fmt` and resolve any errors before pushing your branch.
- Jekyll uses the [Rubocop](https://github.com/bbatsov/rubocop) static analyzer to ensure that contributions follow the [GitHub Ruby Styleguide](https://github.com/styleguide/ruby). Please check your code using `script/fmt` and resolve any errors before pushing your branch.
* Don't bump the Gem version in your pull request (if you don't know what that means, you probably didn't).
- Don't bump the Gem version in your pull request (if you don't know what that means, you probably didn't).
* You can use the command `script/console` to start a REPL to explore the result of
Jekyll's methods. It also provides you with helpful methods to quickly create a
site or configuration. [Feel free to check it out!](https://github.com/jekyll/jekyll/blob/master/script/console)
- You can use the command `script/console` to start a REPL to explore the result of
Jekyll's methods. It also provides you with helpful methods to quickly create a
site or configuration. [Feel free to check it out!](https://github.com/jekyll/jekyll/blob/master/script/console)
- Previously, we've used the WIP Probot app to help contributors determine whether their pull request is ready for review. Please use a [draft pull request](https://help.github.com/en/articles/about-pull-requests#draft-pull-requests) instead. When you're ready, [mark the pull request as ready for review](https://help.github.com/en/articles/changing-the-stage-of-a-pull-request)
## Running tests locally
@@ -150,6 +153,10 @@ script/cucumber features/blah.feature
Both `script/test` and `script/cucumber` can be run without arguments to
run its entire respective suite.
## Visual Studio Code Development Container
If you've got [Visual Studio Code](https://code.visualstudio.com/) with the [Remote Development Extension Pack](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack) installed then simply opening this repository in Visual Studio Code and following the prompts to "Re-open In A Development Container" will get you setup and ready to go with a fresh environment with all the requirements installed.
## A thank you
Thanks! Hacking on Jekyll should be fun. If you find any of this hard to figure out, let us know so we can improve our process or documentation!

View File

@@ -3,13 +3,12 @@ title: Data Files
permalink: /docs/datafiles/
---
In addition to the [built-in variables](../variables/) available from Jekyll,
In addition to the [built-in variables]({{'/docs/variables/' | relative_url }}) available from Jekyll,
you can specify your own custom data that can be accessed via the [Liquid
templating system](https://wiki.github.com/shopify/liquid/liquid-for-designers).
templating system](https://github.com/Shopify/liquid/wiki/Liquid-for-Designers).
Jekyll supports loading data from [YAML](http://yaml.org/), [JSON](http://www.json.org/),
and [CSV](https://en.wikipedia.org/wiki/Comma-separated_values) files located in the `_data` directory.
Note that CSV files *must* contain a header row.
Jekyll supports loading data from [YAML](http://yaml.org/), [JSON](http://www.json.org/), [CSV](https://en.wikipedia.org/wiki/Comma-separated_values), and [TSV](https://en.wikipedia.org/wiki/Tab-separated_values) files located in the `_data` directory.
Note that CSV and TSV files *must* contain a header row.
This powerful feature allows you to avoid repetition in your templates and to
set site specific options without changing `_config.yml`.
@@ -18,9 +17,8 @@ Plugins/themes can also leverage Data Files to set configuration variables.
## The Data Folder
As explained on the [directory structure](../structure/) page, the `_data`
folder is where you can store additional data for Jekyll to use when generating
your site. These files must be YAML, JSON, or CSV files (using either
The `_data` folder is where you can store additional data for Jekyll to use when
generating your site. These files must be YAML, JSON, or CSV files (using either
the `.yml`, `.yaml`, `.json` or `.csv` extension), and they will be
accessible via `site.data`.
@@ -44,15 +42,15 @@ In `_data/members.yml`:
Or `_data/members.csv`:
```text
```
name,github
Eric Mill,konklone
Parker Moore,parkr
Liu Fengyun,liufengyun
```
This data can be accessed via `site.data.members` (notice that the filename
determines the variable name).
This data can be accessed via `site.data.members` (notice that the file's *basename* determines the variable name and
therefore one should avoid having data files with the same basename but different extensions, in the same directory).
You can now render the list of members in a template:
@@ -70,10 +68,7 @@ You can now render the list of members in a template:
```
{% endraw %}
{: .note .info }
If your Jekyll site has a lot of pages, such as with documentation websites, see the detailed examples in [how to build robust navigation for your site]({% link _tutorials/navigation.md %}).
## Example: Organizations
## Subfolders
Data files can also be placed in sub-folders of the `_data` folder. Each folder
level will be added to a variable's namespace. The example below shows how
@@ -134,7 +129,7 @@ dave:
twitter: DavidSilvaSmith
```
The author can then be specified as a page variable in a post's frontmatter:
The author can then be specified as a page variable in a post's front matter:
{% raw %}
```liquid
@@ -152,4 +147,4 @@ author: dave
```
{% endraw %}
For information on how to build robust navigation for your site (especially if you have a documentation website or another type of Jekyll site with a lot of pages to organize), see [Navigation](/tutorials/navigation).
For information on how to build robust navigation for your site (especially if you have a documentation website or another type of Jekyll site with a lot of pages to organize), see [Navigation]({{ '/tutorials/navigation/' | relative_url }}).

View File

@@ -1,216 +0,0 @@
---
title: Deployment methods
permalink: /docs/deployment-methods/
---
Sites built using Jekyll can be deployed in a large number of ways due to the static nature of the generated output. A few of the most common deployment techniques are described below.
<div class="note">
<h5>ProTip™: Use GitHub Pages for zero-hassle Jekyll hosting</h5>
<p>GitHub Pages are powered by Jekyll behind the scenes, so if youre looking for a zero-hassle, zero-cost solution, GitHub Pages are a great way to <a href="../github-pages/">host your Jekyll-powered website for free</a>.</p>
</div>
## Netlify
Netlify provides Global CDN, Continuous Deployment, one click HTTPS and [much more](https://www.netlify.com/features/), providing developers the most robust toolset available for modern web projects, without added complexity. Netlify supports custom plugins for Jekyll and has a free plan for open source projects.
Read this [Jekyll step-by-step guide](https://www.netlify.com/blog/2015/10/28/a-step-by-step-guide-jekyll-3.0-on-netlify/) to setup your Jekyll site on Netlify.
## Aerobatic
[Aerobatic](https://www.aerobatic.com) has custom domains, global CDN distribution, basic auth, CORS proxying, and a growing list of plugins all included.
Automating the deployment of a Jekyll site is simple. See their [Jekyll docs](https://www.aerobatic.com/docs/static-site-generators/#jekyll) for more details. Your built `_site` folder is deployed to their highly-available, globally distributed hosting service.
## Kickster
Use [Kickster](http://kickster.nielsenramon.com/) for easy (automated) deploys to GitHub Pages when using unsupported plugins on GitHub Pages.
Kickster provides a basic Jekyll project setup packed with web best practises and useful optimization tools increasing your overall project quality. Kickster ships with automated and worry-free deployment scripts for GitHub Pages.
Setting up Kickster is very easy, just install the gem and you are good to go. More documentation can here found [here](https://github.com/nielsenramon/kickster#kickster). If you do not want to use the gem or start a new project you can just copy paste the deployment scripts for [Travis CI](https://github.com/nielsenramon/kickster/tree/master/snippets/travis) or [Circle CI](https://github.com/nielsenramon/kickster#automated-deployment-with-circle-ci).
## Web hosting providers (FTP)
Just about any traditional web hosting provider will let you upload files to their servers over FTP. To upload a Jekyll site to a web host using FTP, simply run the `jekyll build` command and copy the contents of the generated `_site` folder to the root folder of your hosting account. This is most likely to be the `httpdocs` or `public_html` folder on most hosting providers.
## Self-managed web server
If you have direct access to the deployment web server, the process is essentially the same, except you might have other methods available to you (such as `scp`, or even direct filesystem access) for transferring the files. Just remember to make sure the contents of the generated `_site` folder get placed in the appropriate web root directory for your web server.
## Automated methods
There are also a number of ways to easily automate the deployment of a Jekyll site. If youve got another method that isnt listed below, wed love it if you [contributed](../contributing/) so that everyone else can benefit too.
### Git post-update hook
If you store your Jekyll site in [Git](https://git-scm.com/) (you are using
version control, right?), its pretty easy to automate the
deployment process by setting up a post-update hook in your Git
repository, [like
this](http://web.archive.org/web/20091223025644/http://www.taknado.com/en/2009/03/26/deploying-a-jekyll-generated-site/).
### Git post-receive hook
To have a remote server handle the deploy for you every time you push changes using Git, you can create a user account which has all the public keys that are authorized to deploy in its `authorized_keys` file. With that in place, setting up the post-receive hook is done as follows:
```sh
laptop$ ssh deployer@example.com
server$ mkdir myrepo.git
server$ cd myrepo.git
server$ git --bare init
server$ cp hooks/post-receive.sample hooks/post-receive
server$ mkdir /var/www/myrepo
```
Next, add the following lines to hooks/post-receive and be sure Jekyll is
installed on the server:
```bash
GIT_REPO=$HOME/myrepo.git
TMP_GIT_CLONE=$HOME/tmp/myrepo
GEMFILE=$TMP_GIT_CLONE/Gemfile
PUBLIC_WWW=/var/www/myrepo
git clone $GIT_REPO $TMP_GIT_CLONE
BUNDLE_GEMFILE=$GEMFILE bundle install
BUNDLE_GEMFILE=$GEMFILE bundle exec jekyll build -s $TMP_GIT_CLONE -d $PUBLIC_WWW
rm -Rf $TMP_GIT_CLONE
exit
```
Finally, run the following command on any users laptop that needs to be able to
deploy using this hook:
```sh
laptops$ git remote add deploy deployer@example.com:~/myrepo.git
```
Deploying is now as easy as telling nginx or Apache to look at
`/var/www/myrepo` and running the following:
```sh
laptops$ git push deploy master
```
### Static Publisher
[Static Publisher](https://github.com/static-publisher/static-publisher) is another automated deployment option with a server listening for webhook posts, though it's not tied to GitHub specifically. It has a one-click deploy to Heroku, it can watch multiple projects from one server, it has an easy to user admin interface and can publish to either S3 or to a git repository (e.g. gh-pages).
### Rake
Another way to deploy your Jekyll site is to use [Rake](https://github.com/ruby/rake), [HighLine](https://github.com/JEG2/highline), and
[Net::SSH](https://github.com/net-ssh/net-ssh). A more complex example of deploying Jekyll with Rake that deals with multiple branches can be found in [Git Ready](https://github.com/gitready/gitready/blob/cdfbc4ec5321ff8d18c3ce936e9c749dbbc4f190/Rakefile).
### scp
Once youve generated the `_site` directory, you can easily scp its content using a
`tasks/deploy` shell script similar to [this deploy script][]. Youd obviously
need to change the values to reflect your sites details. There is even [a
matching TextMate command][] that will help you run this script.
[this deploy script]: https://github.com/henrik/henrik.nyh.se/blob/master/script/deploy
[a matching TextMate command]: https://gist.github.com/henrik/214959
### rsync
Once youve generated the `_site` directory, you can easily rsync its content using a `tasks/deploy` shell script similar to [this deploy script here](https://github.com/vitalyrepin/vrepinblog/blob/master/transfer.sh). Youd obviously need to change the values to reflect your sites details.
Certificate-based authorization is another way to simplify the publishing
process. It makes sense to restrict rsync access only to the directory which it is supposed to sync. This can be done using rrsync.
#### Step 1: Install rrsync to your home folder (server-side)
If it is not already installed by your host, you can do it yourself:
- [Download rrsync](https://ftp.samba.org/pub/unpacked/rsync/support/rrsync)
- Place it in the `bin` subdirectory of your home folder (`~/bin`)
- Make it executable (`chmod +x`)
#### Step 2: Set up certificate-based SSH access (server side)
This [process](https://wiki.gentoo.org/wiki/SSH#Passwordless_Authentication) is
described in several places online. What is different from the typical approach
is to put the restriction to certificate-based authorization in
`~/.ssh/authorized_keys`. Then, launch `rrsync` and supply
it with the folder it shall have read-write access to:
```sh
command="$HOME/bin/rrsync <folder>",no-agent-forwarding,no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding ssh-rsa <cert>
```
`<folder>` is the path to your site. E.g., `~/public_html/you.org/blog-html/`.
#### Step 3: Rsync (client-side)
Add the `deploy` script to the site source folder:
```sh
#!/bin/sh
rsync -crvz --rsh='ssh -p2222' --delete-after --delete-excluded <folder> <user>@<site>:
```
Command line parameters are:
- `--rsh=ssh -p2222` &mdash; The port for SSH access. It is required if
your host uses a different port than the default (e.g, HostGator)
- `<folder>` &mdash; The name of the local output folder (defaults to `_site`)
- `<user>` &mdash; The username for your hosting account
- `<site>` &mdash; Your hosting server
Using this setup, you might run the following command:
```sh
rsync -crvz --rsh='ssh -p2222' --delete-after --delete-excluded _site/ hostuser@example.org:
```
Don't forget the column `:` after server name!
#### Step 4 (Optional): Exclude the transfer script from being copied to the output folder.
This step is recommended if you use these instructions to deploy your site. If
you put the `deploy` script in the root folder of your project, Jekyll will
copy it to the output folder. This behavior can be changed in `_config.yml`.
Just add the following line:
```yaml
# Do not copy these files to the output directory
exclude: ["deploy"]
```
Alternatively, you can use an `rsync-exclude.txt` file to control which files will be transferred to your server.
#### Done!
Now it's possible to publish your website simply by running the `deploy`
script. If your SSH certificate is [passphrase-protected](https://martin.kleppmann.com/2013/05/24/improving-security-of-ssh-private-keys.html), you will be asked to enter it when the
script executes.
## Rack-Jekyll
[Rack-Jekyll](https://github.com/adaoraul/rack-jekyll/) is an easy way to deploy your site on any Rack server such as Amazon EC2, Slicehost, Heroku, and so forth. It also can run with [shotgun](https://github.com/rtomayko/shotgun/), [rackup](https://github.com/rack/rack), [mongrel](https://github.com/mongrel/mongrel), [unicorn](https://github.com/defunkt/unicorn/), and [others](https://github.com/adaoraul/rack-jekyll#readme).
Read [this post](http://andycroll.com/ruby/serving-a-jekyll-blog-using-heroku/) on how to deploy to Heroku using Rack-Jekyll.
## Jekyll-Admin for Rails
If you want to maintain Jekyll inside your existing Rails app, [Jekyll-Admin](https://github.com/zkarpinski/Jekyll-Admin) contains drop in code to make this possible. See Jekyll-Admins [README](https://github.com/zkarpinski/Jekyll-Admin/blob/master/README) for more details.
## Amazon S3
If you want to host your site in Amazon S3, you can do so by
using the [s3_website](https://github.com/laurilehmijoki/s3_website)
application. It will push your site to Amazon S3 where it can be served like
any web server,
dynamically scaling to almost unlimited traffic. This approach has the
benefit of being about the cheapest hosting option available for
low-volume blogs as you only pay for what you use.
## OpenShift
If you'd like to deploy your site to an OpenShift gear, there's [a cartridge
for that](https://github.com/openshift-quickstart/jekyll-openshift).

11
docs/_docs/deployment.md Normal file
View File

@@ -0,0 +1,11 @@
---
title: Deployment
permalink: /docs/deployment/
redirect_from: "/docs/deployment-methods/index.html"
---
Sites built using Jekyll can be deployed in a large number of ways due to the static nature of the generated output. Here's some of the most common ways:
* [Manually]({{ '/docs/deployment/manual/' | relative_url }})
* [Automated]({{ '/docs/deployment/automated/' | relative_url }})
* [Third Party]({{ '/docs/deployment/third-party/' | relative_url }})

View File

@@ -0,0 +1,69 @@
---
title: Automated Deployment
permalink: /docs/deployment/automated/
---
There are a number of ways to easily automate the deployment of a Jekyll site.
## Continuous Integration Service
One of the easiest ways to set up an automated deployment flow is by using a
CI.
These services run a script when there's a commit on your Git repository.
You might want this script to build the site, run tests over the output then deploy it to the
service of your choice.
We have guides for the following providers:
* [GitHub Actions]({{ '/docs/continuous-integration/github-actions/' | relative_url }})
* [Travis CI]({{ '/docs/continuous-integration/travis-ci/' | relative_url }})
* [CircleCI]({{ '/docs/continuous-integration/circleci/' | relative_url }})
* [Buddy]({{ '/docs/continuous-integration/buddyworks/' | relative_url }})
## Git post-receive hook
To have a remote server handle the deploy for you every time you push changes using Git, you can create a user account which has all the public keys that are authorized to deploy in its `authorized_keys` file. With that in place, setting up the post-receive hook is done as follows:
```sh
laptop$ ssh deployer@example.com
server$ mkdir myrepo.git
server$ cd myrepo.git
server$ git --bare init
server$ cp hooks/post-receive.sample hooks/post-receive
server$ mkdir /var/www/myrepo
```
Next, add the following lines to hooks/post-receive and be sure Jekyll is
installed on the server:
```bash
#!/bin/bash -l
# Install Ruby Gems to ~/gems
export GEM_HOME=$HOME/gems
export PATH=$GEM_HOME/bin:$PATH
TMP_GIT_CLONE=$HOME/tmp/myrepo
GEMFILE=$TMP_GIT_CLONE/Gemfile
PUBLIC_WWW=/var/www/myrepo
git clone $GIT_DIR $TMP_GIT_CLONE
BUNDLE_GEMFILE=$GEMFILE bundle install
BUNDLE_GEMFILE=$GEMFILE bundle exec jekyll build -s $TMP_GIT_CLONE -d $PUBLIC_WWW
rm -Rf $TMP_GIT_CLONE
exit
```
Finally, run the following command on any users laptop that needs to be able to
deploy using this hook:
```sh
laptops$ git remote add deploy deployer@example.com:~/myrepo.git
```
Deploying is now as easy as telling nginx or Apache to look at
`/var/www/myrepo` and running the following:
```sh
laptops$ git push deploy master
```

View File

@@ -0,0 +1,36 @@
---
title: Manual Deployment
permalink: /docs/deployment/manual/
---
Jekyll generates your static site to the `_site` directory by default. You can
transfer the contents of this directory to almost any hosting provider to get
your site live. Here are some manual ways of achieving this:
## rsync
Rsync is similar to scp except it can be faster as it will only send changed
parts of files as opposed to the entire file. You can learn more about using
rsync in the [Digital Ocean tutorial](https://www.digitalocean.com/community/tutorials/how-to-use-rsync-to-sync-local-and-remote-directories-on-a-vps).
## Amazon S3
If you want to host your site in Amazon S3, you can do so by
using the [s3_website](https://github.com/laurilehmijoki/s3_website)
application. It will push your site to Amazon S3 where it can be served like
any web server,
dynamically scaling to almost unlimited traffic. This approach has the
benefit of being about the cheapest hosting option available for
low-volume blogs as you only pay for what you use.
## FTP
Most traditional web hosting provider let you upload files to their servers over FTP. To upload a Jekyll site to a web host using FTP, run the `jekyll build` command and copy the contents of the generated `_site` folder to the root folder of your hosting account. This is most likely to be the `httpdocs` or `public_html` folder on most hosting providers.
## scp
If you have direct access to the deployment web server, the process is essentially the same, except you might have other methods available to you (such as `scp`, or even direct filesystem access) for transferring the files. Remember to make sure the contents of the generated `_site` folder get placed in the appropriate web root directory for your web server.
## Rack-Jekyll
[Rack-Jekyll](https://github.com/adaoraul/rack-jekyll/) allows you to deploy your site on any Rack server such as Amazon EC2, Slicehost, Heroku, and so forth. It also can run with [shotgun](https://github.com/rtomayko/shotgun/), [rackup](https://github.com/rack/rack), [mongrel](https://github.com/mongrel/mongrel), [unicorn](https://github.com/defunkt/unicorn/), and [others](https://github.com/adaoraul/rack-jekyll#readme).

View File

@@ -0,0 +1,72 @@
---
title: 3rd Party
permalink: /docs/deployment/third-party/
---
## Aerobatic
[Aerobatic](https://www.aerobatic.com) has custom domains, global CDN distribution, basic auth, CORS proxying, and a growing list of plugins all included.
Automating the deployment of a Jekyll site is simple. See their [Jekyll docs](https://www.aerobatic.com/docs/static-site-generators/#jekyll) for more details. Your built `_site` folder is deployed to their highly-available, globally distributed hosting service.
## AWS Amplify
The [AWS Amplify Console](https://console.amplify.aws) provides continuous deployment and hosting for modern web apps (single page apps and static site generators). Continuous deployment allows developers to deploy updates to their web app on every code commit to their Git repository. Hosting includes features such as globally available CDNs, 1-click custom domain setup + HTTPS, feature branch deployments, redirects, trailing slashes, and password protection.
Read this [step-by-step guide](https://medium.com/@jameshamann/deploy-your-jekyll-site-using-aws-amplify-with-only-a-few-clicks-8f3dd8f26112) to deploy and host your Jekyll site on AWS Amplify.
## Bip
[Bip](https://bip.sh) provides zero downtime deployment, a global CDN, SSL, unlimited bandwidth and more for Jekyll websites. Deploy in seconds from the command line. [Visit the Bip website](https://bip.sh) for more information - which is also built with Jekyll.
## CloudCannon
[CloudCannon](https://cloudcannon.com) has everything you need to build, host
and update Jekyll websites. Take advantage of our global CDN, automated SSL,
continuous deployment and [more](https://cloudcannon.com/features/).
## GitHub Pages
Sites on GitHub Pages are powered by Jekyll behind the scenes, so if youre looking for a zero-hassle, zero-cost solution, GitHub Pages are a great way to [host your Jekyll-powered website for free](/docs/github-pages/).
## GitLab Pages
[GitLab Pages](https://about.gitlab.com/stages-devops-lifecycle/pages/) offers free hosting with custom domains. [Get started with Jekyll](https://docs.gitlab.com/ee/user/project/pages/getting_started_part_four.html#practical-example) and a fully customizable pipeline.
## KeyCDN
[KeyCDN](https://www.keycdn.com) accelerates Jekyll-powered websites with a wide range of other features such as real time image processing including WebP transformation.
The [Jekyll hosting tutorial](https://www.keycdn.com/support/jekyll-hosting) provides various options to supercharge Jekyll sites with just a few steps. It combines best flexibility and excellent performance.
## Kickster
Use [Kickster](http://kickster.nielsenramon.com/) for automated deploys to GitHub Pages when using unsupported plugins on GitHub Pages.
Kickster provides a basic Jekyll project setup packed with web best practises and useful optimization tools increasing your overall project quality. Kickster ships with automated and worry-free deployment scripts for GitHub Pages.
Install the Kickster gem and you are good to go. More documentation can here found [here](https://github.com/nielsenramon/kickster#kickster). If you do not want to use the gem or start a new project you can just copy paste the deployment scripts for [Travis CI](https://github.com/nielsenramon/kickster/tree/master/snippets/travis) or [Circle CI](https://github.com/nielsenramon/kickster#automated-deployment-with-circle-ci).
## Netlify
Netlify provides Global CDN, Continuous Deployment, one click HTTPS and [much more](https://www.netlify.com/features/), providing developers a robust toolset for modern web projects, without added complexity. Netlify supports custom plugins for Jekyll and has a free plan for open source projects.
Read this [Jekyll step-by-step guide](https://www.netlify.com/blog/2020/04/02/a-step-by-step-guide-jekyll-4.0-on-netlify/) to setup your Jekyll site on Netlify.
## Render
[Render](https://render.com) provides zero config continuous deployment for static sites. The service is free under 100GB monthly bandwith.
## Static Publisher
[Static Publisher](https://github.com/static-publisher/static-publisher) is another automated deployment option with a server listening for webhook posts, though it's not tied to GitHub specifically. It has a one-click deploy to Heroku, it can watch multiple projects from one server, it has an easy to user admin interface and can publish to either S3 or to a git repository (e.g. gh-pages).
## Vercel
[Vercel](https://vercel.com/) provides zero config continuous deployment, HTTPS Custom domains, high performance smart CDN, you get instant static deploy for free.
## 21YunBox
[21YunBox](https://www.21yunbox.com) provides blazing fast Chinese CDN, Continuous Deployment, one click HTTPS and [much more](https://www.21yunbox.com/docs/), providing developers a hassle-free solution to launch their web projects in China.
Read this [Jekyll step-by-step guide](https://www.21yunbox.com/docs/#/deploy-jekyll) to deploy your Jekyll site on 21YunBox.

View File

@@ -1,19 +0,0 @@
---
title: Working with drafts
permalink: /docs/drafts/
---
Drafts are posts without a date. They're posts you're still working on and
don't want to publish yet. To get up and running with drafts, create a
`_drafts` folder in your site's root (as described in the [site structure](/docs/structure/) section) and create your
first draft:
```text
|-- _drafts/
| |-- a-draft-post.md
```
To preview your site with drafts, simply run `jekyll serve` or `jekyll build`
with the `--drafts` switch. Each will be assigned the value modification time
of the draft file for its date, and thus you will see currently edited drafts
as the latest posts.

View File

@@ -1,31 +0,0 @@
---
title: Extras
permalink: /docs/extras/
---
There are a number of (optional) extra features that Jekyll supports that you
may want to install, depending on how you plan to use Jekyll.
## Web Highlights and Commenting
Register your site with [txtpen](https://txtpen.com). Then append
```html
<script src="https://txtpen.com/embed.js?site=<your site name>"></script>
```
to your template files in `/_layout` folder.
## Math Support
Kramdown comes with optional support for LaTeX to PNG rendering via [MathJax](https://www.mathjax.org) within math blocks. See the Kramdown documentation on [math blocks](http://kramdown.gettalong.org/syntax.html#math-blocks) and [math support](http://kramdown.gettalong.org/converter/html.html#math-support) for more details. MathJax requires you to include JavaScript or CSS to render the LaTeX, e.g.
```html
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>
```
For more information about getting started, check out [this excellent blog post](http://gastonsanchez.com/visually-enforced/opinion/2014/02/16/Mathjax-with-jekyll/).
## Alternative Markdown Processors
See the Markdown section on the [configuration page](/docs/configuration/#markdown-options) for instructions on how to use and configure alternative Markdown processors, as well as how to create [custom processors](/docs/configuration/#custom-markdown-processors).

View File

@@ -1,13 +1,13 @@
---
title: Front Matter
permalink: /docs/frontmatter/
permalink: /docs/front-matter/
redirect_from: /docs/frontmatter/index.html
---
The front matter is where Jekyll starts to get really cool. Any file that
contains a [YAML](http://yaml.org/) front matter block will be processed by
Jekyll as a special file. The front matter must be the first thing in the file
and must take the form of valid YAML set between triple-dashed lines. Here is a
basic example:
Any file that contains a [YAML](https://yaml.org/) front matter block will be
processed by Jekyll as a special file. The front matter must be the first thing
in the file and must take the form of valid YAML set between triple-dashed
lines. Here is a basic example:
```yaml
---
@@ -18,7 +18,7 @@ title: Blogging Like a Hacker
Between these triple-dashed lines, you can set predefined variables (see below
for a reference) or even create custom ones of your own. These variables will
then be available to you to access using Liquid tags both further down in the
then be available for you to access using Liquid tags both further down in the
file and also in any layouts or includes that the page or post in question
relies on.
@@ -28,14 +28,14 @@ relies on.
If you use UTF-8 encoding, make sure that no <code>BOM</code> header
characters exist in your files or very, very bad things will happen to
Jekyll. This is especially relevant if youre running
<a href="../windows/">Jekyll on Windows</a>.
<a href="{{ '/docs/installation/windows/' | relative_url }}">Jekyll on Windows</a>.
</p>
</div>
<div class="note">
<h5>ProTip™: Front Matter Variables Are Optional</h5>
<h5>Front Matter Variables Are Optional</h5>
<p>
If you want to use <a href="../variables/">Liquid tags and variables</a>
If you want to use <a href="{{ '/docs/variables/' | relative_url }}">Liquid tags and variables</a>
but dont need anything in your front matter, just leave it empty! The set
of triple-dashed lines with nothing in between will still get Jekyll to
process your file. (This is useful for things like CSS and RSS feeds!)
@@ -71,14 +71,14 @@ front matter of a page or post.
<ul>
<li>
Using <code>null</code> will produce a file without using a layout
file. However this is overridden if the file is a post/document and has a
layout defined in the <a href="../configuration/#front-matter-defaults">
frontmatter defaults</a>.
file. This is overridden if the file is a post/document and has a
layout defined in the <a href="{{ '/docs/configuration/front-matter-defaults/' | relative_url }}">
front matter defaults</a>.
</li>
<li>
Starting from version 3.5.0, using <code>none</code> in a post/document will
produce a file without using a layout file regardless of frontmatter defaults.
Using <code>none</code> in a page, however, will cause Jekyll to attempt to
produce a file without using a layout file regardless of front matter defaults.
Using <code>none</code> in a page will cause Jekyll to attempt to
use a layout named "none".
</li>
</ul>
@@ -114,30 +114,28 @@ front matter of a page or post.
</div>
<div class="note">
<h5>ProTip™: Render Posts Marked As Unpublished</h5>
<h5>Render Posts Marked As Unpublished</h5>
<p>
To preview unpublished pages, simply run `jekyll serve` or `jekyll build`
with the `--unpublished` switch. Jekyll also has a handy <a href="../drafts/">drafts</a>
To preview unpublished pages, run `jekyll serve` or `jekyll build`
with the `--unpublished` switch. Jekyll also has a handy <a href="{{ '/docs/posts/#drafts' | relative_url }}">drafts</a>
feature tailored specifically for blog posts.
</p>
</div>
## Custom Variables
Any variables in the front matter that are not predefined are mixed into the
data that is sent to the Liquid templating engine during the conversion. For
instance, if you set a title, you can use that in your layout to set the page
title:
You can also set your own front matter variables you can access in Liquid. For
instance, if you set a variable called `food`, you can use that in your page:
{% raw %}
```liquid
<!DOCTYPE HTML>
<html>
<head>
<title>{% raw %}{{ page.title }}{% endraw %}</title>
</head>
<body>
---
food: Pizza
---
<h1>{{ page.food }}</h1>
```
{% endraw %}
## Predefined Variables for Posts
@@ -203,10 +201,11 @@ These are available out-of-the-box to be used in the front matter for a post.
</div>
<div class="note">
<h5>ProTip™: Don't repeat yourself</h5>
<h5>Don't repeat yourself</h5>
<p>
If you don't want to repeat your frequently used front matter variables
over and over, just define <a href="../configuration/#front-matter-defaults" title="Front Matter defaults">defaults</a>
over and over, define
<a href="{{ '/docs/configuration/front-matter-defaults/' | relative_url }}" title="Front Matter defaults">defaults</a>
for them and only override them where necessary (or not at all). This works
both for predefined and custom variables.
</p>

View File

@@ -11,7 +11,7 @@ website for free.
Your site is automatically generated by GitHub Pages when you push your source
files. Note that GitHub Pages works equally well for regular HTML content,
simply because Jekyll treats files without YAML front matter as static assets.
simply because Jekyll treats files without front matter as static assets.
So if you only need to push generated HTML, you're good to go without any
further setup.
@@ -56,14 +56,14 @@ Be sure to run `bundle update` often.
### Project Page URL Structure
Sometimes it's nice to preview your Jekyll site before you push your `gh-pages`
branch to GitHub. However, the subdirectory-like URL structure GitHub uses for
branch to GitHub. The subdirectory-like URL structure GitHub uses for
Project Pages complicates the proper resolution of URLs. In order to assure your
site builds properly, use the handy [URL filters](../templates/#filters):
site builds properly, use the handy [URL filters]({{ '/docs/liquid/filters/' | relative_url }}):
{% raw %}
```liquid
<!-- For styles with static names... -->
<link href="{{ "/assets/css/style.css" | relative_url }}" rel="stylesheet">
<link href="{{ 'assets/css/style.css' | relative_url }}" rel="stylesheet">
<!-- For documents/pages whose URLs can change... -->
[{{ page.title }}]("{{ page.url | relative_url }}")
```
@@ -121,8 +121,8 @@ to see more detailed examples.
<div class="note warning">
<h5>Source files must be in the root directory</h5>
<p>
GitHub Pages <a href="https://help.github.com/articles/troubleshooting-github-pages-build-failures#source-setting">overrides</a>
the <a href="/docs/configuration/#global-configuration">“Site Source”</a>
GitHub Pages <a href="https://help.github.com/en/github/working-with-github-pages/troubleshooting-jekyll-build-errors-for-github-pages-sites">overrides</a>
the <a href="{{ '/docs/configuration/options/' | relative_url }}">“Site Source”</a>
configuration value, so if you locate your files anywhere other than the
root directory, your site may not build correctly.
</p>
@@ -135,6 +135,6 @@ to see more detailed examples.
While Windows is not officially supported, it is possible
to install the <code>github-pages</code> gem on Windows.
Special instructions can be found on our
<a href="../windows/#installation">Windows-specific docs page</a>.
<a href="{{ '/docs/installation/windows/' | relative_url }}">Windows-specific docs page</a>.
</p>
</div>

View File

@@ -4,6 +4,704 @@ permalink: "/docs/history/"
note: This file is autogenerated. Edit /History.markdown instead.
---
## 4.2.0 / 2020-12-14
{: #v4-2-0}
### Minor Enhancements
{: #minor-enhancements-v4-2-0}
- Warn on command-line with permalink conflict ([#8342]({{ site.repository }}/issues/8342))
- Supress warning issued for redirect pages ([#8347]({{ site.repository }}/issues/8347))
- Enhance detection of conflicting destination URLs ([#8459]({{ site.repository }}/issues/8459))
- Add `:post_convert` hook to modify HTML content before layout ([#8368]({{ site.repository }}/issues/8368))
- Allow triggering `:post_convert` events atomically ([#8465]({{ site.repository }}/issues/8465))
- Debug reading Page and Layout objects ([#8100]({{ site.repository }}/issues/8100))
- Do not reset `site.url` to `http://localhost:4000` by default ([#7253]({{ site.repository }}/issues/7253))
- Add custom debug strings for Jekyll objects ([#8473]({{ site.repository }}/issues/8473))
- Debug reading data files in a site ([#8481]({{ site.repository }}/issues/8481))
### Bug Fixes
{: #bug-fixes-v4-2-0}
- Replace nested conditional with guard clauses ([#8294]({{ site.repository }}/issues/8294))
- Fix: security bump ([#8349]({{ site.repository }}/issues/8349))
- Fix path matching regex in post_url Liquid tag ([#8375]({{ site.repository }}/issues/8375))
- Enable `Performance/ChainArrayAllocation` cop ([#8404]({{ site.repository }}/issues/8404))
- Enable Lint/NoReturnInBeginEndBlocks Cop ([#8457]({{ site.repository }}/issues/8457))
- Generate items from `site.include` list only once ([#8463]({{ site.repository }}/issues/8463))
- Explicitly return nil after site process phase ([#8472]({{ site.repository }}/issues/8472))
### Optimization Fixes
{: #optimization-fixes-v4-2-0}
- Implement custom delegators for drop methods ([#8183]({{ site.repository }}/issues/8183))
- Handle `nil` argument to `Jekyll.sanitized_path` ([#8415]({{ site.repository }}/issues/8415))
- Cache `Jekyll.sanitized_path` ([#8424]({{ site.repository }}/issues/8424))
- Memoize array of drop getter method names ([#8421]({{ site.repository }}/issues/8421))
- Reduce string allocations from the `link` tag ([#8387]({{ site.repository }}/issues/8387))
- Optimize parsing of parameters in `include` tag ([#8192]({{ site.repository }}/issues/8192))
- Stash documents `write?` attribute in a variable ([#8389]({{ site.repository }}/issues/8389))
- Reduce string allocations from generating doc URLs ([#8392]({{ site.repository }}/issues/8392))
- Check if site is in incremental mode optimally ([#8401]({{ site.repository }}/issues/8401))
- Utilize flexibility of `Site#in_dest_dir` ([#8403]({{ site.repository }}/issues/8403))
- Reduce allocations from rendering item as liquid ([#8406]({{ site.repository }}/issues/8406))
- Compute relative_path of pages using PathManager ([#8408]({{ site.repository }}/issues/8408))
- Reduce allocation from `normalize_whitespace` filter ([#8400]({{ site.repository }}/issues/8400))
- Use `Regexp#match?` when `MatchData` is not required ([#8427]({{ site.repository }}/issues/8427))
- Check default front matter scope against symbols ([#8393]({{ site.repository }}/issues/8393))
- Stash frequently used `Drop` setter keys for reuse ([#8394]({{ site.repository }}/issues/8394))
- Memoize defaults computed for Convertibles ([#8451]({{ site.repository }}/issues/8451))
- Reduce array allocations from merging categories ([#8453]({{ site.repository }}/issues/8453))
- Memoize destination of pages, documents and staticfiles ([#8458]({{ site.repository }}/issues/8458))
- Reduce allocations from computing item property ([#8485]({{ site.repository }}/issues/8485))
- Optimize `Page#dir` with a private method ([#8489]({{ site.repository }}/issues/8489))
- Stash attribute hash for Liquid computed for pages ([#8497]({{ site.repository }}/issues/8497))
### Development Fixes
{: #development-fixes-v4-2-0}
- Update cucumber gem to version 4.1 ([#8278]({{ site.repository }}/issues/8278))
- Move permalink styles data to constant ([#8282]({{ site.repository }}/issues/8282))
- Update rubocop gem to 0.87.1 ([#8287]({{ site.repository }}/issues/8287))
- Update RuboCop to-do file ([#8296]({{ site.repository }}/issues/8296))
- Fix `rake console` generating LoadError ([#8312]({{ site.repository }}/issues/8312))
- Configure Performance cops ([#8369]({{ site.repository }}/issues/8369))
- Update rubocop gem to 0.90.0 ([#8313]({{ site.repository }}/issues/8313))
- Refactor `Jekyll::Utils::Platforms` ([#7236]({{ site.repository }}/issues/7236))
- Bump RuboCop to v0.91.x ([#8391]({{ site.repository }}/issues/8391))
- Add workflow to build and profile third-party repo ([#8398]({{ site.repository }}/issues/8398))
- Bump RuboCop to v0.92.x
- Update cucumber gem version to 5.1.2 ([#8413]({{ site.repository }}/issues/8413))
- Fix test suite compatibility with JRuby ([#8418]({{ site.repository }}/issues/8418))
- chore(deps): bump Rubocop to 0.93.0 ([#8430]({{ site.repository }}/issues/8430))
- Use Ruby 2.7.1 in GitHub Actions ([#8444]({{ site.repository }}/issues/8444))
- Test that Liquid expressions are not deeply evaled ([#8292]({{ site.repository }}/issues/8292))
- Test rendering arbitrary Liquid variables by default ([#7414]({{ site.repository }}/issues/7414))
- Migrate TravisCI jobs to GitHub Actions ([#8492]({{ site.repository }}/issues/8492))
### Documentation
- Update pointer to special permalink variables for collections ([#8274]({{ site.repository }}/issues/8274))
- Fix special treatment for &#39;page 1&#39; in docs of pagination ([#8230]({{ site.repository }}/issues/8230))
- Add Formcake to forms section ([#8283]({{ site.repository }}/issues/8283))
- Add a note on the rendering process in the docs ([#8291]({{ site.repository }}/issues/8291))
- Add refactoring type to PULL_REQUEST_TEMPLATE ([#8297]({{ site.repository }}/issues/8297))
- Update resources.md ([#7864]({{ site.repository }}/issues/7864))
- Extra apostrophes in an URL ([#8319]({{ site.repository }}/issues/8319))
- Clarify target of subordinate clause ([#8320]({{ site.repository }}/issues/8320))
- Cherry-pick commits from conflicting branch `docs-40`
- Update documentation on third party site ([#8352]({{ site.repository }}/issues/8352))
- Update default.md with info requested in [#8314]({{ site.repository }}/issues/8314) ([#8353]({{ site.repository }}/issues/8353))
- Clarify description of `safe` option ([#8354]({{ site.repository }}/issues/8354))
- Simplifying the Git post-receive hook-example ([#8358]({{ site.repository }}/issues/8358))
- Add missing doc for build and serve commands ([#8365]({{ site.repository }}/issues/8365))
- Docs Review: Getting Started ([#8372]({{ site.repository }}/issues/8372))
- Add note about rebooting system after installation ([#8359]({{ site.repository }}/issues/8359))
- Use data file to render table at `/docs/configuration/options/#global-configuration` ([#8377]({{ site.repository }}/issues/8377))
- Use data file(s) to render table(s) at `/docs/configuration/options/` ([#8380]({{ site.repository }}/issues/8380))
- Improve maintainability of config option data ([#8383]({{ site.repository }}/issues/8383))
- Remove CircleCI v1 docs ([#8410]({{ site.repository }}/issues/8410))
- Remove `NOKOGIRI_USE_SYSTEM_LIBRARIES` from Travis CI docs ([#8409]({{ site.repository }}/issues/8409))
- Add links to all Jekyll themes on GitHub tagged with #jekyll-theme ([#8447]({{ site.repository }}/issues/8447))
- Document initializing project Gemfile from scratch ([#8450]({{ site.repository }}/issues/8450))
- Document installation of additional dependencies for installing Jekyll on Fedora ([#8456]({{ site.repository }}/issues/8456))
- Improve documentation on Hooks in Jekyll ([#8467]({{ site.repository }}/issues/8467))
- Build docs site with GitHub Actions ([#8201]({{ site.repository }}/issues/8201))
- Add link to Assets page from `_sass` section in `_docs/structure.md` ([#8486]({{ site.repository }}/issues/8486))
### Site Enhancements
{: #site-enhancements-v4-2-0}
- Fix rendering of *showcase* images ([#8504]({{ site.repository }}/issues/8504))
## 4.1.1 / 2020-06-24
{: #v4-1-1}
### Bug Fixes
{: #bug-fixes-v4-1-1}
- Disable page excerpts by default ([#8222]({{ site.repository }}/issues/8222))
- Revert introduction of PageDrop ([#8221]({{ site.repository }}/issues/8221))
- Don&#39;t generate excerpts for non-html pages ([#8234]({{ site.repository }}/issues/8234))
- Make page excerpts consistent with doc excerpts ([#8236]({{ site.repository }}/issues/8236))
### Documentation
- Replace deprecated &#39;show&#39; command with &#39;info&#39; ([#8235]({{ site.repository }}/issues/8235))
- Change name to ▲Vercel ([#8247]({{ site.repository }}/issues/8247))
- Add language and examples to describe how to use the configuration op… ([#8249]({{ site.repository }}/issues/8249))
- Fix missing yaml front matter colon and adjust/add clarifying language. ([#8250]({{ site.repository }}/issues/8250))
- correct typo ([#8261]({{ site.repository }}/issues/8261))
- Allow hyperlinks to specific filter documentation ([#8231]({{ site.repository }}/issues/8231))
- Update link to Netlify step-by-step guide ([#8264]({{ site.repository }}/issues/8264))
- Fix grammar in documentation section ([#8265]({{ site.repository }}/issues/8265))
### Site Enhancements
{: #site-enhancements-v4-1-1}
- Including correct Sketch website ([#8241]({{ site.repository }}/issues/8241))
- Release post for v4.1.1 ([#8243]({{ site.repository }}/issues/8243))
### Development Fixes
{: #development-fixes-v4-1-1}
- Bump RuboCop to v0.85.x ([#8223]({{ site.repository }}/issues/8223))
- Expect drive letter only on vanilla windows ([#8227]({{ site.repository }}/issues/8227))
## 4.1.0 / 2020-05-27
{: #v4-1-0}
### Bug Fixes
{: #bug-fixes-v4-1-0}
- Memoize `absolute_url` and `relative_url` filters ([#7793]({{ site.repository }}/issues/7793))
- Fix documentation comment for `Jekyll::Converters::Identity` ([#7883]({{ site.repository }}/issues/7883))
- Optimize `Jekyll::Filters#item_property` ([#7696]({{ site.repository }}/issues/7696))
- Allow multiple binary operators in `where_exp` filter ([#8047]({{ site.repository }}/issues/8047))
- Fix documents custom-ordering logic ([#8028]({{ site.repository }}/issues/8028))
- Use `layout.path` when rendering the Liquid layout ([#8069]({{ site.repository }}/issues/8069))
- Reduce array allocations from `StaticFile#path` ([#8083]({{ site.repository }}/issues/8083))
- Simplify `Jekyll::Renderer#validate_layout` ([#8064]({{ site.repository }}/issues/8064))
- Add static file's basename to its `url_placeholder` ([#7908]({{ site.repository }}/issues/7908))
- Clear cached Liquid template scope before render ([#7967]({{ site.repository }}/issues/7967))
- Cache `URLFilter` results of string inputs per site ([#7990]({{ site.repository }}/issues/7990))
- Use `platforms` instead of `install_if` in Gemfile ([#8140]({{ site.repository }}/issues/8140))
- Config include trailing slash ([#8113]({{ site.repository }}/issues/8113))
- Improve path normalization in liquid_renderer ([#8075]({{ site.repository }}/issues/8075))
- Switch slugify regex to support more Unicode character groups ([#8167]({{ site.repository }}/issues/8167))
- Check if entry is a directory once per enumerator ([#8177]({{ site.repository }}/issues/8177))
- Filter out exclusively excluded entries sooner ([#7482]({{ site.repository }}/issues/7482))
- Return `relative_url` if site.url is an empty string ([#7988]({{ site.repository }}/issues/7988))
- Configure kramdown toc_levels as array by default ([#8015]({{ site.repository }}/issues/8015))
- Reduce `Pathname` objects from front matter defaults ([#8067]({{ site.repository }}/issues/8067))
- Simplify `Jekyll::Hooks.trigger` logic ([#8044]({{ site.repository }}/issues/8044))
- Quicker categories for documents without superdirs ([#7987]({{ site.repository }}/issues/7987))
- Reduce `Jekyll::Renderer` instances during a build ([#7570]({{ site.repository }}/issues/7570))
- Escape regex characters in paths to match ([#8138]({{ site.repository }}/issues/8138))
- Provide invokables for common drop query keys ([#8165]({{ site.repository }}/issues/8165))
- Optimize path sanitization of default front matter ([#8154]({{ site.repository }}/issues/8154))
- Initialize static files' data hash only if needed ([#8188]({{ site.repository }}/issues/8188))
- Initialize include-files as Jekyll objects ([#8158]({{ site.repository }}/issues/8158))
### Minor Enhancements
{: #minor-enhancements-v4-1-0}
- serve: add support for ECC certificates ([#7768]({{ site.repository }}/issues/7768))
- Update `item_property` to recognize integers ([#7878]({{ site.repository }}/issues/7878))
- Include `_config.yml` in a new theme's gemspec ([#7865]({{ site.repository }}/issues/7865))
- Add an option to easily disable disk-cache ([#7928]({{ site.repository }}/issues/7928))
- Optimize markdown parsing with Kramdown by reusing the options and parser objects ([#8013]({{ site.repository }}/issues/8013))
- Add `PageDrop` to provide Liquid templates with data ([#7992]({{ site.repository }}/issues/7992))
- Optimize `Kramdown::JekyllDocument#to_html` calls ([#8041]({{ site.repository }}/issues/8041))
- Configure default language for syntax-highlighting ([#8035]({{ site.repository }}/issues/8035))
- Remove dev dependencies from new theme-gem gemspec ([#8042]({{ site.repository }}/issues/8042))
- Allow disabling import of theme configuration ([#8131]({{ site.repository }}/issues/8131))
- Allow excerpts to be generated for `Page` objects ([#7642]({{ site.repository }}/issues/7642))
- Profile various stages of a site's build process ([#6760]({{ site.repository }}/issues/6760))
- Add find filters to optimize where-first chains ([#8171]({{ site.repository }}/issues/8171))
- Make `number_of_words` filter respect CJK characters ([#7813]({{ site.repository }}/issues/7813))
- Allow extensionless document in a strict site ([#7950]({{ site.repository }}/issues/7950))
- Add `:slugified_categories` URL placeholder ([#8094]({{ site.repository }}/issues/8094))
### Documentation
- Add dropped 'title: Staff' to the code ([#7805]({{ site.repository }}/issues/7805))
- Clarify docs for static files in collection ([#7812]({{ site.repository }}/issues/7812))
- Rephrase the CircleCI v2 section ([#7815]({{ site.repository }}/issues/7815))
- Update old GitHub wiki URL with new one ([#7823]({{ site.repository }}/issues/7823))
- Update JekyllConf page with 2019 talks ([#7826]({{ site.repository }}/issues/7826))
- link for memberships ([#7825]({{ site.repository }}/issues/7825))
- Doc: minor fix, should be greater or equal to min version ([#7856]({{ site.repository }}/issues/7856))
- Update third-party.md - Fix broken link ([#7857]({{ site.repository }}/issues/7857))
- clarify _config.yml/collections type ([#7873]({{ site.repository }}/issues/7873))
- Replace backticks with HTML tags in data file ([#7879]({{ site.repository }}/issues/7879))
- add new theme source ([#7875]({{ site.repository }}/issues/7875))
- fixed grammatical error (it&#39;s --&gt; its) ([#7887]({{ site.repository }}/issues/7887))
- Docs: Clarify organizing pages into subfolders ([#7896]({{ site.repository }}/issues/7896))
- Disambiguate the placeholder of permalink ([#7906]({{ site.repository }}/issues/7906))
- docs: add short serve command for livereload ([#7919]({{ site.repository }}/issues/7919))
- docs: add options for watch and force polling ([#7918]({{ site.repository }}/issues/7918))
- add install instructions for ArchLinux and openSUSE ([#7920]({{ site.repository }}/issues/7920))
- Improve index page of Jekyll documentation ([#7926]({{ site.repository }}/issues/7926))
- Include path in `jekyll new` commands (Usage docs) ([#7931]({{ site.repository }}/issues/7931))
- Change `affect` to `effect` in the collections docs ([#7937]({{ site.repository }}/issues/7937))
- Changed deprecated command in themes documentation ([#7941]({{ site.repository }}/issues/7941))
- Adds some documentation for the `:clean`, `:on_obsolete` hook ([#7954]({{ site.repository }}/issues/7954))
- docs: fix broken link ([#7955]({{ site.repository }}/issues/7955))
- Corrected typo ([#7975]({{ site.repository }}/issues/7975))
- docs: remove watch option in config ([#7940]({{ site.repository }}/issues/7940))
- Correct a sentence in the documentation ([#7978]({{ site.repository }}/issues/7978))
- Fix YAML representation of `group_by` result ([#7979]({{ site.repository }}/issues/7979))
- Move `--baseurl` to build command options ([#7985]({{ site.repository }}/issues/7985))
- Correct documentation of filters ([#7989]({{ site.repository }}/issues/7989))
- Document sorting two documents by their `date` ([#7870]({{ site.repository }}/issues/7870))
- Fix English grammar error ([#7994]({{ site.repository }}/issues/7994))
- Update 03-front-matter.md ([#7996]({{ site.repository }}/issues/7996))
- Add Kentico Kontent CMS integration to resources ([#8000]({{ site.repository }}/issues/8000))
- Update 07-assets.md ([#7413]({{ site.repository }}/issues/7413))
- Fix file references in Step by Step Tutorial's Assets step ([#8007]({{ site.repository }}/issues/8007))
- docs: improve highlighting of code blocks ([#8017]({{ site.repository }}/issues/8017))
- remove leading slash from Sass file location ([#8021]({{ site.repository }}/issues/8021))
- [Docs] Fix asset link ref in step-by-step tutorial ([#8026]({{ site.repository }}/issues/8026))
- Corrected command to modify PATH ([#8029]({{ site.repository }}/issues/8029))
- Corrected command to modify PATH ([#8030]({{ site.repository }}/issues/8030))
- Docs: Render full contents of just the latest post ([#8032]({{ site.repository }}/issues/8032))
- docs: improvements for note boxes ([#8037]({{ site.repository }}/issues/8037))
- Non-deprecated `vendor/bundle` path configuration ([#8048]({{ site.repository }}/issues/8048))
- Update 09-collections.md ([#8060]({{ site.repository }}/issues/8060))
- Remove extra paragraph tags ([#8063]({{ site.repository }}/issues/8063))
- Add default front matter for tutorials collection ([#8081]({{ site.repository }}/issues/8081))
- Create CSV to table tutorial ([#8090]({{ site.repository }}/issues/8090))
- Add version badge for Custom Sorting of Documents ([#8098]({{ site.repository }}/issues/8098))
- Docs: Fix grammar in `_docs/front-matter.md` ([#8097]({{ site.repository }}/issues/8097))
- Update variables.md ([#8106]({{ site.repository }}/issues/8106))
- Add help about Gentoo/Linux ([#8002]({{ site.repository }}/issues/8002))
- Update documentation on third party site ([#8122]({{ site.repository }}/issues/8122))
- Added Clear Linux ([#8132]({{ site.repository }}/issues/8132))
- Added note about OS specific installation instructions. ([#8135]({{ site.repository }}/issues/8135))
- Fix broken URL in the Resources Page on the Documentation Site ([#8136]({{ site.repository }}/issues/8136))
- Docs: Deploy Jekyll site with GitHub Actions ([#8119]({{ site.repository }}/issues/8119))
- Clarify `bundle config` in Bundler tutorial ([#8150]({{ site.repository }}/issues/8150))
- docs: update your-first-plugin.md ([#8147]({{ site.repository }}/issues/8147))
- Fix typo in documentation on GitHub Actions ([#8162]({{ site.repository }}/issues/8162))
- Ease discovery of CLI commands (in their entirety) ([#8178]({{ site.repository }}/issues/8178))
- Remove `sudo` from Travis CI tutorial ([#8187]({{ site.repository }}/issues/8187))
- Add Gitlab Pages to 3rd party list ([#8191]({{ site.repository }}/issues/8191))
- docs: add 21yunbox for deployment ([#8193]({{ site.repository }}/issues/8193))
- Improve documentation on tags and categories ([#8196]({{ site.repository }}/issues/8196))
### Development Fixes
{: #development-fixes-v4-1-0}
- Ci/GitHub actions ([#7822]({{ site.repository }}/issues/7822))
- Rubocop version upgrade ([#7846]({{ site.repository }}/issues/7846))
- Split action steps to avoid using `&&` on Windows ([#7885]({{ site.repository }}/issues/7885))
- Upgrade rake to use version 13 ([#7910]({{ site.repository }}/issues/7910))
- Update dependency constraint to allow RuboCop v0.76 ([#7893]({{ site.repository }}/issues/7893))
- Use bash executable consistently ([#7909]({{ site.repository }}/issues/7909))
- Test with JRuby 9.2.9.0 ([#7779]({{ site.repository }}/issues/7779))
- Bump RuboCop to v0.79.x ([#7970]({{ site.repository }}/issues/7970))
- Remove post-install message from gemspec ([#7974]({{ site.repository }}/issues/7974))
- Attain Ruby 3.0 compatibility ([#7948]({{ site.repository }}/issues/7948))
- Test `where` filter handling numeric property values ([#7821]({{ site.repository }}/issues/7821))
- chore(deps): rubocop 0.80.0 ([#8012]({{ site.repository }}/issues/8012))
- Update unit tests for Kramdown-based converter ([#8014]({{ site.repository }}/issues/8014))
- Add Visual Studio Code Development Container ([#8016]({{ site.repository }}/issues/8016))
- chore: simplify require for `Jekyll::VERSION` ([#8057]({{ site.repository }}/issues/8057))
- Remove version-constraint relaxation for i18n gem ([#8055]({{ site.repository }}/issues/8055))
- Mirror `spec.homepage` as `metadata["homepage_uri"]` ([#8056]({{ site.repository }}/issues/8056))
- Bump Ruby versions on Travis builds ([#8088]({{ site.repository }}/issues/8088))
- chore(ci): cache dependencies ([#8168]({{ site.repository }}/issues/8168))
### Site Enhancements
{: #site-enhancements-v4-1-0}
- Optimize rendering of the documentation site ([#8020]({{ site.repository }}/issues/8020))
- Utilize `relative_url` filter in documentation site ([#8089]({{ site.repository }}/issues/8089))
- Render tutorial metadata in documentation site ([#8092]({{ site.repository }}/issues/8092))
- Improve syntax-highlighting in documentation site ([#8079]({{ site.repository }}/issues/8079))
- Site: Filter through just the *docs* collection ([#8170]({{ site.repository }}/issues/8170))
## 4.0.1 / 2020-05-08
{: #v4-0-1}
### Bug Fixes
{: #bug-fixes-v4-0-1}
- Prevent console warning with Ruby 2.7 ([#8124]({{ site.repository }}/issues/8124))
- Clear cached Liquid template scope before render ([#8141]({{ site.repository }}/issues/8141))
- Add static file's basename to its url_placeholder ([#8142]({{ site.repository }}/issues/8142))
- Update item_property to recognize integers ([#8160]({{ site.repository }}/issues/8160))
### Development Fixes
{: #development-fixes-v4-0-1}
- Fix Kramdown converter based tests for v4.0.x ([#8143]({{ site.repository }}/issues/8143))
## 3.9.0 / 2020-08-05
{: #v3-9-0}
### Minor Enhancements
{: #minor-enhancements-v3-9-0}
- Allow use of kramdown v2 ([#8322]({{ site.repository }}/issues/8322))
- Add default language for kramdown syntax highlighting ([#8325]({{ site.repository }}/issues/8325))
## 3.8.7 / 2020-05-08
{: #v3-8-7}
### Bug Fixes
{: #bug-fixes-v3-8-7}
- Prevent console warnings with Ruby 2.7 ([#8125]({{ site.repository }}/issues/8125))
## 4.0.0 / 2019-08-19
{: #v4-0-0}
### Major Enhancements
{: #major-enhancements-v4-0-0}
- Drop ruby 2.3 ([#7454]({{ site.repository }}/issues/7454))
- Drop support for Ruby 2.1 and 2.2 ([#6560]({{ site.repository }}/issues/6560))
- Drop support for older versions of Rouge ([#6978]({{ site.repository }}/issues/6978))
- Drop support for pygments as syntax-highlighter ([#7118]({{ site.repository }}/issues/7118))
- Drop support for Redcarpet ([#6987]({{ site.repository }}/issues/6987))
- Drop support for rdiscount ([#6988]({{ site.repository }}/issues/6988))
- Drop support for `jekyll-watch-1.4.0` and older ([#7287]({{ site.repository }}/issues/7287))
- Incorporate `relative_url` filter in `link` tag ([#6727]({{ site.repository }}/issues/6727))
- Upgrade kramdown dependency to v2.x ([#7492]({{ site.repository }}/issues/7492))
- Upgrade jekyll-sass-converter to v2.x - Sassc + sourcemaps ([#7778]({{ site.repository }}/issues/7778))
- Upgrade i18n to v1.x ([#6931]({{ site.repository }}/issues/6931))
- Add `Jekyll::Cache` class to handle caching on disk ([#7169]({{ site.repository }}/issues/7169))
- Cache converted markdown ([#7159]({{ site.repository }}/issues/7159))
- Cache: Do not dump undumpable objects ([#7190]({{ site.repository }}/issues/7190))
- Cache matched defaults sets for given parameters ([#6888]({{ site.repository }}/issues/6888))
- Ignore cache directory ([#7184]({{ site.repository }}/issues/7184))
- Add `Site#in_cache_dir` helper method ([#7160]({{ site.repository }}/issues/7160))
- Remove &#39;cache_dir&#39; during `jekyll clean` ([#7158]({{ site.repository }}/issues/7158))
- Cache parsed Liquid templates in memory ([#7136]({{ site.repository }}/issues/7136))
- Only read layouts from source_dir or theme_dir ([#6788]({{ site.repository }}/issues/6788))
- Allow custom sorting of collection documents ([#7427]({{ site.repository }}/issues/7427))
- Always exclude certain paths from being processed ([#7188]({{ site.repository }}/issues/7188))
- Remove Jekyll::Utils#strip_heredoc in favor of a Ruby &gt; 2.3 built in ([#7584]({{ site.repository }}/issues/7584))
- Incorporate `relative_url` within `post_url` tag ([#7589]({{ site.repository }}/issues/7589))
- Remove patch to modify config for kramdown ([#7699]({{ site.repository }}/issues/7699))
### Minor Enhancements
{: #minor-enhancements-v4-0-0}
- Enhance `--blank` scaffolding ([#7310]({{ site.repository }}/issues/7310))
- Use `jekyll-compose` if installed ([#6932]({{ site.repository }}/issues/6932))
- Disable Liquid via front matter ([#6824]({{ site.repository }}/issues/6824))
- Configure cache_dir ([#7232]({{ site.repository }}/issues/7232))
- ISO week date drops ([#5981]({{ site.repository }}/issues/5981))
- Fix custom 404 page for GitHub pages ([#7132]({{ site.repository }}/issues/7132))
- Load config file from within current theme-gem ([#7304]({{ site.repository }}/issues/7304))
- Suggest re-running command with `--trace` on fail ([#6551]({{ site.repository }}/issues/6551))
- Support for binary operators in where_exp filter ([#6998]({{ site.repository }}/issues/6998))
- Automatically load `_config.toml` ([#7299]({{ site.repository }}/issues/7299))
- Add vendor folder to a newly installed site&#39;s .gitignore ([#6968]({{ site.repository }}/issues/6968))
- Output Jekyll Version while debugging ([#7173]({{ site.repository }}/issues/7173))
- Memoize computing excerpt&#39;s relative_path ([#6951]({{ site.repository }}/issues/6951))
- Skip processing posts that can not be read ([#7302]({{ site.repository }}/issues/7302))
- Memoize the return value of Site#documents ([#7273]({{ site.repository }}/issues/7273))
- Cache globbed paths in front matter defaults ([#7345]({{ site.repository }}/issues/7345))
- Cache computed item property ([#7301]({{ site.repository }}/issues/7301))
- Cleanup Markdown converter ([#7519]({{ site.repository }}/issues/7519))
- Do not process Liquid in post excerpt when disabled in front matter ([#7146]({{ site.repository }}/issues/7146))
- Liquefied link tag ([#6269]({{ site.repository }}/issues/6269))
- Update item_property to return numbers as numbers instead of strings ([#6608]({{ site.repository }}/issues/6608))
- Use `.markdown` extension for page templates ([#7126]({{ site.repository }}/issues/7126))
- Add support for `*.xhtml` files ([#6854]({{ site.repository }}/issues/6854))
- Allow i18n v0.9.5 and higher ([#7044]({{ site.repository }}/issues/7044))
- Ignore permission error of /proc/version ([#7267]({{ site.repository }}/issues/7267))
- Strip extra slashes via `Jekyll.sanitized_path` ([#7182]({{ site.repository }}/issues/7182))
- Site template: remove default config for markdown ([#7285]({{ site.repository }}/issues/7285))
- Add a custom inspect string for StaticFile objects ([#7422]({{ site.repository }}/issues/7422))
- Remind user to include gem in the Gemfile on error ([#7476]({{ site.repository }}/issues/7476))
- Search Front matter defaults for Page objects with relative_path ([#7261]({{ site.repository }}/issues/7261))
- Lock use of `tzinfo` gem to v1.x ([#7521]({{ site.repository }}/issues/7521), [#7562]({{ site.repository }}/issues/7562))
- Utilize absolute paths of user-provided file paths ([#7450]({{ site.repository }}/issues/7450))
- Detect `nil` and empty values in objects with `where` filter ([#7580]({{ site.repository }}/issues/7580))
- Initialize mutations for Drops only if necessary ([#7657]({{ site.repository }}/issues/7657))
- Reduce Array allocations via Jekyll::Cleaner ([#7659]({{ site.repository }}/issues/7659))
- Encode and unencode urls only as required ([#7654]({{ site.repository }}/issues/7654))
- Reduce string allocations with better alternatives ([#7643]({{ site.repository }}/issues/7643))
- Reduce allocations from Jekyll::Document instances ([#7625]({{ site.repository }}/issues/7625))
- Add `type` attribute to Document instances ([#7406]({{ site.repository }}/issues/7406))
- Reduce allocations from where-filter ([#7653]({{ site.repository }}/issues/7653))
- Memoize SiteDrop#documents to reduce allocations ([#7697]({{ site.repository }}/issues/7697))
- Add PathManager class to cache interim paths ([#7732]({{ site.repository }}/issues/7732))
- Remove warnings and fixes for deprecated config ([#7440]({{ site.repository }}/issues/7440))
- Delegate --profile tabulation to `terminal-table` ([#7627]({{ site.repository }}/issues/7627))
### Bug Fixes
{: #bug-fixes-v4-0-0}
- Security: fix `include` bypass of `EntryFilter#filter` symlink check ([#7226]({{ site.repository }}/issues/7226))
- Theme gems: ensure directories aren&#39;t symlinks ([#7419]({{ site.repository }}/issues/7419))
- Add call to unused method `validate_options` in `commands/serve.rb` ([#7122]({{ site.repository }}/issues/7122))
- Check if scope applies to type before given path ([#7263]({{ site.repository }}/issues/7263))
- Document two methods, simplify one of the methods ([#7270]({{ site.repository }}/issues/7270))
- Check key in collections only if it isn&#39;t &#34;posts&#34; ([#7277]({{ site.repository }}/issues/7277))
- Interpolate Jekyll::Page subclass on inspection ([#7203]({{ site.repository }}/issues/7203))
- Measure the no. of times a template gets rendered ([#7316]({{ site.repository }}/issues/7316))
- Reduce array traversal in Jekyll::Reader ([#7157]({{ site.repository }}/issues/7157))
- Re-implement handling Liquid blocks in excerpts ([#7250]({{ site.repository }}/issues/7250))
- Documents should be able to render their date ([#7404]({{ site.repository }}/issues/7404))
- Fix Interpreter warning from Jekyll::Renderer ([#7448]({{ site.repository }}/issues/7448))
- Loggers should accept both numbers and symbols ([#6967]({{ site.repository }}/issues/6967))
- Replace regex arg to :gsub with a string arg ([#7189]({{ site.repository }}/issues/7189))
- Dont write static files from unrendered collection ([#7410]({{ site.repository }}/issues/7410))
- Excerpt handling of custom and intermediate tags ([#7382]({{ site.repository }}/issues/7382))
- Change future post loglevel to warn to help user narrow down issues ([#7527]({{ site.repository }}/issues/7527))
- Handle files with trailing dots in their basename ([#7315]({{ site.repository }}/issues/7315))
- Fix unnecessary allocations via StaticFileReader ([#7572]({{ site.repository }}/issues/7572))
- Don&#39;t check if site URL is absolute if it is nil ([#7498]({{ site.repository }}/issues/7498))
- Avoid unnecessary duplication of pages array ([#7272]({{ site.repository }}/issues/7272))
- Memoize Site#post_attr_hash ([#7276]({{ site.repository }}/issues/7276))
- Memoize Document#excerpt_separator ([#7569]({{ site.repository }}/issues/7569))
- Optimize Document::DATE_FILENAME_MATCHER to match valid filenames ([#7292]({{ site.repository }}/issues/7292))
- Escape valid special chars in a site&#39;s path name ([#7568]({{ site.repository }}/issues/7568))
- Replace `name` in Page#inspect with relative_path ([#7434]({{ site.repository }}/issues/7434))
- Log a warning when the slug is empty ([#7357]({{ site.repository }}/issues/7357))
- Push Markdown link refs to excerpt only as required ([#7577]({{ site.repository }}/issues/7577))
- Fix broken include_relative usage in excerpt ([#7633]({{ site.repository }}/issues/7633))
- Initialize and reset glob_cache only as necessary ([#7658]({{ site.repository }}/issues/7658))
- Revert memoizing Site#docs_to_write and #documents ([#7684]({{ site.repository }}/issues/7684))
- Backport [#7684]({{ site.repository }}/issues/7684) for v3.8.x: Revert memoizing Site#docs_to_write and refactor #documents ([#7689]({{ site.repository }}/issues/7689))
- Backport [#7213]({{ site.repository }}/issues/7213) and [#7633]({{ site.repository }}/issues/7633) for v3.8.x: Fix broken include_relative usage in excerpt ([#7690]({{ site.repository }}/issues/7690))
- Don&#39;t read symlinks in site.include in safe mode ([#7711]({{ site.repository }}/issues/7711))
- Replace `String#=~` with `String#match?` ([#7723]({{ site.repository }}/issues/7723))
- Update log output for an invalid theme directory ([#7679]({{ site.repository }}/issues/7679))
- Remove configuration of theme sass files from Core ([#7290]({{ site.repository }}/issues/7290))
- Actually conditionally include liquid-c ([#7792]({{ site.repository }}/issues/7792))
- Test number_like regex on stringified property ([#7788]({{ site.repository }}/issues/7788))
### Development Fixes
{: #development-fixes-v4-0-0}
- Upgrade liquid-c to v4.0 ([#7375]({{ site.repository }}/issues/7375))
- Bump RuboCop to v0.71.0 ([#7687]({{ site.repository }}/issues/7687))
- Target Ruby 2.4 syntax ([#7583]({{ site.repository }}/issues/7583))
- Fix: RuboCop offenses ([#7769]({{ site.repository }}/issues/7769))
- Use communicative method parameters ([#7566]({{ site.repository }}/issues/7566))
- Scan `assert_equal` methods and rectify any offenses with a custom RuboCop cop ([#7130]({{ site.repository }}/issues/7130))
- CI: Test with Ruby 2.6 ([#7438]({{ site.repository }}/issues/7438))
- CI: Test with Ruby 2.6 on AppVeyor ([#7518]({{ site.repository }}/issues/7518))
- CI: Update RuboCop config ([#7050]({{ site.repository }}/issues/7050))
- CI: Add a script to profile docs ([#7540]({{ site.repository }}/issues/7540))
- CI(Appveyor): shallow clone with 5 last commits ([#7312]({{ site.repository }}/issues/7312))
- CI: Test with oldest and latest Ruby only ([#7412]({{ site.repository }}/issues/7412))
- CI: Update excludes for CodeClimate Analyses ([#7365]({{ site.repository }}/issues/7365))
- CI: Lock Travis to Bundler-1.16.2 ([#7144]({{ site.repository }}/issues/7144))
- CI: Bump tested version of JRuby to 9.2.7.0 ([#7612]({{ site.repository }}/issues/7612))
- CI: Do not install docs on updating gems on Travis ([#7706]({{ site.repository }}/issues/7706))
- Update gemspec ([#7425]({{ site.repository }}/issues/7425))
- deps: relax version constraint on classifier-reborn gem ([#7471]({{ site.repository }}/issues/7471))
- deps: update yajl-ruby ([#7278]({{ site.repository }}/issues/7278))
- deps: bump yajl-ruby to v1.4.0 ([#6976]({{ site.repository }}/issues/6976))
- Create symlink only if target is accessible ([#7429]({{ site.repository }}/issues/7429))
- Switch to `:install_if` for wdm gem ([#7372]({{ site.repository }}/issues/7372))
- Add cucumber feature to test include_relative tag ([#7213]({{ site.repository }}/issues/7213))
- Small benchmark refactoring ([#7211]({{ site.repository }}/issues/7211))
- Fix incorrectly passed arguments to assert_equal ([#7134]({{ site.repository }}/issues/7134))
- fix up refute_equal call ([#7133]({{ site.repository }}/issues/7133))
- Fix RuboCop offences in test files ([#7128]({{ site.repository }}/issues/7128))
- Use assert_include ([#7093]({{ site.repository }}/issues/7093))
- Remember to release docs gem ([#7066]({{ site.repository }}/issues/7066))
- Useless privates removed ([#6768]({{ site.repository }}/issues/6768))
- Load Rouge for TestKramdown ([#7007]({{ site.repository }}/issues/7007))
- Update instructions for releasing docs Gem ([#6975]({{ site.repository }}/issues/6975))
- We are not using Ruby 2.2 anymore ([#6977]({{ site.repository }}/issues/6977))
- Remove unnecessary Jekyll::Page constant ([#6770]({{ site.repository }}/issues/6770))
- Remove unused error class ([#6511]({{ site.repository }}/issues/6511))
- Add a Cucumber feature for post_url tag ([#7586]({{ site.repository }}/issues/7586))
- Generate a &#34;TOTAL&#34; row for build-profile table ([#7614]({{ site.repository }}/issues/7614))
- Refactor Jekyll::Cache ([#7532]({{ site.repository }}/issues/7532))
- Store list of expected extnames in a constant ([#7638]({{ site.repository }}/issues/7638))
- Profile allocations from a build session ([#7646]({{ site.repository }}/issues/7646))
- Update small typo in contributing.md ([#7671]({{ site.repository }}/issues/7671))
- Remove override to Jekyll::Document#respond_to? ([#7695]({{ site.repository }}/issues/7695))
- Update TestTags in sync with Rouge v3.4 ([#7709]({{ site.repository }}/issues/7709))
- Use regexp to filter special entries ([#7702]({{ site.repository }}/issues/7702))
- Reduce Array objects generated from utility method ([#7749]({{ site.repository }}/issues/7749))
- Update mime.types ([#7756]({{ site.repository }}/issues/7756))
- Replace redundant Array#map with Array#each ([#7761]({{ site.repository }}/issues/7761))
- Reduce allocations by using #each_with_object ([#7758]({{ site.repository }}/issues/7758))
- Memoize fallback_data for Drop ([#7728]({{ site.repository }}/issues/7728))
- Use String#end_with? to check if entry is a backup ([#7701]({{ site.repository }}/issues/7701))
### Documentation
- Refactor docs ([#7205]({{ site.repository }}/issues/7205))
- Add a link to Giraffe Academy&#39;s tutorial ([#7325]({{ site.repository }}/issues/7325))
- Do not advise users to install Jekyll outside of Bundler ([#6927]({{ site.repository }}/issues/6927))
- Remove documentation for using Redcarpet ([#6990]({{ site.repository }}/issues/6990))
- Install Docs that Work on MacOS 10.14 ([#7561]({{ site.repository }}/issues/7561))
- Add Installation Instructions for Ubuntu ([#6925]({{ site.repository }}/issues/6925))
- Don&#39;t prompt for sudo when installing with Ubuntu WSL ([#6781]({{ site.repository }}/issues/6781))
- Installation instructions for Fedora ([#7198]({{ site.repository }}/issues/7198))
- Update Windows install docs ([#6926]({{ site.repository }}/issues/6926))
- List all standard liquid filters ([#7333]({{ site.repository }}/issues/7333))
- List all static files variables ([#7002]({{ site.repository }}/issues/7002))
- Improve how to include Rouge stylesheets ([#7752]({{ site.repository }}/issues/7752))
- Mention CommonMark plugins ([#7418]({{ site.repository }}/issues/7418))
- Add TSV to list of supported _data files. ([#7168]({{ site.repository }}/issues/7168))
- How to deploy using pre-push git hook ([#7179]({{ site.repository }}/issues/7179))
- Hosting with AWS Amplify ([#7510]({{ site.repository }}/issues/7510))
- CircleCI deployment through CircleCI v2 ([#7024]({{ site.repository }}/issues/7024))
- GitHub Pages: use themes from other repos ([#7112]({{ site.repository }}/issues/7112))
- Document page.dir and page.name ([#7373]({{ site.repository }}/issues/7373))
- Document custom tag blocks ([#7359]({{ site.repository }}/issues/7359))
- Document converter methods ([#7289]({{ site.repository }}/issues/7289))
- Document {% raw %}`{{ page.collection }}`{% endraw %} ([#7430]({{ site.repository }}/issues/7430))
- Document Jekyll Filters with YAML data ([#7335]({{ site.repository }}/issues/7335))
- Document where Jekyll looks for layouts in a site ([#7564]({{ site.repository }}/issues/7564))
- plugin: liquid tag jekyll-flickr ([#6946]({{ site.repository }}/issues/6946))
- plugin: jekyll-target-blank ([#7046]({{ site.repository }}/issues/7046))
- plugin: json-get. ([#7086]({{ site.repository }}/issues/7086))
- plugin: `jekyll-info` ([#7091]({{ site.repository }}/issues/7091))
- plugin: jekyll-xml-source ([#7114]({{ site.repository }}/issues/7114))
- plugin: jekyll-firstimage filter ([#7127]({{ site.repository }}/issues/7127))
- plugin: CAT ([#7011]({{ site.repository }}/issues/7011))
- Resources: Statictastic ([#7593]({{ site.repository }}/issues/7593))
- Resources: Bonsai Search ([#7543]({{ site.repository }}/issues/7543))
- Resources: Formspark ([#7601]({{ site.repository }}/issues/7601))
- Resources: Jekpack([#7598]({{ site.repository }}/issues/7598))
- Resources: formX ([#7536]({{ site.repository }}/issues/7536))
- Resources: 99inbound&#39;s Jekyll post ([#7348]({{ site.repository }}/issues/7348))
- Resources: CloudSh ([#7497]({{ site.repository }}/issues/7497))
- Community: DEV Community&#39;s Jekyll tag ([#7139]({{ site.repository }}/issues/7139))
- Showcase: developer.spotify.com ([#7217]({{ site.repository }}/issues/7217))
- Showcase: Isomer ([#7300]({{ site.repository }}/issues/7300))
- Add version number for group_by_exp doc ([#6956]({{ site.repository }}/issues/6956))
- Updated nginx configuration for custom-404-page documentation ([#6994]({{ site.repository }}/issues/6994))
- Clarify definition of &#39;draft&#39; ([#7037]({{ site.repository }}/issues/7037))
- _drafts need to be contained within the custom collection directory ([#6985]({{ site.repository }}/issues/6985))
- Updated to supported version ([#7031]({{ site.repository }}/issues/7031))
- Add Hints for some Improved Travis Config in Doc ([#7049]({{ site.repository }}/issues/7049))
- Update travis-ci.md to point out &#34;this is an example Gemfile&#34; ([#7089]({{ site.repository }}/issues/7089))
- Instructions to view themes files under Linux ([#7095]({{ site.repository }}/issues/7095))
- Use a real theme in the example ([#7125]({{ site.repository }}/issues/7125))
- Update docs about post creation ([#7138]({{ site.repository }}/issues/7138))
- Initialize upgrading doc for v4.0 ([#7140]({{ site.repository }}/issues/7140))
- Add version badge for date filters with ordinal ([#7162]({{ site.repository }}/issues/7162))
- Corrected sample usage of postfiles ([#7181]({{ site.repository }}/issues/7181))
- Resolve &#34;Unable to locate package ruby2.4&#34; error ([#7196]({{ site.repository }}/issues/7196))
- Correct stylesheet url in tutorial step 7 ([#7210]({{ site.repository }}/issues/7210))
- Removes quotes from markdown for assets ([#7223]({{ site.repository }}/issues/7223))
- Clarified front matter requirement ([#7234]({{ site.repository }}/issues/7234))
- Explicit location of where to create blog.html ([#7241]({{ site.repository }}/issues/7241))
- Reference the build command options that allows multiple config files ([#7266]({{ site.repository }}/issues/7266))
- Add more issue template(s) and pull request template ([#7269]({{ site.repository }}/issues/7269))
- Suggest sites use OpenSSL instead of GnuTLS for their site&#39;s CI ([#7010]({{ site.repository }}/issues/7010))
- Fix broken Contributors link in README.markdown ([#7200]({{ site.repository }}/issues/7200))
- Add title tag to item in RSS template ([#7282]({{ site.repository }}/issues/7282))
- Add link tag to item in RSS template ([#7291]({{ site.repository }}/issues/7291))
- Remove redundant instruction comment ([#7342]({{ site.repository }}/issues/7342))
- Textile is only supported through a converter plugin ([#7003]({{ site.repository }}/issues/7003))
- Add recursive navigation tutorial ([#7720]({{ site.repository }}/issues/7720))
- Remove installation instructions with Homebrew ([#7381]({{ site.repository }}/issues/7381))
- Fix dead link and misleading prose ([#7383]({{ site.repository }}/issues/7383))
- Fix content management section ([#7385]({{ site.repository }}/issues/7385))
- Apply ruby official guide documents ([#7393]({{ site.repository }}/issues/7393))
- Fix group_by_exp filter example ([#7394]({{ site.repository }}/issues/7394))
- Remove alt attribute from a tags ([#7407]({{ site.repository }}/issues/7407))
- Fix BASH code-block in ubuntu.md ([#7420]({{ site.repository }}/issues/7420))
- zlib is missing ([#7428]({{ site.repository }}/issues/7428))
- Fixed unnecessary aticles and pronouns ([#7466]({{ site.repository }}/issues/7466))
- Store SSL key and cert in site source ([#7473]({{ site.repository }}/issues/7473))
- Fix typo in tutorial for converting existing site ([#7524]({{ site.repository }}/issues/7524))
- Check if var exists before include tag ([#7530]({{ site.repository }}/issues/7530))
- Clarify docs on collections regarding the need for front matter ([#7538]({{ site.repository }}/issues/7538))
- Fix incorrect Windows path in themes.md ([#7525]({{ site.repository }}/issues/7525))
- Addresses bundle not found. ([#7351]({{ site.repository }}/issues/7351))
- Update the contribution docs for draft pull requests ([#7619]({{ site.repository }}/issues/7619))
- Data file section adds TSV ([#7640]({{ site.repository }}/issues/7640))
- Indicate where the _sass folder is by default ([#7644]({{ site.repository }}/issues/7644))
- Docs: add version tags to new placeholders ([#5981]({{ site.repository }}/issues/5981)) for permalinks ([#7647]({{ site.repository }}/issues/7647))
- Solve &#34;GitHub Page build failure&#34; in 10-deployment.md ([#7648]({{ site.repository }}/issues/7648))
- fix link to Site Source config ([#7708]({{ site.repository }}/issues/7708))
- Introduce frontmatter in step 2 ([#7704]({{ site.repository }}/issues/7704))
- Add @ashmaroli to Core Team listing ([#7398]({{ site.repository }}/issues/7398))
- Lnk to Tidelift in site&#39;s footer ([#7377]({{ site.repository }}/issues/7377))
- Link to OpenCollective backing ([#7378]({{ site.repository }}/issues/7378)
- Link to sponsor listing in README ([#7405]({{ site.repository }}/issues/7405))
- Adjust team page listings ([#7395]({{ site.repository }}/issues/7395))
- Updates to CODE OF CONDUCT (v1.4.0) ([#7105]({{ site.repository }}/issues/7105))
- More inclusive writing ([#7283]({{ site.repository }}/issues/7283))
- Update Ruby version used in Travis-CI example ([#7783]({{ site.repository }}/issues/7783))
- Documentation for binary operators in where_exp ([#7786]({{ site.repository }}/issues/7786))
- Adding SmartForms as Forms service ([#7794]({{ site.repository }}/issues/7794))
### Site Enhancements
{: #site-enhancements-v4-0-0}
- Better Performance ([#7388]({{ site.repository }}/issues/7388))
- Add some minor improvements to image loading in Showcase page ([#7214]({{ site.repository }}/issues/7214))
- Simplify assigning classname to docs&#39; aside-links ([#7609]({{ site.repository }}/issues/7609))
- Simplify couple of includes in the docs site ([#7607]({{ site.repository }}/issues/7607))
- Avoid generating empty classnames ([#7610]({{ site.repository }}/issues/7610))
- Minimize rendering count ([#7343]({{ site.repository }}/issues/7343))
### Release
- Jekyll v4.0 release ([#7782]({{ site.repository }}/issues/7782))
- Release post for v4.0.0 beta1 ([#7716]({{ site.repository }}/issues/7716))
- Release post for v4.0.0.pre.alpha1 ([#7574]({{ site.repository }}/issues/7574))
- Release post for v3.8.0 ([#6849]({{ site.repository }}/issues/6849))
- Release post for v3.6.3, v3.7.4 and v3.8.4 ([#7259]({{ site.repository }}/issues/7259))
- Post: v4.0 development ([#6934]({{ site.repository }}/issues/6934))
## 3.8.6 / 2019-07-02
{: #v3-8-6}
### Bug Fixes
{: #bug-fixes-v3-8-6}
- Update log output for an invalid theme directory ([#7734]({{ site.repository }}/issues/7734))
- Memoize `SiteDrop#documents` to reduce allocations ([#7722]({{ site.repository }}/issues/7722))
- Excerpt handling of custom and intermediate tags ([#7467]({{ site.repository }}/issues/7467))
- Escape valid special chars in a site's path name ([#7573]({{ site.repository }}/issues/7573))
- Revert memoizing `Site#docs_to_write` and refactor `#documents` ([#7689]({{ site.repository }}/issues/7689))
- Fix broken `include_relative` usage in excerpt ([#7690]({{ site.repository }}/issues/7690))
- Install platform-specific gems as required (3c06609406)
### Security Fixes
{: #security-fixes-v3-8-6}
- Theme gems: ensure directories aren't symlinks ([#7424]({{ site.repository }}/issues/7424))
## 3.8.5 / 2018-11-04
{: #v3-8-5}
### Bug Fixes
{: #bug-fixes-v3-8-5}
- Re-implement handling Liquid blocks in excerpts ([#7250]({{ site.repository }}/issues/7250))
## 3.8.4 / 2018-09-18
{: #v3-8-4}
### Bug Fixes
{: #bug-fixes-v3-8-4}
- 3.8.x: security: fix `include` bypass of `EntryFilter#filter` symlink check ([#7228]({{ site.repository }}/issues/7228))
## 3.8.3 / 2018-06-05
{: #v3-8-3}
### Bug Fixes
{: #bug-fixes-v3-8-3}
- Fix --unpublished not affecting collection documents ([#7027]({{ site.repository }}/issues/7027))
## 3.8.2 / 2018-05-18
{: #v3-8-2}
### Development Fixes
{: #development-fixes-v3-8-2}
- Update rubocop version ([#7016]({{ site.repository }}/issues/7016))
### Bug Fixes
{: #bug-fixes-v3-8-2}
- Add whitespace control to LIQUID_TAG_REGEX ([#7015]({{ site.repository }}/issues/7015))
## 3.8.1 / 2018-05-01
{: #v3-8-1}
@@ -36,10 +734,10 @@ note: This file is autogenerated. Edit /History.markdown instead.
- Minimize array allocations in the `where` filter ([#6860]({{ site.repository }}/issues/6860))
- Bump JRuby ([#6878]({{ site.repository }}/issues/6878))
- Assert existence of &lt;collection&gt;.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))
- 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))
### Minor Enhancements
@@ -114,6 +812,15 @@ note: This file is autogenerated. Edit /History.markdown instead.
- Allow front matter defaults to be applied properly to documents gathered under custom `collections_dir` ([#6885]({{ site.repository }}/issues/6885))
## 3.7.4 / 2018-09-07
{: #v3-7-4}
### Bug Fixes
{: #bug-fixes-v3-7-4}
- Security: fix `include` bypass of EntryFilter#filter symlink check ([#7224]({{ site.repository }}/issues/7224))
## 3.7.3 / 2018-02-25
{: #v3-7-3}
@@ -295,6 +1002,15 @@ note: This file is autogenerated. Edit /History.markdown instead.
- Fix permalink icon markup in news-item layout ([#6639]({{ site.repository }}/issues/6639))
## 3.6.3 / 2018-09-18
{: #v3-6-3}
### Bug Fixes
{: #bug-fixes-v3-6-3}
- 3.6.x: security: fix `include` bypass of `EntryFilter#filter` symlink check ([#7229]({{ site.repository }}/issues/7229))
## 3.6.2 / 2017-10-21
{: #v3-6-2}
@@ -377,7 +1093,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
- add SUPPORT file for GitHub ([#6324]({{ site.repository }}/issues/6324))
- Rename CODE_OF_CONDUCT to show in banner ([#6325]({{ site.repository }}/issues/6325))
- Docs : illustrate page.id for a collection&#39;s document ([#6329]({{ site.repository }}/issues/6329))
- Docs: post&#39;s date can be overriden in YAML front matter ([#6334]({{ site.repository }}/issues/6334))
- Docs: post&#39;s date can be overriden in front matter ([#6334]({{ site.repository }}/issues/6334))
- Docs: `site.url` behavior on development and production environments ([#6270]({{ site.repository }}/issues/6270))
- Fix typo in site.url section of variables.md :-[ ([#6337]({{ site.repository }}/issues/6337))
- Docs: updates ([#6343]({{ site.repository }}/issues/6343))
@@ -1099,7 +1815,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
- Fix typo on Chocolatey name in Windows documentation ([#4686]({{ site.repository }}/issues/4686))
- Use the correct URL, Fixes [#4698]({{ site.repository }}/issues/4698) ([#4699]({{ site.repository }}/issues/4699))
- Add jekyll-paspagon plugin ([#4700]({{ site.repository }}/issues/4700))
- Bold-italicize note in assets documentation about needing yaml front matter ([#4706]({{ site.repository }}/issues/4706))
- Bold-italicize note in assets documentation about needing front matter ([#4706]({{ site.repository }}/issues/4706))
- Highlight the `script/` calls in the Contributing documentation ([#4712]({{ site.repository }}/issues/4712))
- Add Hawkins to the list of third-party plugins ([#4755]({{ site.repository }}/issues/4755))
- Fix a typo in pagination doc ([#4763]({{ site.repository }}/issues/4763))
@@ -1292,7 +2008,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
- Drop: fix hash setter precedence ([#4312]({{ site.repository }}/issues/4312))
- utils: `has_yaml_header?` should accept files with extraneous spaces ([#4290]({{ site.repository }}/issues/4290))
- Escape html from site.title and page.title in site template ([#4307]({{ site.repository }}/issues/4307))
- Allow custom file extensions if defined in `permalink` YAML front matter ([#4314]({{ site.repository }}/issues/4314))
- Allow custom file extensions if defined in `permalink` front matter ([#4314]({{ site.repository }}/issues/4314))
- Fix deep_merge_hashes! handling of drops and hashes ([#4359]({{ site.repository }}/issues/4359))
- Page should respect output extension of its permalink ([#4373]({{ site.repository }}/issues/4373))
- Disable auto-regeneration when running server detached ([#4376]({{ site.repository }}/issues/4376))
@@ -1516,7 +2232,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
- Internal: trigger hooks by owner symbol ([#3871]({{ site.repository }}/issues/3871))
- Update MIME types from mime-db ([#3933]({{ site.repository }}/issues/3933))
- Add header to site template `_config.yml` for clarity & direction ([#3997]({{ site.repository }}/issues/3997))
- Site template: add timezone offset to post date frontmatter ([#4001]({{ site.repository }}/issues/4001))
- Site template: add timezone offset to post date front matter ([#4001]({{ site.repository }}/issues/4001))
- Make a constant for the regex to find hidden files ([#4032]({{ site.repository }}/issues/4032))
- Site template: refactor github & twitter icons into includes ([#4049]({{ site.repository }}/issues/4049))
- Site template: add background to Kramdown Rouge-ified backtick code blocks ([#4053]({{ site.repository }}/issues/4053))
@@ -1534,7 +2250,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
- Fix nav items alignment when on multiple rows ([#3264]({{ site.repository }}/issues/3264))
- Highlight: Only Strip Newlines/Carriage Returns, not Spaces ([#3278]({{ site.repository }}/issues/3278))
- Find variables in front matter defaults by searching with relative file path. ([#2774]({{ site.repository }}/issues/2774))
- Allow variables (e.g `:categories`) in YAML front matter permalinks ([#3320]({{ site.repository }}/issues/3320))
- Allow variables (e.g `:categories`) in front matter permalinks ([#3320]({{ site.repository }}/issues/3320))
- Handle nil URL placeholders in permalinks ([#3325]({{ site.repository }}/issues/3325))
- Template: Fix nav items alignment when in "burger" mode ([#3329]({{ site.repository }}/issues/3329))
- Template: Remove `!important` from nav SCSS introduced in [#3329]({{ site.repository }}/issues/3329) ([#3375]({{ site.repository }}/issues/3375))
@@ -1551,7 +2267,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
- Add WOFF2 font MIME type to Jekyll server MIME types ([#3647]({{ site.repository }}/issues/3647))
- Be smarter about extracting the extname in `StaticFile` ([#3632]({{ site.repository }}/issues/3632))
- Process metadata for all dependencies ([#3608]({{ site.repository }}/issues/3608))
- Show error message if the YAML front matter on a page/post is invalid. ([#3643]({{ site.repository }}/issues/3643))
- Show error message if the front matter on a page/post is invalid. ([#3643]({{ site.repository }}/issues/3643))
- Upgrade redcarpet to 3.2 (Security fix: OSVDB-120415) ([#3652]({{ site.repository }}/issues/3652))
- Create #mock_expects that goes directly to RSpec Mocks. ([#3658]({{ site.repository }}/issues/3658))
- Open `.jekyll-metadata` in binary mode to read binary Marshal data ([#3713]({{ site.repository }}/issues/3713))
@@ -1631,7 +2347,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
- Add a Resources link to tutorial on building dynamic navbars ([#3185]({{ site.repository }}/issues/3185))
- Semantic structure improvements to the post and page layouts ([#3251]({{ site.repository }}/issues/3251))
- Add new AsciiDoc plugin to list of third-party plugins. ([#3277]({{ site.repository }}/issues/3277))
- Specify that all transformable collection documents must contain YAML front matter ([#3271]({{ site.repository }}/issues/3271))
- Specify that all transformable collection documents must contain front matter ([#3271]({{ site.repository }}/issues/3271))
- Assorted accessibility fixes ([#3256]({{ site.repository }}/issues/3256))
- Update configuration docs to mention `keep_files` for `destination` ([#3288]({{ site.repository }}/issues/3288), [#3296]({{ site.repository }}/issues/3296))
- Break when we successfully generate nav link to save CPU cycles. ([#3291]({{ site.repository }}/issues/3291))
@@ -1659,7 +2375,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
- Add a link on all the docs pages to "Improve this page". ([#3510]({{ site.repository }}/issues/3510))
- Add jekyll-auto-image generator to the list of third-party plugins ([#3489]({{ site.repository }}/issues/3489))
- Replace link to the proposed `picture` element spec ([#3530]({{ site.repository }}/issues/3530))
- Add frontmatter date formatting information ([#3469]({{ site.repository }}/issues/3469))
- Add front matter date formatting information ([#3469]({{ site.repository }}/issues/3469))
- Improve consistency and clarity of plugins options note ([#3546]({{ site.repository }}/issues/3546))
- Add permalink warning to pagination docs ([#3551]({{ site.repository }}/issues/3551))
- Fix grammar in Collections docs API stability warning ([#3560]({{ site.repository }}/issues/3560))
@@ -2231,7 +2947,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
- Clean up the `<head>` in the site template ([#2186]({{ site.repository }}/issues/2186))
- Permit YAML blocks to end with three dots to better conform with the YAML spec ([#2110]({{ site.repository }}/issues/2110))
- Use `File.exist?` instead of deprecated `File.exists?` ([#2214]({{ site.repository }}/issues/2214))
- Require newline after start of YAML Front Matter header ([#2211]({{ site.repository }}/issues/2211))
- Require newline after start of front matter header ([#2211]({{ site.repository }}/issues/2211))
- Add the ability for pages to be marked as `published: false` ([#1492]({{ site.repository }}/issues/1492))
- Add `Jekyll::LiquidExtensions` with `.lookup_variable` method for easy looking up of variable values in a Liquid context. ([#2253]({{ site.repository }}/issues/2253))
- Remove literal lang name from class ([#2292]({{ site.repository }}/issues/2292))
@@ -2999,7 +3715,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
- Bullet-proof `limit_posts` option ([#1004]({{ site.repository }}/issues/1004))
- Read in YAML as UTF-8 to accept non-ASCII chars ([#836]({{ site.repository }}/issues/836))
- Fix the CLI option `--plugins` to actually accept dirs and files ([#993]({{ site.repository }}/issues/993))
- Allow 'excerpt' in YAML front matter to override the extracted excerpt ([#946]({{ site.repository }}/issues/946))
- Allow 'excerpt' in front matter to override the extracted excerpt ([#946]({{ site.repository }}/issues/946))
- Fix cascade problem with site.baseurl, site.port and site.host. ([#935]({{ site.repository }}/issues/935))
- Filter out directories with valid post names ([#875]({{ site.repository }}/issues/875))
- Fix symlinked static files not being correctly built in unsafe mode ([#909]({{ site.repository }}/issues/909))
@@ -3011,7 +3727,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
- Patch for multibyte URI problem with `jekyll serve` ([#723]({{ site.repository }}/issues/723))
- Order plugin execution by priority ([#864]({{ site.repository }}/issues/864))
- Fixed Page#dir and Page#url for edge cases ([#536]({{ site.repository }}/issues/536))
- Fix broken `post_url` with posts with a time in their YAML front matter ([#831]({{ site.repository }}/issues/831))
- Fix broken `post_url` with posts with a time in their front matter ([#831]({{ site.repository }}/issues/831))
- Look for plugins under the source directory ([#654]({{ site.repository }}/issues/654))
- Tumblr Migrator: finds `_posts` dir correctly, fixes truncation of long post names ([#775]({{ site.repository }}/issues/775))
- Force Categories to be Strings ([#767]({{ site.repository }}/issues/767))
@@ -3242,7 +3958,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
- Bug Fixes
- Require redcloth >= 4.2.1 in tests ([#92]({{ site.repository }}/issues/92))
- Don't break on triple dashes in yaml front matter ([#93]({{ site.repository }}/issues/93))
- Don't break on triple dashes in front matter ([#93]({{ site.repository }}/issues/93))
### Minor Enhancements
{: #minor-enhancements-v0-5-6}
@@ -3283,7 +3999,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
- Added --paginate option to the executable along with a paginator object for the payload (@calavera)
- Upgraded RedCloth to 4.2.1, which makes `<notextile>` tags work once again.
- Configuration options set in config.yml are now available through the site payload (@vilcans)
- Posts can now have an empty YAML front matter or none at all (@ bahuvrihi)
- Posts can now have an empty front matter or none at all (@ bahuvrihi)
- Bug Fixes
- Fixing Ruby 1.9 issue that requires `#to_s` on the err object (@Chrononaut)
- Fixes for pagination and ordering posts on the same day (@ujh)
@@ -3291,7 +4007,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
- Index.html file should always have index.html permalink (@eugenebolshakov)
- Added trailing slash to pretty permalink style so Apache is happy (@eugenebolshakov)
- Bad markdown processor in config fails sooner and with better message (@ gcnovus)
- Allow CRLFs in yaml front matter (@juretta)
- Allow CRLFs in front matter (@juretta)
- Added Date#xmlschema for Ruby versions < 1.9
@@ -3386,7 +4102,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
- Added post categories based on directories containing `_posts` (@mreid)
- Added post topics based on directories underneath `_posts`
- Added new date filter that shows the full month name (@mreid)
- Merge Post's YAML front matter into its to_liquid payload (@remi)
- Merge Post's front matter into its to_liquid payload (@remi)
- Restrict includes to regular files underneath `_includes`
- Bug Fixes
- Change YAML delimiter matcher so as to not chew up 2nd level markdown headers (@mreid)

View File

@@ -48,7 +48,9 @@ You could then reference that variable in your include:
{% raw %}
```liquid
{% include {{ page.my_variable }} %}
{% if page.my_variable %}
{% include {{ page.my_variable }} %}
{% endif %}
```
{% endraw %}
@@ -67,7 +69,7 @@ You can also pass parameters to an include. For example, suppose you have a file
```
{% endraw %}
The `{% raw %}{{ include.content }}{% endraw %}` is a parameter that gets populated when you call the include and specify a value for that parameter, like this:
The {% raw %}`{{ include.content }}`{% endraw %} is a parameter that gets populated when you call the include and specify a value for that parameter, like this:
{% raw %}
```liquid
@@ -86,6 +88,7 @@ For example, suppose you have a special image syntax with complex formatting, an
<a href="http://jekyllrb.com">
<img src="logo.png" style="max-width: 200px;"
alt="Jekyll logo" />
</a>
<figcaption>This is the Jekyll logo</figcaption>
</figure>
```
@@ -98,6 +101,7 @@ You could templatize this content in your include and make each value available
<a href="{{ include.url }}">
<img src="{{ include.file }}" style="max-width: {{ include.max-width }};"
alt="{{ include.alt }}"/>
</a>
<figcaption>{{ include.caption }}</figcaption>
</figure>
```
@@ -125,7 +129,7 @@ The result is the original HTML code shown earlier.
To safeguard situations where users don't supply a value for the parameter, you can use [Liquid's default filter](https://shopify.github.io/liquid/filters/default/).
Overall, you can create includes that act as templates for a variety of uses &mdash; inserting audio or video clips, alerts, special formatting, and more. However, note that you should avoid using too many includes, as this will slow down the build time of your site. For example, don't use includes every time you insert an image. (The above technique shows a use case for special images.)
Overall, you can create includes that act as templates for a variety of uses &mdash; inserting audio or video clips, alerts, special formatting, and more. Note that you should avoid using too many includes, as this will slow down the build time of your site. For example, don't use includes every time you insert an image. (The above technique shows a use case for special images.)
### Passing parameter variables to includes
@@ -150,41 +154,3 @@ Then pass this captured variable into the parameter for the include. Omit the qu
{% include note.html content=download_note %}
```
{% endraw %}
### Passing references to YAML files as parameter values
Instead of passing string variables to the include, you can pass a reference to a YAML data file stored in the `_data` folder.
Here's an example. In the `_data` folder, suppose you have a YAML file called `profiles.yml`. Its content looks like this:
```yaml
- name: John Doe
login_age: old
image: johndoe.jpg
- name: Jane Doe
login_age: new
image: janedoe.jpg
```
In the `_includes` folder, assume you have a file called `spotlight.html` with this code:
{% raw %}
```liquid
{% for person in include.participants %}
{% if person.login_age == "new" %}
{{ person.name }}
{% endif %}
{% endfor %}
```
{% endraw %}
Now when you insert the `spotlight.html` include file, you can submit the YAML file as a parameter:
{% raw %}
```liquid
{% include spotlight.html participants=site.data.profiles %}
```
{% endraw %}
In this instance, `site.data.profiles` gets inserted in place of {% raw %}`include.participants`{% endraw %} in the include file, and the Liquid logic processes. The result will be `Jane Doe`.

View File

@@ -1,41 +1,52 @@
---
title: Welcome
permalink: /docs/home/
redirect_from: /docs/index.html
title: Quickstart
permalink: /docs/
redirect_from:
- /docs/home/
- /docs/quickstart/
- /docs/extras/
---
Jekyll is a static site generator. It takes text written in your
favorite markup language and uses layouts to create a static website. You can
tweak the site's look and feel, URLs, the data displayed on the page, and more.
This site aims to be a comprehensive guide to Jekyll. Well cover topics such as getting your site up and running, creating and managing content, customizing your build, and deploying.
## Prerequisites
## What is Jekyll, exactly?
Jekyll requires the following:
Jekyll is a simple, blog-aware, static site generator.
* Ruby version **{{ site.data.ruby.min_version }}** or higher
* RubyGems
* GCC and Make
You create your content as text files ([Markdown](https://daringfireball.net/projects/markdown/)), and organize them into folders. Then, you build the shell of your site using [Liquid](https://shopify.github.io/liquid/)-enhanced HTML templates. Jekyll automatically stitches the content and templates together, generating a website made entirely of static assets, suitable for uploading to any server.
See [Requirements]({{ '/docs/installation/#requirements' | relative_url }}) for guides and details.
Jekyll happens to be the engine behind [GitHub Pages](https://pages.github.com), so you can host your projects Jekyll page/blog/website on GitHubs servers **for free**.
## Instructions
## Navigating the Guide
1. Install all [prerequisites]({{ '/docs/installation/' | relative_url }}).
2. Install the jekyll and bundler [gems]({{ '/docs/ruby-101/#gems' | relative_url }}).
```
gem install jekyll bundler
```
3. Create a new Jekyll site at `./myblog`.
```
jekyll new myblog
```
4. Change into your new directory.
```
cd myblog
```
5. Build the site and make it available on a local server.
```
bundle exec jekyll serve
```
6. Browse to [http://localhost:4000](http://localhost:4000){:target="_blank"}
Throughout this guide, you'll see these special sections that help you get the most out of Jekyll:
{: .note .info}
Pass the `--livereload` option to `serve` to automatically refresh the page with each change you make to the source files: `bundle exec jekyll serve --livereload`
<div class="note">
<h5>ProTips™</h5>
<p>Tips and tricks that'll make you a Jekyll wizard!</p>
</div>
<div class="note info">
<h5>Notes</h5>
<p>Extra tidbits that are sometimes necessary to understand Jekyll.</p>
</div>
If you encounter any errors during this process, check that you have installed all the prerequisites in [Requirements]({{ '/docs/installation/#requirements' | relative_url }}).
If you still have issues, see [Troubleshooting]({{ '/docs/troubleshooting/#configuration-problems' | relative_url }}).
<div class="note warning">
<h5>Warnings</h5>
<p>Common pitfalls to avoid.</p>
</div>
<div class="note unreleased">
<h5>Unreleased</h5>
<p>Features planned for future versions of Jekyll, but not available yet.</p>
</div>
If you find anything we havent covered, or would like to share a tip that others might find handy, please [file an issue]({{ site.repository }}/issues/new) and well see about adding it to the guide.
{: .note .info}
Installation varies based on your operating system. See our [guides]({{ '/docs/installation/#guides' | relative_url }}) for OS-specific instructions.

View File

@@ -4,199 +4,19 @@ description: Official guide to install Jekyll on macOS, GNU/Linux or Windows.
permalink: /docs/installation/
---
Jekyll is a [Ruby Gem](http://guides.rubygems.org/rubygems-basics/), and can be
installed on most systems.
- [Requirements](#requirements)
- [Install Jekyll on macOS](#macOS)
- [Install Jekyll on Ubuntu Linux](#ubuntu)
- [Install Jekyll on Windows](../windows/)
- [Upgrade Jekyll](#upgrade-jekyll)
Jekyll is a [Ruby Gem]({{ '/docs/ruby-101/#gems' | relative_url }}) that can be installed on most systems.
## Requirements
Before you start, make sure your system has the following:
* [Ruby](https://www.ruby-lang.org/en/downloads/) version **{{ site.data.ruby.min_version }}** or higher, including all development headers (check your Ruby version using `ruby -v`)
* [RubyGems](https://rubygems.org/pages/download) (check your Gems version using `gem -v`)
* [GCC](https://gcc.gnu.org/install/) and [Make](https://www.gnu.org/software/make/) (check versions using `gcc -v`,`g++ -v`, and `make -v`)
- [Ruby](https://www.ruby-lang.org/en/downloads/) version 2.2.5 or above, including all development headers (ruby installation can be checked by running `ruby -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)
## Guides
## Install on macOS {#macOS}
For detailed install instructions, follow the guide for your operating system.
We only cover macOS High Sierra 10.13 here, which comes with Ruby 2.3.3, older systems will need to [install a more recent Ruby version via Homebrew](#homebrew).
First, you need to install the command-line tools to be able to compile native extensions, open a terminal and run:
```sh
xcode-select --install
```
### Set up Ruby included with the OS
Check your Ruby version meet our requirements:
```sh
ruby -v
2.3.3
```
Great, let's install Jekyll. We also need [Bundler](https://bundler.io/) to help us handle [plugins](../plugins) and [themes](../themes):
```sh
gem install bundler jekyll
```
That's it, you're ready to go, either by installing our [default minimal blog theme](https://github.com/jekyll/minima) with `jekyll new jekyll-website` or by starting from scratch:
```sh
mkdir jekyll-website
cd jekyll-website
# Create a Gemfile
bundle init
# Add Jekyll
bundle add jekyll
# Install gems
bundle install
```
Great, from there you can now either use a [theme](../themes/) or [create your own layouts](../templates/).
### Install a newer Ruby version via Homebrew {#homebrew}
If you wish to install the latest version of Ruby and get faster builds, we recommend to do it via [Homebrew](https://brew.sh) a handy package manager for macOS.
```sh
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install ruby
ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17]
```
Yay! Now you have a shiny Ruby on your system!
### Install multiple Ruby versions with rbenv {#rbenv}
Developers often use [rbenv](https://github.com/rbenv/rbenv) to manage multiple Ruby versions. This can be useful if you want to run the same Ruby version used by [GitHub Pages](https://pages.github.com/versions/) or [Netlify](https://www.netlify.com/docs/#ruby) for instance.
```sh
# Install rbenv and ruby-build
brew install rbenv
# Setup rbenv integration to your shell
rbenv init
# Check your install
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash
```
Restart your terminal for changes to take effect.
Now we can install the Ruby version of our choice, let's go with Ruby 2.5.1 here:
```sh
rbenv install 2.5.1
rbenv global 2.5.1
ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17]
```
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.
<div class="note info" markdown="1">
##### Problems installing Jekyll?
Check out the [troubleshooting](../troubleshooting/) page or
[ask for help on our forum](https://talk.jekyllrb.com).
</div>
## Install on Ubuntu Linux {#ubuntu}
Before we install Jekyll, we need to make sure we have all the required
dependencies.
```sh
sudo apt-get install ruby ruby-dev build-essential
```
It is best to avoid installing Ruby Gems as the root user. Therefore, we need to
set up a gem installation directory for your user account. The following
commands will add environment variables to your `~/.bashrc` file to configure
the gem installation path. Run them now:
```sh
echo '# Install Ruby Gems to ~/gems' >> ~/.bashrc
echo 'export GEM_HOME=$HOME/gems' >> ~/.bashrc
echo 'export PATH=$HOME/gems/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
```
Finally, install Jekyll:
```sh
gem install jekyll bundler
```
That's it! You're ready to start using Jekyll.
## Upgrade Jekyll
Before you start developing with Jekyll, you may want to check that you're up to date with the latest version. To find the currently installed version of Jekyll, run one of these commands:
```sh
jekyll --version
gem list jekyll
```
You can use RubyGems to find [the current version of Jekyll](https://rubygems.org/gems/jekyll). Another way to check if you have the latest version is to run the command `gem outdated`. This will provide a list of all the gems on your system that need to be updated. If you aren't running the latest version, run this command:
```sh
bundle update jekyll
```
Alternatively, if you don't have Bundler installed run:
```sh
gem update jekyll
```
To upgrade to latest Rubygems, run:
```
gem update --system
```
Refer to our [upgrading section](../upgrading/) to upgrade from Jekyll 2.x or 1.x.
## Pre-releases
In order to install a pre-release, make sure you have all the requirements
installed properly and run:
```sh
gem install jekyll --pre
```
This will install the latest pre-release. If you want a particular pre-release,
use the `-v` switch to indicate the version you'd like to install:
```sh
gem install jekyll -v '2.0.0.alpha.1'
```
If you'd like to install a development version of Jekyll, the process is a bit
more involved. This gives you the advantage of having the latest and greatest,
but may be unstable.
```sh
git clone git://github.com/jekyll/jekyll.git
cd jekyll
script/bootstrap
bundle exec rake build
ls pkg/*.gem | head -n 1 | xargs gem install -l
```
Now that youve got everything up-to-date and installed, lets get to work!
* [macOS]({{ '/docs/installation/macos/' | relative_url }})
* [Ubuntu]({{ '/docs/installation/ubuntu/' | relative_url }})
* [Other Linux]({{ '/docs/installation/other-linux/' | relative_url }})
* [Windows]({{ '/docs/installation/windows/' | relative_url }})

View File

@@ -0,0 +1,152 @@
---
title: Jekyll on macOS
permalink: /docs/installation/macos/
---
## Install Command Line Tools
To install the command line tools to compile native extensions, open a terminal and run:
```sh
xcode-select --install
```
## Install Ruby
Jekyll requires **Ruby v{{ site.data.ruby.min_version }}** or higher.
macOS Catalina 10.15 ships with Ruby 2.6.3. Check your Ruby version using `ruby -v`.
If you're running a previous version of macOS, you'll have to install a newer version of Ruby.
### With Homebrew {#brew}
To run the latest Ruby version you need to install it through [Homebrew](https://brew.sh).
```sh
# Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install Ruby
brew install ruby
```
Add the brew ruby path to your shell configuration:
```bash
# If you're using Zsh
echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.zshrc
# If you're using Bash
echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.bash_profile
# Unsure which shell you are using? Type
echo $SHELL
```
Relaunch your terminal and check your Ruby setup:
```sh
which ruby
# /usr/local/opt/ruby/bin/ruby
ruby -v
{{ site.data.ruby.current_version_output }}
```
You're now running the current stable version of Ruby!
### With rbenv {#rbenv}
People often use [rbenv](https://github.com/rbenv/rbenv) to manage multiple
Ruby versions. This is very useful when you need to be able to run a given Ruby version on a project.
```sh
# Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install rbenv and ruby-build
brew install rbenv
# Set up rbenv integration with your shell
rbenv init
# Check your installation
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash
```
Restart your terminal to apply your changes.
Next, you can install the Ruby version you want. Let's install the latest stable version:
```sh
rbenv install {{ site.data.ruby.current_version }}
rbenv global {{ site.data.ruby.current_version }}
ruby -v
{{ site.data.ruby.current_version_output }}
```
That's it! Head over to [rbenv command references](https://github.com/rbenv/rbenv#command-reference) to learn how to use different versions of Ruby in your projects.
## Install Jekyll
After installing Ruby, install Jekyll and Bundler.
### Local Install
Install the bundler and jekyll gems:
```sh
gem install --user-install bundler jekyll
```
Get your Ruby version:
```sh
ruby -v
{{ site.data.ruby.current_version_output }}
```
Append your path file with the following, replacing the `X.X` with the first two digits of your Ruby version:
```bash
# If you're using Zsh
echo 'export PATH="$HOME/.gem/ruby/X.X.0/bin:$PATH"' >> ~/.zshrc
# If you're using Bash
echo 'export PATH="$HOME/.gem/ruby/X.X.0/bin:$PATH"' >> ~/.bash_profile
# Unsure which shell you are using? Type
echo $SHELL
```
Check that `GEM PATHS:` points to your home directory:
```sh
gem env
```
{: .note .info}
Every time you update Ruby to a version in which the first two digits change, update your path to match.
### Global Install
{: .note .warning}
We recommend not installing Ruby gems globally to avoid file permissions problems and using `sudo`.
#### On Mojave (10.14)
Because of SIP Protections in Mojave, run:
```sh
sudo gem install bundler
sudo gem install -n /usr/local/bin/ jekyll
```
#### Before Mojave (<10.14)
Run:
```sh
sudo gem install bundler jekyll
```
## Troubleshooting
See [Troubleshooting]({{ '/docs/troubleshooting/' | relative_url }}) or [ask for help on our forum](https://talk.jekyllrb.com).

View File

@@ -0,0 +1,59 @@
---
title: Jekyll on Linux
permalink: /docs/installation/other-linux/
---
Installation on other Linux distributions works similarly to installing on [Ubuntu](../ubuntu/).
## Install prerequisites
### Fedora
```sh
sudo dnf install ruby ruby-devel openssl-devel redhat-rpm-config @development-tools
```
### RHEL8/CentOS8
```sh
sudo dnf install ruby ruby-devel
sudo dnf group install "Development Tools"
```
### Debian
```sh
sudo apt-get install ruby-full build-essential
```
### Gentoo
```sh
sudo emerge -av jekyll
```
or
```sh
sudo emerge --ask --verbose jekyll
```
### ArchLinux
```sh
sudo pacman -S ruby base-devel
```
### OpenSUSE
```sh
sudo zypper install -t pattern devel_ruby devel_C_C++
```
### Clear Linux
```sh
sudo swupd bundle-add ruby-basic
```
## Install Jekyll
Follow the instructions for [Ubuntu](../ubuntu/).

View File

@@ -0,0 +1,32 @@
---
title: Jekyll on Ubuntu
permalink: /docs/installation/ubuntu/
---
## Install dependencies
Install Ruby and other [prerequisites]({{ '/docs/installation/#requirements' | relative_url }}):
```sh
sudo apt-get install ruby-full build-essential zlib1g-dev
```
Avoid installing RubyGems packages (called gems) as the root user. Instead,
set up a gem installation directory for your user account. The following
commands will add environment variables to your `~/.bashrc` file to configure
the gem installation path:
```sh
echo '# Install Ruby Gems to ~/gems' >> ~/.bashrc
echo 'export GEM_HOME="$HOME/gems"' >> ~/.bashrc
echo 'export PATH="$HOME/gems/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
```
Finally, install Jekyll and Bundler:
```sh
gem install jekyll bundler
```
That's it! You're ready to start using Jekyll.

View File

@@ -0,0 +1,152 @@
---
title: Jekyll on Windows
permalink: /docs/installation/windows/
redirect_from:
- /docs/windows/
---
While Windows is not an officially-supported platform, it can be used to run Jekyll with the proper tweaks.
## Installing Ruby and Jekyll
### Installation via RubyInstaller
The easiest way to install Ruby and Jekyll is by using the [RubyInstaller](https://rubyinstaller.org/) for Windows.
RubyInstaller is a self-contained Windows-based installer that includes the Ruby language, an execution environment,
important documentation, and more.
We only cover RubyInstaller-2.4 and newer here. Older versions need to
[install the Devkit](https://github.com/oneclick/rubyinstaller/wiki/Development-Kit) manually.
1. Download and install a **Ruby+Devkit** version from [RubyInstaller Downloads](https://rubyinstaller.org/downloads/).
Use default options for installation.
2. Run the `ridk install` step on the last stage of the installation wizard. This is needed for installing gems with native
extensions. You can find additional information regarding this in the
[RubyInstaller Documentation](https://github.com/oneclick/rubyinstaller2#using-the-installer-on-a-target-system)
3. Open a new command prompt window from the start menu, so that changes to the `PATH` environment variable becomes effective.
Install Jekyll and Bundler using `gem install jekyll bundler`
4. Check if Jekyll has been installed properly: `jekyll -v`
{: .note .info}
You may receive an error when checking if Jekyll has been installed properly. Reboot your system and run `jekyll -v` again.
If the error persists, please open a [RubyInstaller issue](https://github.com/oneclick/rubyinstaller2/issues/new).
That's it, you're ready to use Jekyll!
### Installation via Bash on Windows 10
If you are using Windows 10 version 1607 or later, another option to run Jekyll is by
[installing](https://msdn.microsoft.com/en-us/commandline/wsl/install_guide) the Windows Subsystem for Linux.
{: .note .info}
You must have [Windows Subsystem for Linux](https://msdn.microsoft.com/en-us/commandline/wsl/about) enabled.
Make sure all your packages and repositories are up to date. Open a new Command Prompt or Powershell window and type `bash`.
Your terminal should now be a Bash instance. Next, update your repository lists and packages:
```sh
sudo apt-get update -y && sudo apt-get upgrade -y
```
Next, install Ruby. To do this, let's use a repository from [BrightBox](https://www.brightbox.com/docs/ruby/ubuntu/),
which hosts optimized versions of Ruby for Ubuntu.
```sh
sudo apt-add-repository ppa:brightbox/ruby-ng
sudo apt-get update
sudo apt-get install ruby2.5 ruby2.5-dev build-essential dh-autoreconf
```
Next, update your Ruby gems:
```sh
gem update
```
Install Jekyll:
```sh
gem install jekyll bundler
```
{: .note .info}
No `sudo` here.
Check your Jekyll version:
```sh
jekyll -v
```
That's it! You're ready to start using Jekyll.
You can make sure time management is working properly by inspecting your `_posts` folder. You should see a markdown file
with the current date in the filename.
<div class="note info">
<h5>Non-superuser account issues</h5>
<p>If the `jekyll new` command prints the error "Your user account isn't allowed to install to the system RubyGems", see
the "Running Jekyll as Non-Superuser" instructions in
<a href="{{ '/docs/troubleshooting/#no-sudo' | relative_url }}">Troubleshooting</a>.</p>
</div>
{: .note .info}
Bash on Ubuntu on Windows is still under development, so you may run into issues.
## Encoding
If you use UTF-8 encoding, make sure that no `BOM` header characters exist in your files. If they don't, Jekyll will break. This is especially relevant when you're running Jekyll on Windows.
Additionally, you might need to change the code page of the console window to UTF-8 in case you get a
`Liquid Exception: Incompatible character encoding` error during the site generation process. Run the following:
```sh
chcp 65001
```
## Time Zone Management
Since Windows doesn't have a native source of zoneinfo data, the Ruby Interpreter doesn't understand IANA Timezones.
Using them had the `TZ` environment variable default to UTC/GMT 00:00.
Though Windows users could alternatively define their blog's timezone by setting the key to use the POSIX format of defining
timezones, it wasn't as user-friendly when it came to having the clock altered to changing DST-rules.
Jekyll now uses a rubygem to internally configure Timezone based on established
[IANA Timezone Database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
While 'new' blogs created with Jekyll v3.4 and greater, will have the following added to their `Gemfile` by default, existing
sites *will* have to update their `Gemfile` (and installed gems) to enable development on Windows:
```ruby
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
```
<div class="note warning">
<h5>TZInfo 2.0 incompatibility</h5>
<p>
Version 2.0 of the TZInfo library has introduced a change in how timezone offsets are calculated.
This will result in incorrect date and time for your posts when the site is built with Jekyll 3.x on Windows.
</p>
<p>
We therefore recommend that you lock the Timezone library to version 1.2 and above by listing
<code>gem 'tzinfo', '~> 1.2'</code> in your <code>Gemfile</code>.
</p>
</div>
## Auto Regeneration
Jekyll uses the `listen` gem to watch for changes when the `--watch` switch is specified during a build or serve.
While `listen` has built-in support for UNIX systems, it may require an extra gem for compatibility with Windows.
Add the following to the `Gemfile` for your site if you have issues with auto-regeneration on Windows alone:
```ruby
gem 'wdm', '~> 0.1.1', :install_if => Gem.win_platform?
```
You have to use a [Ruby+Devkit](https://rubyinstaller.org/downloads/) version of the RubyInstaller and install
the MSYS2 build tools to successfully install the `wdm` gem.

141
docs/_docs/layouts.md Normal file
View File

@@ -0,0 +1,141 @@
---
title: Layouts
description: placeholder
permalink: /docs/layouts/
---
Layouts are templates that wrap around your content. They allow you to have the
source code for your template in one place so you don't have to repeat things
like your navigation and footer on every page.
Layouts live in the `_layouts` directory. The convention is to have a base
template called `default.html` and have other layouts [inherit](#inheritance)
from this as needed.
<div class="note">
<h5>Layouts Directory</h5>
<p>
Jekyll looks for the <code>_layouts</code> directory either at the root of
your site's <code>source</code> or at the root of your theme.
</p>
<p>
While you can configure the directory name in which your layouts can reside by
setting the <code>layouts_dir</code> key in your config file, the directory
itself should be located at the root of your site's <code>source</code> directory.
</p>
</div>
## Usage
The first step is to put the template source code in `default.html`. `content`
is a special variable, the value is the rendered content of the post or page
being wrapped.
{% raw %}
```liquid
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>{{ page.title }}</title>
<link rel="stylesheet" href="/css/style.css">
</head>
<body>
<nav>
<a href="/">Home</a>
<a href="/blog/">Blog</a>
</nav>
<h1>{{ page.title }}</h1>
<section>
{{ content }}
</section>
<footer>
&copy; to me
</footer>
</body>
</html>
```
{% endraw %}
You have full access to the front matter of the origin. In the
example above, `page.title` comes from the page front matter.
Next you need to specify what layout you're using in your page's front matter.
You can also use
[front matter defaults](/docs/configuration/front-matter-defaults/) to save you
from having to set this on every page.
```markdown
---
title: My First Page
layout: default
---
This is the content of my page
```
The rendered output of this page is:
```html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>My First Page</title>
<link rel="stylesheet" href="/css/style.css">
</head>
<body>
<nav>
<a href="/">Home</a>
<a href="/blog/">Blog</a>
</nav>
<h1>My First Page</h1>
<section>
This is the content of my page
</section>
<footer>
&copy; to me
</footer>
</body>
</html>
```
## Inheritance
Layout inheritance is useful when you want to add something to an existing
layout for a portion of documents on your site. A common example of this is
blog posts, you might want a post to display the date and author but otherwise
be identical to your base layout.
To achieve this you need to create another layout which specifies your original
layout in front matter. For example this layout will live at
`_layouts/post.html`:
{% raw %}
```liquid
---
layout: default
---
<p>{{ page.date }} - Written by {{ page.author }}</p>
{{ content }}
```
{% endraw %}
Now posts can use this layout while the rest of the pages use the default.
## Variables
You can set front matter in layouts, the only difference is when you're
using in Liquid, you need to use the `layout` variable instead of `page`. For
example:
{% raw %}
```liquid
---
city: San Francisco
---
<p>{{ layout.city }}</p>
{{ content }}
```
{% endraw %}

19
docs/_docs/liquid.md Normal file
View File

@@ -0,0 +1,19 @@
---
title: Liquid
permalink: /docs/liquid/
redirect_from: "/docs/templates/"
---
Jekyll uses the [Liquid](https://shopify.github.io/liquid/) templating language
to process templates.
Generally in Liquid you output content using two curly braces e.g.
{% raw %}`{{ variable }}`{% endraw %} and perform logic statements by
surrounding them in a curly brace percentage sign e.g.
{% raw %}`{% if statement %}`{% endraw %}. To learn more about Liquid, check
out the [official Liquid Documentation](https://shopify.github.io/liquid/).
Jekyll provides a number of useful Liquid additions to help you build your site:
* [Filters]({{ '/docs/liquid/filters/' | relative_url }})
* [Tags]({{ '/docs/liquid/tags/' | relative_url }})

View File

@@ -0,0 +1,154 @@
---
title: Liquid Filters
permalink: "/docs/liquid/filters/"
shopify_filter_url: https://shopify.github.io/liquid/filters/
shopify_filters:
- abs
- append
- at_least
- at_most
- capitalize
- ceil
- compact
- concat
- date
- default
- divided_by
- downcase
- escape
- escape_once
- first
- floor
- join
- last
- lstrip
- map
- minus
- modulo
- newline_to_br
- plus
- prepend
- remove
- remove_first
- replace
- replace_first
- reverse
- round
- rstrip
- size
- slice
- sort
- sort_natural
- split
- strip
- strip_html
- strip_newlines
- times
- truncate
- truncatewords
- uniq
- upcase
- url_decode
- url_encode
---
All of the standard Liquid [filters](#standard-liquid-filters) are supported (see below).
To make common tasks easier, Jekyll even adds a few handy filters of its own,
all of which you can find on this page. You can also create your own filters
using [plugins](/docs/plugins/).
<div class="mobile-side-scroller">
<table>
<thead>
<tr>
<th>Description</th>
<th><span class="filter">Filter</span> and <span class="output">Output</span></th>
</tr>
</thead>
<tbody>
{% for filter in site.data.jekyll_filters %}
<tr>
<td>
<p id="{{ filter.name | slugify }}" class="name"><strong>{{ filter.name }}</strong></p>
<p>
{{- filter.description -}}
{%- if filter.version_badge %}
<span class="version-badge" title="This filter is available from version {{ filter.version_badge }}">
{{- filter.version_badge -}}
</span>
{% endif -%}
</p>
</td>
<td class="align-center">
{%- for example in filter.examples %}
<p><code class="filter">{{ example.input }}</code></p>
{% if example.output %}<p><code class="output">{{ example.output }}</code></p>{% endif %}
{% endfor -%}
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
### Options for the `slugify` filter
The `slugify` filter accepts an option, each specifying what to filter.
The default is `default`. They are as follows (with what they filter):
- `none`: no characters
- `raw`: spaces
- `default`: spaces and non-alphanumeric characters
- `pretty`: spaces and non-alphanumeric characters except for `._~!$&'()+,;=@`
- `ascii`: spaces, non-alphanumeric, and non-ASCII characters
- `latin`: like `default`, except Latin characters are first transliterated (e.g. `àèïòü` to `aeiou`) {%- include docs_version_badge.html version="3.7.0" -%}.
### Detecting `nil` values with `where` filter {%- include docs_version_badge.html version="4.0" -%}
You can use the `where` filter to detect documents and pages with properties that are `nil` or `""`. For example,
{% raw %}
```liquid
// Using `nil` to select posts that either do not have `my_prop`
// defined or `my_prop` has been set to `nil` explicitly.
{% assign filtered_posts = site.posts | where: 'my_prop', nil %}
```
{% endraw %}
{% raw %}
```liquid
// Using Liquid's special literal `empty` or `blank` to select
// posts that have `my_prop` set to an empty value.
{% assign filtered_posts = site.posts | where: 'my_prop', empty %}
```
{% endraw %}
### Binary operators in `where_exp` filter {%- include docs_version_badge.html version="4.0" -%}
You can use Liquid binary operators `or` and `and` in the expression passed to the `where_exp` filter to employ multiple
conditionals in the operation.
For example, to get a list of documents on English horror flicks, one could use the following snippet:
{% raw %}
```liquid
{{ site.movies | where_exp: "item", "item.genre == 'horror' and item.language == 'English'" }}
```
{% endraw %}
Or to get a list of comic-book based movies, one may use the following:
{% raw %}
```liquid
{{ site.movies | where_exp: "item", "item.sub_genre == 'MCU' or item.sub_genre == 'DCEU'" }}
```
{% endraw %}
### Standard Liquid Filters
For your convenience, here is the list of all [Liquid filters]({{ page.shopify_filter_url }}) with links to examples in the official Liquid documentation.
{% for filter in page.shopify_filters %}
- [{{ filter }}]({{ filter | prepend: page.shopify_filter_url | append: '/' }})
{% endfor %}

170
docs/_docs/liquid/tags.md Normal file
View File

@@ -0,0 +1,170 @@
---
title: Tags Filters
permalink: "/docs/liquid/tags/"
---
All of the standard Liquid
[tags](https://shopify.github.io/liquid/tags/control-flow/) are supported.
Jekyll has a few built in tags to help you build your site. You can also create
your own tags using [plugins]({{ '/docs/plugins/' | relative_url }}).
## Includes
If you have page snippets that you use repeatedly across your site, an
[include]({{ '/docs/includes/' | relative_url }}) is the perfect way to make this more maintainable.
## Code snippet highlighting
Jekyll has built in support for syntax highlighting of over 100 languages
thanks to [Rouge](http://rouge.jneen.net). Rouge is the default highlighter
in Jekyll 3 and above.
{: .note .warning}
Using Pygments has been deprecated and is not supported in
Jekyll 4; the configuration setting <code>highlighter: pygments</code>
now automatically falls back to using <em>Rouge</em> which is written in Ruby
and 100% compatible with stylesheets for Pygments.
To render a code block with syntax highlighting, surround your code as follows:
{% raw %}
```liquid
{% highlight ruby %}
def foo
puts 'foo'
end
{% endhighlight %}
```
{% endraw %}
The argument to the `highlight` tag (`ruby` in the example above) is the
language identifier. To find the appropriate identifier to use for the language
you want to highlight, look for the “short name” on the [Rouge
wiki](https://github.com/jayferd/rouge/wiki/List-of-supported-languages-and-lexers).
<div class="note">
<h5>Jekyll processes all Liquid filters in code blocks</h5>
<p>If you are using a language that contains curly braces, you
will likely need to place <code>{&#37; raw &#37;}</code> and
<code>{&#37; endraw &#37;}</code> tags around your code.
Since Jekyll {% include docs_version_badge.html version="4.0" %}, you can add <code>render_with_liquid: false</code> in your front matter to disable Liquid entirely for a particular document.</p>
</div>
### Line numbers
There is a second argument to `highlight` called `linenos` that is optional.
Including the `linenos` argument will force the highlighted code to include line
numbers. For instance, the following code block would include line numbers next
to each line:
{% raw %}
```liquid
{% highlight ruby linenos %}
def foo
puts 'foo'
end
{% endhighlight %}
```
{% endraw %}
### Stylesheets for syntax highlighting
In order for the highlighting to show up, youll need to include a highlighting
stylesheet. For Pygments or Rouge you can use a stylesheet for Pygments, you
can find an example gallery
[here](https://jwarby.github.io/jekyll-pygments-themes/languages/ruby.html)
or from [its repository](https://github.com/jwarby/jekyll-pygments-themes).
Copy the CSS file (`native.css` for example) into your css directory and import
the syntax highlighter styles into your `main.css`:
```css
@import "native.css";
```
## Links
{: .note}
Since Jekyll {% include docs_version_badge.html version="4.0"%}, you don't need to prepend `link` and `post_url` tags with `site.baseurl`.
### Linking to pages {#link}
To link to a post, a page, collection item, or file, the `link` tag will generate the correct permalink URL for the path you specify. For example, if you use the `link` tag to link to `mypage.html`, even if you change your permalink style to include the file extension or omit it, the URL formed by the `link` tag will always be valid.
You must include the file's original extension when using the `link` tag. Here are some examples:
{% raw %}
```liquid
{% link _collection/name-of-document.md %}
{% link _posts/2016-07-26-name-of-post.md %}
{% link news/index.html %}
{% link /assets/files/doc.pdf %}
```
{% endraw %}
You can also use the `link` tag to create a link in Markdown as follows:
{% raw %}
```liquid
[Link to a document]({% link _collection/name-of-document.md %})
[Link to a post]({% link _posts/2016-07-26-name-of-post.md %})
[Link to a page]({% link news/index.html %})
[Link to a file]({% link /assets/files/doc.pdf %})
```
{% endraw %}
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.
For example, suppose you're creating a link in `page_a.md` (stored in `pages/folder1/folder2`) to `page_b.md` (stored in `pages/folder1`). Your path in the link would not be `../page_b.html`. Instead, it would be `/pages/folder1/page_b.md`.
If you're unsure of the path, add {% raw %}`{{ page.path }}`{% endraw %} to the page and it will display the path.
One major benefit of using the `link` or `post_url` tag is link validation. If the link doesn't exist, Jekyll won't build your site. This is a good thing, as it will alert you to a broken link so you can fix it (rather than allowing you to build and deploy a site with broken links).
Note you cannot add filters to `link` tags. For example, you cannot append a string using Liquid filters, such as {% raw %}`{% link mypage.html | append: "#section1" %}`{% endraw %}. To link to sections on a page, you will need to use regular HTML or Markdown linking techniques.
The name of the file you want to link can be specified as a variable instead of an actual file name. For example, suppose you defined a variable in your page's front matter like this:
```yaml
---
title: My page
my_variable: footer_company_a.html
---
```
You could then reference that variable in your link:
{% raw %}
```liquid
{% link {{ page.my_variable }} %}
```
{% endraw %}
In this example, the `link` tag would render a link to the file `footer_company_a.html`.
### Linking to posts
If you want to include a link to a post on your site, the `post_url` tag will generate the correct permalink URL for the post you specify.
{% raw %}
```liquid
{% post_url 2010-07-21-name-of-post %}
```
{% endraw %}
If you organize your posts in subdirectories, you need to include subdirectory path to the post:
{% raw %}
```liquid
{% post_url /subdir/2010-07-21-name-of-post %}
```
{% endraw %}
There is no need to include the file extension when using the `post_url` tag.
You can also use this tag to create a link to a post in Markdown as follows:
{% raw %}
```liquid
[Name of Link]({% post_url 2010-07-21-name-of-post %})
```
{% endraw %}

View File

@@ -3,7 +3,7 @@ title: Affinity Team Captains
---
**This guide is for affinity team captains.** These special people are **team maintainers** of one of our [affinity teams][] and help triage and evaluate the issues and contributions of others. You may find what is written here interesting, but its definitely not for everyone.
{: .note .info }
{: .note .info}
## Affinity teams & their captains
@@ -17,11 +17,11 @@ Each affinity team has a few captains who manage the issues and pull requests fo
Just ask! Feel free to open an issue on `jekyll/jekyll` and add `/cc @jekyll/core`. We can add you. :smile:
Alternatively, you can email or otherwise reach out to [@parkr](https://github.com/parkr) directly if you prefer the more private route.
Alternatively, you can email or otherwise reach out to [@oe](https://github.com/oe) directly if you prefer the more private route.
## Ugh, I'm tired and don't have time to be a captain anymore. What now?
No sweat at all! Email [@parkr](https://github.com/parkr) and ask to be removed. Alternatively, you should be able to go to your team's page on GitHub.com (go to https://github.com/jekyll, click "Teams", click the link to your team) and change your status to either "member" or leave the team.
No sweat at all! Email [@oe](https://github.com/oe) and ask to be removed. Alternatively, you should be able to go to your team's page on GitHub.com (go to https://github.com/jekyll, click "Teams", click the link to your team) and change your status to either "member" or leave the team.
We realize that being a captain is no easy feat so we want to make it a great experience. As always, communicate as much as you can with us about what is working, and what isn't. Thanks for dedicating some time to Jekyll! :sparkles:

View File

@@ -3,7 +3,7 @@ title: "Avoiding Burnout"
---
**This guide is for maintainers.** These special people have **write access** to one or more of Jekyll's repositories and help merge the contributions of others. You may find what is written here interesting, but its definitely not for everyone.
{: .note .info }
{: .note .info}
# 1. Use Jekyll

View File

@@ -3,7 +3,7 @@ title: "Becoming a Maintainer"
---
**This guide is for contributors.** These special people have contributed to one or more of Jekyll's repositories, but do not yet have write access to any. You may find what is written here interesting, but its definitely not for everyone.
{: .note .info }
{: .note .info}
So you want to become a maintainer of a Jekyll project? We'd love to have you! Here are some things we like to see from community members before we promote them to maintainers.

View File

@@ -4,7 +4,7 @@ permalink: /docs/maintaining/
---
**This guide is for Jekyll contributors and maintainers.** These special people contribute to one or more of Jekyll's repositories or help merge the contributions of others. You may find what is written here interesting, but its definitely not for everyone.
{: .note .info }
{: .note .info}
Hello! This is where we document various processes for maintaining Jekyll. Being a maintainer for any Jekyll project is a big responsibility, so we put together some helpful documentation for various tasks you might do as a maintainer.

View File

@@ -3,11 +3,11 @@ title: "Merging a Pull Request"
---
**This guide is for maintainers.** These special people have **write access** to one or more of Jekyll's repositories and help merge the contributions of others. You may find what is written here interesting, but its definitely not for everyone.
{: .note .info }
{: .note .info}
## Code Review
All pull requests should be subject to code review. Code review is a [foundational value](https://blog.fullstory.com/what-we-learned-from-google-code-reviews-arent-just-for-catching-bugs-b125a13aa292) of good engineering teams. Besides providing validation of correctness, it promotes a sense of community and gives other maintainers understanding of all parts of the code base. In short, code review is crucial to a healthy open source project.
All pull requests should be subject to code review. Code review is a [foundational value](https://blog.fullstory.com/what-we-learned-from-google-code-reviews-arent-just-for-catching-bugs/) of good engineering teams. Besides providing validation of correctness, it promotes a sense of community and gives other maintainers understanding of all parts of the code base. In short, code review is crucial to a healthy open source project.
**Read our guide for [Reviewing a pull request](../reviewing-a-pull-request) before merging.** Notably, the change must have tests if for code, and at least two maintainers must give it an OK.
@@ -20,7 +20,7 @@ We have [a helpful little bot](https://github.com/jekyllbot) which we use to mer
To merge a pull request, leave a comment thanking the contributor, then add the special merge request:
```text
```
Thank you very much for your contribution. Folks like you make this project and community strong. :heart:
@jekyllbot: merge +dev

View File

@@ -3,7 +3,7 @@ title: "Releasing a new version"
---
**This guide is for maintainers.** These special people have **write access** to one or more of Jekyll's repositories and help merge the contributions of others. You may find what is written here interesting, but its definitely not for everyone.
{: .note .info }
{: .note .info}
The most important thing to understand before making a release is that there's no need to feel nervous. Most things are revertable, and even if you do publish an incomplete gem version, we can always skip that one. Don't hestitate to contact the other maintainers if you feel unsure or don't know what to do next.

View File

@@ -3,7 +3,7 @@ title: "Reviewing a Pull Request"
---
**This guide is for maintainers.** These special people have **write access** to one or more of Jekyll's repositories and help merge the contributions of others. You may find what is written here interesting, but its definitely not for everyone.
{: .note .info }
{: .note .info}
## Respond Kindly

View File

@@ -3,7 +3,7 @@ title: "Special Labels"
---
**This guide is for maintainers.** These special people have **write access** to one or more of Jekyll's repositories and help merge the contributions of others. You may find what is written here interesting, but its definitely not for everyone.
{: .note .info }
{: .note .info}
We use a series of "special labels" on GitHub.com to automate handling of some parts of the pull request and issue process. @jekyllbot may automatically apply or remove certain labels based on actions taken by users or maintainers. Below are the labels and how they work:

View File

@@ -3,7 +3,7 @@ title: "Triaging an Issue"
---
**This guide is for maintainers.** These special people have **write access** to one or more of Jekyll's repositories and help merge the contributions of others. You may find what is written here interesting, but its definitely not for everyone.
{: .note .info }
{: .note .info}
Before evaluating an issue, it is important to identify if it is a feature
request or a bug. For the Jekyll project the following definitions are used
@@ -51,4 +51,4 @@ Is what they wanted to get something we want to happen? Sometimes a bug report i
### Staleness and automatic closure
@jekyllbot will automatically mark issues as `stale` if no activity occurs for at least one month. @jekyllbot leaves a comment asking for information about reproducibility in current versions. If no one responds after another month, the issue is automatically closed. This behaviour can be suppressed by setting the [`pinned` label](../maintaining/special-labels.md/#pinned).
@jekyllbot will automatically mark issues as `stale` if no activity occurs for at least one month. @jekyllbot leaves a comment asking for information about reproducibility in current versions. If no one responds after another month, the issue is automatically closed. This behavior can be suppressed by setting the [`pinned` label](/docs/maintaining/special-labels/#pinned).

Some files were not shown because too many files have changed in this diff Show More