mirror of
https://github.com/jekyll/jekyll.git
synced 2026-04-28 03:01:03 -04:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
65adc8dbed |
@@ -1,55 +0,0 @@
|
||||
#-------------------------------------------------------------------------------------------------------------
|
||||
# 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:3.0
|
||||
|
||||
# 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_18.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
|
||||
@@ -1,26 +0,0 @@
|
||||
// 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 3",
|
||||
"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
1
.gitattributes
vendored
@@ -1 +0,0 @@
|
||||
* text=auto
|
||||
2
.github/CODEOWNERS
vendored
2
.github/CODEOWNERS
vendored
@@ -65,6 +65,8 @@
|
||||
# @jekyll/stability
|
||||
Gemfile @jekyll/stability
|
||||
*.gemspec @jekyll/stability
|
||||
.travis.yml @jekyll/stability
|
||||
appveyor.yml @jekyll/stability
|
||||
/lib/jekyll/configuration.rb @jekyll/stability
|
||||
/lib/jekyll/deprecator.rb @jekyll/stability
|
||||
/lib/jekyll/frontmatter_defaults.rb @jekyll/stability
|
||||
|
||||
49
.github/CONTRIBUTING.markdown
vendored
49
.github/CONTRIBUTING.markdown
vendored
@@ -10,24 +10,24 @@ See the [support guidelines](https://jekyllrb.com/docs/support/)
|
||||
|
||||
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 workaround? 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.
|
||||
|
||||
- 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
|
||||
|
||||
@@ -76,12 +76,11 @@ 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
|
||||
@@ -102,21 +101,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)
|
||||
* 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
|
||||
|
||||
@@ -149,10 +148,6 @@ 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!
|
||||
|
||||
2
.github/FUNDING.yml
vendored
2
.github/FUNDING.yml
vendored
@@ -1,5 +1,5 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
# github: jekyll
|
||||
github: [ashmaroli, DirtyF, mattr-]
|
||||
open_collective: jekyll
|
||||
tidelift: rubygems/jekyll
|
||||
|
||||
71
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
71
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal 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.
|
||||
-->
|
||||
104
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
104
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -1,104 +0,0 @@
|
||||
name: Bug Report
|
||||
description: "Is something not working as expected?"
|
||||
title: "[Bug]: "
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Hi! Thank you for taking the time to report a bug with Jekyll.
|
||||
|
||||
Please consider asking your question at https://talk.jekyllrb.com if one or more of the following is applicable to your situation:
|
||||
|
||||
- You are not sure if the issue is a bug in Jekyll.
|
||||
- The issue is caused by a third-party plugin.
|
||||
- This is just a generic usage question.
|
||||
|
||||
Additionally, please note that this platform is meant for bugs in Jekyll core only.
|
||||
Issues regarding dependencies and plugins should be reported in their respective repositories.
|
||||
- type: input
|
||||
id: os
|
||||
attributes:
|
||||
label: Operating System
|
||||
description: The operating system of your computer.
|
||||
placeholder: "Ubuntu 21.10"
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: ruby-version
|
||||
attributes:
|
||||
label: Ruby Version
|
||||
description: |
|
||||
The Ruby version you were using at the time.
|
||||
Run `ruby -v` in your terminal and paste the output in the input field.
|
||||
placeholder: "ruby 2.7.3p183 (2021-04-05 revision 6847ee089d) [x64-mingw32]"
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: jekyll-version
|
||||
attributes:
|
||||
label: Jekyll Version
|
||||
description: |
|
||||
The version of Jekyll used in your project.
|
||||
Run `bundle exec jekyll -v` and paste the output in the input field.
|
||||
*If you are not using a Gemfile, run `jekyll -v` instead.*
|
||||
placeholder: "jekyll 4.2.1"
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: ghp-version
|
||||
attributes:
|
||||
label: GitHub Pages Version
|
||||
description: |
|
||||
Are you deploying your site using GitHub Pages?
|
||||
If yes, then we need to know the `github-pages` version used by your project. Proceed ahead otherwise.
|
||||
If you're using the `github-pages` gem in your Gemfile, paste the output from running the following:
|
||||
```
|
||||
bundle exec github-pages -v
|
||||
```
|
||||
Otherwise, enter `Latest` in the input field and proceed ahead.
|
||||
- type: textarea
|
||||
id: expected
|
||||
attributes:
|
||||
label: Expected Behavior
|
||||
description: Briefly describe what you expected to see or get with a certain functionality.
|
||||
placeholder: |
|
||||
I expected my site to be built successfully when I run the following:
|
||||
```
|
||||
bundle exec jekyll build
|
||||
```
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: actual
|
||||
attributes:
|
||||
label: Current Behavior
|
||||
description: >
|
||||
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 configured for use in the site.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: logs
|
||||
attributes:
|
||||
label: Relevant log output
|
||||
description: |
|
||||
Please copy and paste any relevant log output from your terminal.
|
||||
*Note: This will be automatically formatted into code, so no need for backticks.*
|
||||
render: shell
|
||||
- type: textarea
|
||||
id: sample
|
||||
attributes:
|
||||
label: Code Sample
|
||||
description: >
|
||||
The easiest way for someone to understand an issue is if they could reproduce your issue
|
||||
in their environment. Therefore, please provide a link to your project repository alongwith
|
||||
instructions to reproduce your issue. If your project is not publicly accessible, please
|
||||
consider setting up a minimal test repository complete with necessary instructions.
|
||||
placeholder: |
|
||||
### Steps to reproduce issue
|
||||
|
||||
- Clone [my repo](https://github.com/owner/repo)
|
||||
- Install site dependencies
|
||||
- Run `bundle exec jekyll build -s src -d src/dist`
|
||||
5
.github/ISSUE_TEMPLATE/config.yml
vendored
5
.github/ISSUE_TEMPLATE/config.yml
vendored
@@ -1,5 +0,0 @@
|
||||
blank_issues_enabled: true
|
||||
contact_links:
|
||||
- name: Jekyll Community Forum
|
||||
url: https://talk.jekyllrb.com/
|
||||
about: Please ask and answer questions here.
|
||||
4
.github/ISSUE_TEMPLATE/documentation.md
vendored
4
.github/ISSUE_TEMPLATE/documentation.md
vendored
@@ -1,9 +1,9 @@
|
||||
---
|
||||
name: Documentation
|
||||
about: Found a typo or something that isn't crystal clear in our docs?
|
||||
title: '[Docs]: '
|
||||
title: 'docs: '
|
||||
labels: documentation
|
||||
assignees: ''
|
||||
assignees: DirtyF
|
||||
|
||||
---
|
||||
|
||||
|
||||
2
.github/ISSUE_TEMPLATE/feature_request.md
vendored
2
.github/ISSUE_TEMPLATE/feature_request.md
vendored
@@ -27,7 +27,7 @@ assignees: ''
|
||||
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/),
|
||||
particularly Section 5. Think about if 90% of the users would benefit from your
|
||||
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.
|
||||
-->
|
||||
|
||||
|
||||
15
.github/ISSUE_TEMPLATE/question.md
vendored
Normal file
15
.github/ISSUE_TEMPLATE/question.md
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
name: Question
|
||||
about: Have any questions about how Jekyll works?
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
<!--
|
||||
The Jekyll issue tracker IS NOT for usage questions! Please post your
|
||||
question on our dedicated forum at https://talk.jekyllrb.com.
|
||||
|
||||
Thank you!
|
||||
-->
|
||||
1
.github/PULL_REQUEST_TEMPLATE.md
vendored
1
.github/PULL_REQUEST_TEMPLATE.md
vendored
@@ -12,7 +12,6 @@
|
||||
<!-- 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
|
||||
|
||||
32
.github/SECURITY.markdown
vendored
32
.github/SECURITY.markdown
vendored
@@ -1,32 +0,0 @@
|
||||
# Security Policy
|
||||
|
||||
## Supported Versions
|
||||
|
||||
Security updates are applied to the latest MINOR version of Jekyll, and the version used by GitHub Pages, v3.10.x.
|
||||
|
||||
| Version | Supported |
|
||||
| ------- | ------------------ |
|
||||
| 4.4.x | :white_check_mark: |
|
||||
| 3.10.x | :white_check_mark: |
|
||||
| < 3.10.x | :x: |
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
Please report vulnerabilities by sending an email to security@jekyllrb.com with the following information:
|
||||
|
||||
1. A description of the vulnerability
|
||||
2. Reproduction steps and/or a sample site (share a private repo to the [Jekyll Security Team](docs/pages/team.md))
|
||||
3. Your contact information
|
||||
|
||||
The Jekyll security team will respond to your submission and notify you whether it has been confirmed by the team.
|
||||
Your confidentiality is kindly requested as we work on a fix. We will provide our patch to you to test and verify that the vulnerability has
|
||||
been closed.
|
||||
|
||||
If you have created a patch and would like to submit that to us as well, we will happily consider it though we cannot guarantee that we will
|
||||
use it. If we use your patch, we will attribute authorship to you either as the commit author, or as a co-author.
|
||||
|
||||
Once a fix is verified, we will release PATCH versions of the supported MINOR versions and assign a CVE to the vulnerability. You will receive
|
||||
credit in our release post.
|
||||
|
||||
Once the patched version has been released, we will no longer request you to maintain confidentiality and you may choose to share details on
|
||||
how you found the vulnerability with the community.
|
||||
17
.github/actions/spelling/README.md
vendored
17
.github/actions/spelling/README.md
vendored
@@ -1,17 +0,0 @@
|
||||
# check-spelling/check-spelling configuration
|
||||
|
||||
File | Purpose | Format | Info
|
||||
-|-|-|-
|
||||
[dictionary.txt](dictionary.txt) | Replacement dictionary (creating this file will override the default dictionary) | one word per line | [dictionary](https://github.com/check-spelling/check-spelling/wiki/Configuration#dictionary)
|
||||
[allow.txt](allow.txt) | Add words to the dictionary | one word per line (only letters and `'`s allowed) | [allow](https://github.com/check-spelling/check-spelling/wiki/Configuration#allow)
|
||||
[reject.txt](reject.txt) | Remove words from the dictionary (after allow) | grep pattern matching whole dictionary words | [reject](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-reject)
|
||||
[excludes.txt](excludes.txt) | Files to ignore entirely | perl regular expression | [excludes](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-excludes)
|
||||
[only.txt](only.txt) | Only check matching files (applied after excludes) | perl regular expression | [only](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-only)
|
||||
[patterns.txt](patterns.txt) | Patterns to ignore from checked lines | perl regular expression (order matters, first match wins) | [patterns](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-patterns)
|
||||
[candidate.patterns](candidate.patterns) | Patterns that might be worth adding to [patterns.txt](patterns.txt) | perl regular expression with optional comment block introductions (all matches will be suggested) | [candidates](https://github.com/check-spelling/check-spelling/wiki/Feature:-Suggest-patterns)
|
||||
[line_forbidden.patterns](line_forbidden.patterns) | Patterns to flag in checked lines | perl regular expression (order matters, first match wins) | [patterns](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-patterns)
|
||||
[expect.txt](expect.txt) | Expected words that aren't in the dictionary | one word per line (sorted, alphabetically) | [expect](https://github.com/check-spelling/check-spelling/wiki/Configuration#expect)
|
||||
[advice.md](advice.md) | Supplement for GitHub comment when unrecognized words are found | GitHub Markdown | [advice](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-advice)
|
||||
|
||||
Note: you can replace any of these files with a directory by the same name (minus the suffix)
|
||||
and then include multiple files inside that directory (with that suffix) to merge multiple files together.
|
||||
25
.github/actions/spelling/advice.md
vendored
25
.github/actions/spelling/advice.md
vendored
@@ -1,25 +0,0 @@
|
||||
<!-- See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-advice --> <!-- markdownlint-disable MD033 MD041 -->
|
||||
<details><summary>If the flagged items are :exploding_head: false positives</summary>
|
||||
|
||||
If items relate to a ...
|
||||
* binary file (or some other file you wouldn't want to check at all).
|
||||
|
||||
Please add a file path to the `excludes.txt` file matching the containing file.
|
||||
|
||||
File paths are Perl 5 Regular Expressions - you can [test](
|
||||
https://www.regexplanet.com/advanced/perl/) yours before committing to verify it will match your files.
|
||||
|
||||
`^` refers to the file's path from the root of the repository, so `^README\.md$` would exclude [README.md](
|
||||
../tree/HEAD/README.md) (on whichever branch you're using).
|
||||
|
||||
* well-formed pattern.
|
||||
|
||||
If you can write a [pattern](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns) that would match it,
|
||||
try adding it to the `patterns.txt` file.
|
||||
|
||||
Patterns are Perl 5 Regular Expressions - you can [test](
|
||||
https://www.regexplanet.com/advanced/perl/) yours before committing to verify it will match your lines.
|
||||
|
||||
Note that patterns can't match multiline strings.
|
||||
|
||||
</details>
|
||||
19
.github/actions/spelling/allow.txt
vendored
19
.github/actions/spelling/allow.txt
vendored
@@ -1,19 +0,0 @@
|
||||
azion
|
||||
builtins
|
||||
github
|
||||
hakiri
|
||||
https
|
||||
Linting
|
||||
Microsoft
|
||||
ssh
|
||||
Statictastic
|
||||
statictastic
|
||||
supranode
|
||||
ubuntu
|
||||
Wikipedia
|
||||
workaround
|
||||
workaround
|
||||
workarounds
|
||||
WSL
|
||||
decapcms
|
||||
tina
|
||||
520
.github/actions/spelling/candidate.patterns
vendored
520
.github/actions/spelling/candidate.patterns
vendored
@@ -1,520 +0,0 @@
|
||||
# marker to ignore all code on line
|
||||
^.*/\* #no-spell-check-line \*/.*$
|
||||
# marker for ignoring a comment to the end of the line
|
||||
// #no-spell-check.*$
|
||||
|
||||
# patch hunk comments
|
||||
^\@\@ -\d+(?:,\d+|) \+\d+(?:,\d+|) \@\@ .*
|
||||
# git index header
|
||||
index [0-9a-z]{7,40}\.\.[0-9a-z]{7,40}
|
||||
|
||||
# cid urls
|
||||
(['"])cid:.*?\g{-1}
|
||||
|
||||
# data url in parens
|
||||
\(data:[^)]*?(?:[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})[^)]*\)
|
||||
# data url in quotes
|
||||
([`'"])data:.*?(?:[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,}).*\g{-1}
|
||||
# data url
|
||||
data:[-a-zA-Z=;:/0-9+]*,\S*
|
||||
|
||||
# mailto urls
|
||||
mailto:[-a-zA-Z=;:/?%&0-9+@.]{3,}
|
||||
|
||||
# magnet urls
|
||||
magnet:[?=:\w]+
|
||||
|
||||
# magnet urls
|
||||
"magnet:[^"]+"
|
||||
|
||||
# obs:
|
||||
"obs:[^"]*"
|
||||
|
||||
# The `\b` here means a break, it's the fancy way to handle urls, but it makes things harder to read
|
||||
# In this examples content, I'm using a number of different ways to match things to show various approaches
|
||||
# asciinema
|
||||
\basciinema\.org/a/[0-9a-zA-Z]+
|
||||
|
||||
# apple
|
||||
\bdeveloper\.apple\.com/[-\w?=/]+
|
||||
# Apple music
|
||||
\bembed\.music\.apple\.com/fr/playlist/usr-share/[-\w.]+
|
||||
|
||||
# appveyor api
|
||||
\bci\.appveyor\.com/api/projects/status/[0-9a-z]+
|
||||
# appveyor project
|
||||
\bci\.appveyor\.com/project/(?:[^/\s"]*/){2}builds?/\d+/job/[0-9a-z]+
|
||||
|
||||
# Amazon
|
||||
|
||||
# Amazon
|
||||
\bamazon\.com/[-\w]+/(?:dp/[0-9A-Z]+|)
|
||||
# AWS S3
|
||||
\b\w*\.s3[^.]*\.amazonaws\.com/[-\w/&#%_?:=]*
|
||||
# AWS execute-api
|
||||
\b[0-9a-z]{10}\.execute-api\.[-0-9a-z]+\.amazonaws\.com\b
|
||||
# AWS ELB
|
||||
\b\w+\.[-0-9a-z]+\.elb\.amazonaws\.com\b
|
||||
# AWS SNS
|
||||
\bsns\.[-0-9a-z]+.amazonaws\.com/[-\w/&#%_?:=]*
|
||||
# AWS VPC
|
||||
vpc-\w+
|
||||
|
||||
# While you could try to match `http://` and `https://` by using `s?` in `https?://`, sometimes there
|
||||
# YouTube url
|
||||
\b(?:(?:www\.|)youtube\.com|youtu.be)/(?:channel/|embed/|user/|playlist\?list=|watch\?v=|v/|)[-a-zA-Z0-9?&=_%]*
|
||||
# YouTube music
|
||||
\bmusic\.youtube\.com/youtubei/v1/browse(?:[?&]\w+=[-a-zA-Z0-9?&=_]*)
|
||||
# YouTube tag
|
||||
<\s*youtube\s+id=['"][-a-zA-Z0-9?_]*['"]
|
||||
# YouTube image
|
||||
\bimg\.youtube\.com/vi/[-a-zA-Z0-9?&=_]*
|
||||
# Google Accounts
|
||||
\baccounts.google.com/[-_/?=.:;+%&0-9a-zA-Z]*
|
||||
# Google Analytics
|
||||
\bgoogle-analytics\.com/collect.[-0-9a-zA-Z?%=&_.~]*
|
||||
# Google APIs
|
||||
\bgoogleapis\.(?:com|dev)/[a-z]+/(?:v\d+/|)[a-z]+/[-@:./?=\w+|&]+
|
||||
# Google Storage
|
||||
\b[-a-zA-Z0-9.]*\bstorage\d*\.googleapis\.com(?:/\S*|)
|
||||
# Google Calendar
|
||||
\bcalendar\.google\.com/calendar(?:/u/\d+|)/embed\?src=[@./?=\w&%]+
|
||||
\w+\@group\.calendar\.google\.com\b
|
||||
# Google DataStudio
|
||||
\bdatastudio\.google\.com/(?:(?:c/|)u/\d+/|)(?:embed/|)(?:open|reporting|datasources|s)/[-0-9a-zA-Z]+(?:/page/[-0-9a-zA-Z]+|)
|
||||
# The leading `/` here is as opposed to the `\b` above
|
||||
# ... a short way to match `https://` or `http://` since most urls have one of those prefixes
|
||||
# Google Docs
|
||||
/docs\.google\.com/[a-z]+/(?:ccc\?key=\w+|(?:u/\d+|d/(?:e/|)[0-9a-zA-Z_-]+/)?(?:edit\?[-\w=#.]*|/\?[\w=&]*|))
|
||||
# Google Drive
|
||||
\bdrive\.google\.com/(?:file/d/|open)[-0-9a-zA-Z_?=]*
|
||||
# Google Groups
|
||||
\bgroups\.google\.com/(?:(?:forum/#!|d/)(?:msg|topics?|searchin)|a)/[^/\s"]+/[-a-zA-Z0-9$]+(?:/[-a-zA-Z0-9]+)*
|
||||
# Google Maps
|
||||
\bmaps\.google\.com/maps\?[\w&;=]*
|
||||
# Google themes
|
||||
themes\.googleusercontent\.com/static/fonts/[^/\s"]+/v\d+/[^.]+.
|
||||
# Google CDN
|
||||
\bclients2\.google(?:usercontent|)\.com[-0-9a-zA-Z/.]*
|
||||
# Goo.gl
|
||||
/goo\.gl/[a-zA-Z0-9]+
|
||||
# Google Chrome Store
|
||||
\bchrome\.google\.com/webstore/detail/[-\w]*(?:/\w*|)
|
||||
# Google Books
|
||||
\bgoogle\.(?:\w{2,4})/books(?:/\w+)*\?[-\w\d=&#.]*
|
||||
# Google Fonts
|
||||
\bfonts\.(?:googleapis|gstatic)\.com/[-/?=:;+&0-9a-zA-Z]*
|
||||
# Google Forms
|
||||
\bforms\.gle/\w+
|
||||
# Google Scholar
|
||||
\bscholar\.google\.com/citations\?user=[A-Za-z0-9_]+
|
||||
# Google Colab Research Drive
|
||||
\bcolab\.research\.google\.com/drive/[-0-9a-zA-Z_?=]*
|
||||
|
||||
# GitHub SHAs (api)
|
||||
\bapi.github\.com/repos(?:/[^/\s"]+){3}/[0-9a-f]+\b
|
||||
# GitHub SHAs (markdown)
|
||||
(?:\[`?[0-9a-f]+`?\]\(https:/|)/(?:www\.|)github\.com(?:/[^/\s"]+){2,}(?:/[^/\s")]+)(?:[0-9a-f]+(?:[-0-9a-zA-Z/#.]*|)\b|)
|
||||
# GitHub SHAs
|
||||
\bgithub\.com(?:/[^/\s"]+){2}[@#][0-9a-f]+\b
|
||||
# GitHub wiki
|
||||
\bgithub\.com/(?:[^/]+/){2}wiki/(?:(?:[^/]+/|)_history|[^/]+(?:/_compare|)/[0-9a-f.]{40,})\b
|
||||
# githubusercontent
|
||||
/[-a-z0-9]+\.githubusercontent\.com/[-a-zA-Z0-9?&=_\/.]*
|
||||
# githubassets
|
||||
\bgithubassets.com/[0-9a-f]+(?:[-/\w.]+)
|
||||
# gist github
|
||||
\bgist\.github\.com/[^/\s"]+/[0-9a-f]+
|
||||
# git.io
|
||||
\bgit\.io/[0-9a-zA-Z]+
|
||||
# GitHub JSON
|
||||
"node_id": "[-a-zA-Z=;:/0-9+]*"
|
||||
# Contributor
|
||||
\[[^\]]+\]\(https://github\.com/[^/\s"]+\)
|
||||
# GHSA
|
||||
GHSA(?:-[0-9a-z]{4}){3}
|
||||
|
||||
# GitLab commit
|
||||
\bgitlab\.[^/\s"]*/\S+/\S+/commit/[0-9a-f]{7,16}#[0-9a-f]{40}\b
|
||||
# GitLab merge requests
|
||||
\bgitlab\.[^/\s"]*/\S+/\S+/-/merge_requests/\d+/diffs#[0-9a-f]{40}\b
|
||||
# GitLab uploads
|
||||
\bgitlab\.[^/\s"]*/uploads/[-a-zA-Z=;:/0-9+]*
|
||||
# GitLab commits
|
||||
\bgitlab\.[^/\s"]*/(?:[^/\s"]+/){2}commits?/[0-9a-f]+\b
|
||||
|
||||
# binanace
|
||||
accounts.binance.com/[a-z/]*oauth/authorize\?[-0-9a-zA-Z&%]*
|
||||
|
||||
# bitbucket diff
|
||||
\bapi\.bitbucket\.org/\d+\.\d+/repositories/(?:[^/\s"]+/){2}diff(?:stat|)(?:/[^/\s"]+){2}:[0-9a-f]+
|
||||
# bitbucket repositories commits
|
||||
\bapi\.bitbucket\.org/\d+\.\d+/repositories/(?:[^/\s"]+/){2}commits?/[0-9a-f]+
|
||||
# bitbucket commits
|
||||
\bbitbucket\.org/(?:[^/\s"]+/){2}commits?/[0-9a-f]+
|
||||
|
||||
# bit.ly
|
||||
\bbit\.ly/\w+
|
||||
|
||||
# bitrise
|
||||
\bapp\.bitrise\.io/app/[0-9a-f]*/[\w.?=&]*
|
||||
|
||||
# bootstrapcdn.com
|
||||
\bbootstrapcdn\.com/[-./\w]+
|
||||
|
||||
# cdn.cloudflare.com
|
||||
\bcdnjs\.cloudflare\.com/[./\w]+
|
||||
|
||||
# circleci
|
||||
\bcircleci\.com/gh(?:/[^/\s"]+){1,5}.[a-z]+\?[-0-9a-zA-Z=&]+
|
||||
|
||||
# gitter
|
||||
\bgitter\.im(?:/[^/\s"]+){2}\?at=[0-9a-f]+
|
||||
|
||||
# gravatar
|
||||
\bgravatar\.com/avatar/[0-9a-f]+
|
||||
|
||||
# ibm
|
||||
[a-z.]*ibm\.com/[-_#=:%!?~.\\/\d\w]*
|
||||
|
||||
# imgur
|
||||
\bimgur\.com/[^.]+
|
||||
|
||||
# Internet Archive
|
||||
\barchive\.org/web/\d+/(?:[-\w.?,'/\\+&%$#_:]*)
|
||||
|
||||
# discord
|
||||
/discord(?:app\.com|\.gg)/(?:invite/)?[a-zA-Z0-9]{7,}
|
||||
|
||||
# Disqus
|
||||
\bdisqus\.com/[-\w/%.()!?&=_]*
|
||||
|
||||
# medium link
|
||||
\blink\.medium\.com/[a-zA-Z0-9]+
|
||||
# medium
|
||||
\bmedium\.com/\@?[^/\s"]+/[-\w]+
|
||||
|
||||
# microsoft
|
||||
\b(?:https?://|)(?:(?:download\.visualstudio|docs|msdn2?|research)\.microsoft|blogs\.msdn)\.com/[-_a-zA-Z0-9()=./%]*
|
||||
# powerbi
|
||||
\bapp\.powerbi\.com/reportEmbed/[^"' ]*
|
||||
# vs devops
|
||||
\bvisualstudio.com(?::443|)/[-\w/?=%&.]*
|
||||
# microsoft store
|
||||
\bmicrosoft\.com/store/apps/\w+
|
||||
|
||||
# mvnrepository.com
|
||||
\bmvnrepository\.com/[-0-9a-z./]+
|
||||
|
||||
# now.sh
|
||||
/[0-9a-z-.]+\.now\.sh\b
|
||||
|
||||
# oracle
|
||||
\bdocs\.oracle\.com/[-0-9a-zA-Z./_?#&=]*
|
||||
|
||||
# chromatic.com
|
||||
/\S+.chromatic.com\S*[")]
|
||||
|
||||
# codacy
|
||||
\bapi\.codacy\.com/project/badge/Grade/[0-9a-f]+
|
||||
|
||||
# compai
|
||||
\bcompai\.pub/v1/png/[0-9a-f]+
|
||||
|
||||
# mailgun api
|
||||
\.api\.mailgun\.net/v3/domains/[0-9a-z]+\.mailgun.org/messages/[0-9a-zA-Z=@]*
|
||||
# mailgun
|
||||
\b[0-9a-z]+.mailgun.org
|
||||
|
||||
# /message-id/
|
||||
/message-id/[-\w@./%]+
|
||||
|
||||
# Reddit
|
||||
\breddit\.com/r/[/\w_]*
|
||||
|
||||
# requestb.in
|
||||
\brequestb\.in/[0-9a-z]+
|
||||
|
||||
# sched
|
||||
\b[a-z0-9]+\.sched\.com\b
|
||||
|
||||
# Slack url
|
||||
slack://[a-zA-Z0-9?&=]+
|
||||
# Slack
|
||||
\bslack\.com/[-0-9a-zA-Z/_~?&=.]*
|
||||
# Slack edge
|
||||
\bslack-edge\.com/[-a-zA-Z0-9?&=%./]+
|
||||
# Slack images
|
||||
\bslack-imgs\.com/[-a-zA-Z0-9?&=%.]+
|
||||
|
||||
# shields.io
|
||||
\bshields\.io/[-\w/%?=&.:+;,]*
|
||||
|
||||
# stackexchange -- https://stackexchange.com/feeds/sites
|
||||
\b(?:askubuntu|serverfault|stack(?:exchange|overflow)|superuser).com/(?:questions/\w+/[-\w]+|a/)
|
||||
|
||||
# Sentry
|
||||
[0-9a-f]{32}\@o\d+\.ingest\.sentry\.io\b
|
||||
|
||||
# Twitter markdown
|
||||
\[\@[^[/\]:]*?\]\(https://twitter.com/[^/\s"')]*(?:/status/\d+(?:\?[-_0-9a-zA-Z&=]*|)|)\)
|
||||
# Twitter hashtag
|
||||
\btwitter\.com/hashtag/[\w?_=&]*
|
||||
# Twitter status
|
||||
\btwitter\.com/[^/\s"')]*(?:/status/\d+(?:\?[-_0-9a-zA-Z&=]*|)|)
|
||||
# Twitter profile images
|
||||
\btwimg\.com/profile_images/[_\w./]*
|
||||
# Twitter media
|
||||
\btwimg\.com/media/[-_\w./?=]*
|
||||
# Twitter link shortened
|
||||
\bt\.co/\w+
|
||||
|
||||
# facebook
|
||||
\bfburl\.com/[0-9a-z_]+
|
||||
# facebook CDN
|
||||
\bfbcdn\.net/[\w/.,]*
|
||||
# facebook watch
|
||||
\bfb\.watch/[0-9A-Za-z]+
|
||||
|
||||
# dropbox
|
||||
\bdropbox\.com/sh?/[^/\s"]+/[-0-9A-Za-z_.%?=&;]+
|
||||
|
||||
# ipfs protocol
|
||||
ipfs://[0-9a-z]*
|
||||
# ipfs url
|
||||
/ipfs/[0-9a-z]*
|
||||
|
||||
# w3
|
||||
\bw3\.org/[-0-9a-zA-Z/#.]+
|
||||
|
||||
# loom
|
||||
\bloom\.com/embed/[0-9a-f]+
|
||||
|
||||
# regex101
|
||||
\bregex101\.com/r/[^/\s"]+/\d+
|
||||
|
||||
# figma
|
||||
\bfigma\.com/file(?:/[0-9a-zA-Z]+/)+
|
||||
|
||||
# freecodecamp.org
|
||||
\bfreecodecamp\.org/[-\w/.]+
|
||||
|
||||
# image.tmdb.org
|
||||
\bimage\.tmdb\.org/[/\w.]+
|
||||
|
||||
# mermaid
|
||||
\bmermaid\.ink/img/[-\w]+|\bmermaid-js\.github\.io/mermaid-live-editor/#/edit/[-\w]+
|
||||
|
||||
# Wikipedia
|
||||
\ben\.wikipedia\.org/wiki/[-\w%.#]+
|
||||
|
||||
# gitweb
|
||||
[^"\s]+/gitweb/\S+;h=[0-9a-f]+
|
||||
|
||||
# HyperKitty lists
|
||||
/archives/list/[^@/]+\@[^/\s"]*/message/[^/\s"]*/
|
||||
|
||||
# lists
|
||||
/thread\.html/[^"\s]+
|
||||
|
||||
# list-management
|
||||
\blist-manage\.com/subscribe(?:[?&](?:u|id)=[0-9a-f]+)+
|
||||
|
||||
# kubectl.kubernetes.io/last-applied-configuration
|
||||
"kubectl.kubernetes.io/last-applied-configuration": ".*"
|
||||
|
||||
# pgp
|
||||
\bgnupg\.net/pks/lookup[?&=0-9a-zA-Z]*
|
||||
|
||||
# Spotify
|
||||
\bopen\.spotify\.com/embed/playlist/\w+
|
||||
|
||||
# Mastodon
|
||||
\bmastodon\.[-a-z.]*/(?:media/|\@)[?&=0-9a-zA-Z_]*
|
||||
|
||||
# scastie
|
||||
\bscastie\.scala-lang\.org/[^/]+/\w+
|
||||
|
||||
# images.unsplash.com
|
||||
\bimages\.unsplash\.com/(?:(?:flagged|reserve)/|)[-\w./%?=%&.;]+
|
||||
|
||||
# pastebin
|
||||
\bpastebin\.com/[\w/]+
|
||||
|
||||
# heroku
|
||||
\b\w+\.heroku\.com/source/archive/\w+
|
||||
|
||||
# quip
|
||||
\b\w+\.quip\.com/\w+(?:(?:#|/issues/)\w+)?
|
||||
|
||||
# badgen.net
|
||||
\bbadgen\.net/badge/[^")\]'\s]+
|
||||
|
||||
# statuspage.io
|
||||
\w+\.statuspage\.io\b
|
||||
|
||||
# media.giphy.com
|
||||
\bmedia\.giphy\.com/media/[^/]+/[\w.?&=]+
|
||||
|
||||
# tinyurl
|
||||
\btinyurl\.com/\w+
|
||||
|
||||
# getopts
|
||||
\bgetopts\s+(?:"[^"]+"|'[^']+')
|
||||
|
||||
# ANSI color codes
|
||||
(?:\\(?:u00|x)1b|\x1b)\[\d+(?:;\d+|)m
|
||||
|
||||
# URL escaped characters
|
||||
\%[0-9A-F][A-F]
|
||||
# IPv6
|
||||
\b(?:[0-9a-fA-F]{0,4}:){3,7}[0-9a-fA-F]{0,4}\b
|
||||
# c99 hex digits (not the full format, just one I've seen)
|
||||
0x[0-9a-fA-F](?:\.[0-9a-fA-F]*|)[pP]
|
||||
# Punycode
|
||||
\bxn--[-0-9a-z]+
|
||||
# sha
|
||||
sha\d+:[0-9]*[a-f]{3,}[0-9a-f]*
|
||||
# sha-... -- uses a fancy capture
|
||||
(['"]|")[0-9a-f]{40,}\g{-1}
|
||||
# hex runs
|
||||
\b[0-9a-fA-F]{16,}\b
|
||||
# hex in url queries
|
||||
=[0-9a-fA-F]*?(?:[A-F]{3,}|[a-f]{3,})[0-9a-fA-F]*?&
|
||||
# ssh
|
||||
(?:ssh-\S+|-nistp256) [-a-zA-Z=;:/0-9+]{12,}
|
||||
|
||||
# PGP
|
||||
\b(?:[0-9A-F]{4} ){9}[0-9A-F]{4}\b
|
||||
# GPG keys
|
||||
\b(?:[0-9A-F]{4} ){5}(?: [0-9A-F]{4}){5}\b
|
||||
# Well known gpg keys
|
||||
.well-known/openpgpkey/[\w./]+
|
||||
|
||||
# uuid:
|
||||
\b[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\b
|
||||
# hex digits including css/html color classes:
|
||||
(?:[\\0][xX]|\\u|[uU]\+|#x?|\%23)[0-9_a-fA-FgGrR]*?[a-fA-FgGrR]{2,}[0-9_a-fA-FgGrR]*(?:[uUlL]{0,3}|u\d+)\b
|
||||
# integrity
|
||||
integrity="sha\d+-[-a-zA-Z=;:/0-9+]{40,}"
|
||||
|
||||
# https://www.gnu.org/software/groff/manual/groff.html
|
||||
# man troff content
|
||||
\\f[BCIPR]
|
||||
# '
|
||||
\\\(aq
|
||||
|
||||
# .desktop mime types
|
||||
^MimeTypes?=.*$
|
||||
# .desktop localized entries
|
||||
^[A-Z][a-z]+\[[a-z]+\]=.*$
|
||||
# Localized .desktop content
|
||||
Name\[[^\]]+\]=.*
|
||||
|
||||
# IServiceProvider
|
||||
\bI(?=(?:[A-Z][a-z]{2,})+\b)
|
||||
|
||||
# crypt
|
||||
"\$2[ayb]\$.{56}"
|
||||
|
||||
# scrypt / argon
|
||||
\$(?:scrypt|argon\d+[di]*)\$\S+
|
||||
|
||||
# Input to GitHub JSON
|
||||
content: "[-a-zA-Z=;:/0-9+]*="
|
||||
|
||||
# Python stringprefix / binaryprefix
|
||||
# Note that there's a high false positive rate, remove the `?=` and search for the regex to see if the matches seem like reasonable strings
|
||||
(?<!')\b(?:B|BR|Br|F|FR|Fr|R|RB|RF|Rb|Rf|U|UR|Ur|b|bR|br|f|fR|fr|r|rB|rF|rb|rf|u|uR|ur)'(?:[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})
|
||||
|
||||
# Regular expressions for (P|p)assword
|
||||
\([A-Z]\|[a-z]\)[a-z]+
|
||||
|
||||
# JavaScript regular expressions
|
||||
# javascript test regex
|
||||
/.*/[gim]*\.test\(
|
||||
# javascript match regex
|
||||
\.match\(/[^/\s"]*/[gim]*\s*
|
||||
# javascript match regex
|
||||
\.match\(/\\[b].*?/[gim]*\s*\)(?:;|$)
|
||||
# javascript regex
|
||||
^\s*/\\[b].*/[gim]*\s*(?:\)(?:;|$)|,$)
|
||||
# javascript replace regex
|
||||
\.replace\(/[^/\s"]*/[gim]*\s*,
|
||||
|
||||
# Go regular expressions
|
||||
regexp?\.MustCompile\(`[^`]*`\)
|
||||
|
||||
# sed regular expressions
|
||||
sed 's/(?:[^/]*?[a-zA-Z]{3,}[^/]*?/){2}
|
||||
|
||||
# go install
|
||||
go install(?:\s+[a-z]+\.[-@\w/.]+)+
|
||||
|
||||
# kubernetes pod status lists
|
||||
# https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase
|
||||
\w+(?:-\w+)+\s+\d+/\d+\s+(?:Running|Pending|Succeeded|Failed|Unknown)\s+
|
||||
|
||||
# kubectl - pods in CrashLoopBackOff
|
||||
\w+-[0-9a-f]+-\w+\s+\d+/\d+\s+CrashLoopBackOff\s+
|
||||
|
||||
# kubernetes object suffix
|
||||
-[0-9a-f]{10}-\w{5}\s
|
||||
|
||||
# posthog secrets
|
||||
posthog\.init\((['"])phc_[^"',]+\g{-1},
|
||||
|
||||
# xcode
|
||||
|
||||
# xcodeproject scenes
|
||||
(?:Controller|ID|id)="\w{3}-\w{2}-\w{3}"
|
||||
|
||||
# xcode api botches
|
||||
customObjectInstantitationMethod
|
||||
|
||||
# font awesome classes
|
||||
\.fa-[-a-z0-9]+
|
||||
|
||||
# Update Lorem based on your content (requires `ge` and `w` from https://github.com/jsoref/spelling; and `review` from https://github.com/check-spelling/check-spelling/wiki/Looking-for-items-locally )
|
||||
# grep '^[^#].*lorem' .github/actions/spelling/patterns.txt|perl -pne 's/.*i..\?://;s/\).*//' |tr '|' "\n"|sort -f |xargs -n1 ge|perl -pne 's/^[^:]*://'|sort -u|w|sed -e 's/ .*//'|w|review -
|
||||
# Warning, while `(?i)` is very neat and fancy, if you have some binary files that aren't proper unicode, you might run into:
|
||||
## Operation "substitution (s///)" returns its argument for non-Unicode code point 0x1C19AE (the code point will vary).
|
||||
## You could manually change `(?i)X...` to use `[Xx]...`
|
||||
## or you could add the files to your `excludes` file (a version after 0.0.19 should identify the file path)
|
||||
# Lorem
|
||||
(?:\w|\s|[,.])*\b(?i)(?:amet|consectetur|cursus|dolor|eros|ipsum|lacus|libero|ligula|lorem|magna|neque|nulla|suscipit|tempus)\b(?:\w|\s|[,.])*
|
||||
|
||||
# Non-English
|
||||
[a-zA-Z]*[ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3}[a-zA-ZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]*
|
||||
|
||||
# French
|
||||
# This corpus only had capital letters, but you probably want lowercase ones as well.
|
||||
\b[LN]'+[a-z]{2,}\b
|
||||
|
||||
# latex
|
||||
\\(?:n(?:ew|ormal|osub)|r(?:enew)|t(?:able(?:of|)|he|itle))(?=[a-z]+)
|
||||
|
||||
# the negative lookahead here is to allow catching 'templatesz' as a misspelling
|
||||
# but to otherwise recognize a Windows path with \templates\foo.template or similar:
|
||||
\\(?:necessary|r(?:eport|esolve[dr]?|esult)|t(?:arget|emplates?))(?![a-z])
|
||||
# ignore long runs of a single character:
|
||||
\b([A-Za-z])\g{-1}{3,}\b
|
||||
|
||||
# version suffix <word>v#
|
||||
(?:(?<=[A-Z]{2})V|(?<=[a-z]{2}|[A-Z]{2})v)\d+(?:\b|(?=[a-zA-Z_]))
|
||||
# Compiler flags (Scala)
|
||||
(?:^|[\t ,>"'`=(])-J-[DPWXY](?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,})
|
||||
# Compiler flags
|
||||
(?:^|[\t ,"'`=(])-[DPWXYLlf](?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,})
|
||||
# Compiler flags (linker)
|
||||
,-B
|
||||
# curl arguments
|
||||
\b(?:\\n|)curl(?:\s+-[a-zA-Z]{1,2}\b)*(?:\s+-[a-zA-Z]{3,})(?:\s+-[a-zA-Z]+)*
|
||||
# set arguments
|
||||
\bset(?:\s+-[abefimouxE]{1,2})*\s+-[abefimouxE]{3,}(?:\s+-[abefimouxE]+)*
|
||||
# tar arguments
|
||||
\b(?:\\n|)g?tar(?:\.exe|)(?:(?:\s+--[-a-zA-Z]+|\s+-[a-zA-Z]+|\s[ABGJMOPRSUWZacdfh-pr-xz]+\b)(?:=[^ ]*|))+
|
||||
# tput arguments -- https://man7.org/linux/man-pages/man5/terminfo.5.html -- technically they can be more than 5 chars long...
|
||||
\btput\s+(?:(?:-[SV]|-T\s*\w+)\s+)*\w{3,5}\b
|
||||
# macOS temp folders
|
||||
/var/folders/\w\w/[+\w]+/(?:T|-Caches-)/
|
||||
70
.github/actions/spelling/excludes.txt
vendored
70
.github/actions/spelling/excludes.txt
vendored
@@ -1,70 +0,0 @@
|
||||
# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-excludes
|
||||
|
||||
(?:^|/)(?i)COPYRIGHT
|
||||
(?:^|/)(?i)LICEN[CS]E
|
||||
(?:^|/)3rdparty/
|
||||
(?:^|/)go\.sum$
|
||||
(?:^|/)package(?:-lock|)\.json$
|
||||
(?:^|/)vendor/
|
||||
|
||||
/fonts/
|
||||
ignore$
|
||||
|
||||
\.avi$
|
||||
\.bmp$
|
||||
\.bz2$
|
||||
\.class$
|
||||
\.crt$
|
||||
\.dll$
|
||||
\.docx?$
|
||||
\.drawio$
|
||||
\.DS_Store$
|
||||
\.eot$
|
||||
\.exe$
|
||||
\.gif$
|
||||
\.gitattributes$
|
||||
\.graffle$
|
||||
\.gz$
|
||||
\.icns$
|
||||
\.ico$
|
||||
\.jar$
|
||||
\.jks$
|
||||
\.jpe?g$
|
||||
\.key$
|
||||
\.lib$
|
||||
\.lock$
|
||||
\.map$
|
||||
\.min\..
|
||||
\.mod$
|
||||
\.mp[34]$
|
||||
\.o$
|
||||
\.ocf$
|
||||
\.otf$
|
||||
\.pdf$
|
||||
\.pem$
|
||||
\.png$
|
||||
\.psd$
|
||||
\.pyc$
|
||||
\.s$
|
||||
\.svgz?$
|
||||
\.tar$
|
||||
\.tiff?$
|
||||
\.ttf$
|
||||
\.wav$
|
||||
\.webm$
|
||||
\.webp$
|
||||
\.woff$
|
||||
\.woff2$
|
||||
\.xlsx?$
|
||||
\.zip$
|
||||
|
||||
^docs/pages/redirects/github\.html$
|
||||
^lib/jekyll/mime\.types$
|
||||
^lib/theme_template/example/index\.html$
|
||||
^lib/theme_template/example/_post\.md$
|
||||
^test/fixtures/empty_permalink\.erb$
|
||||
^test/fixtures/webrick/bar/baz\.html$
|
||||
^test/fixtures/webrick/bar/foo\.xhtml$
|
||||
^test/source/_posts/2009-06-22-no-yaml\.markdown$
|
||||
^\.github/
|
||||
^\Q.github/workflows/spelling.yml\E$
|
||||
479
.github/actions/spelling/expect.txt
vendored
479
.github/actions/spelling/expect.txt
vendored
@@ -1,479 +0,0 @@
|
||||
adaoraul
|
||||
AFile
|
||||
afterall
|
||||
Alexey
|
||||
alfredxing
|
||||
Anatoliy
|
||||
andreyvit
|
||||
Ankit
|
||||
Anning
|
||||
appveyor
|
||||
arengu
|
||||
ariejan
|
||||
asciinema
|
||||
asdf
|
||||
ashmaroli
|
||||
Autobuild
|
||||
autoreconf
|
||||
awood
|
||||
awscli
|
||||
backticks
|
||||
barcamp
|
||||
bbatsov
|
||||
bdimcheff
|
||||
bellvat
|
||||
benbalter
|
||||
Beney
|
||||
binstubs
|
||||
bitbucket
|
||||
Blogger
|
||||
blogging
|
||||
blogs
|
||||
bonafide
|
||||
Bou
|
||||
breadcrumbs
|
||||
briandoll
|
||||
bridgetown
|
||||
bridgetownrb
|
||||
brightbox
|
||||
brighterplanet
|
||||
buddyworks
|
||||
builtatlightspeed
|
||||
Burela
|
||||
byparker
|
||||
cachegrind
|
||||
calavera
|
||||
callgraphs
|
||||
cartera
|
||||
cavalle
|
||||
CDNs
|
||||
cgi
|
||||
chango
|
||||
Chayoung
|
||||
Cheatsheet
|
||||
Checkoway
|
||||
Chrononaut
|
||||
cibuild
|
||||
cimg
|
||||
circleci
|
||||
CJK
|
||||
classname
|
||||
cloudcannon
|
||||
Cloudinary
|
||||
cloudsh
|
||||
CLT
|
||||
codeclimate
|
||||
CODEOWNERS
|
||||
coderay
|
||||
codeslinger
|
||||
colorator
|
||||
commonmark
|
||||
compatibilize
|
||||
configyml
|
||||
contentblocks
|
||||
Cov
|
||||
CRLFs
|
||||
cruft
|
||||
Currin
|
||||
cygwin
|
||||
daringfireball
|
||||
Dassonville
|
||||
datafiles
|
||||
DCEU
|
||||
Debian
|
||||
defunkt
|
||||
delegators
|
||||
devcontainer
|
||||
digitalocean
|
||||
disqus
|
||||
ditaa
|
||||
dnf
|
||||
doclist
|
||||
doeorg
|
||||
dommmel
|
||||
dotfile
|
||||
Dousse
|
||||
duckduckgo
|
||||
duritong
|
||||
Dusseau
|
||||
dysinger
|
||||
ecf
|
||||
eduardoboucas
|
||||
Emacs
|
||||
emojis
|
||||
endcapture
|
||||
endraw
|
||||
endrender
|
||||
endtablerow
|
||||
Enumerables
|
||||
erb
|
||||
errordocument
|
||||
Espinaco
|
||||
eugenebolshakov
|
||||
evaled
|
||||
extnames
|
||||
exts
|
||||
Fengyun
|
||||
ffi
|
||||
Finazzo
|
||||
firstimage
|
||||
flakey
|
||||
flickr
|
||||
fontello
|
||||
forloop
|
||||
formcake
|
||||
formcarry
|
||||
formester
|
||||
formingo
|
||||
formkeep
|
||||
formspark
|
||||
formspree
|
||||
formx
|
||||
freenode
|
||||
fsnotify
|
||||
fullstory
|
||||
Gaudino
|
||||
gcc
|
||||
gcnovus
|
||||
gemfile
|
||||
getform
|
||||
getset
|
||||
getsimpleform
|
||||
gettalong
|
||||
ghp
|
||||
ghpages
|
||||
giraffeacademy
|
||||
githubcom
|
||||
gitlab
|
||||
gjtorikian
|
||||
globbed
|
||||
gotcha
|
||||
Goulven
|
||||
gridism
|
||||
GSo
|
||||
gsubbing
|
||||
hashbang
|
||||
henrik
|
||||
heroku
|
||||
hilighting
|
||||
Hoizey
|
||||
hostman
|
||||
htmlproofer
|
||||
Iaa
|
||||
ial
|
||||
iconset
|
||||
ified
|
||||
invokables
|
||||
ivey
|
||||
ize
|
||||
jalali
|
||||
jamstackthemes
|
||||
jan
|
||||
Jax
|
||||
jcon
|
||||
jdoe
|
||||
jeffreytse
|
||||
jeffrydegrande
|
||||
Jekpack
|
||||
jekyllbot
|
||||
jekyllconf
|
||||
Jekyllers
|
||||
Jekyllin
|
||||
jekyllized
|
||||
jekylllayoutconcept
|
||||
jekyllrb
|
||||
jekyllthemes
|
||||
jekyllup
|
||||
jemoji
|
||||
jmcglone
|
||||
johnreilly
|
||||
jqr
|
||||
jsonify
|
||||
juretta
|
||||
jwarby
|
||||
Kacper
|
||||
Kasberg
|
||||
Kentico
|
||||
Kewin
|
||||
keycdn
|
||||
kickster
|
||||
Kinnula
|
||||
kinsta
|
||||
kiwifruit
|
||||
Kolesky
|
||||
konklone
|
||||
kontent
|
||||
Kotvinsky
|
||||
kramdown
|
||||
Kulig
|
||||
Kwokfu
|
||||
Lamprecht
|
||||
launchctl
|
||||
launchy
|
||||
laurilehmijoki
|
||||
learnxinyminutes
|
||||
lexers
|
||||
linenos
|
||||
linkify
|
||||
liufengyun
|
||||
localheinz
|
||||
Locher
|
||||
Losslessly
|
||||
lovin
|
||||
lsi
|
||||
lstrip
|
||||
lyche
|
||||
macromates
|
||||
mademistakes
|
||||
Manmeet
|
||||
markdownify
|
||||
Maroli
|
||||
Marsceill
|
||||
maruku
|
||||
mathjax
|
||||
mathml
|
||||
mattr
|
||||
Maximiliano
|
||||
mchung
|
||||
memberspace
|
||||
mentoring
|
||||
mergable
|
||||
Mertcan
|
||||
mertkahyaoglu
|
||||
metadatas
|
||||
microdata
|
||||
minibundle
|
||||
Mittal
|
||||
mkasberg
|
||||
mkd
|
||||
mkdn
|
||||
mkdown
|
||||
modernizr
|
||||
mojombo
|
||||
moncefbelyamani
|
||||
moz
|
||||
mreid
|
||||
mswin
|
||||
MSYS
|
||||
Mvvm
|
||||
myblog
|
||||
mycontent
|
||||
mydata
|
||||
mydoc
|
||||
myimage
|
||||
mypage
|
||||
myposts
|
||||
myproject
|
||||
myrepo
|
||||
myvalue
|
||||
myvar
|
||||
Nadjib
|
||||
nakanishi
|
||||
navbars
|
||||
nearlyfreespeech
|
||||
nethack
|
||||
netlify
|
||||
Neue
|
||||
nginx
|
||||
ngx
|
||||
nielsenramon
|
||||
noifniof
|
||||
notextile
|
||||
onebox
|
||||
oneclick
|
||||
opensource
|
||||
Optim
|
||||
orderofinterpretation
|
||||
OSVDB
|
||||
osx
|
||||
packagecontrol
|
||||
pacman
|
||||
pandoc
|
||||
pantulis
|
||||
parkr
|
||||
parseable
|
||||
paspagon
|
||||
passthrough
|
||||
pathawks
|
||||
Pathutil
|
||||
paywall
|
||||
PDFs
|
||||
Pelykh
|
||||
pinboard
|
||||
Piwigo
|
||||
pjhyett
|
||||
pkill
|
||||
pkpass
|
||||
planetjekyll
|
||||
plantuml
|
||||
podcasts
|
||||
Porcel
|
||||
Posterous
|
||||
postfiles
|
||||
postmodern
|
||||
preinstalled
|
||||
Prioritise
|
||||
Probot
|
||||
projectlist
|
||||
pubstorm
|
||||
pufuwozu
|
||||
pygments
|
||||
qrush
|
||||
Quaid
|
||||
rackup
|
||||
razorops
|
||||
rdiscount
|
||||
realz
|
||||
rebund
|
||||
redcarpet
|
||||
redcloth
|
||||
redgreen
|
||||
redhat
|
||||
Refactors
|
||||
Refheap
|
||||
regen
|
||||
remi
|
||||
Responsify
|
||||
revertable
|
||||
rfelix
|
||||
RHEL
|
||||
ridk
|
||||
rstrip
|
||||
rtomayko
|
||||
Rubo
|
||||
rubychan
|
||||
rubyinstaller
|
||||
rubyprof
|
||||
Ruparelia
|
||||
Rusiczki
|
||||
rvm
|
||||
saas
|
||||
samplelist
|
||||
samrayner
|
||||
Sassc
|
||||
Schroers
|
||||
Schwartzian
|
||||
screenshot
|
||||
scrollbars
|
||||
SDKROOT
|
||||
sectore
|
||||
seo
|
||||
shingo
|
||||
shopify
|
||||
shortlinks
|
||||
shortlog
|
||||
shoulda
|
||||
sieversii
|
||||
sigpipe
|
||||
Singhaniya
|
||||
siteleaf
|
||||
SITENAME
|
||||
Slicehost
|
||||
slugified
|
||||
smartforms
|
||||
smartify
|
||||
snipcart
|
||||
socio
|
||||
somedir
|
||||
sonnym
|
||||
Sonomy
|
||||
sourced
|
||||
spam
|
||||
spotify
|
||||
ssg
|
||||
standalone
|
||||
staticman
|
||||
Stickyposts
|
||||
styleguide
|
||||
subdir
|
||||
subdomain
|
||||
subfolderitems
|
||||
subpages
|
||||
subpiece
|
||||
subsubfolderitems
|
||||
subthing
|
||||
subvalues
|
||||
subwidget
|
||||
superdirectories
|
||||
superdirs
|
||||
SUSE
|
||||
sverrirs
|
||||
swfobject
|
||||
swupd
|
||||
tada
|
||||
Taillandier
|
||||
talkyard
|
||||
technicalpickles
|
||||
templating
|
||||
Termux
|
||||
textilize
|
||||
textpattern
|
||||
Theunissen
|
||||
Thornquest
|
||||
throughs
|
||||
Tidelift
|
||||
timeago
|
||||
timezones
|
||||
tmm
|
||||
tomjoht
|
||||
tomo
|
||||
toshimaru
|
||||
triaged
|
||||
triaging
|
||||
tsv
|
||||
Tudou
|
||||
Tumblr
|
||||
Tweetsert
|
||||
txtpen
|
||||
Tyborska
|
||||
tzinfo
|
||||
ujh
|
||||
ultron
|
||||
undumpable
|
||||
unencode
|
||||
uppercasing
|
||||
urlset
|
||||
usernames
|
||||
utm
|
||||
vanpelt
|
||||
Vasovi
|
||||
vendored
|
||||
versioned
|
||||
versioning
|
||||
vertycal
|
||||
Veyor
|
||||
vilcans
|
||||
Vishesh
|
||||
vnd
|
||||
vohedge
|
||||
vps
|
||||
vwochnik
|
||||
WAI
|
||||
wdm
|
||||
We'd
|
||||
webfonts
|
||||
webhosting
|
||||
webmentions
|
||||
website
|
||||
wildcards
|
||||
willcodeforfoo
|
||||
wordpress
|
||||
workflows
|
||||
xcode
|
||||
xdg
|
||||
Xhmikos
|
||||
Xiaoiver
|
||||
XMinutes
|
||||
xmlschema
|
||||
Yarp
|
||||
Yashu
|
||||
Yastreb
|
||||
Youku
|
||||
youtube
|
||||
yunbox
|
||||
zeropadding
|
||||
Zlatan
|
||||
zoneinfo
|
||||
zpinter
|
||||
zypper
|
||||
zzot
|
||||
62
.github/actions/spelling/line_forbidden.patterns
vendored
62
.github/actions/spelling/line_forbidden.patterns
vendored
@@ -1,62 +0,0 @@
|
||||
# reject `m_data` as there's a certain OS which has evil defines that break things if it's used elsewhere
|
||||
# \bm_data\b
|
||||
|
||||
# If you have a framework that uses `it()` for testing and `fit()` for debugging a specific test,
|
||||
# you might not want to check in code where you were debugging w/ `fit()`, in which case, you might want
|
||||
# to use this:
|
||||
#\bfit\(
|
||||
|
||||
# s.b. GitHub
|
||||
\bGithub\b
|
||||
|
||||
# s.b. GitLab
|
||||
\bGitlab\b
|
||||
|
||||
# s.b. JavaScript
|
||||
\bJavascript\b
|
||||
|
||||
# s.b. Microsoft
|
||||
\bMicroSoft\b
|
||||
|
||||
# s.b. another
|
||||
\ban[- ]other\b
|
||||
|
||||
# s.b. greater than
|
||||
\bgreater then\b
|
||||
|
||||
# s.b. into
|
||||
#\sin to\s
|
||||
|
||||
# s.b. opt-in
|
||||
\sopt in\s
|
||||
|
||||
# s.b. less than
|
||||
\bless then\b
|
||||
|
||||
# s.b. otherwise
|
||||
\bother[- ]wise\b
|
||||
|
||||
# s.b. nonexistent
|
||||
\bnon existing\b
|
||||
\b[Nn]o[nt][- ]existent\b
|
||||
|
||||
# s.b. preexisting
|
||||
[Pp]re[- ]existing
|
||||
|
||||
# s.b. preempt
|
||||
[Pp]re[- ]empt\b
|
||||
|
||||
# s.b. preemptively
|
||||
[Pp]re[- ]emptively
|
||||
|
||||
# s.b. reentrancy
|
||||
[Rr]e[- ]entrancy
|
||||
|
||||
# s.b. reentrant
|
||||
[Rr]e[- ]entrant
|
||||
|
||||
# s.b. workaround(s)
|
||||
#\bwork[- ]arounds?\b
|
||||
|
||||
# Reject duplicate words
|
||||
\s([A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})\s\g{-1}\s
|
||||
1
.github/actions/spelling/only.txt
vendored
1
.github/actions/spelling/only.txt
vendored
@@ -1 +0,0 @@
|
||||
^docs/.*\.md$
|
||||
164
.github/actions/spelling/patterns.txt
vendored
164
.github/actions/spelling/patterns.txt
vendored
@@ -1,164 +0,0 @@
|
||||
# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns
|
||||
|
||||
# data urls
|
||||
(['"])data:.*?\g{-1}
|
||||
data:[-a-zA-Z=;:/0-9+]*,\S*
|
||||
|
||||
# YouTube
|
||||
https?://(?:(?:www\.|)youtube\.com|youtu.be)/(?:channel/|embed/|playlist\?list=|watch\?v=|v/|)[-a-zA-Z0-9?&=_]*
|
||||
<\s*youtube\s+id=['"][-a-zA-Z0-9?_]*['"]
|
||||
\bimg\.youtube\.com/vi/[-a-zA-Z0-9?&=_]*
|
||||
youtube_id:\s*[-a-zA-Z0-9?&=_]*
|
||||
|
||||
# Google Analytics
|
||||
\bgoogle-analytics\.com/collect.[-0-9a-zA-Z?%=&_.~]*
|
||||
|
||||
# Google APIs
|
||||
\bgoogleapis\.com/[a-z]+/v\d+/[a-z]+/[@./?=\w]+
|
||||
\b[-a-zA-Z0-9.]*\bstorage\d*\.googleapis\.com(?:/\S*|)
|
||||
|
||||
# Google Calendar
|
||||
\bcalendar\.google\.com/calendar(?:/u/\d+|)/embed\?src=[@./?=\w&%]+
|
||||
\w+\@group\.calendar\.google\.com\b
|
||||
|
||||
# Google DataStudio
|
||||
\bdatastudio\.google\.com/(?:(?:c/|)u/\d+/|)(?:embed/|)(?:open|reporting|datasources|s)/[-0-9a-zA-Z]+(?:/page/[-0-9a-zA-Z]+|)
|
||||
|
||||
# The leading `/` here is as opposed to the `\b` above
|
||||
# ... a short way to match `https://` or `http://` since most urls have one of those prefixes
|
||||
# Google Docs
|
||||
/docs\.google\.com/[a-z]+/d/(?:e/|)[0-9a-zA-Z_-]+/?
|
||||
|
||||
# Google Groups
|
||||
https://groups\.google\.com/d/topic/[^/]+/[a-zA-Z0-9]+/discussion
|
||||
https://groups\.google\.com/d/msg/[^/]+/[a-zA-Z0-9]+/[a-zA-Z0-9]+
|
||||
|
||||
# Google themes
|
||||
themes\.googleusercontent\.com/static/fonts/[^/]+/v\d+/[^.]+.
|
||||
|
||||
# Google CDN
|
||||
\bclients2\.google(?:usercontent|)\.com[-0-9a-zA-Z/.]*
|
||||
|
||||
# Goo.gl
|
||||
/goo\.gl/[a-zA-Z0-9]+
|
||||
|
||||
# Google Chrome Store
|
||||
\bchrome\.google\.com/webstore/detail/\w*(?:/\w*|)
|
||||
|
||||
# google_site_verification:
|
||||
google_site_verification: [-a-zA-Z=;:/0-9+]*
|
||||
|
||||
# Ruby-doc.org
|
||||
https://ruby-doc\.org/.*
|
||||
|
||||
# Contributors
|
||||
alphabetical order.*:.*
|
||||
twitter_handle: .*
|
||||
|
||||
# apiKey
|
||||
apiKey: '[a-f0-9]+'
|
||||
|
||||
# FontAwesome
|
||||
/(?:(?i)FontAwesome\.\w+\?\w+)
|
||||
|
||||
# Lorem
|
||||
(?:\w|\s|[,.])*\b(?i)(?:amet|consectetur|cursus|dolor|eros|ipsum|lacus|libero|ligula|lorem|magna|neque|nulla|suscipit|tempus|ultrices)\b(?:\w|\s|[,.])*
|
||||
|
||||
# URL escaped characters
|
||||
\%[0-9A-F]{2}
|
||||
# c99 hex digits (not the full format, just one I've seen)
|
||||
|
||||
# hex digits including css/html color classes:
|
||||
(?:[\\0][xX]|\\u|[uU]\+|#x?|\%23)[0-9a-fA-FgGrR_]{2,}(?:[uU]?[lL]{0,2}|u\d+)\b
|
||||
|
||||
# Automatically suggested patterns
|
||||
# hit-count: 23 file-count: 15
|
||||
# GitHub SHAs (markdown)
|
||||
(?:\[`?[0-9a-f]+`?\]\(https:/|)/(?:www\.|)github\.com(?:/[^/\s"]+){2,}(?:/[^/\s")]+)(?:[0-9a-f]+(?:[-0-9a-zA-Z/#.]*|)\b|)
|
||||
|
||||
# hit-count: 7 file-count: 4
|
||||
# Wikipedia
|
||||
\ben\.wikipedia\.org/wiki/[-\w%.#]+
|
||||
|
||||
# hit-count: 5 file-count: 3
|
||||
# Non-English
|
||||
[a-zA-Z]*[ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3}[a-zA-ZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]*
|
||||
|
||||
# hit-count: 4 file-count: 4
|
||||
# Twitter status
|
||||
\btwitter\.com/[^/\s"')]*(?:/status/\d+(?:\?[-_0-9a-zA-Z&=]*|)|)
|
||||
|
||||
# hit-count: 3 file-count: 3
|
||||
# stackexchange -- https://stackexchange.com/feeds/sites
|
||||
\b(?:askubuntu|serverfault|stack(?:exchange|overflow)|superuser).com/(?:questions/\w+/[-\w]+|a/)
|
||||
|
||||
# hit-count: 3 file-count: 2
|
||||
# vs devops
|
||||
\bvisualstudio.com(?::443|)/[-\w/?=%&.]*
|
||||
|
||||
# hit-count: 2 file-count: 2
|
||||
# mailto urls
|
||||
mailto:[-a-zA-Z=;:/?%&0-9+@.]{3,}
|
||||
|
||||
# hit-count: 2 file-count: 2
|
||||
# githubusercontent
|
||||
/[-a-z0-9]+\.githubusercontent\.com/[-a-zA-Z0-9?&=_\/.]*
|
||||
|
||||
# hit-count: 2 file-count: 2
|
||||
# hex runs
|
||||
\b[0-9a-fA-F]{16,}\b
|
||||
|
||||
# hit-count: 2 file-count: 2
|
||||
# curl arguments
|
||||
\b(?:\\n|)curl(?:\s+-[a-zA-Z]{1,2}\b)*(?:\s+-[a-zA-Z]{3,})(?:\s+-[a-zA-Z]+)*
|
||||
|
||||
# hit-count: 2 file-count: 1
|
||||
# microsoft
|
||||
\b(?:https?://|)(?:(?:download\.visualstudio|docs|msdn2?|research)\.microsoft|blogs\.msdn)\.com/[-_a-zA-Z0-9()=./%]*
|
||||
|
||||
# hit-count: 1 file-count: 1
|
||||
# Amazon
|
||||
\bamazon\.com/[-\w]+/(?:dp/[0-9A-Z]+|)
|
||||
|
||||
# hit-count: 1 file-count: 1
|
||||
# gist github
|
||||
\bgist\.github\.com/[^/\s"]+/[0-9a-f]+
|
||||
|
||||
# hit-count: 1 file-count: 1
|
||||
# Contributor
|
||||
\[[^\]]+\]\(https://github\.com/[^/\s"]+\)
|
||||
|
||||
# hit-count: 1 file-count: 1
|
||||
# medium
|
||||
\bmedium\.com/\@?[^/\s"]+/[-\w]+
|
||||
|
||||
# hit-count: 1 file-count: 1
|
||||
# Twitter markdown
|
||||
\[\@[^[/\]:]*?\]\(https://twitter.com/[^/\s"')]*(?:/status/\d+(?:\?[-_0-9a-zA-Z&=]*|)|)\)
|
||||
|
||||
# Questionably acceptable forms of `in to`
|
||||
# Personally, I prefer `log into`, but people object
|
||||
# https://www.tprteaching.com/log-into-log-in-to-login/
|
||||
\b[Ll]og in to\b
|
||||
|
||||
# acceptable duplicates
|
||||
# ls directory listings
|
||||
[-bcdlpsw](?:[-r][-w][-sx]){3}\s+\d+\s+(\S+)\s+\g{-1}\s+\d+\s+
|
||||
# C types and repeated CSS values
|
||||
\s(center|div|inherit|long|LONG|none|normal|solid|thin|transparent|very)(?: \g{-1})+\s
|
||||
# go templates
|
||||
\s(\w+)\s+\g{-1}\s+\`(?:graphql|json|yaml):
|
||||
# javadoc / .net
|
||||
(?:[\\@](?:groupname|param)|(?:public|private)(?:\s+static|\s+readonly)*)\s+(\w+)\s+\g{-1}\s
|
||||
|
||||
# Commit message -- Signed-off-by and friends
|
||||
^\s*(?:(?:Based-on-patch|Co-authored|Helped|Mentored|Reported|Reviewed|Signed-off)-by|Thanks-to): (?:[^<]*<[^>]*>|[^<]*)\s*$
|
||||
|
||||
# Autogenerated revert commit message
|
||||
^This reverts commit [0-9a-f]{40}\.$
|
||||
|
||||
# ignore long runs of a single character:
|
||||
\b([A-Za-z])\g{-1}{3,}\b
|
||||
|
||||
# ignore inline code
|
||||
`\w+`
|
||||
10
.github/actions/spelling/reject.txt
vendored
10
.github/actions/spelling/reject.txt
vendored
@@ -1,10 +0,0 @@
|
||||
^attache$
|
||||
benefitting
|
||||
occurences?
|
||||
^dependan.*
|
||||
^oer$
|
||||
Sorce
|
||||
^[Ss]pae.*
|
||||
^untill$
|
||||
^untilling$
|
||||
^wether.*
|
||||
12
.github/dependabot.yml
vendored
12
.github/dependabot.yml
vendored
@@ -1,12 +0,0 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
- package-ecosystem: bundler
|
||||
reviewers:
|
||||
- "jekyll/core"
|
||||
directory: /
|
||||
schedule:
|
||||
interval: weekly
|
||||
2
.github/first-timers-issue-template.md
vendored
2
.github/first-timers-issue-template.md
vendored
@@ -2,7 +2,7 @@
|
||||
|
||||
This issue is reserved for people who never contributed to Open Source before. We know that the process of creating a pull request is the biggest barrier for new contributors. This issue is for you 💝
|
||||
|
||||
[About First Timers Only](https://www.firsttimersonly.com/).
|
||||
[About First Timers Only](http://www.firsttimersonly.com/).
|
||||
|
||||
### 🤔 What you will need to know.
|
||||
|
||||
|
||||
17
.github/release-please-config.json
vendored
17
.github/release-please-config.json
vendored
@@ -1,17 +0,0 @@
|
||||
{
|
||||
"pull-request-title-pattern": "chore: release 💎 ${version}",
|
||||
"packages": {
|
||||
".": {
|
||||
"changelog-path": "History.markdown",
|
||||
"release-type": "ruby",
|
||||
"bump-minor-pre-major": false,
|
||||
"bump-patch-for-minor-pre-major": false,
|
||||
"draft": false,
|
||||
"prerelease": false,
|
||||
"include-component-in-tag": false,
|
||||
"include-v-in-tag": true,
|
||||
"version-file": "lib/jekyll/version.rb"
|
||||
}
|
||||
},
|
||||
"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json"
|
||||
}
|
||||
3
.github/release-please-manifest.json
vendored
3
.github/release-please-manifest.json
vendored
@@ -1,3 +0,0 @@
|
||||
{
|
||||
".": "4.4.1"
|
||||
}
|
||||
14
.github/workflows/actions/memprof.rb
vendored
14
.github/workflows/actions/memprof.rb
vendored
@@ -1,14 +0,0 @@
|
||||
# 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)
|
||||
30
.github/workflows/benchmark.yml
vendored
30
.github/workflows/benchmark.yml
vendored
@@ -1,30 +0,0 @@
|
||||
name: Micro Benchmark Runs
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
path:
|
||||
description: "Path to benchmark script relative to 'benchmark' directory."
|
||||
required: true
|
||||
default: "capture-assign.rb"
|
||||
ruby_version:
|
||||
description: "Ruby version to use (via `ruby/setup-ruby@v1`) action."
|
||||
required: false
|
||||
default: "2.7"
|
||||
|
||||
jobs:
|
||||
benchmark:
|
||||
name: "Benchmark (${{ github.event.inputs.path }}) (Ruby ${{ github.event.inputs.ruby_version }})"
|
||||
runs-on: "ubuntu-latest"
|
||||
env:
|
||||
BENCHMARK: true
|
||||
steps:
|
||||
- name: Checkout Jekyll
|
||||
uses: actions/checkout@v4
|
||||
- name: Set up Ruby
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: ${{ github.event.inputs.ruby_version }}
|
||||
bundler-cache: true
|
||||
- name: Run Benchmark
|
||||
run: "bundle exec ruby benchmark/${{ github.event.inputs.path }}"
|
||||
87
.github/workflows/ci.yml
vendored
87
.github/workflows/ci.yml
vendored
@@ -1,87 +0,0 @@
|
||||
name: Continuous Integration
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- "*-stable"
|
||||
paths-ignore:
|
||||
- "docs/**"
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
- "*-stable"
|
||||
paths-ignore:
|
||||
- "docs/**"
|
||||
|
||||
jobs:
|
||||
ci:
|
||||
name: "Run Tests (${{ matrix.ruby.label }} on ${{ matrix.os.label }})"
|
||||
runs-on: ${{ matrix.os.image }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
ruby:
|
||||
- label: Ruby 2.7
|
||||
version: "2.7"
|
||||
- label: Ruby 3.3
|
||||
version: "3.3"
|
||||
- label: Ruby 3.4
|
||||
version: "3.4"
|
||||
os:
|
||||
- label: Linux
|
||||
image: "ubuntu-latest"
|
||||
- label: Windows
|
||||
image: "windows-latest"
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v4
|
||||
- name: "Set up ${{ matrix.ruby.label }}"
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: ${{ matrix.ruby.version }}
|
||||
bundler-cache: true
|
||||
- name: Run Minitest based tests
|
||||
run: bash script/test
|
||||
- name: Run Cucumber based tests
|
||||
run: bash script/cucumber --color
|
||||
- name: Generate and Build a new site
|
||||
run: bash script/default-site
|
||||
|
||||
xtras:
|
||||
name: "${{ matrix.job_name }} (${{ matrix.setup_label }})"
|
||||
runs-on: "ubuntu-latest"
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- job_name: "Unit Test with JRuby"
|
||||
setup_label: "JRuby 9.4.8.0"
|
||||
step_name: "Run Minitest based tests"
|
||||
script_file: "test"
|
||||
ruby_version: "jruby-9.4.8.0"
|
||||
- job_name: "Smoke Test with JRuby"
|
||||
setup_label: "JRuby 9.4.8.0"
|
||||
step_name: "Generate and Build a new site"
|
||||
script_file: "default-site"
|
||||
ruby_version: "jruby-9.4.8.0"
|
||||
- job_name: "Profile Docs Site"
|
||||
setup_label: "Ruby 2.7"
|
||||
step_name: "Build and Profile docs site"
|
||||
script_file: "profile-docs"
|
||||
ruby_version: "2.7"
|
||||
- job_name: "Style Check"
|
||||
setup_label: "Ruby 2.7"
|
||||
step_name: "Run RuboCop"
|
||||
script_file: "fmt"
|
||||
ruby_version: "2.7"
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v4
|
||||
- name: "Set up ${{ matrix.setup_label }}"
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: ${{ matrix.ruby_version }}
|
||||
bundler-cache: true
|
||||
- name: ${{ matrix.step_name }}
|
||||
run: bash script/${{ matrix.script_file }}
|
||||
65
.github/workflows/codeql.yml
vendored
65
.github/workflows/codeql.yml
vendored
@@ -1,65 +0,0 @@
|
||||
name: "CodeQL"
|
||||
|
||||
on:
|
||||
# push:
|
||||
# branches: [ 'master' ]
|
||||
# pull_request:
|
||||
# # The branches below must be a subset of the branches above
|
||||
# branches: [ 'master' ]
|
||||
schedule:
|
||||
- cron: '56 11 * * 5'
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
security-events: write
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
language: [ 'ruby', 'javascript' ]
|
||||
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
|
||||
# Use only 'java' to analyze code written in Java, Kotlin or both
|
||||
# Use only 'javascript' to analyze code written in JavaScript, TypeScript or both
|
||||
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v2
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
|
||||
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
|
||||
# queries: security-extended,security-and-quality
|
||||
|
||||
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, Java, or Swift).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v2
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
|
||||
|
||||
# If the Autobuild fails above, remove it and uncomment the following three lines.
|
||||
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
|
||||
|
||||
# - run: |
|
||||
# echo "Run, Build Application using script"
|
||||
# ./location_of_script_within_repo/buildscript.sh
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v2
|
||||
with:
|
||||
category: "/language:${{matrix.language}}"
|
||||
50
.github/workflows/conventional-commits.yml
vendored
50
.github/workflows/conventional-commits.yml
vendored
@@ -1,50 +0,0 @@
|
||||
# This workflow checks to ensure that all PR titles conform to the conventional
|
||||
# commit spec and use the correct type and scopes. The spec for conventional
|
||||
# commits can be found at https://www.conventionalcommits.org and there is a
|
||||
# nice cheatsheet in a github gist at
|
||||
# https://gist.github.com/qoomon/5dfcdf8eec66a051ecd85625518cfd13
|
||||
#
|
||||
# The types in this workflow match the spec. The scopes are custom to
|
||||
# Jekyll and can be changed if desired.
|
||||
name: Conventional Commit Check
|
||||
|
||||
permissions:
|
||||
pull-requests: read
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types: [opened, edited, synchronize, reopened, ready_for_review]
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
commit_lint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: amannn/action-semantic-pull-request@v5.5.3
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
types: |
|
||||
feat
|
||||
fix
|
||||
perf
|
||||
refactor
|
||||
docs
|
||||
style
|
||||
test
|
||||
chore
|
||||
scopes: |
|
||||
core
|
||||
cli
|
||||
commands
|
||||
plugins
|
||||
site
|
||||
helpers
|
||||
converters
|
||||
filters
|
||||
tags
|
||||
drops
|
||||
tests
|
||||
docs
|
||||
requireScope: false
|
||||
54
.github/workflows/docs.yml
vendored
54
.github/workflows/docs.yml
vendored
@@ -1,54 +0,0 @@
|
||||
name: Build and deploy Jekyll documentation site
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
paths:
|
||||
- "docs/**"
|
||||
|
||||
env:
|
||||
RUBY_VERSION: 2.7
|
||||
|
||||
jobs:
|
||||
deploy_docs:
|
||||
if: "!contains(github.event.commits[0].message, '[ci skip]')"
|
||||
runs-on: 'ubuntu-latest'
|
||||
env:
|
||||
BUNDLE_PATH: "vendor/bundle"
|
||||
BUNDLE_JOBS: 4
|
||||
BUNDLE_RETRY: 3
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: ${{ env.RUBY_VERSION }}
|
||||
bundler-cache: true
|
||||
- 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
|
||||
44
.github/workflows/release-please.yml
vendored
44
.github/workflows/release-please.yml
vendored
@@ -1,44 +0,0 @@
|
||||
name: "Release, please!"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
release-please:
|
||||
if: ${{ github.repository == 'jekyll/jekyll' }}
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
release_created: ${{ steps.release.outputs.release_created }}
|
||||
tag_name: ${{ steps.release.outputs.tag_name }}
|
||||
steps:
|
||||
- name: Run Release Please
|
||||
id: release
|
||||
uses: googleapis/release-please-action@v4
|
||||
with:
|
||||
config-file: .github/release-please-config.json
|
||||
manifest-file: .github/release-please-manifest.json
|
||||
token: ${{ secrets.JEKYLLBOT_TOKEN }}
|
||||
|
||||
publish-gem:
|
||||
needs: release-please
|
||||
if: ${{ needs.release-please.outputs.release_created == 'true' }}
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write
|
||||
contents: write
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v6
|
||||
- name: Set up Ruby
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: '3.3'
|
||||
bundler-cache: true
|
||||
- name: Build and Publish Gem
|
||||
uses: rubygems/release-gem@v1
|
||||
95
.github/workflows/spelling.yml
vendored
95
.github/workflows/spelling.yml
vendored
@@ -1,95 +0,0 @@
|
||||
name: Spell Check
|
||||
|
||||
# Comment management is handled through a secondary job, for details see:
|
||||
# https://github.com/check-spelling/check-spelling/wiki/Feature%3A-Restricted-Permissions
|
||||
#
|
||||
# `jobs.comment-push` runs when a push is made to a repository and the `jobs.spelling` job needs to make a comment
|
||||
# (in odd cases, it might actually run just to collapse a comment, but that's fairly rare)
|
||||
# it needs `contents: write` in order to add a comment.
|
||||
#
|
||||
# `jobs.comment-pr` runs when a pull_request is made to a repository and the `jobs.spelling` job needs to make a comment
|
||||
# or collapse a comment (in the case where it had previously made a comment and now no longer needs to show a comment)
|
||||
# it needs `pull-requests: write` in order to manipulate those comments.
|
||||
|
||||
# Updating pull request branches is managed via comment handling.
|
||||
# For details, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-Update-expect-list
|
||||
#
|
||||
# These elements work together to make it happen:
|
||||
#
|
||||
# `on.issue_comment`
|
||||
# This event listens to comments by users asking to update the metadata.
|
||||
#
|
||||
# `jobs.update`
|
||||
# This job runs in response to an issue_comment and will push a new commit
|
||||
# to update the spelling metadata.
|
||||
#
|
||||
# `with.experimental_apply_changes_via_bot`
|
||||
# Tells the action to support and generate messages that enable it
|
||||
# to make a commit to update the spelling metadata.
|
||||
#
|
||||
# `with.ssh_key`
|
||||
# In order to trigger workflows when the commit is made, you can provide a
|
||||
# secret (typically, a write-enabled github deploy key).
|
||||
#
|
||||
# For background, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-Update-with-deploy-key
|
||||
|
||||
on:
|
||||
# Switch from `pull_request_target` event to reduce distraction from comments
|
||||
# regarding errors reported in unmodified files.
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
- "*-stable"
|
||||
tags-ignore:
|
||||
- "**"
|
||||
types:
|
||||
- 'opened'
|
||||
- 'reopened'
|
||||
- 'synchronize'
|
||||
|
||||
jobs:
|
||||
spelling:
|
||||
name: Spell Check
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: read
|
||||
actions: read
|
||||
outputs:
|
||||
followup: ${{ steps.spelling.outputs.followup }}
|
||||
runs-on: ubuntu-latest
|
||||
if: "contains(github.event_name, 'pull_request') || github.event_name == 'push'"
|
||||
concurrency:
|
||||
group: spelling-${{ github.event.pull_request.number || github.ref }}
|
||||
# note: If you use only_check_changed_files, you do not want cancel-in-progress
|
||||
cancel-in-progress: true
|
||||
steps:
|
||||
- name: check-spelling
|
||||
id: spelling
|
||||
uses: check-spelling/check-spelling@v0.0.26
|
||||
with:
|
||||
# This workflow runs in response to both `push` and `pull_request`, if there's an open `pull_request` in the same repository
|
||||
# for a given branch, there's no reason to spend resources checking both the `push` and the `pull_request`, so this flag tells
|
||||
# the action while running for the `push` to find the `pull_request` and stop working early:
|
||||
suppress_push_for_open_pull_request: 1
|
||||
# The action will manage checking out the repository itself instead of requiring the workflow to use `actions/checkout...`:
|
||||
checkout: true
|
||||
# If running without `: write`, posting a comment won't work, and for security `: write` permissions are left to a distinct
|
||||
# (optional) job, here we skip trying to post a comment:
|
||||
post_comment: 0
|
||||
use_magic_file: 1
|
||||
extra_dictionary_limit: 10
|
||||
extra_dictionaries:
|
||||
cspell:software-terms/software-terms.txt
|
||||
cspell:php/php.txt
|
||||
cspell:node/node.txt
|
||||
cspell:django/django.txt
|
||||
cspell:html/html.txt
|
||||
cspell:npm/npm.txt
|
||||
cspell:ruby/ruby.txt
|
||||
cspell:fullstack/fullstack.txt
|
||||
cspell:filetypes/filetypes.txt
|
||||
check_extra_dictionaries: ''
|
||||
dictionary_source_prefixes: >-
|
||||
{"cspell": "https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20241114/dictionaries/"}
|
||||
|
||||
# This workflow has opted not to use comments (users can view the report in GitHub Step Summary)
|
||||
36
.github/workflows/third-party.yml
vendored
36
.github/workflows/third-party.yml
vendored
@@ -1,36 +0,0 @@
|
||||
name: Third-Party Repository Profiling
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build_n_profile:
|
||||
runs-on: "ubuntu-latest"
|
||||
env:
|
||||
BUNDLE_GEMFILE: "sandbox/Gemfile"
|
||||
BUNDLE_PATH: "vendor/bundle"
|
||||
BUNDLE_JOBS: 4
|
||||
BUNDLE_RETRY: 3
|
||||
steps:
|
||||
- name: Checkout Jekyll
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 5
|
||||
path: jekyll
|
||||
- name: Checkout Third-Party Repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: ashmaroli/tomjoht.github.io
|
||||
path: sandbox
|
||||
- name: Set up Ruby
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
ruby-version: 3.4
|
||||
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
|
||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,7 +1,8 @@
|
||||
# Jekyll
|
||||
_site/
|
||||
*-cache/
|
||||
.jekyll-cache
|
||||
.jekyll-metadata
|
||||
.sass-cache
|
||||
|
||||
# Ruby
|
||||
.bundle/
|
||||
|
||||
572
.rubocop.yml
572
.rubocop.yml
@@ -1,602 +1,158 @@
|
||||
# -----------------------------------------------------------------------------
|
||||
# This file has been formatted via a Rake Task configuring cops from
|
||||
# RuboCop v1.57.2.
|
||||
#
|
||||
# To add more cops, paste configurations at the end of the file and run
|
||||
# the rake task via `bundle exec rake rubocop:format_config`.
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
inherit_from: ".rubocop_todo.yml"
|
||||
---
|
||||
|
||||
require:
|
||||
- "./rubocop/jekyll"
|
||||
- rubocop-minitest
|
||||
- rubocop-performance
|
||||
- rubocop-rake
|
||||
- rubocop-rspec
|
||||
- rubocop-performance
|
||||
- ./rubocop/jekyll
|
||||
|
||||
# Directive for all cops
|
||||
AllCops:
|
||||
TargetRubyVersion: 2.7
|
||||
Include:
|
||||
- lib/**/*.rb
|
||||
- test/**/*.rb
|
||||
Exclude:
|
||||
- benchmark/**/*
|
||||
- bin/**/*
|
||||
- exe/**/*
|
||||
- script/**/*
|
||||
- tmp/**/*
|
||||
- vendor/**/*
|
||||
|
||||
# Configure custom cop
|
||||
Jekyll/NoPutsAllowed:
|
||||
Exclude:
|
||||
- rake/*.rake
|
||||
- rake/*.rake
|
||||
|
||||
# Configure built-in cops
|
||||
# =======================
|
||||
|
||||
# Gemspec cops
|
||||
# ----------------------------------------
|
||||
Gemspec/DeprecatedAttributeAssignment:
|
||||
Enabled: true
|
||||
Gemspec/DevelopmentDependencies:
|
||||
Enabled: false
|
||||
Gemspec/RequireMFA:
|
||||
Enabled: false
|
||||
|
||||
# Layout cops
|
||||
# ----------------------------------------
|
||||
Layout/BeginEndAlignment:
|
||||
Enabled: true
|
||||
Layout/EmptyComment:
|
||||
Enabled: false
|
||||
Layout/EmptyLinesAroundAttributeAccessor:
|
||||
Enabled: true
|
||||
Layout/EndAlignment:
|
||||
Severity: error
|
||||
Layout/EndOfLine:
|
||||
Enabled: false
|
||||
Layout/FirstArrayElementIndentation:
|
||||
EnforcedStyle: consistent
|
||||
Layout/FirstHashElementIndentation:
|
||||
EnforcedStyle: consistent
|
||||
Layout/HashAlignment:
|
||||
AllCops:
|
||||
TargetRubyVersion: 2.4
|
||||
Include:
|
||||
- lib/**/*.rb
|
||||
- test/**/*.rb
|
||||
Exclude:
|
||||
- bin/**/*
|
||||
- exe/**/*
|
||||
- benchmark/**/*
|
||||
- script/**/*
|
||||
- vendor/**/*
|
||||
- tmp/**/*
|
||||
Layout/AlignHash:
|
||||
EnforcedHashRocketStyle: table
|
||||
Layout/IndentationWidth:
|
||||
Severity: error
|
||||
Layout/LineContinuationLeadingSpace:
|
||||
Enabled: true
|
||||
Layout/LineContinuationSpacing:
|
||||
Enabled: true
|
||||
Layout/LineEndStringConcatenationIndentation:
|
||||
Enabled: true
|
||||
Layout/LineLength:
|
||||
Exclude:
|
||||
- Gemfile
|
||||
- Rakefile
|
||||
- features/**/*.rb
|
||||
- rake/**/*.rake
|
||||
Max: 100
|
||||
Severity: warning
|
||||
Layout/IndentFirstArrayElement:
|
||||
EnforcedStyle: consistent
|
||||
Layout/IndentFirstHashElement:
|
||||
EnforcedStyle: consistent
|
||||
Layout/MultilineMethodCallIndentation:
|
||||
EnforcedStyle: indented
|
||||
Layout/MultilineOperationIndentation:
|
||||
EnforcedStyle: indented
|
||||
Layout/SpaceAroundMethodCallOperator:
|
||||
Enabled: true
|
||||
Layout/SpaceBeforeBrackets:
|
||||
Enabled: true
|
||||
Layout/SpaceInsideHashLiteralBraces:
|
||||
Enabled: true
|
||||
Exclude:
|
||||
- test/**/*.rb
|
||||
|
||||
# Lint cops
|
||||
# ----------------------------------------
|
||||
Lint/AmbiguousAssignment:
|
||||
Enabled: true
|
||||
Lint/AmbiguousOperatorPrecedence:
|
||||
Enabled: true
|
||||
Lint/AmbiguousRange:
|
||||
Enabled: true
|
||||
Lint/BinaryOperatorWithIdenticalOperands:
|
||||
Enabled: true
|
||||
Lint/ConstantDefinitionInBlock:
|
||||
Enabled: true
|
||||
Exclude:
|
||||
- test/**/*.rb
|
||||
Lint/ConstantOverwrittenInRescue:
|
||||
Enabled: true
|
||||
Lint/DeprecatedConstants:
|
||||
Enabled: true
|
||||
Lint/DeprecatedOpenSSLConstant:
|
||||
Enabled: true
|
||||
Lint/DuplicateBranch:
|
||||
Enabled: true
|
||||
Lint/DuplicateElsifCondition:
|
||||
Enabled: true
|
||||
Lint/DuplicateMagicComment:
|
||||
Enabled: true
|
||||
Lint/DuplicateMatchPattern:
|
||||
Enabled: true
|
||||
Lint/DuplicateRegexpCharacterClassElement:
|
||||
Enabled: true
|
||||
Lint/DuplicateRequire:
|
||||
Enabled: true
|
||||
Lint/DuplicateRescueException:
|
||||
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/LambdaWithoutLiteralBlock:
|
||||
Enabled: true
|
||||
Lint/MissingSuper:
|
||||
Enabled: false
|
||||
Lint/MixedCaseRange:
|
||||
Enabled: true
|
||||
Lint/MixedRegexpCaptureTypes:
|
||||
Enabled: false
|
||||
Lint/NestedPercentLiteral:
|
||||
Exclude:
|
||||
- test/test_site.rb
|
||||
Lint/NoReturnInBeginEndBlocks:
|
||||
Enabled: true
|
||||
Lint/NumberedParameterAssignment:
|
||||
Enabled: true
|
||||
Lint/OrAssignmentToConstant:
|
||||
Enabled: true
|
||||
Lint/OutOfRangeRegexpRef:
|
||||
Enabled: true
|
||||
Lint/RaiseException:
|
||||
Enabled: true
|
||||
Lint/RedundantDirGlobSort:
|
||||
Enabled: true
|
||||
Lint/RedundantRegexpQuantifiers:
|
||||
Enabled: true
|
||||
Lint/RedundantSafeNavigation:
|
||||
Enabled: true
|
||||
Lint/RefinementImportMethods:
|
||||
Enabled: true
|
||||
Lint/RequireRangeParentheses:
|
||||
Enabled: true
|
||||
Lint/RequireRelativeSelfPath:
|
||||
Enabled: true
|
||||
Lint/SelfAssignment:
|
||||
Enabled: true
|
||||
Lint/StructNewOverride:
|
||||
Enabled: true
|
||||
Lint/SymbolConversion:
|
||||
Enabled: true
|
||||
Lint/ToEnumArguments:
|
||||
- test/test_site.rb
|
||||
Layout/EmptyComment:
|
||||
Enabled: false
|
||||
Lint/TopLevelReturnWithArgument:
|
||||
Enabled: true
|
||||
Lint/TrailingCommaInAttributeDeclaration:
|
||||
Enabled: true
|
||||
Lint/TripleQuotes:
|
||||
Enabled: true
|
||||
Lint/UnexpectedBlockArity:
|
||||
Enabled: true
|
||||
Lint/UnmodifiedReduceAccumulator:
|
||||
Enabled: true
|
||||
Layout/EndAlignment:
|
||||
Severity: error
|
||||
Lint/UnreachableCode:
|
||||
Severity: error
|
||||
Lint/UnreachableLoop:
|
||||
Enabled: true
|
||||
Lint/UselessMethodDefinition:
|
||||
Enabled: true
|
||||
Lint/UselessRuby2Keywords:
|
||||
Enabled: true
|
||||
Lint/UselessTimes:
|
||||
Enabled: true
|
||||
Lint/Void:
|
||||
Exclude:
|
||||
- lib/jekyll/site.rb
|
||||
|
||||
# Metrics cops
|
||||
# ----------------------------------------
|
||||
- lib/jekyll/site.rb
|
||||
Metrics/AbcSize:
|
||||
Max: 23
|
||||
Max: 21
|
||||
Metrics/BlockLength:
|
||||
Exclude:
|
||||
- lib/jekyll/configuration.rb
|
||||
- rake/**/*.rake
|
||||
- test/**/*.rb
|
||||
- test/**/*.rb
|
||||
- lib/jekyll/configuration.rb
|
||||
- rake/*.rake
|
||||
Metrics/ClassLength:
|
||||
Exclude:
|
||||
- features/**/*.rb
|
||||
- lib/jekyll/commands/serve.rb
|
||||
- lib/jekyll/configuration.rb
|
||||
- lib/jekyll/document.rb
|
||||
- lib/jekyll/site.rb
|
||||
- test/**/*.rb
|
||||
- !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/CollectionLiteralLength:
|
||||
Enabled: true
|
||||
Metrics/CyclomaticComplexity:
|
||||
Exclude:
|
||||
- lib/jekyll/commands/serve.rb
|
||||
- lib/jekyll/utils.rb
|
||||
Max: 11
|
||||
- lib/jekyll/utils.rb
|
||||
- lib/jekyll/commands/serve.rb
|
||||
Metrics/LineLength:
|
||||
Exclude:
|
||||
- !ruby/regexp /features\/.*.rb/
|
||||
- Rakefile
|
||||
- rake/*.rake
|
||||
- Gemfile
|
||||
Max: 100
|
||||
Severity: warning
|
||||
Metrics/MethodLength:
|
||||
CountComments: false
|
||||
Max: 20
|
||||
Severity: error
|
||||
Metrics/ModuleLength:
|
||||
Exclude:
|
||||
- lib/jekyll/filters.rb
|
||||
Max: 240
|
||||
Metrics/ParameterLists:
|
||||
Max: 4
|
||||
Metrics/PerceivedComplexity:
|
||||
Max: 13
|
||||
|
||||
# Minitest cops
|
||||
# ----------------------------------------
|
||||
Minitest/AssertEmptyLiteral:
|
||||
Enabled: false
|
||||
Minitest/AssertInDelta:
|
||||
Enabled: true
|
||||
Minitest/AssertKindOf:
|
||||
Enabled: true
|
||||
Minitest/AssertOperator:
|
||||
Enabled: false
|
||||
Minitest/AssertOutput:
|
||||
Enabled: true
|
||||
Minitest/AssertPathExists:
|
||||
Enabled: true
|
||||
Minitest/AssertPredicate:
|
||||
Enabled: false
|
||||
Minitest/AssertRaisesWithRegexpArgument:
|
||||
Enabled: true
|
||||
Minitest/AssertSame:
|
||||
Enabled: true
|
||||
Minitest/AssertSilent:
|
||||
Enabled: true
|
||||
Minitest/AssertWithExpectedArgument:
|
||||
Enabled: true
|
||||
Minitest/AssertionInLifecycleHook:
|
||||
Enabled: true
|
||||
Minitest/DuplicateTestRun:
|
||||
Enabled: true
|
||||
Minitest/EmptyLineBeforeAssertionMethods:
|
||||
Enabled: false
|
||||
Minitest/LifecycleHooksOrder:
|
||||
Enabled: true
|
||||
Minitest/LiteralAsActualArgument:
|
||||
Enabled: true
|
||||
Minitest/MultipleAssertions:
|
||||
Enabled: true
|
||||
Minitest/NonExecutableTestMethod:
|
||||
Enabled: true
|
||||
Minitest/NonPublicTestMethod:
|
||||
Enabled: true
|
||||
Minitest/RedundantMessageArgument:
|
||||
Enabled: true
|
||||
Minitest/RefuteInDelta:
|
||||
Enabled: true
|
||||
Minitest/RefuteKindOf:
|
||||
Enabled: true
|
||||
Minitest/RefuteOperator:
|
||||
Enabled: false
|
||||
Minitest/RefutePathExists:
|
||||
Enabled: true
|
||||
Minitest/RefutePredicate:
|
||||
Enabled: false
|
||||
Minitest/RefuteSame:
|
||||
Enabled: true
|
||||
Minitest/ReturnInTestMethod:
|
||||
Enabled: true
|
||||
Minitest/SkipEnsure:
|
||||
Enabled: true
|
||||
Minitest/SkipWithoutReason:
|
||||
Enabled: true
|
||||
Minitest/TestFileName:
|
||||
Enabled: true
|
||||
Exclude:
|
||||
- test/helper.rb
|
||||
Minitest/TestMethodName:
|
||||
Enabled: false
|
||||
Minitest/UnreachableAssertion:
|
||||
Enabled: true
|
||||
Minitest/UnspecifiedException:
|
||||
Enabled: true
|
||||
Minitest/UselessAssertion:
|
||||
Enabled: true
|
||||
|
||||
# Naming cops
|
||||
# ----------------------------------------
|
||||
Max: 8
|
||||
Naming/FileName:
|
||||
Enabled: false
|
||||
Naming/HeredocDelimiterNaming:
|
||||
Exclude:
|
||||
- test/**/*.rb
|
||||
- test/**/*.rb
|
||||
Naming/MemoizedInstanceVariableName:
|
||||
Exclude:
|
||||
- lib/jekyll/convertible.rb
|
||||
- lib/jekyll/drops/site_drop.rb
|
||||
- lib/jekyll/drops/unified_payload_drop.rb
|
||||
- lib/jekyll/page_without_a_file.rb
|
||||
|
||||
# Performance cops
|
||||
# ----------------------------------------
|
||||
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/MapCompact:
|
||||
Enabled: true
|
||||
Performance/MapMethodChain:
|
||||
Enabled: true
|
||||
Performance/MethodObjectAsBlock:
|
||||
Enabled: true
|
||||
Performance/RedundantEqualityComparisonBlock:
|
||||
Enabled: false
|
||||
Performance/RedundantSortBlock:
|
||||
Enabled: true
|
||||
Performance/RedundantSplitRegexpArgument:
|
||||
Enabled: true
|
||||
Performance/RedundantStringChars:
|
||||
Enabled: true
|
||||
Performance/ReverseFirst:
|
||||
Enabled: true
|
||||
Performance/SortReverse:
|
||||
Enabled: false
|
||||
Performance/Squeeze:
|
||||
Enabled: true
|
||||
Performance/StringIdentifierArgument:
|
||||
Enabled: true
|
||||
Performance/StringInclude:
|
||||
Enabled: true
|
||||
Exclude:
|
||||
- lib/jekyll/utils/platforms.rb
|
||||
Performance/Sum:
|
||||
Enabled: true
|
||||
|
||||
# Security cops
|
||||
# ----------------------------------------
|
||||
Security/CompoundHash:
|
||||
Enabled: true
|
||||
Security/IoMethods:
|
||||
Enabled: true
|
||||
- lib/jekyll/convertible.rb
|
||||
- lib/jekyll/drops/site_drop.rb
|
||||
- lib/jekyll/drops/unified_payload_drop.rb
|
||||
- lib/jekyll/page_without_a_file.rb
|
||||
Security/MarshalLoad:
|
||||
Exclude:
|
||||
- lib/jekyll/regenerator.rb
|
||||
- test/**/*.rb
|
||||
- !ruby/regexp /test\/.*.rb$/
|
||||
- lib/jekyll/regenerator.rb
|
||||
Security/YAMLLoad:
|
||||
Exclude:
|
||||
- features/**/*.rb
|
||||
- test/**/*.rb
|
||||
|
||||
# Style cops
|
||||
# ----------------------------------------
|
||||
- !ruby/regexp /features\/.*.rb/
|
||||
- !ruby/regexp /test\/.*.rb$/
|
||||
Style/AccessModifierDeclarations:
|
||||
Enabled: false
|
||||
Style/AccessorGrouping:
|
||||
Enabled: true
|
||||
Style/Alias:
|
||||
EnforcedStyle: prefer_alias_method
|
||||
Style/AndOr:
|
||||
Severity: error
|
||||
Style/ArgumentsForwarding:
|
||||
Enabled: false
|
||||
Style/ArrayCoercion:
|
||||
Enabled: true
|
||||
Style/ArrayIntersect:
|
||||
Enabled: true
|
||||
Style/BisectedAttrAccessor:
|
||||
Enabled: true
|
||||
Style/CaseLikeIf:
|
||||
Enabled: true
|
||||
Style/ClassAndModuleChildren:
|
||||
Exclude:
|
||||
- test/**/*.rb
|
||||
Style/ClassEqualityComparison:
|
||||
Enabled: true
|
||||
Style/CollectionCompact:
|
||||
Enabled: true
|
||||
Style/CombinableLoops:
|
||||
Enabled: true
|
||||
Style/ConcatArrayLiterals:
|
||||
Enabled: true
|
||||
Style/DirEmpty:
|
||||
Enabled: true
|
||||
Style/DocumentDynamicEvalDefinition:
|
||||
Enabled: true
|
||||
- test/**/*.rb
|
||||
Style/FrozenStringLiteralComment:
|
||||
EnforcedStyle: always
|
||||
Style/Documentation:
|
||||
Enabled: false
|
||||
Style/DoubleNegation:
|
||||
Enabled: false
|
||||
Style/EmptyHeredoc:
|
||||
Enabled: true
|
||||
Style/EndlessMethod:
|
||||
Enabled: true
|
||||
Style/EnvHome:
|
||||
Enabled: true
|
||||
Style/ExactRegexpMatch:
|
||||
Enabled: true
|
||||
Style/ExplicitBlockArgument:
|
||||
Enabled: false
|
||||
Style/ExponentialNotation:
|
||||
Enabled: true
|
||||
Style/FetchEnvVar:
|
||||
Enabled: false
|
||||
Style/FileEmpty:
|
||||
Enabled: true
|
||||
Style/FileRead:
|
||||
Enabled: false
|
||||
Style/FileWrite:
|
||||
Enabled: true
|
||||
Style/FormatStringToken:
|
||||
Exclude:
|
||||
- lib/jekyll/liquid_renderer/table.rb
|
||||
- lib/jekyll/profiler.rb
|
||||
- lib/jekyll/utils/ansi.rb
|
||||
Style/FrozenStringLiteralComment:
|
||||
EnforcedStyle: always
|
||||
Style/GlobalStdStream:
|
||||
Enabled: true
|
||||
- lib/jekyll/utils/ansi.rb
|
||||
Style/GuardClause:
|
||||
Enabled: false
|
||||
Style/HashAsLastArrayItem:
|
||||
Enabled: true
|
||||
Style/HashConversion:
|
||||
Enabled: true
|
||||
Style/HashEachMethods:
|
||||
Enabled: true
|
||||
Style/HashExcept:
|
||||
Enabled: true
|
||||
Style/HashLikeCase:
|
||||
Enabled: true
|
||||
Style/HashSyntax:
|
||||
EnforcedStyle: hash_rockets
|
||||
Severity: error
|
||||
Style/HashTransformKeys:
|
||||
Enabled: false
|
||||
Style/HashTransformValues:
|
||||
Enabled: true
|
||||
Style/IfWithBooleanLiteralBranches:
|
||||
Enabled: true
|
||||
Style/KeywordParametersOrder:
|
||||
Enabled: true
|
||||
Style/MagicCommentFormat:
|
||||
Enabled: true
|
||||
Style/MapCompactWithConditionalBlock:
|
||||
Enabled: true
|
||||
Style/MapToHash:
|
||||
Enabled: true
|
||||
Style/MinMaxComparison:
|
||||
Enabled: true
|
||||
Style/MixinUsage:
|
||||
Exclude:
|
||||
- test/helper.rb
|
||||
- test/helper.rb
|
||||
Style/ModuleFunction:
|
||||
Enabled: false
|
||||
Style/MultilineTernaryOperator:
|
||||
Severity: error
|
||||
Style/NegatedIfElseCondition:
|
||||
Enabled: true
|
||||
Style/NestedFileDirname:
|
||||
Enabled: true
|
||||
Style/NilLambda:
|
||||
Enabled: true
|
||||
Style/ObjectThen:
|
||||
Enabled: true
|
||||
Style/OperatorMethodCall:
|
||||
Enabled: true
|
||||
Style/OptionalBooleanParameter:
|
||||
Enabled: true
|
||||
Exclude:
|
||||
- lib/jekyll/log_adapter.rb
|
||||
Style/PercentLiteralDelimiters:
|
||||
PreferredDelimiters:
|
||||
"%Q": "{}"
|
||||
"%W": "()"
|
||||
"%q": "{}"
|
||||
"%Q": "{}"
|
||||
"%r": "!!"
|
||||
"%s": "()"
|
||||
"%w": "()"
|
||||
"%W": "()"
|
||||
"%x": "()"
|
||||
Style/QuotedSymbols:
|
||||
Enabled: true
|
||||
Style/RedundantArgument:
|
||||
Enabled: true
|
||||
Style/RedundantArrayConstructor:
|
||||
Enabled: true
|
||||
Style/RedundantAssignment:
|
||||
Enabled: true
|
||||
Style/RedundantConstantBase:
|
||||
Enabled: true
|
||||
Style/RedundantCurrentDirectoryInPath:
|
||||
Enabled: true
|
||||
Style/RedundantDoubleSplatHashBraces:
|
||||
Enabled: true
|
||||
Style/RedundantEach:
|
||||
Enabled: true
|
||||
Style/RedundantFetchBlock:
|
||||
Enabled: false
|
||||
Style/RedundantFileExtensionInRequire:
|
||||
Enabled: true
|
||||
Style/RedundantFilterChain:
|
||||
Enabled: true
|
||||
Style/RedundantHeredocDelimiterQuotes:
|
||||
Enabled: true
|
||||
Style/RedundantInitialize:
|
||||
Enabled: true
|
||||
Exclude:
|
||||
- lib/jekyll/plugin.rb
|
||||
Style/RedundantLineContinuation:
|
||||
Enabled: true
|
||||
Style/RedundantRegexpArgument:
|
||||
Enabled: true
|
||||
Style/RedundantRegexpCharacterClass:
|
||||
Enabled: true
|
||||
Style/RedundantRegexpConstructor:
|
||||
Enabled: true
|
||||
Style/RedundantRegexpEscape:
|
||||
Enabled: true
|
||||
Style/RedundantSelfAssignment:
|
||||
Enabled: true
|
||||
Style/RedundantSelfAssignmentBranch:
|
||||
Enabled: true
|
||||
Style/RedundantStringEscape:
|
||||
Enabled: true
|
||||
Style/RegexpLiteral:
|
||||
EnforcedStyle: percent_r
|
||||
Style/RescueModifier:
|
||||
Enabled: false
|
||||
Style/ReturnNilInPredicateMethodDefinition:
|
||||
Enabled: true
|
||||
Style/SafeNavigation:
|
||||
Exclude:
|
||||
- lib/jekyll/document.rb
|
||||
- lib/jekyll/page.rb
|
||||
- lib/jekyll/document.rb
|
||||
Style/SignalException:
|
||||
EnforcedStyle: only_raise
|
||||
Style/SingleArgumentDig:
|
||||
Enabled: true
|
||||
Style/SingleLineDoEndBlock:
|
||||
Enabled: true
|
||||
Style/SlicingWithRange:
|
||||
Enabled: false
|
||||
Style/SoleNestedConditional:
|
||||
Enabled: true
|
||||
Style/StringChars:
|
||||
Enabled: true
|
||||
Style/StringConcatenation:
|
||||
Enabled: true
|
||||
Exclude:
|
||||
- lib/jekyll/commands/*.rb
|
||||
- test/**/*.rb
|
||||
Style/StringLiterals:
|
||||
EnforcedStyle: double_quotes
|
||||
Style/StringLiteralsInInterpolation:
|
||||
EnforcedStyle: double_quotes
|
||||
Style/SwapValues:
|
||||
Enabled: true
|
||||
Style/SymbolArray:
|
||||
EnforcedStyle: brackets
|
||||
Style/TrailingCommaInArrayLiteral:
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
# This configuration was generated by
|
||||
# `rubocop --auto-gen-config --auto-gen-only-exclude`
|
||||
# on 2022-04-06 10:48:47 UTC using RuboCop version 1.26.1.
|
||||
# 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
|
||||
# This cop supports safe auto-correction (--auto-correct).
|
||||
Performance/BindCall:
|
||||
Exclude:
|
||||
- 'test/helper.rb'
|
||||
|
||||
# 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'
|
||||
58
.travis.yml
Normal file
58
.travis.yml
Normal file
@@ -0,0 +1,58 @@
|
||||
bundler_args: --without benchmark:development
|
||||
script: script/cibuild
|
||||
cache: bundler
|
||||
language: ruby
|
||||
|
||||
rvm:
|
||||
- &ruby1 2.6.3
|
||||
- &ruby2 2.4.6
|
||||
- &jruby jruby-9.2.7.0
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- rvm: *ruby1
|
||||
env: TEST_SUITE=fmt
|
||||
name: "🤖️ Code Format"
|
||||
- rvm: *ruby1
|
||||
env: TEST_SUITE=default-site
|
||||
name: "🏠️ Default Site"
|
||||
- rvm: *ruby1
|
||||
env: TEST_SUITE=profile-docs
|
||||
name: "Profile Docs"
|
||||
- rvm: *ruby1
|
||||
env: TEST_SUITE=memprof
|
||||
name: "Profile Memory Allocation"
|
||||
exclude:
|
||||
- rvm: *jruby
|
||||
env: TEST_SUITE=cucumber
|
||||
|
||||
env:
|
||||
matrix:
|
||||
- TEST_SUITE=test
|
||||
- TEST_SUITE=cucumber
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
- themes
|
||||
- /.*-stable/
|
||||
|
||||
before_script:
|
||||
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
|
||||
- chmod +x ./cc-test-reporter
|
||||
- ./cc-test-reporter before-build
|
||||
|
||||
after_script:
|
||||
- ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
|
||||
|
||||
notifications:
|
||||
email: false
|
||||
slack:
|
||||
secure: "\
|
||||
dNdKk6nahNURIUbO3ULhA09/vTEQjK0fNbgjVjeYPEvROHgQBP1cIP3AJy8aWs8rl5Yyow4Y\
|
||||
GEilNRzKPz18AsFptVXofpwyqcBxaCfmHP809NX5PHBaadydveLm+TNVao2XeLXSWu+HUNAY\
|
||||
O1AanCUbJSEyJTju347xCBGzESU=\
|
||||
"
|
||||
|
||||
before_install:
|
||||
- gem update --system --no-document
|
||||
- gem install bundler --no-document
|
||||
49
Earthfile
49
Earthfile
@@ -1,49 +0,0 @@
|
||||
FROM alpine
|
||||
|
||||
# Run locally: `earthly +all` to run full CI process
|
||||
all:
|
||||
BUILD --build-arg RUBY=3.0 +test
|
||||
BUILD --build-arg RUBY=2.7 +test
|
||||
BUILD --build-arg RUBY=2.5 +test
|
||||
BUILD --build-arg RUBY=jruby:9.2.14.0 +test
|
||||
BUILD style-check
|
||||
BUILD profile-docs
|
||||
|
||||
# Run locally: `earthly +test`
|
||||
# Run with specific version: `earthly --build-arg RUBY=2.5 +test`
|
||||
test:
|
||||
FROM +deps
|
||||
RUN script/test
|
||||
RUN script/cucumber
|
||||
RUN script/default-site
|
||||
|
||||
style-check:
|
||||
FROM +deps
|
||||
RUN script/fmt
|
||||
|
||||
profile-docs:
|
||||
FROM +deps
|
||||
RUN bundle install --jobs 4
|
||||
RUN script/profile-docs
|
||||
RUN script/memprof
|
||||
|
||||
# Install dependencies and copy in source
|
||||
# used in above steps
|
||||
deps:
|
||||
ARG RUBY=3.0
|
||||
IF case $RUBY in jruby*) ;; *) false; esac
|
||||
FROM $RUBY
|
||||
ENV JRUBY_OPTS="--dev -J-XX:+TieredCompilation -J-XX:TieredStopAtLevel=1 -J-XX:CompileThreshold=10 -J-XX:ReservedCodeCacheSize=128M"
|
||||
ELSE
|
||||
FROM ruby:$RUBY
|
||||
END
|
||||
WORKDIR /src
|
||||
RUN apt-get update && apt-get install nodejs dnsutils git make coreutils g++ build-essential -y
|
||||
RUN gem install bundler
|
||||
RUN gem install sassc -v '2.4.0' --source 'https://rubygems.org/'
|
||||
COPY Gemfile .
|
||||
COPY jekyll.gemspec .
|
||||
COPY lib/jekyll/version.rb lib/jekyll/version.rb
|
||||
COPY test test
|
||||
RUN bundle install --jobs 4
|
||||
COPY . .
|
||||
49
Gemfile
49
Gemfile
@@ -3,7 +3,11 @@
|
||||
source "https://rubygems.org"
|
||||
gemspec :name => "jekyll"
|
||||
|
||||
gem "rake", "~> 13.0"
|
||||
# Temporarily lock JRuby builds on Travis CI to i18n-1.2.x until JRuby is able to handle
|
||||
# refinements introduced in i18n-1.3.0
|
||||
gem "i18n", "~> 1.2.0" if RUBY_ENGINE == "jruby"
|
||||
|
||||
gem "rake", "~> 12.0"
|
||||
|
||||
group :development do
|
||||
gem "launchy", "~> 2.3"
|
||||
@@ -15,35 +19,22 @@ end
|
||||
#
|
||||
|
||||
group :test do
|
||||
gem "activesupport", "< 7.1.0"
|
||||
gem "cucumber", "~> 9.0"
|
||||
gem "cucumber", "~> 3.0"
|
||||
gem "httpclient"
|
||||
gem "jekyll_test_plugin"
|
||||
gem "jekyll_test_plugin_malicious"
|
||||
gem "memory_profiler"
|
||||
|
||||
# Runtime dependency of gem `httpclient`. _Needed only in Ruby 3.4+_.
|
||||
# Remove once gem `httpclient` ships with `mutex_m` listed as a dependency in its gemspec.
|
||||
gem "mutex_m", "~> 0.3" if RUBY_VERSION >= "3.4"
|
||||
|
||||
gem "nokogiri", "~> 1.7"
|
||||
gem "rspec"
|
||||
gem "rspec-mocks"
|
||||
gem "rubocop", "~> 1.57.2"
|
||||
gem "rubocop-minitest"
|
||||
gem "rubocop", "~> 0.72.0"
|
||||
gem "rubocop-performance"
|
||||
gem "rubocop-rake"
|
||||
gem "rubocop-rspec"
|
||||
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 "test-theme-w-empty-data", :path => File.expand_path("test/fixtures/test-theme-w-empty-data", __dir__)
|
||||
|
||||
if RUBY_ENGINE == "jruby"
|
||||
gem "http_parser.rb", "~> 0.6.0"
|
||||
gem "jruby-openssl"
|
||||
end
|
||||
gem "jruby-openssl" if RUBY_ENGINE == "jruby"
|
||||
end
|
||||
|
||||
#
|
||||
@@ -54,7 +45,7 @@ group :test_legacy do
|
||||
gem "minitest"
|
||||
gem "minitest-profile"
|
||||
gem "minitest-reporters"
|
||||
gem "shoulda-context"
|
||||
gem "shoulda"
|
||||
gem "simplecov"
|
||||
end
|
||||
|
||||
@@ -79,11 +70,11 @@ group :jekyll_optional_dependencies do
|
||||
gem "jekyll-paginate"
|
||||
gem "jekyll-redirect-from"
|
||||
gem "kramdown-syntax-coderay"
|
||||
gem "matrix"
|
||||
gem "mime-types", "~> 3.0"
|
||||
gem "tomlrb"
|
||||
gem "rdoc", "~> 6.0"
|
||||
gem "tomlrb", "~> 1.2"
|
||||
|
||||
platforms :ruby, :mswin, :mingw, :x64_mingw do
|
||||
platform :ruby, :mswin, :mingw, :x64_mingw do
|
||||
gem "classifier-reborn", "~> 2.2"
|
||||
gem "liquid-c", "~> 4.0"
|
||||
gem "yajl-ruby", "~> 1.4"
|
||||
@@ -91,26 +82,14 @@ group :jekyll_optional_dependencies do
|
||||
|
||||
# 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", ENV["TZINFO_VERSION"] if ENV["TZINFO_VERSION"]
|
||||
install_if -> { RUBY_PLATFORM =~ %r!mingw|mswin|java! } do
|
||||
gem "tzinfo", "~> 1.2"
|
||||
gem "tzinfo-data"
|
||||
end
|
||||
end
|
||||
|
||||
#
|
||||
|
||||
group :rdoc, :optional => true do
|
||||
# Psych 5 has stopped bundling `libyaml` and expects it to be installed on the host system prior
|
||||
# to being invoked.
|
||||
# Since we don't have a direct dependency on the Psych gem (it gets included in the gem bundle as
|
||||
# a dependency of the `rdoc` gem), lock psych gem to v4.x instead of installing `libyaml` in our
|
||||
# development / CI environment.
|
||||
gem "psych", "~> 4.0"
|
||||
gem "rdoc", "~> 6.0"
|
||||
end
|
||||
|
||||
#
|
||||
|
||||
group :site do
|
||||
gem "html-proofer", "~> 3.4" if ENV["PROOF"]
|
||||
|
||||
|
||||
783
History.markdown
783
History.markdown
@@ -1,745 +1,3 @@
|
||||
## HEAD
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Avoid caching resource when called via `include_relative` tag (#9784)
|
||||
* Fix logs containing IPv6 URLs (#9813)
|
||||
* Do not treat colons in `url_placeholders` as URI delimiters (#9850)
|
||||
* Fix servlet do_GET header logic (#9867)
|
||||
* Add logger to Gemfile for Ruby 4.0 (#9920)
|
||||
|
||||
### Documentation
|
||||
|
||||
* Improve documentation on collections in step-by-step walkthrough (#9803)
|
||||
* Add `https://form.taxi` as a third-party resource for forms (#9802)
|
||||
* Add Supranode to third-party deployment guide (#9786)
|
||||
* Document the need for a `Gemfile` in deployment step of step-by-step walkthrough (#9805)
|
||||
* Add Azion to the 3rd party deployment docs (#9811)
|
||||
* Add ruby-erb prerequisite for Arch Linux installations (#9832)
|
||||
* Add jekyllup.com to themes documentation (#9882)
|
||||
* docs: Update contributor badge in README to include avatar height and limit parameters (#9912)
|
||||
* Update WDM (0.1.1 → 0.2.0) in the Windows docs (#9897)
|
||||
* Bump supported versions (#9923)
|
||||
* Add GitCMS to resources docs (#9960)
|
||||
|
||||
### Development Fixes
|
||||
|
||||
* Improve readability of `post_url` tag (#9829)
|
||||
* Fix flaky test that depends on current minute (#9889)
|
||||
* build: fix broken CI on newer rubies (#9954)
|
||||
|
||||
### Minor Enhancements
|
||||
|
||||
* feat: Allowing post_url tag to receive liquid variables (#9776)
|
||||
* Add .ruby-lsp to default excludes (#9914)
|
||||
* Allow configuring future metadata for individual collections (#9925)
|
||||
|
||||
## 4.4.1 / 2025-01-29
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Restore globbed path behavior in front matter defaults (#9762)
|
||||
|
||||
## 4.4.0 / 2025-01-27
|
||||
|
||||
### Minor Enhancements
|
||||
|
||||
* Allow marking specific highlighted lines via Liquid (#9138)
|
||||
* Add gem `csv` to runtime dependency list (#9522)
|
||||
* Bump the minimum ruby version to 2.7 (#9525)
|
||||
* Acknowledge `livereload_port` from site config too (#9606)
|
||||
* Add gem `base64` as runtime dependency (#9740)
|
||||
* Add gem `json` as runtime_dependency (#9671)
|
||||
* Remove unnecessary constraint on gem `mercenary` (#9758)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Optimize default front matter using `File.fnmatch?` (#9185)
|
||||
* Remove totals in profile table properly (#9186)
|
||||
* Optimize `Site#each_site_file` (#9187)
|
||||
* Rename sass partial created for new blank site (#9257)
|
||||
* Fix `jekyll serve --detach` with jekyll-sass-converter 3.x (#9304)
|
||||
* Handle TypeError from `where` filter gracefully (#9292)
|
||||
* Add support for upcoming logger 1.4.3 (#9392)
|
||||
* Fix typo in devcontainer.json (#9364)
|
||||
* Correct rubocop lint errors (#9600)
|
||||
* Fix inexistent layout warning for the default 404 page (#9589)
|
||||
* Relax version constraint on `wdm` in new Gemfile (#9662)
|
||||
* Fix `--livereload-ignore` option (#9570)
|
||||
* Render theme-gem root only in development (#9680)
|
||||
|
||||
### Development Fixes
|
||||
|
||||
* Cleanup highlight tag (#9177)
|
||||
* Run tests in utc (#9168)
|
||||
* Lock Ruby in CI to v3.1.2 and bump JRuby to v9.4.0.0 (#9196)
|
||||
* Update sass related tests for jekyll-sass-converter 3.x (#9223)
|
||||
* Split `test/test_tags.rb` into multiple files (#9230)
|
||||
* test: use hash explicitly for Struct initializer for ruby 3.2 (#9237)
|
||||
* script/default-site: accept flags for `jekyll new` (#9259)
|
||||
* Bump check-spelling/check-spelling from 0.0.20 to 0.0.21 (#9205)
|
||||
* Use check-spelling/check-spelling@v0.0.21 (#9199)
|
||||
* Bump RuboCop to v1.45.x (#9305)
|
||||
* Bump Rubocop to version 1.48.x (#9326)
|
||||
* Bump versions of ruby & nodejs in devcontainer (#9360)
|
||||
* Bump rubocop version to 1.52.x (#9361)
|
||||
* Upgrade RuboCop to 1.54 (#9401)
|
||||
* Add CodeQL workflow (#9397)
|
||||
* Bump actions/checkout from 3 to 4 (#9442)
|
||||
* Test suite uses shoulda-context only. (#9441)
|
||||
* Keep activesupport at version 7.0.x (#9469)
|
||||
* Bump Rubocop to 1.56.4 (#9459)
|
||||
* Configure dependabot to handle rubygems dependencies (#9445)
|
||||
* Update rubocop gem (#9476)
|
||||
* Fix Performance/StringIdentifierArgument violation in site.rb and allow activesupport 6 for windows tests (#9512)
|
||||
* Add a few more emeritus team members (#9535)
|
||||
* Make custom cop inherit `RuboCop::Cop::Base` (#9597)
|
||||
* CI: Use JRuby 9.4.8.0 (#9654)
|
||||
* Stop testing with Cucumber on JRuby (#9661)
|
||||
* Windows CI on GitHub Actions (#9659)
|
||||
* Run GitHub Actions only if needed (#9664)
|
||||
* Format `.rubocop.yml` via a rake task (#9687)
|
||||
* Configure some new cops (#9688)
|
||||
* Fix expected markup per WAI-ARIA requirements (#9737)
|
||||
* Add an optional `:rdoc` group of gems (#9742)
|
||||
* Test `inspect` filter with custom object (#9743)
|
||||
* Bump cucumber to v9 (#9747)
|
||||
* Add Ruby 3.4 to CI matrix (#9740)
|
||||
* Remove unnecessary runtime dependency (#9753)
|
||||
* Bump `check-spelling/check-spelling` action (#9756)
|
||||
|
||||
### Documentation
|
||||
|
||||
* Fix Nested tree navigation with recursion example (#9174)
|
||||
* Fix typo on website (#9203)
|
||||
* Publish post on major release of sass-converter (#9225)
|
||||
* Update Jekyll on macOS (macos.md) and current ruby version to 3.1.3 in ruby.yml (#9195)
|
||||
* Add release post for v4.3.2 (#9263)
|
||||
* Grammatical reordering in 3-to-4 upgrading docs (#9245)
|
||||
* fixed grammatical mistake on "showcase" page (#9264)
|
||||
* Mark `highlight` `mark_lines` feature as 4.4 in docs (#9184)
|
||||
* Add v3.9.3 release history & post to `master` branch (#9284)
|
||||
* Update S3 deployment to remove s3_website (#9221)
|
||||
* Document Exclude behavior, Include overrides and the default exclusion list (#9376)
|
||||
* Update macos.md, remove Catalina (macOS 10.15) (#9405)
|
||||
* Update macos.md, add support for Ventura (#9406)
|
||||
* Typo fix - update to hooks and 3rd party deployment and one other article (#9411)
|
||||
* Update 07-assets.md (#9393)
|
||||
* Mention the front matter requirement in pages.md (#9423)
|
||||
* Point to the Rouge GitHub repo rather than broken website (#9362)
|
||||
* Add new theme directory to themes resources (#9356)
|
||||
* Adds Kinsta to 3rd party deployments (#9331)
|
||||
* Update Fedora prerequisites to include g++ (#9290)
|
||||
* Update convert-site-to-jekyll.md (#9348)
|
||||
* Update github-actions documentation (#9426)
|
||||
* Update resources.md (#9449)
|
||||
* Add GitHub Pages helpful notes (#9235)
|
||||
* Clarify which version of Jekyll needs 'jekyll-paginate' (#9477)
|
||||
* chore: update showcases (#9473)
|
||||
* Add FreeBSD installation instructions (#9481)
|
||||
* Fix broken link for the security team page (#9497)
|
||||
* Fix broken links for several Jekyll integrations (#9496)
|
||||
* Add release post for v4.3.3 (#9511)
|
||||
* Add docs version badge to page_excerpts feature (#9520)
|
||||
* Improve accessibility of the docs (#9338)
|
||||
* Fix gem quote consistency on docs (#9517)
|
||||
* Make site search work again (#9530)
|
||||
* Jekyll docs template typo - All pages show "Deployment" (#9548)
|
||||
* Fixed: Wrong navigation style on the right side of news and docs pages (#9586)
|
||||
* Add redirect for step-by-step tutorial (#9593)
|
||||
* Add Jekyll 3.10.0 release post & history (#9625)
|
||||
* Fix minor docs error (#9641)
|
||||
* Update windows.md (#9644)
|
||||
* Document keys of global variable `{{ jekyll }}` (#9653)
|
||||
* Fix incorrect and inconsistent variables in the permalinks page (#9591)
|
||||
* Fix lapses in documentation of page variables (#9667)
|
||||
* Add note about VSCode warning for SCSS files (#9609)
|
||||
* docs: Fix incorrect parentheses (#9629)
|
||||
* docs: Fix of a bug in the pagination section (#8890)
|
||||
* Update current Ruby version renders and macOS docs (#9614)
|
||||
* Improve docs around using GitHub Actions to build and deploy Jekyll sites (#9682)
|
||||
* Fix grammar in the description of `page.excerpt` variable (#9689)
|
||||
* Render HTML tables at `/docs/permalinks/` using a data file (#9666)
|
||||
* Fix HTML attribute separation whitespace placement in the Navigation include code of Assets step of the Step by Step Tutorial (#9695)
|
||||
* Fix missing glob matching pattern support description in the documentation of the `include` and `exclude` configuration options (#9697)
|
||||
* Fix missing `url` configuration option documentation (#9699)
|
||||
* Link to GitHub Pages Dependency versions page instead of explicitly specifying Jekyll version (#9715)
|
||||
* Fix broken link on third-party.md (#9704)
|
||||
* Fix: remove inaccessible links and their descriptions (#9745)
|
||||
* Add release post for v4.4.0 (#9759)
|
||||
|
||||
### Site Enhancements
|
||||
|
||||
* Extract markup for `Improve this page` into an inclusion (#9675)
|
||||
|
||||
## 4.3.4 / 2024-09-16
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Backport #9662 for v4.3.x: Relax version constraint on wdm in new Gemfile (#9683)
|
||||
* Backport #9680 for v4.3.x: Render theme-gem root only in development (#9684)
|
||||
|
||||
### Development Fixes
|
||||
|
||||
* Sync workflows with counterparts on `master` (#9681)
|
||||
|
||||
## 4.3.3 / 2023-12-27
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Backport #9392 for v4.3.x: Fix backward compatibility issues in the Logger (#9510)
|
||||
|
||||
### Development Fixes
|
||||
|
||||
* Backport #9237 for v4.3.x: Use Hash explicitly for Struct initializer (#9285)
|
||||
|
||||
## 3.10.0 / 2024-06-23
|
||||
|
||||
### Minor Enhancements
|
||||
|
||||
* Backport add-csv-dependency from #9522 to Jekyll 3 (#9616)
|
||||
* 3.10-stable: Add webrick as a dependency (#9620)
|
||||
|
||||
## 3.9.5 / 2024-02-12
|
||||
|
||||
### Minor Enhancements
|
||||
|
||||
* 3.9-stable: allow Pages to be Excerpted (#9550)
|
||||
|
||||
## 3.9.4 / 2023-12-28
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Backport #9392 for v3.9.x: Add support for Ruby 3.3 Logger (#9513)
|
||||
|
||||
## 3.9.3 / 2023-01-29
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* 3.9.x: Support i18n 1.x (#9269)
|
||||
* Backport #8880 for v3.9.x: Support both tzinfo v1 and v2 along with non-half hour offsets (#9280)
|
||||
|
||||
### Development Fixes
|
||||
|
||||
* v3.9.x: test under Ruby 3.2 #9272)
|
||||
* v3.9.x: fix rdiscount test (#9277)
|
||||
|
||||
## 4.3.2 / 2023-01-20
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Backport #9257 for v4.3.x: Rename sass partial created for new blank site (#9262)
|
||||
* Backport #9187 for v4.3.x: Optimize `Site#each_site_file` (#9256)
|
||||
* Backport #9186 for v4.3.x: Remove totals in profile table properly (#9255)
|
||||
|
||||
### Development Fixes
|
||||
|
||||
* Backport #9223 for 4.3.x: Update sass related tests for jekyll-sass-converter 3.x (#9254)
|
||||
|
||||
## 4.3.1 / 2022-10-26
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Respect user-defined name attribute in documents (#9167)
|
||||
* Revert "Incrementally rebuild when a data file is changed" (#9170)
|
||||
|
||||
### Documentation
|
||||
|
||||
* Release post for v4.3.1 (#9171)
|
||||
|
||||
## 4.3.0 / 2022-10-20
|
||||
|
||||
### Minor Enhancements
|
||||
|
||||
* Add webrick as a dependency (#8524)
|
||||
* Regenerate supported mime types (#8542)
|
||||
* Update include tag to be more permissive (#8618)
|
||||
* Optimize `Jekyll::Utils.parse_date` (#8425)
|
||||
* Update rubocop from 1.12 to 1.18 and min ruby from 2.4 to 2.5 (#8741)
|
||||
* Always hide cache-dir contents from Git (#8798)
|
||||
* Remove the warning about auto-regeneration on Windows (#8821)
|
||||
* Propagate _data folder from theme (#8815)
|
||||
* Support both tzinfo v1 and v2 along with non-half hour offsets. (#8880)
|
||||
* Run vendor-mimes to update mime.types (#8940)
|
||||
* Expose collection static files via `site.static_files` (#8961)
|
||||
* Expose `basename` from `document.rb` as `name` to Liquid templates (#8761)
|
||||
* Allow Configurable Converters on CSV (#8858)
|
||||
* Introduce `theme` drop to expose theme-gem details (#9129)
|
||||
* Relax version constraint to allow Rouge 4.x (#9134)
|
||||
* Incrementally rebuild when a data file is changed (#8771)
|
||||
* Support jekyll-sass-converter 3.x (#9132)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* fix: pin rubocop to 1.12 due to error with ruby 2.4 (#8651)
|
||||
* Load Jekyll plugins from BUNDLE_GEMFILE location (#8585)
|
||||
* fix(security): CVE-2021-28834 (#8680)
|
||||
* Inject livereload script using `location.protocol` instead of `http:` (#8718)
|
||||
* Respect collections_dir config within include tag (#8756)
|
||||
* Fix regression in Convertible module from v4.2.0 (#8786)
|
||||
* Revert #7253: "Don't reset site.url to localhost:4000 by default" (#8620)
|
||||
* Improve readability of CI logs (#8877)
|
||||
* Fix deprecation message for missing doc method (#8960)
|
||||
* Fix response header for content served via `jekyll serve` (#8965)
|
||||
* Trigger livereload in sites without pages (#8337)
|
||||
* Only enable BOM encoding option on UTF encodings (#8363)
|
||||
* Ensure theme config is a `Jekyll::Configuration` object (#8988)
|
||||
* Remove misleading totals row from `--profile` table (#9039)
|
||||
* Unlock Psych dependency (#9135)
|
||||
* Fix false positive conflicts for static files in a collection (#9141)
|
||||
|
||||
### Development Fixes
|
||||
|
||||
* style: enable new cops (#8538)
|
||||
* Allow dependabot to keep github actions up-to-date (#8540)
|
||||
* Update actions/cache requirement to v2.1.3 (#8543)
|
||||
* Pin rubocop version (#8564)
|
||||
* style: add rubocop 1.9 cops (#8567)
|
||||
* Cross Version Testing Locally and Faster CI (#8610)
|
||||
* Use official Ruby setup GH action (#8614)
|
||||
* Spell check action for markdown documentation (#8675)
|
||||
* Update expect to cover docs/_posts (#8677)
|
||||
* Bump check-spelling/check-spelling from 0.0.18 to 0.0.19 (#8740)
|
||||
* Enable Rubocop accessor grouping, fix existing offenses (#8293)
|
||||
* Tags:Highlight: Decomposed HTMLLegacy formatter (#8623)
|
||||
* Relax Rubocop Dependency (#8831)
|
||||
* Add a workflow to build gems consistently (#8830)
|
||||
* Fix random test failures in TestExcerpt #to_liquid (#8884)
|
||||
* Lock gem `psych` to `v3.x` (#8918)
|
||||
* Fix typo in Bug Report template (#8951)
|
||||
* Check symlink outside site_source without Pathutil (#9015)
|
||||
* Stop testing with Rubies older than 2.7 on non-Windows (#8955)
|
||||
* Bump actions/checkout from 2 to 3 (#8986)
|
||||
* Remove git.io shortlinks from repo (#9045)
|
||||
* Bump rubocop to 1.32 (#9093)
|
||||
* Bump RuboCop to `1.36.x` (#9125)
|
||||
* Use check-spelling/check-spelling@v0.0.20 (#9111)
|
||||
* Disable pending cops when running rubocop (#9136)
|
||||
* Relax RDoc version dependency (#9142)
|
||||
|
||||
### Documentation
|
||||
|
||||
* typo - do instead of don't (#8518)
|
||||
* Document support for TSV files consistently (#8488)
|
||||
* Add a disclaimer to tutorials involving Ruby code (#8525)
|
||||
* Improve documentation on developing generators (#8527)
|
||||
* Fixes typo in layouts_dir documentation (#8532)
|
||||
* Fix i.e. typos in collections.md (#8529)
|
||||
* Remove GitHub Pages content which is in GitHub docs (#8533)
|
||||
* Step By Step Instructions Review (#8399)
|
||||
* Fix typo in migrating from 3.0 to 4.0 page (#8572)
|
||||
* Fix for important missing step in macOS Installation Docs: Add the Homebrew gems directory to the PATH (#8496)
|
||||
* Use latest Jekyll-action configuration (#8579)
|
||||
* docs: troubleshoot macOS with ARM64 architecture (#8560)
|
||||
* docs: add overview of .jekyll-cache dir (#8648)
|
||||
* docs: clarify where .jekyll-metadata comes from (#8646)
|
||||
* Razorops CI/CD added (#8656)
|
||||
* Specify default port and host for serve commands in docs (#8624)
|
||||
* Update third-party.md (#8652)
|
||||
* Add documentation for Sass configuration options (#8587)
|
||||
* Add formcarry to forms section (#8471)
|
||||
* Add step to set SDKROOT (#8478)
|
||||
* Improve the "Markdown Options" Docs (#8681)
|
||||
* Add 'webrick' warning note to "Quickstart" Docs (#8727)
|
||||
* Update windows.md (#8701)
|
||||
* IRC networks - Libera, Freenode (#8706)
|
||||
* Improve GitHub Flavored Markdown Docs (#8684)
|
||||
* Fixing URL in MacOS install for rbenv-doctor (#8693)
|
||||
* Fix adjective in `troubleshooting.md` document (#8777)
|
||||
* Goodbye Frank. We'll miss you. 💔 (#8807)
|
||||
* Update index.html: Grammar fix. (#8803)
|
||||
* Prefer Libera. Remove Freenode. (#8811)
|
||||
* Update feature_request.md (#8797)
|
||||
* Remove AWS Amplify from the showcase (#8812)
|
||||
* Move Frank to Emeritus Core Team Members (#8813)
|
||||
* Release post for v4.2.1 (#8818)
|
||||
* Update CircleCI example (#8829)
|
||||
* Fix typo (#8835)
|
||||
* Added docs for running locally (#8852)
|
||||
* Linting README.markdown (#8900)
|
||||
* Remove text on GITHUB_TOKEN which is now built-in (#8907)
|
||||
* Add Security Policy document (#8823)
|
||||
* Manage repository meta documents consistently (#8908)
|
||||
* docs: add Layer0 deployment guide (#8915)
|
||||
* docs: Update README generated by `jekyll new-theme` (#8919)
|
||||
* Update resources.md (#8925)
|
||||
* Rewrite documentation on installing plugins (#8921)
|
||||
* Improve maintainers guide on releasing a new version (#8928)
|
||||
* Fix link for "CloudSh" (#8934)
|
||||
* Recommend using `actions/cache` in GitHub Actions documentation (#8948)
|
||||
* Remove references to EOL hakiri.io service (#8946)
|
||||
* Release post for v4.2.2 (#8982)
|
||||
* Document releasing off `*-stable` branches (#8984)
|
||||
* Update document by fix yaml syntax error (#8991)
|
||||
* Enhance option's case for Jekyll configuration (#8992)
|
||||
* Fix typo in `_docs/deployment/manual.md` (#8997)
|
||||
* Add quiet/verbose options (#8996)
|
||||
* Update README.markdown re IRC Pointer (#9005)
|
||||
* Remove Aerobatic (#9007)
|
||||
* Add Jekyll 3.9.2 release post to 'master' branch (#9013)
|
||||
* Simplify macOS installation docs (#8993)
|
||||
* Improve document about GitHub Actions section (#8853)
|
||||
* Update permalinks.md (#9017)
|
||||
* Add clarity to docs on permalinks placeholders and built-ins (#8995)
|
||||
* Remove Ionic Framework site from showcase (#9057)
|
||||
* Windows: describe which option to choose (#9049)
|
||||
* Improve links (http -> https) (#9064)
|
||||
* Update ruby version for macos guide (#9086)
|
||||
* Update posts.md (#9151)
|
||||
* Release post for v4.3.0 (#9157)
|
||||
|
||||
### Site Enhancements
|
||||
|
||||
* Improvements to CSS (#7834)
|
||||
* Slightly update lang `sh` code-block styling (#8857)
|
||||
|
||||
## 4.2.2 / 2022-03-03
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Lock `http_parser.rb` gem to `v0.6.x` on JRuby.
|
||||
|
||||
### Development Fixes
|
||||
|
||||
* 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)
|
||||
* Suppress 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 'page 1' 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't generate excerpts for non-html pages (#8234)
|
||||
* Make page excerpts consistent with doc excerpts (#8236)
|
||||
|
||||
### Documentation
|
||||
|
||||
* Replace deprecated 'show' command with 'info' (#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's --> 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.2 / 2022-03-27
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Lock `http_parser.rb` gem to `v0.6.x` on JRuby (#8943)
|
||||
* Backport #8756 for v3.9.x: Respect collections_dir config within include tag (#8795)
|
||||
* Backport #8965 for v3.9.x: Fix response header for content served via `jekyll serve` (#8976)
|
||||
|
||||
### Development Fixes
|
||||
|
||||
* Update and fix CI for `3.9-stable` on Ruby 3.x (#8942)
|
||||
* Fix CI for commits to `3.9-stable` branch (#8788)
|
||||
|
||||
## 3.9.1 / 2021-04-08
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Backport #8618 for v3.9.x: Update include tag to be more permissive (#8629)
|
||||
|
||||
## 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
|
||||
@@ -990,7 +248,7 @@
|
||||
* Remove alt attribute from a tags (#7407)
|
||||
* Fix BASH code-block in ubuntu.md (#7420)
|
||||
* zlib is missing (#7428)
|
||||
* Fixed unnecessary articles and pronouns (#7466)
|
||||
* 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)
|
||||
@@ -1005,7 +263,7 @@
|
||||
* fix link to Site Source config (#7708)
|
||||
* Introduce frontmatter in step 2 (#7704)
|
||||
* Add @ashmaroli to Core Team listing (#7398)
|
||||
* Link to Tidelift in site's footer (#7377)
|
||||
* Lnk to Tidelift in site's footer (#7377)
|
||||
* Link to OpenCollective backing (#7378
|
||||
* Link to sponsor listing in README (#7405)
|
||||
* Adjust team page listings (#7395)
|
||||
@@ -1026,7 +284,6 @@
|
||||
|
||||
### 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)
|
||||
@@ -1156,7 +413,7 @@
|
||||
* doc: add liquid tag plugin jekyll-onebox for html previews (#6898)
|
||||
* Add `jekyll-w2m` to plugins (#6855)
|
||||
* Fix tutorials navigation HTML (#6919)
|
||||
* add Arch Linux installation troubleshoot (#6782)
|
||||
* add Arch Linux instalation troubleshoot (#6782)
|
||||
* Docs: Install Jekyll on macOS (#6881)
|
||||
* Fix CodeClimate badges [ci skip] (#6930)
|
||||
* Update index.md (#6933)
|
||||
@@ -1312,7 +569,7 @@
|
||||
* Fix list appearance by adding missing `ol` tag (#6421)
|
||||
* Explain how to override output collection index page (#6424)
|
||||
* Added github-cards to the list of plugins (#6425)
|
||||
* CoC violation correspondents (#6429)
|
||||
* CoC violation correspondants (#6429)
|
||||
* Add a note about Liquid and syntax highlighting (#6466)
|
||||
* Remove `sudo` from macOS troubleshooting instructions (#6486)
|
||||
* Add a note on `:jekyll_plugins` group in the docs (#6488)
|
||||
@@ -1428,7 +685,7 @@
|
||||
* add SUPPORT file for GitHub (#6324)
|
||||
* Rename CODE_OF_CONDUCT to show in banner (#6325)
|
||||
* Docs : illustrate page.id for a collection's document (#6329)
|
||||
* Docs: post's date can be overridden in front matter (#6334)
|
||||
* Docs: post'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)
|
||||
@@ -1452,7 +709,7 @@
|
||||
* make flakey test more robust (#6277)
|
||||
* Add a quick test for DataReader (#6284)
|
||||
* script/backport-pr: commit message no longer includes the `#` (#6289)
|
||||
* Add CODEOWNERS file to help automate reviews. (#6320)
|
||||
* Add Add CODEOWNERS file to help automate reviews. (#6320)
|
||||
* Fix builds on codeclimate (#6333)
|
||||
* Bump rubies on Travis (#6366)
|
||||
|
||||
@@ -1476,7 +733,7 @@
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Backward compatibilize URLFilters module (#6163)
|
||||
* Backward compatiblize URLFilters module (#6163)
|
||||
* Static files contain front matter default keys when `to_liquid`'d (#6162)
|
||||
* Always normalize the result of the `relative_url` filter (#6185)
|
||||
|
||||
@@ -1946,7 +1203,7 @@
|
||||
|
||||
### Minor Enhancements
|
||||
|
||||
* Stop testing with Ruby 2.0.x EOL (#4381)
|
||||
* Stop testing with Ruby 2.0.x, which is EOL'd. (#4381)
|
||||
* Allow collections to have documents that have no file extension (#4545)
|
||||
* Add size property to `group_by` result (#4557)
|
||||
* Site Template: Removed unnecessary nesting from `_base.scss` (#4637)
|
||||
@@ -1972,7 +1229,7 @@
|
||||
* Add 'jekyll new-theme' command to help users get up and running creating a theme (#4848)
|
||||
* `markdownify` and `smartify` should convert input to string before conversion (#4958)
|
||||
* Run `Site#generate` for 'jekyll doctor' to catch plugin issues (#5005)
|
||||
* Add `normalize_whitespace` filter (#4917)
|
||||
* Add `normalize_whitepace` filter (#4917)
|
||||
* Move bin/jekyll to exe/jekyll to prevent collision with binstubs (#5014)
|
||||
* Cleaning up site template & theme updates. (#4922)
|
||||
* Add fetch method to Drops (#5056)
|
||||
@@ -2021,7 +1278,7 @@
|
||||
* Fix state leakage in Kramdown test (#4618)
|
||||
* Unify method for copying special files from repo to site (#4601)
|
||||
* Refresh the contributing file (#4596)
|
||||
* change smartify doc from copy/paste of markdownify doc (#4653)
|
||||
* change smartify doc from copy/paste of mardownify doc (#4653)
|
||||
* Update Rake & disable warnings when running tests (#4720)
|
||||
* Fix many warnings (#4537)
|
||||
* Don't blindly assume the last system when determining "open" cmd (#4717)
|
||||
@@ -2119,7 +1376,7 @@
|
||||
* Corrected pagination docs for hidden: true feature (#4903)
|
||||
* Remove a Broken Link for Refheap Plugin (#4971)
|
||||
* Instructions on how to install github-gem on Windows (#4975)
|
||||
* Minor tweak to fix missing apostrophe (#4962)
|
||||
* Minor tweak to fix missing apostrophne (#4962)
|
||||
* Instructions on how to install github-gem on Windows (v2) (#4977)
|
||||
* Fix inaccurate HTTP response header field name (#4976)
|
||||
* Add post about GSoC project (#4980)
|
||||
@@ -2127,10 +1384,10 @@
|
||||
* Update normalize.css to v4.0.0. (#4989)
|
||||
* Add jekyll-tags-list-plugin to list of third-party plugins (#5000)
|
||||
* Windows docs: Command needs to be called from blog path (#5006)
|
||||
* Update text to be consistent with example (#5010)
|
||||
* Update text to be consitent with example (#5010)
|
||||
* Update template links to point to core Liquid site (#5012)
|
||||
* Add generator-jekyllized to third-party plugins (#5027)
|
||||
* Add Jekyll Art Gallery generator plugin to list of third-party plugins (#5043)
|
||||
* Add Jekyll Art Hallery generator plugin to list of third-party plugins (#5043)
|
||||
* Add Formingo to the list of Jekyll form SaaS (#5054)
|
||||
* Highlight help nav item when navigated to. (#5058)
|
||||
* Update normalize.css to v4.2.0. (#5096)
|
||||
@@ -2282,9 +1539,9 @@
|
||||
* Reorganize and cleanup the Gemfile, shorten required depends. (#4318)
|
||||
* Remove script/rebund. (#4341)
|
||||
* Implement codeclimate platform (#4340)
|
||||
* Remove ObjectSpace dumping and start using inherited, it's faster. (#4342)
|
||||
* Remove ObectSpace dumping and start using inherited, it's faster. (#4342)
|
||||
* Add script/travis so all people can play with Travis-CI images. (#4338)
|
||||
* Move Cucumber to using RSpec-Expectations and furthering JRuby support. (#4343)
|
||||
* Move Cucumber to using RSpec-Expections and furthering JRuby support. (#4343)
|
||||
* Rearrange Cucumber and add some flair. (#4347)
|
||||
* Remove old FIXME (#4349)
|
||||
* Clean up the Gemfile (and keep all the necessary dependencies) (#4350)
|
||||
@@ -2510,7 +1767,7 @@
|
||||
* Fixed an unclear code comment in site template SCSS (#3837)
|
||||
* Fix reading of binary metadata file (#3845)
|
||||
* Remove var collision with site template header menu iteration variable (#3838)
|
||||
* Change nonexistent `hl_linenos` to `hl_lines` to allow passthrough in safe mode (#3787)
|
||||
* Change non-existent `hl_linenos` to `hl_lines` to allow passthrough in safe mode (#3787)
|
||||
* Add missing flag to disable the watcher (#3820)
|
||||
* Update CI guide to include more direct explanations of the flow (#3891)
|
||||
* Set `future` to `false` in the default config (#3892)
|
||||
@@ -2617,7 +1874,7 @@
|
||||
* Define the `install` step in the CI example `.travis.yml` (#3622)
|
||||
* Expand collections documentation. (#3638)
|
||||
* Add the "warning" note label to excluding `vendor` in the CI docs page (#3623)
|
||||
* Upgrade pieces of the Upgrading guide for Jekyll 3 (#3607)
|
||||
* Upgrade pieces of the Ugrading guide for Jekyll 3 (#3607)
|
||||
* Showing how to access specific data items (#3468)
|
||||
* Clarify pagination works from within HTML files (#3467)
|
||||
* Add note to `excerpt_separator` documentation that it can be set globally (#3667)
|
||||
@@ -2819,7 +2076,7 @@
|
||||
* Document the `name` variable for collection permalinks (#2829)
|
||||
* Adds info about installing jekyll in current dir (#2839)
|
||||
* Remove deprecated `jekyll-projectlist` plugin from list of third-party plugins (#2742)
|
||||
* Remove tag plugins that are built into Jekyll (#2751)
|
||||
* Remove tag plugins that are built in to Jekyll (#2751)
|
||||
* Add `markdown-writer` package for Atom Editor to list of third-party plugins (#2763)
|
||||
* Fix typo in site documentation for collections (#2764)
|
||||
* Fix minor typo on plugins docs page (#2765)
|
||||
@@ -3612,7 +2869,7 @@
|
||||
* Add ReadInXMinutes plugin to the plugin list (#1222)
|
||||
* Remove plugins from the plugin list that have equivalents in Jekyll proper (#1223)
|
||||
* Add jekyll-assets to the plugin list (#1225)
|
||||
* Add jekyll-pandoc-multiple-formats to the plugin list (#1229)
|
||||
* Add jekyll-pandoc-mulitple-formats to the plugin list (#1229)
|
||||
* Remove dead link to "Using Git to maintain your blog" (#1227)
|
||||
* Tidy up the third-party plugins listing (#1228)
|
||||
* Update contributor information (#1192)
|
||||
@@ -3765,7 +3022,7 @@
|
||||
* Adds excerpt attribute to posts which contains first paragraph of content (#837)
|
||||
* Accept custom configuration file via CLI (#863)
|
||||
* Load in GitHub Pages MIME Types on `jekyll serve` (#847, #871)
|
||||
* Improve debuggability of error message for a malformed highlight tag (#785)
|
||||
* Improve debugability of error message for a malformed highlight tag (#785)
|
||||
* Allow symlinked files in unsafe mode (#824)
|
||||
* Add 'gist' Liquid tag to core (#822, #861)
|
||||
* New format of Jekyll output (#795)
|
||||
|
||||
@@ -1,12 +1,19 @@
|
||||
# [Jekyll](https://jekyllrb.com/)
|
||||
|
||||
[][ruby-gems]
|
||||
[][ci-workflow]
|
||||
[][travis]
|
||||
[][appveyor]
|
||||
[][codeclimate]
|
||||
[][coverage]
|
||||
[][hakiri]
|
||||
[](#backers)
|
||||
[](#sponsors)
|
||||
|
||||
[ruby-gems]: https://rubygems.org/gems/jekyll
|
||||
[ci-workflow]: https://github.com/jekyll/jekyll/actions?query=workflow%3A%22Continuous+Integration%22+branch%3Amaster
|
||||
[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
|
||||
[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.
|
||||
@@ -15,7 +22,7 @@ Jekyll is a simple, blog-aware, static site generator perfect for personal, proj
|
||||
|
||||
Jekyll does what you tell it to do — no more, no less. It doesn't try to outsmart users by making bold assumptions, nor does it burden them with needless complexity and configuration. Put simply, Jekyll gets out of your way and allows you to concentrate on what truly matters: your content.
|
||||
|
||||
See: [https://jekyllrb.com/philosophy](https://jekyllrb.com/philosophy)
|
||||
See: https://jekyllrb.com/philosophy
|
||||
|
||||
## Getting Started
|
||||
|
||||
@@ -23,11 +30,11 @@ See: [https://jekyllrb.com/philosophy](https://jekyllrb.com/philosophy)
|
||||
* 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://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/) and [`#jekyll` Channel on Libera IRC](https://libera.chat)
|
||||
* 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](https://import.jekyllrb.com/docs/home/) from your previous system
|
||||
* [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
|
||||
@@ -42,7 +49,7 @@ If you don't find the answer to your problem in our [docs](https://jekyllrb.com/
|
||||
## Code of Conduct
|
||||
|
||||
In order to have a more open and welcoming community, Jekyll adheres to a
|
||||
[code of conduct](https://jekyllrb.com/docs/conduct/) adapted from the Ruby on Rails code of
|
||||
[code of conduct](CODE_OF_CONDUCT.markdown) adapted from the Ruby on Rails code of
|
||||
conduct.
|
||||
|
||||
Please adhere to this code of conduct in any interactions you have in the
|
||||
@@ -55,27 +62,28 @@ these terms, please let one of our [core team members](https://jekyllrb.com/team
|
||||
### 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)
|
||||
[](https://opencollective.com/jekyll/sponsor/0/website)
|
||||
[](https://opencollective.com/jekyll/sponsor/1/website)
|
||||
[](https://opencollective.com/jekyll/sponsor/2/website)
|
||||
[](https://opencollective.com/jekyll/sponsor/3/website)
|
||||
[](https://opencollective.com/jekyll/sponsor/4/website)
|
||||
[](https://opencollective.com/jekyll/sponsor/5/website)
|
||||
[](https://opencollective.com/jekyll/sponsor/6/website)
|
||||
[](https://opencollective.com/jekyll/sponsor/7/website)
|
||||
[](https://opencollective.com/jekyll/sponsor/8/website)
|
||||
[](https://opencollective.com/jekyll/sponsor/9/website)
|
||||
|
||||
<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.
|
||||
[](../../graphs/contributors)
|
||||
<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)
|
||||
|
||||
[](https://opencollective.com/jekyll#backers)
|
||||
<a href="https://opencollective.com/jekyll#backers" target="_blank"><img src="https://opencollective.com/jekyll/backers.svg?width=890" /></a>
|
||||
|
||||
## License
|
||||
|
||||
|
||||
20
Rakefile
20
Rakefile
@@ -8,7 +8,6 @@ require "yaml"
|
||||
|
||||
$LOAD_PATH.unshift File.expand_path("lib", __dir__)
|
||||
require "jekyll/version"
|
||||
require "bundler/gem_tasks"
|
||||
|
||||
Dir.glob("rake/**.rake").each { |f| import f }
|
||||
|
||||
@@ -43,15 +42,11 @@ def gem_file
|
||||
end
|
||||
|
||||
def normalize_bullets(markdown)
|
||||
# Normalize both old-style indented bullets (" *") and
|
||||
# release-please-style non-indented bullets ("*") to "-"
|
||||
markdown.gsub(%r!\n\s{0,2}\*{1}!, "\n-")
|
||||
markdown.gsub(%r!\n\s{2}\*{1}!, "\n-")
|
||||
end
|
||||
|
||||
def linkify_prs(markdown)
|
||||
# Match bare PR references like #1234 but skip those already linkified
|
||||
# by release-please as [#1234](url)
|
||||
markdown.gsub(%r{(?<!&)(?<!\[)#(\d+)}) do |word|
|
||||
markdown.gsub(%r!(?<\!&)#(\d+)!) do |word|
|
||||
"[#{word}]({{ site.repository }}/issues/#{word.delete("#")})"
|
||||
end
|
||||
end
|
||||
@@ -65,10 +60,8 @@ def liquid_escape(markdown)
|
||||
end
|
||||
|
||||
def custom_release_header_anchors(markdown)
|
||||
# Match old format: "X.Y.Z / YYYY-MM-DD"
|
||||
# Match new release-please format: "[X.Y.Z](compare-url) (YYYY-MM-DD)"
|
||||
header_regexp = %r!^(?:\[?)(\d{1,2})\.(\d{1,2})\.(\d{1,2})(?:\]\([^)]*\))? [\(/]\s?\d{4}-\d{2}-\d{2}\)?!
|
||||
section_regexp = %r!^### \w[\w ]*$!
|
||||
header_regexp = %r!^(\d{1,2})\.(\d{1,2})\.(\d{1,2}) \/ \d{4}-\d{2}-\d{2}!
|
||||
section_regexp = %r!^### \w+ \w+$!
|
||||
markdown.split(%r!^##\s!).map do |release_notes|
|
||||
_, major, minor, patch = *release_notes.match(header_regexp)
|
||||
release_notes
|
||||
@@ -82,8 +75,7 @@ def slugify(header)
|
||||
end
|
||||
|
||||
def remove_head_from_history(markdown)
|
||||
# Match both old format "## X.Y.Z" and release-please format "## [X.Y.Z]"
|
||||
index = markdown =~ %r!^##\s+\[?\d+\.\d+\.\d+!
|
||||
index = markdown =~ %r!^##\s+\d+\.\d+\.\d+!
|
||||
markdown[index..-1]
|
||||
end
|
||||
|
||||
@@ -167,5 +159,5 @@ end
|
||||
|
||||
desc "Open an irb session preloaded with this library"
|
||||
task :console do
|
||||
sh "irb -r ./lib/#{name}.rb"
|
||||
sh "irb -rubygems -r ./lib/#{name}.rb"
|
||||
end
|
||||
|
||||
41
appveyor.yml
Normal file
41
appveyor.yml
Normal file
@@ -0,0 +1,41 @@
|
||||
version: "{build}"
|
||||
|
||||
clone_depth: 5
|
||||
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
- themes
|
||||
- /.*-stable/
|
||||
|
||||
build: off
|
||||
|
||||
environment:
|
||||
BUNDLE_WITHOUT: "benchmark:development"
|
||||
matrix:
|
||||
- RUBY_FOLDER_VER: "24"
|
||||
TEST_SUITE: "test"
|
||||
- RUBY_FOLDER_VER: "26"
|
||||
TEST_SUITE: "test"
|
||||
- RUBY_FOLDER_VER: "26"
|
||||
TEST_SUITE: "default-site"
|
||||
- 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
|
||||
- gem --version
|
||||
- bundler --version
|
||||
- bash ./script/cibuild
|
||||
|
||||
cache:
|
||||
# If one of the files after the right arrow changes, cache will be invalidated
|
||||
- 'vendor\bundle -> appveyor.yml,Gemfile,jekyll.gemspec'
|
||||
@@ -1,49 +0,0 @@
|
||||
#!/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! Proceeding 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
|
||||
@@ -1,25 +0,0 @@
|
||||
#!/usr/bin/env ruby
|
||||
|
||||
require_relative '../lib/jekyll'
|
||||
require 'benchmark/ips'
|
||||
|
||||
date = "2014-08-02 14:43:06 PDT".freeze
|
||||
time = Time.parse(date)
|
||||
|
||||
Benchmark.ips do |x|
|
||||
x.report('Time.parse') do
|
||||
Time.parse(date)
|
||||
end
|
||||
|
||||
x.report('localtime') do
|
||||
Time.parse(date).localtime
|
||||
end
|
||||
|
||||
x.report('localtime parsed') do
|
||||
time.localtime
|
||||
end
|
||||
|
||||
x.report('Utils.parse_date') do
|
||||
Jekyll::Utils.parse_date(date)
|
||||
end
|
||||
end
|
||||
@@ -1,91 +0,0 @@
|
||||
#!/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
|
||||
@@ -1,65 +0,0 @@
|
||||
# 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
|
||||
@@ -90,7 +90,7 @@ end
|
||||
Correctness.new(site_docs, "redirect_from".freeze).assert!
|
||||
Correctness.new(site_docs, "title".freeze).assert!
|
||||
|
||||
def property(property, meta_key)
|
||||
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
|
||||
|
||||
@@ -1,83 +0,0 @@
|
||||
#!/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
|
||||
@@ -1,17 +1,15 @@
|
||||
---
|
||||
version: 4.4.1
|
||||
version: 4.0.0
|
||||
name: Jekyll • Simple, blog-aware, static sites
|
||||
description: Transform your plain text into static websites and blogs
|
||||
url: https://jekyllrb.com
|
||||
repository: https://github.com/jekyll/jekyll
|
||||
site_branch: master
|
||||
timezone: America/Los_Angeles
|
||||
twitter:
|
||||
username: jekyllrb
|
||||
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/"
|
||||
@@ -20,7 +18,6 @@ collections:
|
||||
permalink: "/news/:year/:month/:day/:title/"
|
||||
output: true
|
||||
tutorials:
|
||||
permalink: "/:collection/:path/"
|
||||
output: true
|
||||
defaults:
|
||||
- scope:
|
||||
@@ -33,11 +30,6 @@ defaults:
|
||||
type: posts
|
||||
values:
|
||||
layout: news_item
|
||||
- scope:
|
||||
path: _tutorials
|
||||
type: tutorials
|
||||
values:
|
||||
layout: tutorials
|
||||
- scope:
|
||||
path: ''
|
||||
values:
|
||||
@@ -54,12 +46,12 @@ plugins:
|
||||
feed:
|
||||
categories:
|
||||
- release
|
||||
kramdown:
|
||||
syntax_highlighter_opts:
|
||||
default_lang: plaintext
|
||||
sass:
|
||||
style: compressed
|
||||
strict_front_matter: true
|
||||
exclude:
|
||||
- ".gitignore"
|
||||
- ".jekyll-cache"
|
||||
- CNAME
|
||||
- icomoon-selection.json
|
||||
- readme.md
|
||||
|
||||
@@ -1,140 +0,0 @@
|
||||
- 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: "layouts_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.
|
||||
option: "verbose: BOOL"
|
||||
flag: -V, --verbose
|
||||
|
||||
|
||||
- name: Silence output
|
||||
description: Silence the normal output from Jekyll during a build.
|
||||
option: "quiet: BOOL"
|
||||
flag: -q, --quiet
|
||||
|
||||
|
||||
- name: Log level
|
||||
description: Specify a log level among debug, info, warn, or error.
|
||||
flag: JEKYLL_LOG_LEVEL=info
|
||||
|
||||
|
||||
- name: Incremental build
|
||||
description: >-
|
||||
Enable the experimental
|
||||
<a href="/docs/configuration/incremental-regeneration/">incremental
|
||||
build</a> 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: Disable bundle require
|
||||
description: Disables the need to require gems in `:jekyll_plugins` Gemfile
|
||||
flag: JEKYLL_NO_BUNDLER_REQUIRE=true
|
||||
|
||||
|
||||
- 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: Web Domain URL
|
||||
option: "url: SCHEME://HOST[:PORT]"
|
||||
description: >-
|
||||
The canonical URL of the root of your production deploy, composed of the following components:<br>
|
||||
• Protocol scheme (e.g. <code>http://</code>)<br>
|
||||
• Hostname or IP address (e.g. <code>example.org</code>)<br>
|
||||
• <em>(Optional)</em> The port number of the server, prefixed with a colon
|
||||
(e.g. <code>:8080</code>)<br>
|
||||
The value of this configuration option should NOT have a trailing slash. It will be appended
|
||||
with the <code>baseurl</code> to form the full URL to your Jekyll site when using the
|
||||
<a href="/docs/liquid/filters/">Liquid filter <code>absolute_url</code></a>.<br>
|
||||
<strong>NOTE:</strong> This setting is automatically configured to the <strong>localhost URL</strong>
|
||||
when the <code>jekyll serve</code> command is invoked.
|
||||
|
||||
|
||||
- name: Base URL
|
||||
description: >-
|
||||
Serve the website from the given base URL (the path between web-server or domain root and your landing
|
||||
page).
|
||||
option: "baseurl: /PATH/TO/SITE"
|
||||
flag: -b, --baseurl /PATH/TO/SITE
|
||||
|
||||
|
||||
- name: Trace
|
||||
description: Show the full backtrace when an error occurs.
|
||||
flag: -t, --trace
|
||||
@@ -1,108 +0,0 @@
|
||||
- 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.
|
||||
<br />
|
||||
This configuration option supports Ruby's <a href="https://ruby-doc.org/3.3.5/File.html#method-c-fnmatch">
|
||||
<code>File.fnmatch</code> filename globbing patterns</a> to match multiple entries to exclude. For example,
|
||||
you can exclude multiple README.md files in your source tree from being included in your site by specifying the
|
||||
following <code>exclude</code> option entries: <code>["README.md", "**/README.md"]</code>.
|
||||
<br />
|
||||
In Jekyll 3, the <code>exclude</code> configuration option replaces the default exclusion list.
|
||||
<br />
|
||||
In Jekyll 4, user-provided entries get added to the default exclusion list instead and the <code>include</code>
|
||||
option can be used to override the default exclusion list entries.
|
||||
<br />
|
||||
The default exclusions are found in <code>_config.yml</code> as created by <code>jekyll new</code>:
|
||||
<ul>
|
||||
<li><code>.sass-cache/</code></li>
|
||||
<li><code>.jekyll-cache/</code></li>
|
||||
<li><code>gemfiles/</code></li>
|
||||
<li><code>Gemfile</code></li>
|
||||
<li><code>Gemfile.lock</code></li>
|
||||
<li><code>node_modules/</code></li>
|
||||
<li><code>vendor/bundle/</code></li>
|
||||
<li><code>vendor/cache/</code></li>
|
||||
<li><code>vendor/gems/</code></li>
|
||||
<li><code>vendor/ruby/</code></li>
|
||||
</ul>
|
||||
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.
|
||||
<br>
|
||||
This configuration option supports Ruby's <a href="https://ruby-doc.org/3.3.5/File.html#method-c-fnmatch-3F">
|
||||
<code>File.fnmatch</code> filename globbing patterns</a> to match multiple entries to include, refer the
|
||||
<code>exclude</code> configuration option for more information.
|
||||
<br>
|
||||
With Jekyll 4, the <code>include</code> configuration option entries override the <code>exclude</code> option
|
||||
entries.
|
||||
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"
|
||||
@@ -1,80 +0,0 @@
|
||||
- name: Local server port
|
||||
description: Listen on the given port. The default is `4000`.
|
||||
option: "port: PORT"
|
||||
flag: "-P, --port PORT"
|
||||
|
||||
|
||||
- name: Local server hostname
|
||||
description: Listen at the given hostname. The default is `localhost`.
|
||||
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.<br /><br />
|
||||
Ensure that patterns are quoted when passed via the command-line to deter your shell from
|
||||
expanding them.<br /><br /><strong>Note:</strong> The given glob patterns are matched against
|
||||
the <code>relative_path</code> attribute of the processed resource. In the event Jekyll
|
||||
reloads a <em>relative_path</em> matching the pattern in spite of being quoted, try listing
|
||||
the pattern(s) under the config file option key.
|
||||
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.<br/><em>Ability to override via config file introduced in
|
||||
<span class="version-badge">4.4.0</span></em>.
|
||||
option: "livereload_port: PORT"
|
||||
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"
|
||||
@@ -1,15 +1,14 @@
|
||||
- title: Getting Started
|
||||
docs:
|
||||
- link: /docs/
|
||||
- link: /docs/installation/
|
||||
- link: /docs/ruby-101/
|
||||
- link: /docs/installation/
|
||||
- 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/
|
||||
|
||||
@@ -18,8 +18,8 @@
|
||||
#
|
||||
- name: Relative URL
|
||||
description: >-
|
||||
Prepend <code>baseurl</code> config value to the input to convert a URL path into a relative URL.
|
||||
This is recommended for a site that is hosted on a subpath of a domain.
|
||||
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'
|
||||
@@ -27,8 +27,7 @@
|
||||
#
|
||||
|
||||
- name: Absolute URL
|
||||
description: >-
|
||||
Prepend <code>url</code> and <code>baseurl</code> values to the input to convert a URL path to an 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'
|
||||
@@ -112,40 +111,6 @@
|
||||
|
||||
#
|
||||
|
||||
- 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:
|
||||
@@ -201,25 +166,10 @@
|
||||
#
|
||||
|
||||
- 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.
|
||||
description: Count the number of words in some text.
|
||||
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
|
||||
- input: '{{ page.content | number_of_words }}'
|
||||
output: 1337
|
||||
|
||||
#
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Variables provided by Jekyll core
|
||||
#
|
||||
# name: : name of the variable
|
||||
# description: : content returned by the variable
|
||||
# description: : content returned by the varialble
|
||||
|
||||
global:
|
||||
- name: site
|
||||
@@ -16,13 +16,6 @@ global:
|
||||
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: jekyll
|
||||
description: >-
|
||||
Jekyll-centric information will be available here. See below for details.
|
||||
- name: theme
|
||||
description: >-
|
||||
Theme-gem specific information as defined in the theme's gemspec. Useful for rendering
|
||||
information in the theme demo's "About" page, for example. See below for details.
|
||||
- name: content
|
||||
description: >-
|
||||
In layout files, the rendered content of the Post or Page being wrapped.
|
||||
@@ -58,10 +51,10 @@ site:
|
||||
<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>.
|
||||
A subset of `site.pages` listing those which end in `.html`.
|
||||
- name: site.html_files
|
||||
description: >-
|
||||
A subset of <code>site.static_files</code> listing those which end in <code>.html</code>.
|
||||
A subset of `site.static_files` listing those which end in `.html`.
|
||||
- name: site.collections
|
||||
description: >-
|
||||
A list of all the collections (including posts).
|
||||
@@ -83,7 +76,7 @@ site:
|
||||
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/2016/10/06/jekyll-3-3-is-here/#3-siteurl-is-set-by-the-development-server">an
|
||||
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>.
|
||||
@@ -98,44 +91,38 @@ site:
|
||||
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.
|
||||
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 or Document resource.
|
||||
The title of the Page.
|
||||
- name: page.excerpt
|
||||
description: >-
|
||||
The un-rendered excerpt of a Page or Document. Can be overridden in the
|
||||
<a href="/docs/front-matter/">front matter</a>. It can either be disabled atomically for
|
||||
certain page or document by setting an empty string to an <code>excerpt_separator</code> key in
|
||||
the front matter of desired resource or disabled site-wide by setting the same as a top-level
|
||||
key in the config file.
|
||||
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 Post's front matter by specifying
|
||||
The Date assigned to the Post. This can be overridden in a Post’s 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>). Not applicable to Pages.
|
||||
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>. Not applicable to
|
||||
Pages.
|
||||
<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>. Note: Path-based categories may not work for
|
||||
documents in user-defined collections.
|
||||
<a href="/docs/front-matter/">front matter</a>.
|
||||
- name: page.collection
|
||||
description: >-
|
||||
The label of the collection to which a Document belongs. e.g. <code>posts</code> for a post, or
|
||||
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
|
||||
@@ -144,29 +131,16 @@ page:
|
||||
<a href="/docs/front-matter/">front matter</a>.
|
||||
- name: page.dir
|
||||
description: >-
|
||||
The path between the source directory and the file of a page, e.g. <code>/pages/</code> when the page
|
||||
is at path <code>pages/about.md</code> relative to the source directory. This is derived from the
|
||||
<code>url</code> attribute of the page and can therefore be overridden via the <code>permalink</code>
|
||||
key in the <a href="/docs/front-matter/">front matter</a>. NOTE: This variable is not applicable to
|
||||
posts and documents in user-defined collections. Use the <code>categories</code> variable to get similar
|
||||
info for posts.
|
||||
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, relative to the source directory. Example usage: Using a combination
|
||||
of the repository's blob URL and this page variable to get the full URL to the file in the repository.
|
||||
This can be overridden in the <a href="/docs/front-matter/">front matter</a>.
|
||||
- name: page.slug
|
||||
description: >-
|
||||
The filename of a Document resource without its extension (or date prefixes for a post). For example,
|
||||
slug for a post at URL <code>/2017/02/22/my-new-post.html</code>, would be <code>my-new-post</code>.
|
||||
Can be overridden in the <a href="/docs/front-matter/">front matter</a>.
|
||||
- name: page.ext
|
||||
description: >-
|
||||
The file extension of a Document resource. For example, <code>.html</code>. Can be overridden in the
|
||||
<a href="/docs/front-matter/">front matter</a>.
|
||||
The path to the raw post or page. Example usage: Linking back to the page or post’s 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>.
|
||||
@@ -176,28 +150,6 @@ page:
|
||||
The previous post relative to the position of the current post in <code>site.posts</code>.
|
||||
Returns <code>nil</code> for the first entry.
|
||||
|
||||
jekyll:
|
||||
- name: jekyll.version
|
||||
description: Version of Jekyll used to build the site.
|
||||
- name: jekyll.environment
|
||||
description: Value assigned to environment variable <code>JEKYLL_ENV</code> during a build.
|
||||
|
||||
theme:
|
||||
- name: theme.root
|
||||
description: >-
|
||||
Absolute path to the theme-gem. Rendered only when environment variable <code>JEKYLL_ENV</code>
|
||||
is set to <code>development</code>.
|
||||
- name: theme.authors
|
||||
description: Comma separated string composed of the authors of the theme-gem.
|
||||
- name: theme.description
|
||||
description: Description or summary of the theme-gem as specified in the theme gemspec.
|
||||
- name: theme.version
|
||||
description: The version string of current theme.
|
||||
- name: theme.dependencies
|
||||
description: List of runtime dependencies of the theme.
|
||||
- name: theme.metadata
|
||||
description: A mapping of key-value pairs as defined in the theme gemspec.
|
||||
|
||||
paginator:
|
||||
- name: paginator.page
|
||||
description: The number of the current page
|
||||
|
||||
@@ -165,45 +165,3 @@
|
||||
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
|
||||
|
||||
@@ -1,139 +0,0 @@
|
||||
placeholders:
|
||||
- name: year
|
||||
desc: >-
|
||||
Year from the post's filename with four digits. May be overridden via the document's
|
||||
<code>date</code> front matter.
|
||||
- name: short_year
|
||||
desc: >-
|
||||
Year from the post's filename without the century. (00..99) May be overridden via the
|
||||
document's <code>date</code> front matter.
|
||||
- name: month
|
||||
desc: >-
|
||||
Month from the post's filename. (01..12) May be overridden via the document's
|
||||
<code>date</code> front matter.
|
||||
- name: i_month
|
||||
desc: >-
|
||||
Month without leading zeros from the post's filename. May be overridden via the document's
|
||||
<code>date</code> front matter.
|
||||
- name: short_month
|
||||
desc: >-
|
||||
Three-letter month abbreviation, e.g. "Jan".
|
||||
- name: long_month
|
||||
intro_ver: "4.0"
|
||||
desc: >-
|
||||
Full month name, e.g. "January".
|
||||
- name: day
|
||||
desc: >-
|
||||
Day of the month from the post's filename. (01..31) May be overridden via the document's
|
||||
<code>date</code> front matter.
|
||||
- name: i_day
|
||||
desc: >-
|
||||
Day of the month without leading zeros from the post's filename. May be overridden via the
|
||||
document's <code>date</code> front matter.
|
||||
- name: y_day
|
||||
desc: >-
|
||||
Ordinal day of the year from the post's filename, with leading zeros. (001..366)
|
||||
- name: w_year
|
||||
intro_ver: "4.0"
|
||||
desc: >-
|
||||
Week year which may differ from the month year for up to three days at the start of January
|
||||
and end of December
|
||||
- name: week
|
||||
intro_ver: "4.0"
|
||||
desc: >-
|
||||
Week number of the current year, starting with the first week having a majority of its days
|
||||
in January. (01..53)
|
||||
- name: w_day
|
||||
intro_ver: "4.0"
|
||||
desc: >-
|
||||
Day of the week, starting with Monday. (1..7)
|
||||
- name: short_day
|
||||
intro_ver: "4.0"
|
||||
desc: >-
|
||||
Three-letter weekday abbreviation, e.g. "Sun".
|
||||
- name: long_day
|
||||
intro_ver: "4.0"
|
||||
desc: >-
|
||||
Weekday name, e.g. "Sunday".
|
||||
- name: hour
|
||||
desc: >-
|
||||
Hour of the day, 24-hour clock, zero-padded from the post's <code>date</code> front matter. (00..23)
|
||||
- name: minute
|
||||
desc: >-
|
||||
Minute of the hour from the post's <code>date</code> front matter. (00..59)
|
||||
- name: second
|
||||
desc: >-
|
||||
Second of the minute from the post's <code>date</code> front matter. (00..59)
|
||||
- name: title
|
||||
desc: >-
|
||||
Title from the document's filename. May be overridden via the document's
|
||||
<code>slug</code> front matter. Preserves case from the source.
|
||||
- name: slug
|
||||
desc: >-
|
||||
Slugified title from the document's filename (any character except numbers and letters is
|
||||
replaced as hyphen). May be overridden via the document's <code>slug</code> front matter.
|
||||
- name: categories
|
||||
desc: >-
|
||||
The specified categories for this post. If a post has multiple categories, Jekyll will create
|
||||
a hierarchy (e.g. <code>/category1/category2</code>). Also Jekyll automatically parses out
|
||||
double slashes in the URLs, so if no categories are present, it will ignore this.
|
||||
- name: slugified_categories
|
||||
intro_ver: "4.1"
|
||||
desc: >-
|
||||
The specified categories for this post but <em>slugified</em>. If a category is a composite of
|
||||
multiple words, Jekyll will downcase all alphabets and replace any non-alphanumeric character
|
||||
with a hyphen. (e.g. <code>"Work 2 Progress"</code> will be converted into
|
||||
<code>"work-2-progress"</code>). If a post has multiple categories, Jekyll will create
|
||||
a hierarchy (e.g. <code>/work-2-progress/category2</code>). Also Jekyll automatically parses
|
||||
out double slashes in the URLs, so if no categories are present, it will ignore this.
|
||||
- name: output_ext
|
||||
desc: >-
|
||||
Extension of the output file. (Included by default and usually unnecessary.)
|
||||
|
||||
builtin_formats:
|
||||
- name: date
|
||||
format: "/:categories/:year/:month/:day/:title:output_ext"
|
||||
- name: pretty
|
||||
format: "/:categories/:year/:month/:day/:title/"
|
||||
- name: ordinal
|
||||
format: "/:categories/:year/:y_day/:title:output_ext"
|
||||
- name: weekdate
|
||||
intro_ver: "4.0"
|
||||
format: "/:categories/:year/W:week/:short_day/:title:output_ext"
|
||||
note: "<code>W</code> will be prefixed to the value of <code>:week</code>"
|
||||
- name: none
|
||||
format: "/:categories/:title:output_ext"
|
||||
|
||||
types:
|
||||
documents:
|
||||
- name: collection
|
||||
desc: >-
|
||||
Label of the containing collection.
|
||||
- name: path
|
||||
desc: >-
|
||||
Path to the document relative to the collection's directory, including base filename of the document.
|
||||
However, does not include the file extension.
|
||||
- name: name
|
||||
desc: >-
|
||||
The document's base filename but slugified: downcased and every sequence of non-alphanumeric character
|
||||
(including spaces) replaced by a hyphen.
|
||||
- name: title
|
||||
desc: >-
|
||||
Takes on the value of front matter key <code>slug</code> if defined for the document. Otherwise takes
|
||||
on the string value generated from the document's base filename by piping through the <code>slugify</code>
|
||||
filter method with <code>pretty</code> option.<br/>
|
||||
Regardless of the value taken, the case of the alphabets are preserved instead of being replaced with
|
||||
lowercase counterparts.
|
||||
- name: output_ext
|
||||
desc: >-
|
||||
Extension of the output file. (Included by default and usually unnecessary.)
|
||||
pages:
|
||||
- name: path
|
||||
desc: >-
|
||||
Path between the source directory and the base filename of the page.
|
||||
- name: basename
|
||||
desc: >-
|
||||
The page's base filename.
|
||||
- name: output_ext
|
||||
desc: >-
|
||||
Extension of the output file. (Included by default and usually unnecessary.)
|
||||
@@ -1,3 +1,3 @@
|
||||
min_version: 2.7.0
|
||||
current_version: 3.4.1
|
||||
current_version_output: ruby 3.4.1 (2024-12-25 revision 48d4efcb85)
|
||||
min_version: 2.4.0
|
||||
current_version: 2.6.3
|
||||
current_version_output: ruby 2.6.3p62 (2019-04-16 revision 67580)
|
||||
|
||||
@@ -1,308 +1,241 @@
|
||||
- name: Tom Preston Werner Blog
|
||||
url: https://tom.preston-werner.com/
|
||||
image: tom-preston-werner.png
|
||||
url: http://tom.preston-werner.com/
|
||||
categories:
|
||||
- personal
|
||||
- blog
|
||||
|
||||
# - name: White House Social and Behavioral Sciences Team
|
||||
# url: https://sbst.gov/
|
||||
# image: sbst.png
|
||||
# categories:
|
||||
# - government
|
||||
|
||||
- name: SiteLeaf
|
||||
url: https://www.siteleaf.com/
|
||||
image: siteleaf.png
|
||||
- name: GitHub On Demand Training
|
||||
url: https://services.github.com/on-demand/
|
||||
categories:
|
||||
- software
|
||||
- marketing-site
|
||||
|
||||
- name: CloudCannon
|
||||
url: https://cloudcannon.com/
|
||||
image: cloudcannon.png
|
||||
categories:
|
||||
- software
|
||||
- marketing-site
|
||||
|
||||
- knowledgebase
|
||||
- name: Vesterheim Norwegian-American Museum
|
||||
url: https://vesterheim.org/
|
||||
image: vesterheim.png
|
||||
url: http://vesterheim.org/
|
||||
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/
|
||||
image: bitcoin.png
|
||||
url: https://bitcoin.org/en/
|
||||
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: 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://designsystem.digital.gov/
|
||||
image: uswds.png
|
||||
categories:
|
||||
- government
|
||||
|
||||
- name: Grantmaker Search
|
||||
url: https://www.grantmakers.io/
|
||||
image: grantmakers.png
|
||||
categories:
|
||||
- marketing-site
|
||||
|
||||
- name: Rehan Butt
|
||||
url: https://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://lattice.com/
|
||||
image: lattice.png
|
||||
categories:
|
||||
- software
|
||||
- marketing-site
|
||||
|
||||
- name: MailTape
|
||||
url: https://www.mailta.pe/
|
||||
image: mailtape.png
|
||||
categories:
|
||||
- other
|
||||
|
||||
- name: Digital Democracy
|
||||
url: https://www.digital-democracy.org/
|
||||
image: digital-democracy.png
|
||||
categories:
|
||||
- other
|
||||
|
||||
- name: HTML Reference
|
||||
url: https://htmlreference.io/
|
||||
image: htmlreference.png
|
||||
categories:
|
||||
- documentation
|
||||
|
||||
- name: CSS Reference
|
||||
url: https://cssreference.io/
|
||||
image: cssreference.png
|
||||
categories:
|
||||
- documentation
|
||||
|
||||
- name: Chain
|
||||
url: https://www.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: 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/
|
||||
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: https://yeoman.io/
|
||||
image: yeoman.png
|
||||
- name: AWS Amplify
|
||||
url: https://aws-amplify.github.io/
|
||||
categories:
|
||||
- open-source
|
||||
- marketing-site
|
||||
|
||||
- name: Yeoman
|
||||
url: http://yeoman.io/
|
||||
categories:
|
||||
- open-source
|
||||
- marketing-site
|
||||
- name: Ionic Framwork
|
||||
url: https://ionicframework.com/
|
||||
categories:
|
||||
- software
|
||||
- marketing-site
|
||||
- name: Release Management Blog
|
||||
url: https://release.mozilla.org/
|
||||
image: mozilla-release-blog.png
|
||||
categories:
|
||||
- software
|
||||
- blog
|
||||
|
||||
- name: Freedom of Information Act
|
||||
url: https://www.foia.gov/
|
||||
categories:
|
||||
- government
|
||||
- name: Art & About Sydney
|
||||
url: https://www.artandabout.com.au/
|
||||
categories:
|
||||
- government
|
||||
- name: Passbolt Help
|
||||
url: https://help.passbolt.com/
|
||||
categories:
|
||||
- knowledgebase
|
||||
- name: We are COLLINS
|
||||
url: https://www.wearecollins.com/
|
||||
categories:
|
||||
- agency
|
||||
- name: Light Burn
|
||||
url: https://lightburn.co/
|
||||
categories:
|
||||
- agency
|
||||
- name: italia.it
|
||||
url: https://developers.italia.it/
|
||||
categories:
|
||||
- community
|
||||
- name: Sydney New Years Eve
|
||||
url: https://www.sydneynewyearseve.com/
|
||||
categories:
|
||||
- government
|
||||
- name: Login.gov
|
||||
url: https://login.gov/
|
||||
categories:
|
||||
- government
|
||||
- name: plainlanguage.gov
|
||||
url: https://plainlanguage.gov/
|
||||
categories:
|
||||
- government
|
||||
- name: U.S. Web Design Standards
|
||||
url: https://standards.usa.gov/
|
||||
categories:
|
||||
- government
|
||||
- name: Grantmaker Search
|
||||
url: https://www.grantmakers.io/
|
||||
categories:
|
||||
- marketing-site
|
||||
- name: Rehan Butt
|
||||
url: http://rehanbutt.com/
|
||||
categories:
|
||||
- personal
|
||||
- portfolio
|
||||
- name: The Markdown Guide
|
||||
url: https://www.markdownguide.org/
|
||||
categories:
|
||||
- knowledgebase
|
||||
- name: PROBOT
|
||||
url: https://probot.github.io/
|
||||
categories:
|
||||
- documentation
|
||||
- name: Matt Grey
|
||||
url: https://himatt.com/
|
||||
categories:
|
||||
- personal
|
||||
- portfolio
|
||||
- name: frame.ai
|
||||
url: https://frame.ai/
|
||||
image: frame-ai.png
|
||||
categories:
|
||||
- software
|
||||
- marketing-site
|
||||
|
||||
- name: AdHawk
|
||||
url: https://www.tryadhawk.com/
|
||||
categories:
|
||||
- agency
|
||||
- name: City of Boston Budget
|
||||
url: https://budget.boston.gov/
|
||||
categories:
|
||||
- government
|
||||
- name: Lattice
|
||||
url: https://latticehq.com/
|
||||
categories:
|
||||
- software
|
||||
- marketing-site
|
||||
- name: MailTape
|
||||
url: https://www.mailta.pe/
|
||||
categories:
|
||||
- other
|
||||
- name: Digital Democracy
|
||||
url: http://www.digital-democracy.org/
|
||||
categories:
|
||||
- other
|
||||
- name: HTML Reference
|
||||
url: http://htmlreference.io/
|
||||
categories:
|
||||
- documentation
|
||||
- name: CSS Reference
|
||||
url: http://cssreference.io/
|
||||
categories:
|
||||
- documentation
|
||||
- name: Chain
|
||||
url: https://chain.com/
|
||||
categories:
|
||||
- marketing-site
|
||||
- name: Boxy Suite
|
||||
url: https://www.boxysuite.com/
|
||||
categories:
|
||||
- marketing-site
|
||||
- software
|
||||
- name: Pattern Lab
|
||||
url: http://patternlab.io/
|
||||
categories:
|
||||
- documentation
|
||||
- name: IBM MobileFirst Foundation
|
||||
url: https://mobilefirstplatform.ibmcloud.com/
|
||||
categories:
|
||||
- documentation
|
||||
- name: 18F
|
||||
url: https://18f.gsa.gov/
|
||||
categories:
|
||||
- agency
|
||||
- government
|
||||
- name: Mapbox
|
||||
url: https://mapbox.com/
|
||||
categories:
|
||||
- marketing-site
|
||||
- name: Development Seed
|
||||
url: https://developmentseed.org/
|
||||
categories:
|
||||
- agency
|
||||
- name: Isomer - Singapore Government Static Websites
|
||||
url: https://isomer.gov.sg/
|
||||
categories:
|
||||
- government
|
||||
- name: SiteLeaf
|
||||
url: https://siteleaf.com
|
||||
categories:
|
||||
- software
|
||||
- marketing-site
|
||||
- name: CloudCannon
|
||||
url: https://cloudcannon.com/
|
||||
categories:
|
||||
- software
|
||||
- marketing-site
|
||||
- name: Ruby on Rails
|
||||
url: http://rubyonrails.org/
|
||||
categories:
|
||||
- marketing-site
|
||||
- documentation
|
||||
- name: White House Social and Behavioral Sciences Team
|
||||
url: https://sbst.gov/
|
||||
categories:
|
||||
- government
|
||||
- name: UN World Statistics
|
||||
url: https://worldstatisticsday.org
|
||||
categories:
|
||||
- government
|
||||
- name: Sketch App
|
||||
url: https://sketchapp.com/
|
||||
categories:
|
||||
- software
|
||||
- marketing-site
|
||||
- name: Netflix Devices
|
||||
url: https://devices.netflix.com/en/
|
||||
categories:
|
||||
- marketing-site
|
||||
- name: TwitchCon
|
||||
url: https://www.twitchcon.com/
|
||||
categories:
|
||||
- marketing-site
|
||||
- conference
|
||||
- name: Twitch Developer Documentation
|
||||
url: https://dev.twitch.tv/
|
||||
categories:
|
||||
- marketing-site
|
||||
- documentation
|
||||
- name: Spotify for Developers
|
||||
url: https://developer.spotify.com
|
||||
image: spotify-developers.png
|
||||
categories:
|
||||
- marketing-site
|
||||
- documentation
|
||||
- software
|
||||
|
||||
- name: Sketch
|
||||
url: https://www.sketch.com/
|
||||
image: sketch.png
|
||||
categories:
|
||||
- software
|
||||
- marketing-site
|
||||
|
||||
- name: Ruby on Rails
|
||||
url: https://rubyonrails.org/
|
||||
image: ruby-on-rails.png
|
||||
categories:
|
||||
- marketing-site
|
||||
- documentation
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
- custom-404-page
|
||||
- convert-site-to-jekyll
|
||||
- using-jekyll-with-bundler
|
||||
- csv-to-table
|
||||
|
||||
#- title: Another section
|
||||
# tutorials:
|
||||
|
||||
@@ -28,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/' | relative_url }}">Liquid template syntax</a>, you
|
||||
the <a href="/docs/templates/">Liquid template syntax</a>, you
|
||||
will need to place <code>{% raw %}</code> and
|
||||
<code>{% endraw %}</code> tags around your code.</p>
|
||||
</div>
|
||||
@@ -79,7 +79,6 @@ sass:
|
||||
These are passed to Sass, so any output style options Sass supports are valid
|
||||
here, too.
|
||||
|
||||
For more information on Sass configuration options, see the [Sass configuration]({{ '/docs/configuration/sass/' | relative_url }}) docs.
|
||||
|
||||
## Coffeescript
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Code of Conduct
|
||||
permalink: "/docs/code_of_conduct/"
|
||||
note: This file is autogenerated. Edit /.github/CODE_OF_CONDUCT.markdown instead.
|
||||
note: This file is autogenerated. Edit /CODE_OF_CONDUCT.markdown instead.
|
||||
redirect_from: "/conduct/index.html"
|
||||
editable: false
|
||||
---
|
||||
|
||||
@@ -16,8 +16,7 @@ collections:
|
||||
- staff_members
|
||||
```
|
||||
|
||||
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:
|
||||
You can optionally specify metadata for your collection in the configuration:
|
||||
|
||||
```yaml
|
||||
collections:
|
||||
@@ -25,12 +24,6 @@ collections:
|
||||
people: true
|
||||
```
|
||||
|
||||
{: .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>
|
||||
|
||||
@@ -51,13 +44,10 @@ information, see the section <a href="#output">Output</a>.
|
||||
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.
|
||||
matter is provided, Jekyll will consider it to be a [static file](/docs/static-files/)
|
||||
and copy it to the destination (e.g. `_site`) without processing. If front matter
|
||||
is provided, Jekyll will process the file in your collection but will not write to disk
|
||||
unless `output: true` is 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:
|
||||
@@ -70,12 +60,6 @@ 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>
|
||||
<p>
|
||||
@@ -99,6 +83,7 @@ using the `content` variable:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
|
||||
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`:
|
||||
@@ -124,27 +109,14 @@ You can link to the generated page using the `url` attribute:
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
## Future
|
||||
|
||||
You can configure a collection to show future items by setting the `future` metadata to `true` in the collection's configuration.
|
||||
|
||||
```yaml
|
||||
collections:
|
||||
staff_members:
|
||||
future: true
|
||||
```
|
||||
|
||||
## Permalinks
|
||||
|
||||
There are special [permalink variables for collections]({{ '/docs/permalinks/#collections' | relative_url }}) to
|
||||
There are special [permalink variables for collections](/docs/permalinks/) 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}
|
||||
## 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.
|
||||
By default, documents in a collection are sorted by their paths. But you can control this sorting via the collection's metadata.
|
||||
|
||||
### Sort By Front Matter Key
|
||||
|
||||
@@ -298,6 +270,7 @@ you specified in your `_config.yml` (if present) and the following information:
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
||||
### Documents
|
||||
|
||||
In addition to any front matter provided in the document's corresponding
|
||||
|
||||
@@ -8,36 +8,30 @@ redirect_from: "/help/index.html"
|
||||
|
||||
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 }})
|
||||
|
||||
## Reporting Security Vulnerabilities
|
||||
|
||||
Find something in our codebase that could be exploited by malicious elements?
|
||||
|
||||
Consult our [Security Policy]({{ '/docs/security/' | relative_url }}) to see if a product version is considered *outdated* and how to report
|
||||
the situation responsibly.
|
||||
Read the full [code of conduct](/docs/conduct/)
|
||||
|
||||
## 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 }})
|
||||
* Read the [Jekyll Documentation](https://jekyllrb.com/docs/)
|
||||
* 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 — Join our [Gitter channel](https://gitter.im/jekyll/jekyll) or our IRC channel #jekyll on [Libera](irc://irc.libera.chat/#jekyll).
|
||||
* Chat with Jekyllers — 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.
|
||||
There are a bunch of helpful community members on these services that should be 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 }})
|
||||
* [How to Contribute](/docs/contributing/)
|
||||
* [How to file a bug](/docs/community/bug/)
|
||||
* [Guide for maintaining Jekyll](/docs/maintaining/)
|
||||
|
||||
|
||||
## Jekyllconf
|
||||
|
||||
[Watch videos]({{ '/jekyllconf/' | relative_url }}) from members of the Jekyll community speak about interesting use cases, tricks they’ve learned or meta Jekyll topics.
|
||||
[Watch videos](/jekyllconf/) from members of the Jekyll community speak about interesting use cases, tricks they’ve learned or meta Jekyll topics.
|
||||
|
||||
## Jekyll on Twitter
|
||||
|
||||
|
||||
@@ -8,12 +8,11 @@ options can either be specified in a `_config.yml` or `_config.toml` file placed
|
||||
in your site’s 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 }})
|
||||
* [Sass/SCSS Options]({{ '/docs/configuration/sass/' | relative_url }})
|
||||
* [Webrick Options]({{ '/docs/configuration/webrick/' | relative_url }})
|
||||
* [Incremental Regeneration]({{ '/docs/configuration/incremental-regeneration/' | relative_url }})
|
||||
* [Configuration Options](/docs/configuration/options/)
|
||||
* [Default Configuration](/docs/configuration/default/)
|
||||
* [Front Matter Defaults](/docs/configuration/front-matter-defaults/)
|
||||
* [Environments](/docs/configuration/environments/)
|
||||
* [Markdown Options](/docs/configuration/markdown/)
|
||||
* [Liquid Options](/docs/configuration/liquid/)
|
||||
* [Webrick Options](/docs/configuration/webrick/)
|
||||
* [Incremental Regeneration](/docs/configuration/incremental-regeneration/)
|
||||
|
||||
@@ -7,19 +7,12 @@ 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>
|
||||
In general, make directory path values in configuration keys like <code>plugins_dir</code> relative to the current working directory, not the site source. The <code>sass</code> configuration key is an exception, where values must be relative to 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
|
||||
plugins_dir : _plugins
|
||||
layouts_dir : _layouts
|
||||
data_dir : _data
|
||||
includes_dir : _includes
|
||||
@@ -77,10 +70,16 @@ liquid:
|
||||
strict_variables : false
|
||||
|
||||
# Markdown Processors
|
||||
rdiscount:
|
||||
extensions : []
|
||||
|
||||
redcarpet:
|
||||
extensions : []
|
||||
|
||||
kramdown:
|
||||
auto_ids : true
|
||||
entity_output : as_char
|
||||
toc_levels : [1, 2, 3, 4, 5, 6]
|
||||
toc_levels : 1..6
|
||||
smart_quotes : lsquo,rsquo,ldquo,rdquo
|
||||
input : GFM
|
||||
hard_wrap : false
|
||||
|
||||
@@ -42,8 +42,8 @@ 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.
|
||||
<div class="note info">
|
||||
<p>
|
||||
To switch part of your config settings depending on the environment, use the <a href="/docs/configuration/options/#build-command-options">build command option</a>, for example <code>--config _config.yml,_config_development.yml</code>. Settings in later files override settings in earlier files.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -30,7 +30,7 @@ defaults:
|
||||
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.
|
||||
Note <a href="/docs/datafiles">Data Files</a> are included and reloaded during automatic regeneration.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -68,9 +68,7 @@ defaults:
|
||||
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`.
|
||||
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/) set to `Mr. Hyde`.
|
||||
|
||||
```yaml
|
||||
collections:
|
||||
@@ -87,7 +85,7 @@ defaults:
|
||||
```
|
||||
|
||||
In this example, the `layout` is set to `default` inside the
|
||||
[collection]({{ '/docs/collections/' | relative_url }}) with the name `my_collection`.
|
||||
[collection](/docs/collections/) with the name `my_collection`.
|
||||
|
||||
### Glob patterns in Front Matter defaults
|
||||
|
||||
@@ -116,6 +114,7 @@ defaults:
|
||||
</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.
|
||||
|
||||
@@ -6,33 +6,13 @@ 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)
|
||||
- `warn` --- Output a warning on the console for each error.
|
||||
- `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
|
||||
orthogonal.
|
||||
|
||||
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.
|
||||
and `strict_filters` options configure Liquid's renderer and are consequently,
|
||||
mutually exclusive.
|
||||
|
||||
@@ -5,69 +5,102 @@ permalink: "/docs/configuration/markdown/"
|
||||
The various Markdown renderers supported by Jekyll sometimes have extra options
|
||||
available.
|
||||
|
||||
## Kramdown
|
||||
### Kramdown
|
||||
|
||||
Kramdown is the default Markdown renderer for Jekyll, and often works well with no additional configuration. However, it does support many configuration options.
|
||||
Kramdown is the default Markdown renderer for Jekyll. Below is a list of the
|
||||
currently supported options:
|
||||
|
||||
### Kramdown Processor
|
||||
|
||||
By default, Jekyll uses the [GitHub Flavored Markdown (GFM) processor](https://github.com/kramdown/parser-gfm) for Kramdown. (Specifying `input: GFM` is fine, but redundant.) GFM supports a couple additional Kramdown options, documented by [kramdown-parser-gfm](https://github.com/kramdown/parser-gfm). These options can be used directly in your Kramdown Jekyll config, like this:
|
||||
|
||||
```yaml
|
||||
kramdown:
|
||||
gfm_quirks: [paragraph_end]
|
||||
```
|
||||
|
||||
You can also change the processor used by Kramdown (as specified for the `input` key in the [Kramdown RDoc](https://kramdown.gettalong.org/rdoc/Kramdown/Document.html#method-c-new)). For example, to use the non-GFM Kramdown processor in Jekyll, add the following to your configuration.
|
||||
|
||||
```yaml
|
||||
kramdown:
|
||||
input: Kramdown
|
||||
```
|
||||
|
||||
Documentation for Kramdown parsers is available in the [Kramdown docs](https://kramdown.gettalong.org/parser/kramdown.html). If you use a Kramdown parser other than Kramdown or GFM, you'll need to add the gem for it.
|
||||
|
||||
### Syntax Highlighting (CodeRay)
|
||||
|
||||
To use the [CodeRay](http://coderay.rubychan.de/) syntax highlighter with Kramdown, you need to add a dependency on the `kramdown-syntax-coderay` gem. For example, `bundle add kramdown-syntax-coderay`. Then, you'll be able to specify CodeRay in your `syntax_highlighter` config:
|
||||
|
||||
```yaml
|
||||
kramdown:
|
||||
syntax_highlighter: coderay
|
||||
```
|
||||
|
||||
CodeRay supports several of its own configuration options, documented in the [kramdown-syntax-coderay docs](https://github.com/kramdown/syntax-coderay) which can be passed as `syntax_highlighter_opts` like this:
|
||||
|
||||
```yaml
|
||||
kramdown:
|
||||
syntax_highlighter: coderay
|
||||
syntax_highlighter_opts:
|
||||
line_numbers: table
|
||||
bold_every: 5
|
||||
```
|
||||
|
||||
### Advanced Kramdown Options
|
||||
|
||||
Kramdown supports a variety of other relatively advanced options such as `header_offset` and `smart_quotes`. These are documented in the [Kramdown configuration documentation](https://kramdown.gettalong.org/options.html) and can be added to your Kramdown config like this:
|
||||
|
||||
```yaml
|
||||
kramdown:
|
||||
header_offset: 2
|
||||
```
|
||||
* **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
|
||||
|
||||
<div class="note warning">
|
||||
<h5>There are several unsupported kramdown options</h5>
|
||||
<h5>There are two unsupported kramdown options</h5>
|
||||
<p>
|
||||
Please note that Jekyll uses Kramdown's HTML converter. Kramdown options used only by other converters, such as <code>remove_block_html_tags</code> (used by the RemoveHtmlTags converter), will not work.
|
||||
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>
|
||||
|
||||
## CommonMark
|
||||
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).
|
||||
|
||||
### Redcarpet
|
||||
|
||||
Redcarpet can be configured by providing an `extensions` sub-setting, whose
|
||||
value should be an array of strings. Each string should be the name of one of
|
||||
the `Redcarpet::Markdown` class's extensions; if present in the array, it will
|
||||
set the corresponding extension to `true`.
|
||||
|
||||
Jekyll handles two special Redcarpet extensions:
|
||||
|
||||
- `no_fenced_code_blocks` --- By default, Jekyll sets the `fenced_code_blocks`
|
||||
extension (for delimiting code blocks with triple tildes or triple backticks)
|
||||
to `true`, probably because GitHub's eager adoption of them is starting to make
|
||||
them inescapable. Redcarpet's normal `fenced_code_blocks` extension is inert
|
||||
when used with Jekyll; instead, you can use this inverted version of the
|
||||
extension for disabling fenced code.
|
||||
|
||||
Note that you can also specify a language for highlighting after the first
|
||||
delimiter:
|
||||
|
||||
```ruby
|
||||
# ...ruby code
|
||||
```
|
||||
|
||||
With both fenced code blocks and highlighter enabled, this will statically
|
||||
highlight the code; without any syntax highlighter, it will add a
|
||||
`class="LANGUAGE"` attribute to the `<code>` element, which can be used as a
|
||||
hint by various JavaScript code highlighting libraries.
|
||||
|
||||
- `smart` --- This pseudo-extension turns on SmartyPants, which converts
|
||||
straight quotes to curly quotes and runs of hyphens to em (`---`) and en (`--`) dashes.
|
||||
|
||||
All other extensions retain their usual names from Redcarpet, and no renderer
|
||||
options aside from `smart` can be specified in Jekyll. [A list of available
|
||||
extensions can be found in the Redcarpet README file.](https://github.com/vmg/redcarpet/blob/v3.2.2/README.markdown#and-its-like-really-simple-to-use)
|
||||
Make sure you're looking at the README for the right version of
|
||||
Redcarpet: Jekyll currently uses v3.2.x. The most commonly used
|
||||
extensions are:
|
||||
|
||||
- `tables`
|
||||
- `no_intra_emphasis`
|
||||
- `autolink`
|
||||
|
||||
### 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:
|
||||
|
||||
@@ -20,35 +20,120 @@ class="flag">flags</code> (specified on the command-line) that control them.
|
||||
</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 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="/docs/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="{{ '/docs/front-matter/' | relative_url }}" title="front matter">front matter</a>
|
||||
Set defaults for <a href="/docs/front-matter/" 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>
|
||||
<p>see <a href="/docs/configuration/front-matter-defaults/" title="details">below</a></p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@@ -80,27 +165,155 @@ class="flag">flags</code> (specified on the command-line) that control them.
|
||||
</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 %}
|
||||
<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
|
||||
@@ -116,39 +329,83 @@ before your site is served.
|
||||
</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 %}
|
||||
<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>Live Reload</strong></p>
|
||||
<p class="description">Reload a page automatically on the browser when its content is edited.</p>
|
||||
</td>
|
||||
<td class="align-center">
|
||||
<p><code class="option">livereload: true</code></p>
|
||||
<p><code class="flag">--livereload</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, stored or symlinked in the site source.</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, stored or symlinked in the site source.</p>
|
||||
</td>
|
||||
<td class="align-center">
|
||||
<p><code class="flag">--ssl-cert</code></p>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
---
|
||||
title: Sass/SCSS Options
|
||||
permalink: "/docs/configuration/sass/"
|
||||
---
|
||||
|
||||
Jekyll comes bundled with [jekyll-sass-converter](https://github.com/jekyll/jekyll-sass-converter) plugin. By default, Jekyll will look for Sass partials in the `_sass` directory relative to your site's `source` directory.
|
||||
|
||||
You can further configure the plugin by adding options to your Jekyll config under the `sass` attribute. See the [plugin's documentation](https://github.com/jekyll/jekyll-sass-converter#usage) for details and for its default values.
|
||||
|
||||
{:.note .info}
|
||||
If you see a warning in VSCode regarding `@import "main";`, you may ignore it as the same does not affect the functionality of the SCSS code in Jekyll. However, Jekyll 4 does not allow importing a `main` sass partial (`_sass/main.scss`) from a sass page of a same name, viz. `css/main.scss`.
|
||||
|
||||
<div class="note info">
|
||||
<p>
|
||||
Note that directory paths specified in the <code>sass</code> configuration
|
||||
are resolved relative to your site's <code>source</code>, not relative to the location of the <code>_config.yml</code> file.
|
||||
</p>
|
||||
</div>
|
||||
@@ -57,4 +57,4 @@ This entire guide is open-source. Go ahead and [edit it][jekyll-docs-ci-buddy] i
|
||||
|
||||
[jekyll-docs-ci-buddy]: https://github.com/jekyll/jekyll/edit/master/docs/_docs/continuous-integration/buddyworks.md
|
||||
[jekyll-help]: https://jekyllrb.com/help/
|
||||
[buddy-forum]: https://forum.buddy.works/
|
||||
[buddy-forum]: http://forum.buddy.works/
|
||||
|
||||
@@ -15,9 +15,9 @@ To start building your project on CircleCI, all you need to do is 'follow' your
|
||||
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 [.circleci/config.yml][3] file in the root of your repository.
|
||||
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.
|
||||
|
||||
[3]: https://circleci.com/docs/2.0/configuration-reference/
|
||||
[3]: https://circleci.com/docs/configuration/
|
||||
|
||||
## 2. Dependencies
|
||||
|
||||
@@ -28,24 +28,22 @@ The easiest way to manage dependencies for a Jekyll project (with or without Cir
|
||||
```ruby
|
||||
source 'https://rubygems.org'
|
||||
|
||||
ruby '2.7.4'
|
||||
ruby '2.4.0'
|
||||
|
||||
gem "jekyll"
|
||||
gem "html-proofer"
|
||||
gem 'jekyll'
|
||||
gem 'html-proofer'
|
||||
```
|
||||
|
||||
```yaml
|
||||
- step:
|
||||
run: bundle install
|
||||
```
|
||||
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 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
|
||||
- step:
|
||||
run: bundle exec jekyll build
|
||||
dependencies:
|
||||
post:
|
||||
- bundle exec jekyll build
|
||||
```
|
||||
|
||||
### HTML Proofer
|
||||
@@ -56,32 +54,46 @@ With your site built, it's useful to run tests to check for valid HTML, broken l
|
||||
[6]: https://github.com/gjtorikian/html-proofer/blob/master/README.md#configuration
|
||||
|
||||
```yaml
|
||||
- step:
|
||||
run: bundle exec htmlproofer ./_site --check-html --disable-external
|
||||
test:
|
||||
post:
|
||||
- bundle exec htmlproofer ./_site --check-html --disable-external
|
||||
```
|
||||
|
||||
## Complete Example .circleci/config.yml File
|
||||
## Complete Example circle.yml File
|
||||
|
||||
The example `.circleci/config.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/).
|
||||
When you put it all together, here's an example of what that `circle.yml` file could look like in v1:
|
||||
|
||||
```yaml
|
||||
workflows:
|
||||
test-deploy:
|
||||
jobs:
|
||||
- build
|
||||
- deploy:
|
||||
requires:
|
||||
- build
|
||||
filters:
|
||||
branches:
|
||||
only: master
|
||||
version: 2.1
|
||||
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
|
||||
```
|
||||
|
||||
for CircleCI v2, a Docker-based system which new projects will follow, set the `S3_BUCKET_NAME` environment variable (an example of the required config file is shown below).
|
||||
|
||||
```yaml
|
||||
defaults: &defaults
|
||||
working_directory: ~/repo
|
||||
version: 2
|
||||
jobs:
|
||||
build:
|
||||
<<: *defaults
|
||||
docker:
|
||||
- image: cimg/ruby:2.7.4
|
||||
- image: circleci/ruby:2.5
|
||||
environment:
|
||||
BUNDLE_PATH: ~/repo/vendor/bundle
|
||||
steps:
|
||||
@@ -113,8 +125,9 @@ jobs:
|
||||
paths:
|
||||
- _site
|
||||
deploy:
|
||||
<<: *defaults
|
||||
docker:
|
||||
- image: cimg/python:3.9.1
|
||||
- image: circleci/python:3.6.3
|
||||
environment:
|
||||
S3_BUCKET_NAME: <<YOUR BUCKET NAME HERE>>
|
||||
steps:
|
||||
@@ -126,6 +139,17 @@ jobs:
|
||||
- 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?
|
||||
|
||||
@@ -1,138 +0,0 @@
|
||||
---
|
||||
title: GitHub Actions
|
||||
---
|
||||
|
||||
When building a Jekyll site with GitHub Pages, Jekyll runs in an environment restricted for security
|
||||
reasons, yet containing numerous [whitelisted plugins and themes][ghp-whitelist] to make it simpler
|
||||
to get a site set up.
|
||||
|
||||
The only workaround to have control over the build environment and gemset yet use GitHub Pages to
|
||||
host the site was previously by building elsewhere and pushing the built directory contents to the
|
||||
`gh-pages` branch on your repository.
|
||||
|
||||
However, GitHub now provides you with the option to use their in-house CI/CD product named
|
||||
*GitHub Actions* to *build and deploy (host)* your Jekyll site with complete control over the build
|
||||
environment and gemset.
|
||||
|
||||
## Advantages of using Actions
|
||||
|
||||
### Control over gemset
|
||||
|
||||
- **Jekyll version** --- Instead of using the classic GitHub Pages-provided version specified in
|
||||
the [Dependency versions][ghp-whitelist] list, you can use any version of Jekyll you want.
|
||||
For example `{{ site.version }}`, or point directly to the repository via the Gemfile.
|
||||
- **Plugins** --- You can use any Jekyll plugins irrespective of them being whitelisted by GitHub,
|
||||
including any `*.rb` files placed in the `_plugins` directory of your site.
|
||||
- **Themes** --- While using a custom theme is possible without Actions, it is now possible to use
|
||||
themes depending on features introduced in newer versions of Jekyll.
|
||||
|
||||
{: .note .info}
|
||||
If you are migrating from the classic flow but want to keep using a GitHub-hosted theme, you may use
|
||||
the [jekyll-remote-theme][remote-theme] plugin, add any required dependencies of your theme
|
||||
(previously bundled by default) into your `_config.yml` and `Gemfile` and set the
|
||||
`remote_theme: <owner>/<repo_name>` theme repository slug correctly in your `_config.yml`.
|
||||
|
||||
### 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.
|
||||
- **Caching** --- The `ruby/setup-ruby` action makes it possible to cache installed gems
|
||||
automatically instead of having to download the bundle on each build.
|
||||
|
||||
## 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.
|
||||
|
||||
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.2"
|
||||
|
||||
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
|
||||
|
||||
1. Go to the **Settings** tab on your repository.
|
||||
1. Click **Pages** under **Code and automation**.
|
||||
2. Change **Source** under **Build and deployment** from **Deploy from a branch** to **GitHub Actions**.
|
||||
2. Go to the **Actions** tab on your repository.
|
||||
1. Start a **New workflow** and search for **Jekyll**.
|
||||
2. Click **Configure** under the **Jekyll** workflow (not **GitHub Pages Jekyll** workflow).
|
||||
3. Review the change and click **Commit changes**.
|
||||
|
||||
### Build and deploy
|
||||
|
||||
On pushing any local changes onto the default branch, 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) you’ll
|
||||
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 be uploaded to GitHub Pages.
|
||||
|
||||
To see the **live site**, go to the **Deployments** tab on your repository, and click on the deployed
|
||||
site URL.
|
||||
|
||||
When you need to make further **changes** to the site, commit to the default branch and push.
|
||||
The workflow will build and deploy your site again.
|
||||
|
||||
## External links
|
||||
|
||||
- [starter-workflows] is the official repository providing the workflow template used in this guide.
|
||||
|
||||
[ghp-whitelist]: https://pages.github.com/versions/
|
||||
[remote-theme]: https://github.com/benbalter/jekyll-remote-theme
|
||||
[timeago-plugin]: https://rubygems.org/gems/jekyll-timeago
|
||||
[starter-workflows]: https://github.com/actions/starter-workflows/blob/main/pages/jekyll.yml
|
||||
@@ -1,61 +0,0 @@
|
||||
---
|
||||
title: "Razorops"
|
||||
---
|
||||
|
||||
[Razorops][razorops-homepage] is a complete container native CI/CD solution handling all aspects of the software lifecycle from the moment a commit is created until it is deployed to production.
|
||||
Razorops has all the capabilities that you would expect from a CI/CD platform such as
|
||||
1. Code compilation/build
|
||||
2. Artifact packaging
|
||||
3. Testing Automation(unit, integration, acceptance etc.)
|
||||
4. Faster builds and shipping to production
|
||||
|
||||
Razorops is a single solution that implements the whole pipeline from start to deployment.
|
||||
|
||||
With [Razorops][razorops-homepage] you can set up your Jekyll websites project's build, test, and deploy steps just in 15 min. It supports [GitHub][github-homepage], [Bitbucket][bitbucket-homepage], and [GitLab][gitlab-homepage] repositories. The following guide will show you how to set up a free environment to build, test and deploy your Jekyll project.
|
||||
|
||||
[razorops-homepage]: https://razorops.com/
|
||||
[docker-homepage]: https://www.docker.com/
|
||||
[github-homepage]: https://github.com
|
||||
[bitbucket-homepage]: https://bitbucket.org/
|
||||
[gitlab-homepage]: https://gitlab.com
|
||||
[deploy-s3]: https://razorops.com/blog/how-to-deploy-a-static-website-to-aws-s3-with-razorops-ci-cd/
|
||||
|
||||
## 1. Getting started
|
||||
|
||||
1. Log in at [https://razorops.com/][razorops-homepage] with your GitHub/Bitbucket or GitLab account
|
||||
2. Create a pipeline, choose your Git provider and select your Jekyll Project
|
||||
3. Add .razorops.yaml file in your root directory of your project
|
||||
4. Add environment var and your deployment is ready
|
||||
5. Add build and deployment steps as shown in this post [How to Deploy a Static Website to AWS S3 with Razorops CI/CD][deploy-s3]
|
||||
|
||||
## 2. How it works
|
||||
|
||||
Whenever you make a push to the selected branch, your steps auto runs as defined in .razorops.yaml file
|
||||
|
||||
```yaml
|
||||
tasks:
|
||||
build-and-deploy:
|
||||
steps:
|
||||
- checkout
|
||||
# commands to build jekyll website
|
||||
- commands:
|
||||
- bundle install
|
||||
- JEKYLL_ENV=production bundle exec jekyll build
|
||||
# Commands to upload static pages folder to AWS S3 or ftp
|
||||
# Set AWS access key & secrets environment variables under
|
||||
# Razorops dashboard project pipelines
|
||||
- commands:
|
||||
- aws s3 rm s3://$AWS_S3_BUCKET --recursive
|
||||
- aws s3 cp _site s3://$AWS_S3_BUCKET --recursive
|
||||
if: branch == 'main'
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
Build step generates _site folder as Jekyll default and during deploy you will able to ship code to s3 or any ftp server you can define any command to ship your website code to server.
|
||||
|
||||
Razorops is FREE for opensource projects, Try it Now
|
||||
[https://razorops.com/][razorops-homepage]
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ Save the commands you want to run and succeed in a file: `./script/cibuild`
|
||||
|
||||
### The HTML Proofer Executable
|
||||
|
||||
```bash
|
||||
```sh
|
||||
#!/usr/bin/env bash
|
||||
set -e # halt script on error
|
||||
|
||||
@@ -105,11 +105,17 @@ 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
|
||||
@@ -183,6 +189,18 @@ 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>
|
||||
@@ -194,6 +212,16 @@ push to any branch of your repo if leave it out.
|
||||
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`.
|
||||
|
||||
```yaml
|
||||
sudo: false
|
||||
```
|
||||
|
||||
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.
|
||||
|
||||
@@ -14,24 +14,24 @@ See the [support guidelines](https://jekyllrb.com/docs/support/)
|
||||
|
||||
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 workaround? 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.
|
||||
|
||||
- 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
|
||||
|
||||
@@ -80,12 +80,11 @@ 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
|
||||
@@ -106,21 +105,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)
|
||||
* 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
|
||||
|
||||
@@ -153,10 +152,6 @@ 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!
|
||||
|
||||
@@ -3,11 +3,11 @@ title: Data Files
|
||||
permalink: /docs/datafiles/
|
||||
---
|
||||
|
||||
In addition to the [built-in variables]({{'/docs/variables/' | relative_url }}) available from Jekyll,
|
||||
In addition to the [built-in variables](../variables/) available from Jekyll,
|
||||
you can specify your own custom data that can be accessed via the [Liquid
|
||||
templating system](https://github.com/Shopify/liquid/wiki/Liquid-for-Designers).
|
||||
templating system](https://wiki.github.com/shopify/liquid/liquid-for-designers).
|
||||
|
||||
Jekyll supports loading data from [YAML](https://yaml.org), [JSON](https://www.json.org/json-en.html), [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.
|
||||
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
|
||||
@@ -18,8 +18,8 @@ Plugins/themes can also leverage Data Files to set configuration variables.
|
||||
## The Data Folder
|
||||
|
||||
The `_data` folder is where you can store additional data for Jekyll to use when
|
||||
generating your site. These files must be YAML, JSON, TSV or CSV files (using either
|
||||
the `.yml`, `.yaml`, `.json`, `.tsv`, or `.csv` extension), and they will be
|
||||
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`.
|
||||
|
||||
## Example: List of members
|
||||
@@ -42,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 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).
|
||||
This data can be accessed via `site.data.members` (notice that the filename
|
||||
determines the variable name).
|
||||
|
||||
You can now render the list of members in a template:
|
||||
|
||||
@@ -147,31 +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/' | relative_url }}).
|
||||
|
||||
## CSV/TSV Parse Options
|
||||
|
||||
The way Ruby parses CSV and TSV files can be customized with the `csv_reader` and `tsv_reader`
|
||||
configuration options. Each configuration key exposes the same options:
|
||||
|
||||
`converters`: What [CSV converters](https://ruby-doc.org/stdlib-2.5.0/libdoc/csv/rdoc/CSV.html#Converters) should be
|
||||
used when parsing the file. Available options are `integer`, `float`, `numeric`, `date`, `date_time` and
|
||||
`all`. By default, this list is empty.
|
||||
`encoding`: What encoding the files are in. Defaults to the site `encoding` configuration option.
|
||||
`headers`: Boolean field for whether to parse the first line of the file as headers. When `false`, it treats the
|
||||
first row as data. Defaults to `true`.
|
||||
|
||||
Examples:
|
||||
|
||||
```yaml
|
||||
csv_reader:
|
||||
converters:
|
||||
- numeric
|
||||
- datetime
|
||||
headers: true
|
||||
encoding: utf-8
|
||||
tsv_reader:
|
||||
converters:
|
||||
- all
|
||||
headers: false
|
||||
```
|
||||
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).
|
||||
|
||||
@@ -6,6 +6,6 @@ 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 }})
|
||||
* [Manually](/docs/deployment/manual/)
|
||||
* [Automated](/docs/deployment/automated/)
|
||||
* [Third Party](/docs/deployment/third-party/)
|
||||
|
||||
@@ -11,15 +11,13 @@ 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.
|
||||
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 }})
|
||||
* [Razorops CI/CD]({{ '/docs/continuous-integration/razorops/' | relative_url }})
|
||||
* [Travis CI](/docs/continuous-integration/travis-ci/)
|
||||
* [CircleCI](/docs/continuous-integration/circleci/)
|
||||
* [Buddy](/docs/continuous-integration/buddyworks/)
|
||||
|
||||
## Git post-receive hook
|
||||
|
||||
@@ -44,11 +42,12 @@ installed on the server:
|
||||
export GEM_HOME=$HOME/gems
|
||||
export PATH=$GEM_HOME/bin:$PATH
|
||||
|
||||
GIT_REPO=$HOME/myrepo.git
|
||||
TMP_GIT_CLONE=$HOME/tmp/myrepo
|
||||
GEMFILE=$TMP_GIT_CLONE/Gemfile
|
||||
PUBLIC_WWW=/var/www/myrepo
|
||||
|
||||
git clone $GIT_DIR $TMP_GIT_CLONE
|
||||
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
|
||||
|
||||
@@ -16,19 +16,22 @@ rsync in the [Digital Ocean tutorial](https://www.digitalocean.com/community/tut
|
||||
## Amazon S3
|
||||
|
||||
If you want to host your site in Amazon S3, you can do so by
|
||||
using the AWS cli client and pushing your rendered `_site` directory directly to
|
||||
your S3 bucket.
|
||||
|
||||
`aws s3 sync _site s3://<YOUR DOMAIN>.com --size-only --storage-class REDUCED_REDUNDANCY`
|
||||
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 providers 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.
|
||||
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).
|
||||
|
||||
@@ -3,12 +3,17 @@ 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.
|
||||
Read this [step-by-step guide](https://medium.com/@FizzyInTheHall/build-and-publish-a-jekyll-powered-blog-easily-with-aws-amplify-529852042ab6) to deploy and host your Jekyll site on AWS Amplify.
|
||||
|
||||
## CloudCannon
|
||||
|
||||
@@ -20,67 +25,21 @@ continuous deployment and [more](https://cloudcannon.com/features/).
|
||||
|
||||
Sites on GitHub Pages are powered by Jekyll behind the scenes, so if you’re 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/pages_from_scratch.html) 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](https://kickster.nielsenramon.com/) for automated deploys to GitHub Pages when using unsupported plugins on GitHub Pages.
|
||||
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 practices and useful optimization tools increasing your overall project quality. Kickster ships with automated and worry-free deployment scripts for 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).
|
||||
|
||||
Install the Kickster gem and you are good to go. More documentation can be 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.
|
||||
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/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 bandwidth.
|
||||
|
||||
## Hostman
|
||||
|
||||
[Hostman](https://hostman.com) allows you to host websites for free with no configurations. Read [this guide](https://hostman.com/docs/jekyll) to deploy your Jekyll site on Hostman.
|
||||
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.
|
||||
|
||||
## 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.
|
||||
|
||||
## Layer0
|
||||
|
||||
[Layer0](https://www.layer0.co) is an all-in-one platform to develop, deploy, preview, experiment on, monitor, and run your headless frontend. It is focused on large, dynamic websites and best-in-class performance through EdgeJS (a JavaScript-based Content Delivery Network), predictive prefetching, and performance monitoring. Layer0 offers a free tier. Get started in just a few minutes by following [Layer0's guide to deploying Jekyll](https://docs.layer0.co/guides/jekyll).
|
||||
|
||||
## Kinsta Application Hosting
|
||||
|
||||
[Kinsta Application Hosting](https://kinsta.com/application-hosting) is a Cloud Platform designed to help your company and dev teams ship web projects faster and more efficiently. You can host your apps, databases, and sites all in one place. Easily connect with GitHub and automate deployments and get 24/7 support for all your favorite languages and frameworks.
|
||||
|
||||
Read [this guide](https://kinsta.com/docs/jekyll-static-site-example/) to learn how to deploy Jekyll site on Kinsta.
|
||||
|
||||
## Supranode
|
||||
|
||||
[Supranode](https://supranode.com) offers customizable continuous deployment for static websites, featuring automatic HTTPS, a high-performance CDN, secret management, deployment previews, password protection, and more.
|
||||
|
||||
## Azion
|
||||
|
||||
[Azion](https://www.azion.com/en/) is an web platform that provides a wide range of services. It allows you to host static sites, including Jekyll-powered websites, with features like automatic HTTPS, custom domains, and real-time analytics. Azion's platform is designed for performance and scalability, making it an excellent choice for hosting global websites.
|
||||
|
||||
In [this guide](https://www.azion.com/en/documentation/products/guides/jekyll-boilerplate/) you can learn how to deploy a Jekyll site on Azion.
|
||||
|
||||
@@ -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 for you to access using Liquid tags both further down in the
|
||||
then be available to 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 you’re running
|
||||
<a href="{{ '/docs/installation/windows/' | relative_url }}">Jekyll on Windows</a>.
|
||||
<a href="/docs/installation/windows/">Jekyll on Windows</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="note">
|
||||
<h5>Front Matter Variables Are Optional</h5>
|
||||
<p>
|
||||
If you want to use <a href="{{ '/docs/variables/' | relative_url }}">Liquid tags and variables</a>
|
||||
If you want to use <a href="/docs/variables/">Liquid tags and variables</a>
|
||||
but don’t 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!)
|
||||
@@ -72,7 +72,7 @@ front matter of a page or post.
|
||||
<li>
|
||||
Using <code>null</code> will produce a file without using a layout
|
||||
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 }}">
|
||||
layout defined in the <a href="/docs/configuration/front-matter-defaults/">
|
||||
front matter defaults</a>.
|
||||
</li>
|
||||
<li>
|
||||
@@ -117,7 +117,7 @@ front matter of a page or post.
|
||||
<h5>Render Posts Marked As Unpublished</h5>
|
||||
<p>
|
||||
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>
|
||||
with the `--unpublished` switch. Jekyll also has a handy <a href="/docs/posts/#drafts">drafts</a>
|
||||
feature tailored specifically for blog posts.
|
||||
</p>
|
||||
</div>
|
||||
@@ -204,8 +204,7 @@ These are available out-of-the-box to be used in the front matter for a post.
|
||||
<h5>Don't repeat yourself</h5>
|
||||
<p>
|
||||
If you don't want to repeat your frequently used front matter variables
|
||||
over and over, define
|
||||
<a href="{{ '/docs/configuration/front-matter-defaults/' | relative_url }}" title="Front Matter defaults">defaults</a>
|
||||
over and over, define <a href="/docs/configuration/front-matter-defaults/" 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>
|
||||
|
||||
@@ -15,20 +15,40 @@ 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.
|
||||
|
||||
The [GitHub Pages Documentation](https://docs.github.com/en/free-pro-team@latest/github/working-with-github-pages)
|
||||
is comprehensive and includes a [a guide to setting up a GitHub Pages site using
|
||||
Jekyll](https://docs.github.com/en/free-pro-team@latest/github/working-with-github-pages/setting-up-a-github-pages-site-with-jekyll).
|
||||
We recommend following this guide.
|
||||
Never built a website with GitHub Pages before? [See this marvelous guide by
|
||||
Jonathan McGlone](http://jmcglone.com/guides/github-pages/) to get you up and
|
||||
running. This guide will teach you what you need to know about Git, GitHub, and
|
||||
Jekyll to create your very own website on GitHub Pages.
|
||||
|
||||
This page contains some additional information which may be useful when working
|
||||
on GitHub Pages sites with Jekyll.
|
||||
## The github-pages gem
|
||||
|
||||
Our friends at GitHub have provided the
|
||||
[github-pages](https://github.com/github/pages-gem) gem which is used to manage
|
||||
[Jekyll and its dependencies on GitHub Pages](https://pages.github.com/versions/).
|
||||
Using it in your projects means that when you deploy your site to GitHub Pages,
|
||||
you will not be caught by unexpected differences between various versions of the
|
||||
gems.
|
||||
|
||||
Note that GitHub Pages runs in `safe` mode and only allows [a set of whitelisted
|
||||
plugins](https://help.github.com/articles/configuring-jekyll-plugins/#default-plugins).
|
||||
|
||||
To use the currently-deployed version of the gem in your project, add the
|
||||
following to your `Gemfile`:
|
||||
|
||||
```ruby
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem "github-pages", group: :jekyll_plugins
|
||||
```
|
||||
|
||||
Be sure to run `bundle update` often.
|
||||
|
||||
<div class="note">
|
||||
<h5>GitHub Pages Documentation, Help, and Support</h5>
|
||||
<p>
|
||||
For more information about what you can do with GitHub Pages, as well as for
|
||||
troubleshooting guides, you should check out
|
||||
<a href="https://docs.github.com/en/free-pro-team@latest/github/working-with-github-pages">GitHub’s Pages Help section</a>.
|
||||
<a href="https://help.github.com/categories/github-pages-basics/">GitHub’s Pages Help section</a>.
|
||||
If all else fails, you should contact <a href="https://github.com/contact">GitHub Support</a>.
|
||||
</p>
|
||||
</div>
|
||||
@@ -38,12 +58,12 @@ on GitHub Pages sites with Jekyll.
|
||||
Sometimes it's nice to preview your Jekyll site before you push your `gh-pages`
|
||||
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]({{ '/docs/liquid/filters/' | relative_url }}):
|
||||
site builds properly, use the handy [URL filters](/docs/liquid/filters/):
|
||||
|
||||
{% 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 }}")
|
||||
```
|
||||
@@ -56,7 +76,7 @@ will resolve properly.
|
||||
## Deploying Jekyll to GitHub Pages
|
||||
|
||||
GitHub Pages work by looking at certain branches of repositories on GitHub.
|
||||
There are two basic types available: [user/organization and project pages](https://docs.github.com/en/free-pro-team@latest/github/working-with-github-pages/about-github-pages#types-of-github-pages-sites).
|
||||
There are two basic types available: [user/organization and project pages](https://help.github.com/articles/user-organization-and-project-pages/).
|
||||
The way to deploy these two types of sites are nearly identical, except for a
|
||||
few minor details.
|
||||
|
||||
@@ -95,14 +115,14 @@ looking at right now is contained in the [docs
|
||||
folder]({{ site.repository }}/tree/master/docs) of the same repository.
|
||||
|
||||
Please refer to GitHub official documentation on
|
||||
[user, organization and project pages](https://docs.github.com/en/free-pro-team@latest/github/working-with-github-pages/about-github-pages#types-of-github-pages-sites)
|
||||
[user, organization and project pages](https://help.github.com/articles/user-organization-and-project-pages/)
|
||||
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/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>
|
||||
GitHub Pages <a href="https://help.github.com/articles/troubleshooting-github-pages-build-failures#source-setting">overrides</a>
|
||||
the <a href="/docs/configuration/options/">“Site Source”</a>
|
||||
configuration value, so if you locate your files anywhere other than the
|
||||
root directory, your site may not build correctly.
|
||||
</p>
|
||||
@@ -115,17 +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="{{ '/docs/installation/windows/' | relative_url }}">Windows-specific docs page</a>.
|
||||
<a href="/docs/installation/windows/">Windows-specific docs page</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
### Running and Testing Locally
|
||||
|
||||
Once the project is configured with the github-pages environment, it's quite hard to switch back and forth with the local settings and the production-level settings. For that we can use certain CLI options to make the workflow hassle-free.
|
||||
|
||||
```sh
|
||||
bundle exec jekyll serve --baseurl=""
|
||||
```
|
||||
|
||||
This will run the jekyll server on your local machine i.e. on `http://localhost:4000`. Refer <a href="{{ '/docs/configuration/options/#serve-command-options' | relative_url }}">server options</a> for available options.
|
||||
|
||||
|
||||
@@ -4,797 +4,6 @@ permalink: "/docs/history/"
|
||||
note: This file is autogenerated. Edit /History.markdown instead.
|
||||
---
|
||||
|
||||
## 4.4.1 / 2025-01-29
|
||||
{: #v4-4-1}
|
||||
|
||||
### Bug Fixes
|
||||
{: #bug-fixes-v4-4-1}
|
||||
|
||||
- Restore globbed path behavior in front matter defaults ([#9762]({{ site.repository }}/issues/9762))
|
||||
|
||||
|
||||
## 4.4.0 / 2025-01-27
|
||||
{: #v4-4-0}
|
||||
|
||||
### Minor Enhancements
|
||||
{: #minor-enhancements-v4-4-0}
|
||||
|
||||
- Allow marking specific highlighted lines via Liquid ([#9138]({{ site.repository }}/issues/9138))
|
||||
- Add gem `csv` to runtime dependency list ([#9522]({{ site.repository }}/issues/9522))
|
||||
- Bump the minimum ruby version to 2.7 ([#9525]({{ site.repository }}/issues/9525))
|
||||
- Acknowledge `livereload_port` from site config too ([#9606]({{ site.repository }}/issues/9606))
|
||||
- Add gem `base64` as runtime dependency ([#9740]({{ site.repository }}/issues/9740))
|
||||
- Add gem `json` as runtime_dependency ([#9671]({{ site.repository }}/issues/9671))
|
||||
- Remove unnecessary constraint on gem `mercenary` ([#9758]({{ site.repository }}/issues/9758))
|
||||
|
||||
### Bug Fixes
|
||||
{: #bug-fixes-v4-4-0}
|
||||
|
||||
- Optimize default front matter using `File.fnmatch?` ([#9185]({{ site.repository }}/issues/9185))
|
||||
- Remove totals in profile table properly ([#9186]({{ site.repository }}/issues/9186))
|
||||
- Optimize `Site#each_site_file` ([#9187]({{ site.repository }}/issues/9187))
|
||||
- Rename sass partial created for new blank site ([#9257]({{ site.repository }}/issues/9257))
|
||||
- Fix `jekyll serve --detach` with jekyll-sass-converter 3.x ([#9304]({{ site.repository }}/issues/9304))
|
||||
- Handle TypeError from `where` filter gracefully ([#9292]({{ site.repository }}/issues/9292))
|
||||
- Add support for upcoming logger 1.4.3 ([#9392]({{ site.repository }}/issues/9392))
|
||||
- Fix typo in devcontainer.json ([#9364]({{ site.repository }}/issues/9364))
|
||||
- Correct rubocop lint errors ([#9600]({{ site.repository }}/issues/9600))
|
||||
- Fix inexistent layout warning for the default 404 page ([#9589]({{ site.repository }}/issues/9589))
|
||||
- Relax version constraint on `wdm` in new Gemfile ([#9662]({{ site.repository }}/issues/9662))
|
||||
- Fix `--livereload-ignore` option ([#9570]({{ site.repository }}/issues/9570))
|
||||
- Render theme-gem root only in development ([#9680]({{ site.repository }}/issues/9680))
|
||||
|
||||
### Development Fixes
|
||||
{: #development-fixes-v4-4-0}
|
||||
|
||||
- Cleanup highlight tag ([#9177]({{ site.repository }}/issues/9177))
|
||||
- Run tests in utc ([#9168]({{ site.repository }}/issues/9168))
|
||||
- Lock Ruby in CI to v3.1.2 and bump JRuby to v9.4.0.0 ([#9196]({{ site.repository }}/issues/9196))
|
||||
- Update sass related tests for jekyll-sass-converter 3.x ([#9223]({{ site.repository }}/issues/9223))
|
||||
- Split `test/test_tags.rb` into multiple files ([#9230]({{ site.repository }}/issues/9230))
|
||||
- test: use hash explicitly for Struct initializer for ruby 3.2 ([#9237]({{ site.repository }}/issues/9237))
|
||||
- script/default-site: accept flags for `jekyll new` ([#9259]({{ site.repository }}/issues/9259))
|
||||
- Bump check-spelling/check-spelling from 0.0.20 to 0.0.21 ([#9205]({{ site.repository }}/issues/9205))
|
||||
- Use check-spelling/check-spelling@v0.0.21 ([#9199]({{ site.repository }}/issues/9199))
|
||||
- Bump RuboCop to v1.45.x ([#9305]({{ site.repository }}/issues/9305))
|
||||
- Bump Rubocop to version 1.48.x ([#9326]({{ site.repository }}/issues/9326))
|
||||
- Bump versions of ruby & nodejs in devcontainer ([#9360]({{ site.repository }}/issues/9360))
|
||||
- Bump rubocop version to 1.52.x ([#9361]({{ site.repository }}/issues/9361))
|
||||
- Upgrade RuboCop to 1.54 ([#9401]({{ site.repository }}/issues/9401))
|
||||
- Add CodeQL workflow ([#9397]({{ site.repository }}/issues/9397))
|
||||
- Bump actions/checkout from 3 to 4 ([#9442]({{ site.repository }}/issues/9442))
|
||||
- Test suite uses shoulda-context only. ([#9441]({{ site.repository }}/issues/9441))
|
||||
- Keep activesupport at version 7.0.x ([#9469]({{ site.repository }}/issues/9469))
|
||||
- Bump Rubocop to 1.56.4 ([#9459]({{ site.repository }}/issues/9459))
|
||||
- Configure dependabot to handle rubygems dependencies ([#9445]({{ site.repository }}/issues/9445))
|
||||
- Update rubocop gem ([#9476]({{ site.repository }}/issues/9476))
|
||||
- Fix Performance/StringIdentifierArgument violation in site.rb and allow activesupport 6 for windows tests ([#9512]({{ site.repository }}/issues/9512))
|
||||
- Add a few more emeritus team members ([#9535]({{ site.repository }}/issues/9535))
|
||||
- Make custom cop inherit `RuboCop::Cop::Base` ([#9597]({{ site.repository }}/issues/9597))
|
||||
- CI: Use JRuby 9.4.8.0 ([#9654]({{ site.repository }}/issues/9654))
|
||||
- Stop testing with Cucumber on JRuby ([#9661]({{ site.repository }}/issues/9661))
|
||||
- Windows CI on GitHub Actions ([#9659]({{ site.repository }}/issues/9659))
|
||||
- Run GitHub Actions only if needed ([#9664]({{ site.repository }}/issues/9664))
|
||||
- Format `.rubocop.yml` via a rake task ([#9687]({{ site.repository }}/issues/9687))
|
||||
- Configure some new cops ([#9688]({{ site.repository }}/issues/9688))
|
||||
- Fix expected markup per WAI-ARIA requirements ([#9737]({{ site.repository }}/issues/9737))
|
||||
- Add an optional `:rdoc` group of gems ([#9742]({{ site.repository }}/issues/9742))
|
||||
- Test `inspect` filter with custom object ([#9743]({{ site.repository }}/issues/9743))
|
||||
- Bump cucumber to v9 ([#9747]({{ site.repository }}/issues/9747))
|
||||
- Add Ruby 3.4 to CI matrix ([#9740]({{ site.repository }}/issues/9740))
|
||||
- Remove unnecessary runtime dependency ([#9753]({{ site.repository }}/issues/9753))
|
||||
- Bump `check-spelling/check-spelling` action ([#9756]({{ site.repository }}/issues/9756))
|
||||
|
||||
### Documentation
|
||||
|
||||
- Fix Nested tree navigation with recursion example ([#9174]({{ site.repository }}/issues/9174))
|
||||
- Fix typo on website ([#9203]({{ site.repository }}/issues/9203))
|
||||
- Publish post on major release of sass-converter ([#9225]({{ site.repository }}/issues/9225))
|
||||
- Update Jekyll on macOS (macos.md) and current ruby version to 3.1.3 in ruby.yml ([#9195]({{ site.repository }}/issues/9195))
|
||||
- Add release post for v4.3.2 ([#9263]({{ site.repository }}/issues/9263))
|
||||
- Grammatical reordering in 3-to-4 upgrading docs ([#9245]({{ site.repository }}/issues/9245))
|
||||
- fixed grammatical mistake on "showcase" page ([#9264]({{ site.repository }}/issues/9264))
|
||||
- Mark `highlight` `mark_lines` feature as 4.4 in docs ([#9184]({{ site.repository }}/issues/9184))
|
||||
- Add v3.9.3 release history & post to `master` branch ([#9284]({{ site.repository }}/issues/9284))
|
||||
- Update S3 deployment to remove s3_website ([#9221]({{ site.repository }}/issues/9221))
|
||||
- Document Exclude behavior, Include overrides and the default exclusion list ([#9376]({{ site.repository }}/issues/9376))
|
||||
- Update macos.md, remove Catalina (macOS 10.15) ([#9405]({{ site.repository }}/issues/9405))
|
||||
- Update macos.md, add support for Ventura ([#9406]({{ site.repository }}/issues/9406))
|
||||
- Typo fix - update to hooks and 3rd party deployment and one other article ([#9411]({{ site.repository }}/issues/9411))
|
||||
- Update 07-assets.md ([#9393]({{ site.repository }}/issues/9393))
|
||||
- Mention the front matter requirement in pages.md ([#9423]({{ site.repository }}/issues/9423))
|
||||
- Point to the Rouge GitHub repo rather than broken website ([#9362]({{ site.repository }}/issues/9362))
|
||||
- Add new theme directory to themes resources ([#9356]({{ site.repository }}/issues/9356))
|
||||
- Adds Kinsta to 3rd party deployments ([#9331]({{ site.repository }}/issues/9331))
|
||||
- Update Fedora prerequisites to include g++ ([#9290]({{ site.repository }}/issues/9290))
|
||||
- Update convert-site-to-jekyll.md ([#9348]({{ site.repository }}/issues/9348))
|
||||
- Update github-actions documentation ([#9426]({{ site.repository }}/issues/9426))
|
||||
- Update resources.md ([#9449]({{ site.repository }}/issues/9449))
|
||||
- Add GitHub Pages helpful notes ([#9235]({{ site.repository }}/issues/9235))
|
||||
- Clarify which version of Jekyll needs 'jekyll-paginate' ([#9477]({{ site.repository }}/issues/9477))
|
||||
- chore: update showcases ([#9473]({{ site.repository }}/issues/9473))
|
||||
- Add FreeBSD installation instructions ([#9481]({{ site.repository }}/issues/9481))
|
||||
- Fix broken link for the security team page ([#9497]({{ site.repository }}/issues/9497))
|
||||
- Fix broken links for several Jekyll integrations ([#9496]({{ site.repository }}/issues/9496))
|
||||
- Add release post for v4.3.3 ([#9511]({{ site.repository }}/issues/9511))
|
||||
- Add docs version badge to page_excerpts feature ([#9520]({{ site.repository }}/issues/9520))
|
||||
- Improve accessibility of the docs ([#9338]({{ site.repository }}/issues/9338))
|
||||
- Fix gem quote consistency on docs ([#9517]({{ site.repository }}/issues/9517))
|
||||
- Make site search work again ([#9530]({{ site.repository }}/issues/9530))
|
||||
- Jekyll docs template typo - All pages show "Deployment" ([#9548]({{ site.repository }}/issues/9548))
|
||||
- Fixed: Wrong navigation style on the right side of news and docs pages ([#9586]({{ site.repository }}/issues/9586))
|
||||
- Add redirect for step-by-step tutorial ([#9593]({{ site.repository }}/issues/9593))
|
||||
- Add Jekyll 3.10.0 release post & history ([#9625]({{ site.repository }}/issues/9625))
|
||||
- Fix minor docs error ([#9641]({{ site.repository }}/issues/9641))
|
||||
- Update windows.md ([#9644]({{ site.repository }}/issues/9644))
|
||||
- Document keys of global variable {% raw %}`{{ jekyll }}`{% endraw %} ([#9653]({{ site.repository }}/issues/9653))
|
||||
- Fix incorrect and inconsistent variables in the permalinks page ([#9591]({{ site.repository }}/issues/9591))
|
||||
- Fix lapses in documentation of page variables ([#9667]({{ site.repository }}/issues/9667))
|
||||
- Add note about VSCode warning for SCSS files ([#9609]({{ site.repository }}/issues/9609))
|
||||
- docs: Fix incorrect parentheses ([#9629]({{ site.repository }}/issues/9629))
|
||||
- docs: Fix of a bug in the pagination section ([#8890]({{ site.repository }}/issues/8890))
|
||||
- Update current Ruby version renders and macOS docs ([#9614]({{ site.repository }}/issues/9614))
|
||||
- Improve docs around using GitHub Actions to build and deploy Jekyll sites ([#9682]({{ site.repository }}/issues/9682))
|
||||
- Fix grammar in the description of `page.excerpt` variable ([#9689]({{ site.repository }}/issues/9689))
|
||||
- Render HTML tables at `/docs/permalinks/` using a data file ([#9666]({{ site.repository }}/issues/9666))
|
||||
- Fix HTML attribute separation whitespace placement in the Navigation include code of Assets step of the Step by Step Tutorial ([#9695]({{ site.repository }}/issues/9695))
|
||||
- Fix missing glob matching pattern support description in the documentation of the `include` and `exclude` configuration options ([#9697]({{ site.repository }}/issues/9697))
|
||||
- Fix missing `url` configuration option documentation ([#9699]({{ site.repository }}/issues/9699))
|
||||
- Link to GitHub Pages Dependency versions page instead of explicitly specifying Jekyll version ([#9715]({{ site.repository }}/issues/9715))
|
||||
- Fix broken link on third-party.md ([#9704]({{ site.repository }}/issues/9704))
|
||||
- Fix: remove inaccessible links and their descriptions ([#9745]({{ site.repository }}/issues/9745))
|
||||
- Add release post for v4.4.0 ([#9759]({{ site.repository }}/issues/9759))
|
||||
|
||||
### Site Enhancements
|
||||
{: #site-enhancements-v4-4-0}
|
||||
|
||||
- Extract markup for `Improve this page` into an inclusion ([#9675]({{ site.repository }}/issues/9675))
|
||||
|
||||
|
||||
## 4.3.4 / 2024-09-16
|
||||
{: #v4-3-4}
|
||||
|
||||
### Bug Fixes
|
||||
{: #bug-fixes-v4-3-4}
|
||||
|
||||
- Backport [#9662]({{ site.repository }}/issues/9662) for v4.3.x: Relax version constraint on wdm in new Gemfile ([#9683]({{ site.repository }}/issues/9683))
|
||||
- Backport [#9680]({{ site.repository }}/issues/9680) for v4.3.x: Render theme-gem root only in development ([#9684]({{ site.repository }}/issues/9684))
|
||||
|
||||
### Development Fixes
|
||||
{: #development-fixes-v4-3-4}
|
||||
|
||||
- Sync workflows with counterparts on `master` ([#9681]({{ site.repository }}/issues/9681))
|
||||
|
||||
|
||||
## 4.3.3 / 2023-12-27
|
||||
{: #v4-3-3}
|
||||
|
||||
### Bug Fixes
|
||||
{: #bug-fixes-v4-3-3}
|
||||
|
||||
- Backport [#9392]({{ site.repository }}/issues/9392) for v4.3.x: Fix backward compatibility issues in the Logger ([#9510]({{ site.repository }}/issues/9510))
|
||||
|
||||
### Development Fixes
|
||||
{: #development-fixes-v4-3-3}
|
||||
|
||||
- Backport [#9237]({{ site.repository }}/issues/9237) for v4.3.x: Use Hash explicitly for Struct initializer ([#9285]({{ site.repository }}/issues/9285))
|
||||
|
||||
|
||||
## 3.10.0 / 2024-06-23
|
||||
{: #v3-10-0}
|
||||
|
||||
### Minor Enhancements
|
||||
{: #minor-enhancements-v3-10-0}
|
||||
|
||||
- Backport add-csv-dependency from [#9522]({{ site.repository }}/issues/9522) to Jekyll 3 ([#9616]({{ site.repository }}/issues/9616))
|
||||
- 3.10-stable: Add webrick as a dependency ([#9620]({{ site.repository }}/issues/9620))
|
||||
|
||||
|
||||
## 3.9.5 / 2024-02-12
|
||||
{: #v3-9-5}
|
||||
|
||||
### Minor Enhancements
|
||||
{: #minor-enhancements-v3-9-5}
|
||||
|
||||
- 3.9-stable: allow Pages to be Excerpted ([#9550]({{ site.repository }}/issues/9550))
|
||||
|
||||
|
||||
## 3.9.4 / 2023-12-28
|
||||
{: #v3-9-4}
|
||||
|
||||
### Bug Fixes
|
||||
{: #bug-fixes-v3-9-4}
|
||||
|
||||
- Backport [#9392]({{ site.repository }}/issues/9392) for v3.9.x: Add support for Ruby 3.3 Logger ([#9513]({{ site.repository }}/issues/9513))
|
||||
|
||||
|
||||
## 3.9.3 / 2023-01-29
|
||||
{: #v3-9-3}
|
||||
|
||||
### Bug Fixes
|
||||
{: #bug-fixes-v3-9-3}
|
||||
|
||||
- 3.9.x: Support i18n 1.x ([#9269]({{ site.repository }}/issues/9269))
|
||||
- Backport [#8880]({{ site.repository }}/issues/8880) for v3.9.x: Support both tzinfo v1 and v2 along with non-half hour offsets ([#9280]({{ site.repository }}/issues/9280))
|
||||
|
||||
### Development Fixes
|
||||
{: #development-fixes-v3-9-3}
|
||||
|
||||
- v3.9.x: test under Ruby 3.2 [#9272]({{ site.repository }}/issues/9272))
|
||||
- v3.9.x: fix rdiscount test ([#9277]({{ site.repository }}/issues/9277))
|
||||
|
||||
|
||||
## 4.3.2 / 2023-01-20
|
||||
{: #v4-3-2}
|
||||
|
||||
### Bug Fixes
|
||||
{: #bug-fixes-v4-3-2}
|
||||
|
||||
- Backport [#9257]({{ site.repository }}/issues/9257) for v4.3.x: Rename sass partial created for new blank site ([#9262]({{ site.repository }}/issues/9262))
|
||||
- Backport [#9187]({{ site.repository }}/issues/9187) for v4.3.x: Optimize `Site#each_site_file` ([#9256]({{ site.repository }}/issues/9256))
|
||||
- Backport [#9186]({{ site.repository }}/issues/9186) for v4.3.x: Remove totals in profile table properly ([#9255]({{ site.repository }}/issues/9255))
|
||||
|
||||
### Development Fixes
|
||||
{: #development-fixes-v4-3-2}
|
||||
|
||||
- Backport [#9223]({{ site.repository }}/issues/9223) for 4.3.x: Update sass related tests for jekyll-sass-converter 3.x ([#9254]({{ site.repository }}/issues/9254))
|
||||
|
||||
|
||||
## 4.3.1 / 2022-10-26
|
||||
{: #v4-3-1}
|
||||
|
||||
### Bug Fixes
|
||||
{: #bug-fixes-v4-3-1}
|
||||
|
||||
- Respect user-defined name attribute in documents ([#9167]({{ site.repository }}/issues/9167))
|
||||
- Revert "Incrementally rebuild when a data file is changed" ([#9170]({{ site.repository }}/issues/9170))
|
||||
|
||||
### Documentation
|
||||
|
||||
- Release post for v4.3.1 ([#9171]({{ site.repository }}/issues/9171))
|
||||
|
||||
|
||||
## 4.3.0 / 2022-10-20
|
||||
{: #v4-3-0}
|
||||
|
||||
### Minor Enhancements
|
||||
{: #minor-enhancements-v4-3-0}
|
||||
|
||||
- Add webrick as a dependency ([#8524]({{ site.repository }}/issues/8524))
|
||||
- Regenerate supported mime types ([#8542]({{ site.repository }}/issues/8542))
|
||||
- Update include tag to be more permissive ([#8618]({{ site.repository }}/issues/8618))
|
||||
- Optimize `Jekyll::Utils.parse_date` ([#8425]({{ site.repository }}/issues/8425))
|
||||
- Update rubocop from 1.12 to 1.18 and min ruby from 2.4 to 2.5 ([#8741]({{ site.repository }}/issues/8741))
|
||||
- Always hide cache-dir contents from Git ([#8798]({{ site.repository }}/issues/8798))
|
||||
- Remove the warning about auto-regeneration on Windows ([#8821]({{ site.repository }}/issues/8821))
|
||||
- Propagate _data folder from theme ([#8815]({{ site.repository }}/issues/8815))
|
||||
- Support both tzinfo v1 and v2 along with non-half hour offsets. ([#8880]({{ site.repository }}/issues/8880))
|
||||
- Run vendor-mimes to update mime.types ([#8940]({{ site.repository }}/issues/8940))
|
||||
- Expose collection static files via `site.static_files` ([#8961]({{ site.repository }}/issues/8961))
|
||||
- Expose `basename` from `document.rb` as `name` to Liquid templates ([#8761]({{ site.repository }}/issues/8761))
|
||||
- Allow Configurable Converters on CSV ([#8858]({{ site.repository }}/issues/8858))
|
||||
- Introduce `theme` drop to expose theme-gem details ([#9129]({{ site.repository }}/issues/9129))
|
||||
- Relax version constraint to allow Rouge 4.x ([#9134]({{ site.repository }}/issues/9134))
|
||||
- Incrementally rebuild when a data file is changed ([#8771]({{ site.repository }}/issues/8771))
|
||||
- Support jekyll-sass-converter 3.x ([#9132]({{ site.repository }}/issues/9132))
|
||||
|
||||
### Bug Fixes
|
||||
{: #bug-fixes-v4-3-0}
|
||||
|
||||
- fix: pin rubocop to 1.12 due to error with ruby 2.4 ([#8651]({{ site.repository }}/issues/8651))
|
||||
- Load Jekyll plugins from BUNDLE_GEMFILE location ([#8585]({{ site.repository }}/issues/8585))
|
||||
- fix(security): CVE-2021-28834 ([#8680]({{ site.repository }}/issues/8680))
|
||||
- Inject livereload script using `location.protocol` instead of `http:` ([#8718]({{ site.repository }}/issues/8718))
|
||||
- Respect collections_dir config within include tag ([#8756]({{ site.repository }}/issues/8756))
|
||||
- Fix regression in Convertible module from v4.2.0 ([#8786]({{ site.repository }}/issues/8786))
|
||||
- Revert [#7253]({{ site.repository }}/issues/7253): "Don't reset site.url to localhost:4000 by default" ([#8620]({{ site.repository }}/issues/8620))
|
||||
- Improve readability of CI logs ([#8877]({{ site.repository }}/issues/8877))
|
||||
- Fix deprecation message for missing doc method ([#8960]({{ site.repository }}/issues/8960))
|
||||
- Fix response header for content served via `jekyll serve` ([#8965]({{ site.repository }}/issues/8965))
|
||||
- Trigger livereload in sites without pages ([#8337]({{ site.repository }}/issues/8337))
|
||||
- Only enable BOM encoding option on UTF encodings ([#8363]({{ site.repository }}/issues/8363))
|
||||
- Ensure theme config is a `Jekyll::Configuration` object ([#8988]({{ site.repository }}/issues/8988))
|
||||
- Remove misleading totals row from `--profile` table ([#9039]({{ site.repository }}/issues/9039))
|
||||
- Unlock Psych dependency ([#9135]({{ site.repository }}/issues/9135))
|
||||
- Fix false positive conflicts for static files in a collection ([#9141]({{ site.repository }}/issues/9141))
|
||||
|
||||
### Development Fixes
|
||||
{: #development-fixes-v4-3-0}
|
||||
|
||||
- style: enable new cops ([#8538]({{ site.repository }}/issues/8538))
|
||||
- Allow dependabot to keep github actions up-to-date ([#8540]({{ site.repository }}/issues/8540))
|
||||
- Update actions/cache requirement to v2.1.3 ([#8543]({{ site.repository }}/issues/8543))
|
||||
- Pin rubocop version ([#8564]({{ site.repository }}/issues/8564))
|
||||
- style: add rubocop 1.9 cops ([#8567]({{ site.repository }}/issues/8567))
|
||||
- Cross Version Testing Locally and Faster CI ([#8610]({{ site.repository }}/issues/8610))
|
||||
- Use official Ruby setup GH action ([#8614]({{ site.repository }}/issues/8614))
|
||||
- Spell check action for markdown documentation ([#8675]({{ site.repository }}/issues/8675))
|
||||
- Update expect to cover docs/_posts ([#8677]({{ site.repository }}/issues/8677))
|
||||
- Bump check-spelling/check-spelling from 0.0.18 to 0.0.19 ([#8740]({{ site.repository }}/issues/8740))
|
||||
- Enable Rubocop accessor grouping, fix existing offenses ([#8293]({{ site.repository }}/issues/8293))
|
||||
- Tags:Highlight: Decomposed HTMLLegacy formatter ([#8623]({{ site.repository }}/issues/8623))
|
||||
- Relax Rubocop Dependency ([#8831]({{ site.repository }}/issues/8831))
|
||||
- Add a workflow to build gems consistently ([#8830]({{ site.repository }}/issues/8830))
|
||||
- Fix random test failures in TestExcerpt #to_liquid ([#8884]({{ site.repository }}/issues/8884))
|
||||
- Lock gem `psych` to `v3.x` ([#8918]({{ site.repository }}/issues/8918))
|
||||
- Fix typo in Bug Report template ([#8951]({{ site.repository }}/issues/8951))
|
||||
- Check symlink outside site_source without Pathutil ([#9015]({{ site.repository }}/issues/9015))
|
||||
- Stop testing with Rubies older than 2.7 on non-Windows ([#8955]({{ site.repository }}/issues/8955))
|
||||
- Bump actions/checkout from 2 to 3 ([#8986]({{ site.repository }}/issues/8986))
|
||||
- Remove git.io shortlinks from repo ([#9045]({{ site.repository }}/issues/9045))
|
||||
- Bump rubocop to 1.32 ([#9093]({{ site.repository }}/issues/9093))
|
||||
- Bump RuboCop to `1.36.x` ([#9125]({{ site.repository }}/issues/9125))
|
||||
- Use check-spelling/check-spelling@v0.0.20 ([#9111]({{ site.repository }}/issues/9111))
|
||||
- Disable pending cops when running rubocop ([#9136]({{ site.repository }}/issues/9136))
|
||||
- Relax RDoc version dependency ([#9142]({{ site.repository }}/issues/9142))
|
||||
|
||||
### Documentation
|
||||
|
||||
- typo - do instead of don't ([#8518]({{ site.repository }}/issues/8518))
|
||||
- Document support for TSV files consistently ([#8488]({{ site.repository }}/issues/8488))
|
||||
- Add a disclaimer to tutorials involving Ruby code ([#8525]({{ site.repository }}/issues/8525))
|
||||
- Improve documentation on developing generators ([#8527]({{ site.repository }}/issues/8527))
|
||||
- Fixes typo in layouts_dir documentation ([#8532]({{ site.repository }}/issues/8532))
|
||||
- Fix i.e. typos in collections.md ([#8529]({{ site.repository }}/issues/8529))
|
||||
- Remove GitHub Pages content which is in GitHub docs ([#8533]({{ site.repository }}/issues/8533))
|
||||
- Step By Step Instructions Review ([#8399]({{ site.repository }}/issues/8399))
|
||||
- Fix typo in migrating from 3.0 to 4.0 page ([#8572]({{ site.repository }}/issues/8572))
|
||||
- Fix for important missing step in macOS Installation Docs: Add the Homebrew gems directory to the PATH ([#8496]({{ site.repository }}/issues/8496))
|
||||
- Use latest Jekyll-action configuration ([#8579]({{ site.repository }}/issues/8579))
|
||||
- docs: troubleshoot macOS with ARM64 architecture ([#8560]({{ site.repository }}/issues/8560))
|
||||
- docs: add overview of .jekyll-cache dir ([#8648]({{ site.repository }}/issues/8648))
|
||||
- docs: clarify where .jekyll-metadata comes from ([#8646]({{ site.repository }}/issues/8646))
|
||||
- Razorops CI/CD added ([#8656]({{ site.repository }}/issues/8656))
|
||||
- Specify default port and host for serve commands in docs ([#8624]({{ site.repository }}/issues/8624))
|
||||
- Update third-party.md ([#8652]({{ site.repository }}/issues/8652))
|
||||
- Add documentation for Sass configuration options ([#8587]({{ site.repository }}/issues/8587))
|
||||
- Add formcarry to forms section ([#8471]({{ site.repository }}/issues/8471))
|
||||
- Add step to set SDKROOT ([#8478]({{ site.repository }}/issues/8478))
|
||||
- Improve the "Markdown Options" Docs ([#8681]({{ site.repository }}/issues/8681))
|
||||
- Add 'webrick' warning note to "Quickstart" Docs ([#8727]({{ site.repository }}/issues/8727))
|
||||
- Update windows.md ([#8701]({{ site.repository }}/issues/8701))
|
||||
- IRC networks - Libera, Freenode ([#8706]({{ site.repository }}/issues/8706))
|
||||
- Improve GitHub Flavored Markdown Docs ([#8684]({{ site.repository }}/issues/8684))
|
||||
- Fixing URL in MacOS install for rbenv-doctor ([#8693]({{ site.repository }}/issues/8693))
|
||||
- Fix adjective in `troubleshooting.md` document ([#8777]({{ site.repository }}/issues/8777))
|
||||
- Goodbye Frank. We'll miss you. 💔 ([#8807]({{ site.repository }}/issues/8807))
|
||||
- Update index.html: Grammar fix. ([#8803]({{ site.repository }}/issues/8803))
|
||||
- Prefer Libera. Remove Freenode. ([#8811]({{ site.repository }}/issues/8811))
|
||||
- Update feature_request.md ([#8797]({{ site.repository }}/issues/8797))
|
||||
- Remove AWS Amplify from the showcase ([#8812]({{ site.repository }}/issues/8812))
|
||||
- Move Frank to Emeritus Core Team Members ([#8813]({{ site.repository }}/issues/8813))
|
||||
- Release post for v4.2.1 ([#8818]({{ site.repository }}/issues/8818))
|
||||
- Update CircleCI example ([#8829]({{ site.repository }}/issues/8829))
|
||||
- Fix typo ([#8835]({{ site.repository }}/issues/8835))
|
||||
- Added docs for running locally ([#8852]({{ site.repository }}/issues/8852))
|
||||
- Linting README.markdown ([#8900]({{ site.repository }}/issues/8900))
|
||||
- Remove text on GITHUB_TOKEN which is now built-in ([#8907]({{ site.repository }}/issues/8907))
|
||||
- Add Security Policy document ([#8823]({{ site.repository }}/issues/8823))
|
||||
- Manage repository meta documents consistently ([#8908]({{ site.repository }}/issues/8908))
|
||||
- docs: add Layer0 deployment guide ([#8915]({{ site.repository }}/issues/8915))
|
||||
- docs: Update README generated by `jekyll new-theme` ([#8919]({{ site.repository }}/issues/8919))
|
||||
- Update resources.md ([#8925]({{ site.repository }}/issues/8925))
|
||||
- Rewrite documentation on installing plugins ([#8921]({{ site.repository }}/issues/8921))
|
||||
- Improve maintainers guide on releasing a new version ([#8928]({{ site.repository }}/issues/8928))
|
||||
- Fix link for "CloudSh" ([#8934]({{ site.repository }}/issues/8934))
|
||||
- Recommend using `actions/cache` in GitHub Actions documentation ([#8948]({{ site.repository }}/issues/8948))
|
||||
- Remove references to EOL hakiri.io service ([#8946]({{ site.repository }}/issues/8946))
|
||||
- Release post for v4.2.2 ([#8982]({{ site.repository }}/issues/8982))
|
||||
- Document releasing off `*-stable` branches ([#8984]({{ site.repository }}/issues/8984))
|
||||
- Update document by fix yaml syntax error ([#8991]({{ site.repository }}/issues/8991))
|
||||
- Enhance option's case for Jekyll configuration ([#8992]({{ site.repository }}/issues/8992))
|
||||
- Fix typo in `_docs/deployment/manual.md` ([#8997]({{ site.repository }}/issues/8997))
|
||||
- Add quiet/verbose options ([#8996]({{ site.repository }}/issues/8996))
|
||||
- Update README.markdown re IRC Pointer ([#9005]({{ site.repository }}/issues/9005))
|
||||
- Remove Aerobatic ([#9007]({{ site.repository }}/issues/9007))
|
||||
- Add Jekyll 3.9.2 release post to 'master' branch ([#9013]({{ site.repository }}/issues/9013))
|
||||
- Simplify macOS installation docs ([#8993]({{ site.repository }}/issues/8993))
|
||||
- Improve document about GitHub Actions section ([#8853]({{ site.repository }}/issues/8853))
|
||||
- Update permalinks.md ([#9017]({{ site.repository }}/issues/9017))
|
||||
- Add clarity to docs on permalinks placeholders and built-ins ([#8995]({{ site.repository }}/issues/8995))
|
||||
- Remove Ionic Framework site from showcase ([#9057]({{ site.repository }}/issues/9057))
|
||||
- Windows: describe which option to choose ([#9049]({{ site.repository }}/issues/9049))
|
||||
- Improve links (http -> https) ([#9064]({{ site.repository }}/issues/9064))
|
||||
- Update ruby version for macos guide ([#9086]({{ site.repository }}/issues/9086))
|
||||
- Update posts.md ([#9151]({{ site.repository }}/issues/9151))
|
||||
- Release post for v4.3.0 ([#9157]({{ site.repository }}/issues/9157))
|
||||
|
||||
### Site Enhancements
|
||||
{: #site-enhancements-v4-3-0}
|
||||
|
||||
- Improvements to CSS ([#7834]({{ site.repository }}/issues/7834))
|
||||
- Slightly update lang `sh` code-block styling ([#8857]({{ site.repository }}/issues/8857))
|
||||
|
||||
|
||||
## 4.2.2 / 2022-03-03
|
||||
{: #v4-2-2}
|
||||
|
||||
### Bug Fixes
|
||||
{: #bug-fixes-v4-2-2}
|
||||
|
||||
- Lock `http_parser.rb` gem to `v0.6.x` on JRuby.
|
||||
|
||||
### Development Fixes
|
||||
{: #development-fixes-v4-2-2}
|
||||
|
||||
- Backport [#8830]({{ site.repository }}/issues/8830) for v4.2.x: Add a workflow to build gems consistently ([#8869]({{ site.repository }}/issues/8869))
|
||||
- Lock `rubocop-performance` to `v1.11.x`.
|
||||
|
||||
|
||||
## 4.2.1 / 2021-09-27
|
||||
{: #v4-2-1}
|
||||
|
||||
### Bug Fixes
|
||||
{: #bug-fixes-v4-2-1}
|
||||
|
||||
- Backport [#8620]({{ site.repository }}/issues/8620) for v4.2.x: Revert [#7253]({{ site.repository }}/issues/7253): "Don't reset site.url to localhost:4000 by default" ([#8808]({{ site.repository }}/issues/8808))
|
||||
- Backport [#8756]({{ site.repository }}/issues/8756) for v4.2.x: Respect collections_dir config within include tag ([#8794]({{ site.repository }}/issues/8794))
|
||||
- Backport [#8786]({{ site.repository }}/issues/8786) for v4.2.x: Fix regression in Convertible module from v4.2.0 ([#8793]({{ site.repository }}/issues/8793))
|
||||
|
||||
|
||||
## 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))
|
||||
- Suppress 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 'page 1' 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'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 'show' command with 'info' ([#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's --> 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.2 / 2022-03-27
|
||||
{: #v3-9-2}
|
||||
|
||||
### Bug Fixes
|
||||
{: #bug-fixes-v3-9-2}
|
||||
|
||||
- Lock `http_parser.rb` gem to `v0.6.x` on JRuby ([#8943]({{ site.repository }}/issues/8943))
|
||||
- Backport [#8756]({{ site.repository }}/issues/8756) for v3.9.x: Respect collections_dir config within include tag ([#8795]({{ site.repository }}/issues/8795))
|
||||
- Backport [#8965]({{ site.repository }}/issues/8965) for v3.9.x: Fix response header for content served via `jekyll serve` ([#8976]({{ site.repository }}/issues/8976))
|
||||
|
||||
### Development Fixes
|
||||
{: #development-fixes-v3-9-2}
|
||||
|
||||
- Update and fix CI for `3.9-stable` on Ruby 3.x ([#8942]({{ site.repository }}/issues/8942))
|
||||
- Fix CI for commits to `3.9-stable` branch ([#8788]({{ site.repository }}/issues/8788))
|
||||
|
||||
|
||||
## 3.9.1 / 2021-04-08
|
||||
{: #v3-9-1}
|
||||
|
||||
### Bug Fixes
|
||||
{: #bug-fixes-v3-9-1}
|
||||
|
||||
- Backport [#8618]({{ site.repository }}/issues/8618) for v3.9.x: Update include tag to be more permissive ([#8629]({{ site.repository }}/issues/8629))
|
||||
|
||||
|
||||
## 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}
|
||||
|
||||
@@ -1050,7 +259,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
|
||||
- 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 articles and pronouns ([#7466]({{ site.repository }}/issues/7466))
|
||||
- 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))
|
||||
@@ -1065,7 +274,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
|
||||
- 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))
|
||||
- Link to Tidelift in site's footer ([#7377]({{ site.repository }}/issues/7377))
|
||||
- Lnk to Tidelift in site'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))
|
||||
@@ -1087,7 +296,6 @@ note: This file is autogenerated. Edit /History.markdown instead.
|
||||
|
||||
### 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))
|
||||
@@ -1241,7 +449,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
|
||||
- doc: add liquid tag plugin jekyll-onebox for html previews ([#6898]({{ site.repository }}/issues/6898))
|
||||
- Add `jekyll-w2m` to plugins ([#6855]({{ site.repository }}/issues/6855))
|
||||
- Fix tutorials navigation HTML ([#6919]({{ site.repository }}/issues/6919))
|
||||
- add Arch Linux installation troubleshoot ([#6782]({{ site.repository }}/issues/6782))
|
||||
- add Arch Linux instalation troubleshoot ([#6782]({{ site.repository }}/issues/6782))
|
||||
- Docs: Install Jekyll on macOS ([#6881]({{ site.repository }}/issues/6881))
|
||||
- Fix CodeClimate badges [ci skip] ([#6930]({{ site.repository }}/issues/6930))
|
||||
- Update index.md ([#6933]({{ site.repository }}/issues/6933))
|
||||
@@ -1416,7 +624,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
|
||||
- Fix list appearance by adding missing `ol` tag ([#6421]({{ site.repository }}/issues/6421))
|
||||
- Explain how to override output collection index page ([#6424]({{ site.repository }}/issues/6424))
|
||||
- Added github-cards to the list of plugins ([#6425]({{ site.repository }}/issues/6425))
|
||||
- CoC violation correspondents ([#6429]({{ site.repository }}/issues/6429))
|
||||
- CoC violation correspondants ([#6429]({{ site.repository }}/issues/6429))
|
||||
- Add a note about Liquid and syntax highlighting ([#6466]({{ site.repository }}/issues/6466))
|
||||
- Remove `sudo` from macOS troubleshooting instructions ([#6486]({{ site.repository }}/issues/6486))
|
||||
- Add a note on `:jekyll_plugins` group in the docs ([#6488]({{ site.repository }}/issues/6488))
|
||||
@@ -1547,7 +755,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's document ([#6329]({{ site.repository }}/issues/6329))
|
||||
- Docs: post's date can be overridden in front matter ([#6334]({{ site.repository }}/issues/6334))
|
||||
- Docs: post'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))
|
||||
@@ -1573,7 +781,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
|
||||
- make flakey test more robust ([#6277]({{ site.repository }}/issues/6277))
|
||||
- Add a quick test for DataReader ([#6284]({{ site.repository }}/issues/6284))
|
||||
- script/backport-pr: commit message no longer includes the `#` ([#6289]({{ site.repository }}/issues/6289))
|
||||
- Add CODEOWNERS file to help automate reviews. ([#6320]({{ site.repository }}/issues/6320))
|
||||
- Add Add CODEOWNERS file to help automate reviews. ([#6320]({{ site.repository }}/issues/6320))
|
||||
- Fix builds on codeclimate ([#6333]({{ site.repository }}/issues/6333))
|
||||
- Bump rubies on Travis ([#6366]({{ site.repository }}/issues/6366))
|
||||
|
||||
@@ -1604,7 +812,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
|
||||
### Bug Fixes
|
||||
{: #bug-fixes-v3-5-1}
|
||||
|
||||
- Backward compatibilize URLFilters module ([#6163]({{ site.repository }}/issues/6163))
|
||||
- Backward compatiblize URLFilters module ([#6163]({{ site.repository }}/issues/6163))
|
||||
- Static files contain front matter default keys when `to_liquid`'d ([#6162]({{ site.repository }}/issues/6162))
|
||||
- Always normalize the result of the `relative_url` filter ([#6185]({{ site.repository }}/issues/6185))
|
||||
|
||||
@@ -2117,7 +1325,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
|
||||
### Minor Enhancements
|
||||
{: #minor-enhancements-v3-2-0}
|
||||
|
||||
- Stop testing with Ruby 2.0.x EOL ([#4381]({{ site.repository }}/issues/4381))
|
||||
- Stop testing with Ruby 2.0.x, which is EOL'd. ([#4381]({{ site.repository }}/issues/4381))
|
||||
- Allow collections to have documents that have no file extension ([#4545]({{ site.repository }}/issues/4545))
|
||||
- Add size property to `group_by` result ([#4557]({{ site.repository }}/issues/4557))
|
||||
- Site Template: Removed unnecessary nesting from `_base.scss` ([#4637]({{ site.repository }}/issues/4637))
|
||||
@@ -2143,7 +1351,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
|
||||
- Add 'jekyll new-theme' command to help users get up and running creating a theme ([#4848]({{ site.repository }}/issues/4848))
|
||||
- `markdownify` and `smartify` should convert input to string before conversion ([#4958]({{ site.repository }}/issues/4958))
|
||||
- Run `Site#generate` for 'jekyll doctor' to catch plugin issues ([#5005]({{ site.repository }}/issues/5005))
|
||||
- Add `normalize_whitespace` filter ([#4917]({{ site.repository }}/issues/4917))
|
||||
- Add `normalize_whitepace` filter ([#4917]({{ site.repository }}/issues/4917))
|
||||
- Move bin/jekyll to exe/jekyll to prevent collision with binstubs ([#5014]({{ site.repository }}/issues/5014))
|
||||
- Cleaning up site template & theme updates. ([#4922]({{ site.repository }}/issues/4922))
|
||||
- Add fetch method to Drops ([#5056]({{ site.repository }}/issues/5056))
|
||||
@@ -2195,7 +1403,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
|
||||
- Fix state leakage in Kramdown test ([#4618]({{ site.repository }}/issues/4618))
|
||||
- Unify method for copying special files from repo to site ([#4601]({{ site.repository }}/issues/4601))
|
||||
- Refresh the contributing file ([#4596]({{ site.repository }}/issues/4596))
|
||||
- change smartify doc from copy/paste of markdownify doc ([#4653]({{ site.repository }}/issues/4653))
|
||||
- change smartify doc from copy/paste of mardownify doc ([#4653]({{ site.repository }}/issues/4653))
|
||||
- Update Rake & disable warnings when running tests ([#4720]({{ site.repository }}/issues/4720))
|
||||
- Fix many warnings ([#4537]({{ site.repository }}/issues/4537))
|
||||
- Don't blindly assume the last system when determining "open" cmd ([#4717]({{ site.repository }}/issues/4717))
|
||||
@@ -2294,7 +1502,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
|
||||
- Corrected pagination docs for hidden: true feature ([#4903]({{ site.repository }}/issues/4903))
|
||||
- Remove a Broken Link for Refheap Plugin ([#4971]({{ site.repository }}/issues/4971))
|
||||
- Instructions on how to install github-gem on Windows ([#4975]({{ site.repository }}/issues/4975))
|
||||
- Minor tweak to fix missing apostrophe ([#4962]({{ site.repository }}/issues/4962))
|
||||
- Minor tweak to fix missing apostrophne ([#4962]({{ site.repository }}/issues/4962))
|
||||
- Instructions on how to install github-gem on Windows (v2) ([#4977]({{ site.repository }}/issues/4977))
|
||||
- Fix inaccurate HTTP response header field name ([#4976]({{ site.repository }}/issues/4976))
|
||||
- Add post about GSoC project ([#4980]({{ site.repository }}/issues/4980))
|
||||
@@ -2302,10 +1510,10 @@ note: This file is autogenerated. Edit /History.markdown instead.
|
||||
- Update normalize.css to v4.0.0. ([#4989]({{ site.repository }}/issues/4989))
|
||||
- Add jekyll-tags-list-plugin to list of third-party plugins ([#5000]({{ site.repository }}/issues/5000))
|
||||
- Windows docs: Command needs to be called from blog path ([#5006]({{ site.repository }}/issues/5006))
|
||||
- Update text to be consistent with example ([#5010]({{ site.repository }}/issues/5010))
|
||||
- Update text to be consitent with example ([#5010]({{ site.repository }}/issues/5010))
|
||||
- Update template links to point to core Liquid site ([#5012]({{ site.repository }}/issues/5012))
|
||||
- Add generator-jekyllized to third-party plugins ([#5027]({{ site.repository }}/issues/5027))
|
||||
- Add Jekyll Art Gallery generator plugin to list of third-party plugins ([#5043]({{ site.repository }}/issues/5043))
|
||||
- Add Jekyll Art Hallery generator plugin to list of third-party plugins ([#5043]({{ site.repository }}/issues/5043))
|
||||
- Add Formingo to the list of Jekyll form SaaS ([#5054]({{ site.repository }}/issues/5054))
|
||||
- Highlight help nav item when navigated to. ([#5058]({{ site.repository }}/issues/5058))
|
||||
- Update normalize.css to v4.2.0. ([#5096]({{ site.repository }}/issues/5096))
|
||||
@@ -2483,9 +1691,9 @@ note: This file is autogenerated. Edit /History.markdown instead.
|
||||
- Reorganize and cleanup the Gemfile, shorten required depends. ([#4318]({{ site.repository }}/issues/4318))
|
||||
- Remove script/rebund. ([#4341]({{ site.repository }}/issues/4341))
|
||||
- Implement codeclimate platform ([#4340]({{ site.repository }}/issues/4340))
|
||||
- Remove ObjectSpace dumping and start using inherited, it's faster. ([#4342]({{ site.repository }}/issues/4342))
|
||||
- Remove ObectSpace dumping and start using inherited, it's faster. ([#4342]({{ site.repository }}/issues/4342))
|
||||
- Add script/travis so all people can play with Travis-CI images. ([#4338]({{ site.repository }}/issues/4338))
|
||||
- Move Cucumber to using RSpec-Expectations and furthering JRuby support. ([#4343]({{ site.repository }}/issues/4343))
|
||||
- Move Cucumber to using RSpec-Expections and furthering JRuby support. ([#4343]({{ site.repository }}/issues/4343))
|
||||
- Rearrange Cucumber and add some flair. ([#4347]({{ site.repository }}/issues/4347))
|
||||
- Remove old FIXME ([#4349]({{ site.repository }}/issues/4349))
|
||||
- Clean up the Gemfile (and keep all the necessary dependencies) ([#4350]({{ site.repository }}/issues/4350))
|
||||
@@ -2732,7 +1940,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
|
||||
- Fixed an unclear code comment in site template SCSS ([#3837]({{ site.repository }}/issues/3837))
|
||||
- Fix reading of binary metadata file ([#3845]({{ site.repository }}/issues/3845))
|
||||
- Remove var collision with site template header menu iteration variable ([#3838]({{ site.repository }}/issues/3838))
|
||||
- Change nonexistent `hl_linenos` to `hl_lines` to allow passthrough in safe mode ([#3787]({{ site.repository }}/issues/3787))
|
||||
- Change non-existent `hl_linenos` to `hl_lines` to allow passthrough in safe mode ([#3787]({{ site.repository }}/issues/3787))
|
||||
- Add missing flag to disable the watcher ([#3820]({{ site.repository }}/issues/3820))
|
||||
- Update CI guide to include more direct explanations of the flow ([#3891]({{ site.repository }}/issues/3891))
|
||||
- Set `future` to `false` in the default config ([#3892]({{ site.repository }}/issues/3892))
|
||||
@@ -2841,7 +2049,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
|
||||
- Define the `install` step in the CI example `.travis.yml` ([#3622]({{ site.repository }}/issues/3622))
|
||||
- Expand collections documentation. ([#3638]({{ site.repository }}/issues/3638))
|
||||
- Add the "warning" note label to excluding `vendor` in the CI docs page ([#3623]({{ site.repository }}/issues/3623))
|
||||
- Upgrade pieces of the Upgrading guide for Jekyll 3 ([#3607]({{ site.repository }}/issues/3607))
|
||||
- Upgrade pieces of the Ugrading guide for Jekyll 3 ([#3607]({{ site.repository }}/issues/3607))
|
||||
- Showing how to access specific data items ([#3468]({{ site.repository }}/issues/3468))
|
||||
- Clarify pagination works from within HTML files ([#3467]({{ site.repository }}/issues/3467))
|
||||
- Add note to `excerpt_separator` documentation that it can be set globally ([#3667]({{ site.repository }}/issues/3667))
|
||||
@@ -3069,7 +2277,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
|
||||
- Document the `name` variable for collection permalinks ([#2829]({{ site.repository }}/issues/2829))
|
||||
- Adds info about installing jekyll in current dir ([#2839]({{ site.repository }}/issues/2839))
|
||||
- Remove deprecated `jekyll-projectlist` plugin from list of third-party plugins ([#2742]({{ site.repository }}/issues/2742))
|
||||
- Remove tag plugins that are built into Jekyll ([#2751]({{ site.repository }}/issues/2751))
|
||||
- Remove tag plugins that are built in to Jekyll ([#2751]({{ site.repository }}/issues/2751))
|
||||
- Add `markdown-writer` package for Atom Editor to list of third-party plugins ([#2763]({{ site.repository }}/issues/2763))
|
||||
- Fix typo in site documentation for collections ([#2764]({{ site.repository }}/issues/2764))
|
||||
- Fix minor typo on plugins docs page ([#2765]({{ site.repository }}/issues/2765))
|
||||
@@ -3967,7 +3175,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
|
||||
- Add ReadInXMinutes plugin to the plugin list ([#1222]({{ site.repository }}/issues/1222))
|
||||
- Remove plugins from the plugin list that have equivalents in Jekyll proper ([#1223]({{ site.repository }}/issues/1223))
|
||||
- Add jekyll-assets to the plugin list ([#1225]({{ site.repository }}/issues/1225))
|
||||
- Add jekyll-pandoc-multiple-formats to the plugin list ([#1229]({{ site.repository }}/issues/1229))
|
||||
- Add jekyll-pandoc-mulitple-formats to the plugin list ([#1229]({{ site.repository }}/issues/1229))
|
||||
- Remove dead link to "Using Git to maintain your blog" ([#1227]({{ site.repository }}/issues/1227))
|
||||
- Tidy up the third-party plugins listing ([#1228]({{ site.repository }}/issues/1228))
|
||||
- Update contributor information ([#1192]({{ site.repository }}/issues/1192))
|
||||
@@ -4142,7 +3350,7 @@ note: This file is autogenerated. Edit /History.markdown instead.
|
||||
- Adds excerpt attribute to posts which contains first paragraph of content ([#837]({{ site.repository }}/issues/837))
|
||||
- Accept custom configuration file via CLI ([#863]({{ site.repository }}/issues/863))
|
||||
- Load in GitHub Pages MIME Types on `jekyll serve` ([#847]({{ site.repository }}/issues/847), [#871]({{ site.repository }}/issues/871))
|
||||
- Improve debuggability of error message for a malformed highlight tag ([#785]({{ site.repository }}/issues/785))
|
||||
- Improve debugability of error message for a malformed highlight tag ([#785]({{ site.repository }}/issues/785))
|
||||
- Allow symlinked files in unsafe mode ([#824]({{ site.repository }}/issues/824))
|
||||
- Add 'gist' Liquid tag to core ([#822]({{ site.repository }}/issues/822), [#861]({{ site.repository }}/issues/861))
|
||||
- New format of Jekyll output ([#795]({{ site.repository }}/issues/795))
|
||||
|
||||
@@ -69,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
|
||||
@@ -85,7 +85,7 @@ For example, suppose you have a special image syntax with complex formatting, an
|
||||
|
||||
```html
|
||||
<figure>
|
||||
<a href="https://jekyllrb.com">
|
||||
<a href="http://jekyllrb.com">
|
||||
<img src="logo.png" style="max-width: 200px;"
|
||||
alt="Jekyll logo" />
|
||||
</a>
|
||||
|
||||
@@ -6,50 +6,33 @@ redirect_from:
|
||||
- /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.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Jekyll requires the following:
|
||||
|
||||
* Ruby version **{{ site.data.ruby.min_version }}** or higher
|
||||
* RubyGems
|
||||
* GCC and Make
|
||||
|
||||
See [Requirements]({{ '/docs/installation/#requirements' | relative_url }}) for guides and details.
|
||||
Jekyll is a simple, extendable, static site generator. You give it text written
|
||||
in your favorite markup language and it churns through layouts to create a
|
||||
static website. Throughout that process you can tweak how you want the site URLs
|
||||
to look, what data gets displayed in the layout, and more.
|
||||
|
||||
## Instructions
|
||||
|
||||
1. Install all [prerequisites]({{ '/docs/installation/' | relative_url }}).
|
||||
2. Install the jekyll and bundler [gems]({{ '/docs/ruby-101/#gems' | relative_url }}).
|
||||
```sh
|
||||
1. Install a full [Ruby development environment](/docs/installation/)
|
||||
2. Install Jekyll and [bundler](/docs/ruby-101/#bundler) [gems](/docs/ruby-101/#gems)
|
||||
```
|
||||
gem install jekyll bundler
|
||||
```
|
||||
3. Create a new Jekyll site at `./myblog`.
|
||||
```sh
|
||||
3. Create a new Jekyll site at `./myblog`
|
||||
```
|
||||
jekyll new myblog
|
||||
```
|
||||
4. Change into your new directory.
|
||||
```sh
|
||||
4. Change into your new directory
|
||||
```
|
||||
cd myblog
|
||||
```
|
||||
5. Build the site and make it available on a local server.
|
||||
```sh
|
||||
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"}
|
||||
6. Now browse to [http://localhost:4000](http://localhost:4000){:target="_blank"}
|
||||
|
||||
{: .note .warning}
|
||||
If you are using Ruby version 3.0.0 or higher, step 5 [may fail](https://github.com/github/pages-gem/issues/752). You may fix it by adding `webrick` to your dependencies: `bundle add webrick`
|
||||
|
||||
{: .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`
|
||||
|
||||
|
||||
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 }}).
|
||||
|
||||
{: .note .info}
|
||||
Installation varies based on your operating system. See our [guides]({{ '/docs/installation/#guides' | relative_url }}) for OS-specific instructions.
|
||||
If you encounter any unexpected errors during the above, please refer to the
|
||||
[troubleshooting](/docs/troubleshooting/#configuration-problems) page or the
|
||||
already-mentioned [requirements](/docs/installation/#requirements) page, as
|
||||
you might be missing development headers or other prerequisites.
|
||||
|
||||
@@ -4,20 +4,19 @@ description: Official guide to install Jekyll on macOS, GNU/Linux or Windows.
|
||||
permalink: /docs/installation/
|
||||
---
|
||||
|
||||
Jekyll is a [Ruby Gem]({{ '/docs/ruby-101/#gems' | relative_url }}) that can be installed on most systems.
|
||||
Jekyll is a [Ruby Gem](/docs/ruby-101/#gems) that can be installed on most systems.
|
||||
|
||||
## Requirements
|
||||
|
||||
* [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 **{{ site.data.ruby.min_version }}** or above, including all development headers (ruby version can be checked by running `ruby -v`)
|
||||
* [RubyGems](https://rubygems.org/pages/download) (which you can check by running `gem -v`)
|
||||
* [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
|
||||
|
||||
For detailed install instructions, follow the guide for your operating system.
|
||||
For detailed install instructions have a look at the guide for your operating system.
|
||||
|
||||
* [macOS]({{ '/docs/installation/macos/' | relative_url }})
|
||||
* [Ubuntu]({{ '/docs/installation/ubuntu/' | relative_url }})
|
||||
* [FreeBSD]({{ '/docs/installation/freebsd/' | relative_url }})
|
||||
* [Other Linux]({{ '/docs/installation/other-linux/' | relative_url }})
|
||||
* [Windows]({{ '/docs/installation/windows/' | relative_url }})
|
||||
* [macOS](/docs/installation/macos/)
|
||||
* [Ubuntu Linux](/docs/installation/ubuntu/)
|
||||
* [Other Linux distros](/docs/installation/other-linux)
|
||||
* [Windows](/docs/installation/windows/)
|
||||
|
||||
@@ -1,50 +0,0 @@
|
||||
---
|
||||
title: Jekyll on FreeBSD
|
||||
permalink: /docs/installation/freebsd/
|
||||
---
|
||||
|
||||
### Install Ruby
|
||||
|
||||
```sh
|
||||
sudo pkg install ruby
|
||||
```
|
||||
|
||||
### Install Ruby Gems
|
||||
|
||||
Find the latest version and install it. (Replace `ruby3x` with whatever the latest version is.)
|
||||
|
||||
```sh
|
||||
pkg search gems
|
||||
sudo pkg install ruby3x-gems
|
||||
```
|
||||
|
||||
## Set Gems directory and add that to the Bash path
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
## Install Jekyll Gems
|
||||
|
||||
```sh
|
||||
gem install jekyll bundler jekyll-sitemap
|
||||
```
|
||||
|
||||
## Verify install
|
||||
|
||||
Both of these commands should return some output showing version number, etc.
|
||||
|
||||
```sh
|
||||
ruby -v
|
||||
jekyll -v
|
||||
```
|
||||
|
||||
That's it! You're ready to start using Jekyll.
|
||||
@@ -3,90 +3,133 @@ title: Jekyll on macOS
|
||||
permalink: /docs/installation/macos/
|
||||
---
|
||||
|
||||
## Supported macOS versions
|
||||
## Install Command Line Tools
|
||||
First, you need to install the command-line tools to be able to compile native extensions, open a terminal and run:
|
||||
|
||||
We match [Homebrew's macOS requirements](https://docs.brew.sh/Installation#macos-requirements), which typically support the last 2 or 3 macOS versions.
|
||||
|
||||
Older macOS versions might work, but we don't officially support them.
|
||||
```sh
|
||||
xcode-select --install
|
||||
```
|
||||
|
||||
## Install Ruby
|
||||
|
||||
To install Jekyll on macOS, you need a proper Ruby development environment.
|
||||
While macOS comes preinstalled with Ruby, we don't recommend using that version
|
||||
to install Jekyll. This external article goes over the various reasons
|
||||
[why you shouldn't use the system Ruby](https://www.moncefbelyamani.com/why-you-shouldn-t-use-the-system-ruby-to-install-gems-on-a-mac/).
|
||||
Jekyll requires **Ruby > {{ site.data.ruby.min_version }}**.
|
||||
As macOS Mojave 10.14 comes only with ruby 2.3.x, you'll have to install a newer version of Ruby.
|
||||
|
||||
Instead, you'll need to install a separate and newer version of Ruby using a
|
||||
version manager such as [asdf], [chruby], [rbenv], or [rvm]. Version managers
|
||||
allow you to easily install multiple versions of Ruby, and switch between them.
|
||||
|
||||
We recommend `chruby` because it's the simplest and least likely to cause issues.
|
||||
|
||||
The instructions below are an excerpt from this detailed external guide to
|
||||
[install Ruby on Mac]. They work best if you're setting up development tools
|
||||
for the first time on your Mac. If you've already tried to install Ruby or
|
||||
Jekyll on your Mac, or if you run into any issues, read that guide.
|
||||
|
||||
[asdf]: https://asdf-vm.com/
|
||||
[chruby]: https://github.com/postmodern/chruby
|
||||
[rbenv]: https://github.com/rbenv/rbenv
|
||||
[rvm]: https://rvm.io/
|
||||
[install Ruby on Mac]: https://www.moncefbelyamani.com/how-to-install-xcode-homebrew-git-rvm-ruby-on-mac/
|
||||
|
||||
### Step 1: Install Homebrew
|
||||
|
||||
[Homebrew](https://brew.sh/) makes it easy to install development tools on a Mac.
|
||||
### With Homebrew {#brew}
|
||||
To run the latest Ruby version you need to install it through [Homebrew](https://brew.sh).
|
||||
|
||||
```sh
|
||||
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
# Install Homebrew
|
||||
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
||||
|
||||
brew install ruby
|
||||
```
|
||||
|
||||
### Step 2: Install chruby and the latest Ruby with ruby-install
|
||||
Add the brew ruby path to your shell config :
|
||||
|
||||
Install `chruby` and `ruby-install` with Homebrew:
|
||||
|
||||
```sh
|
||||
brew install chruby ruby-install
|
||||
```
|
||||
export PATH=/usr/local/opt/ruby/bin:$PATH
|
||||
```
|
||||
|
||||
Install the latest stable version of Ruby (supported by Jekyll):
|
||||
Then relaunch your terminal and check your updated Ruby setup:
|
||||
|
||||
```sh
|
||||
ruby-install ruby {{ site.data.ruby.current_version }}
|
||||
```
|
||||
which ruby
|
||||
# /usr/local/opt/ruby/bin/ruby
|
||||
|
||||
This will take a few minutes, and once it's done, configure your shell to
|
||||
automatically use `chruby`:
|
||||
|
||||
```sh
|
||||
echo "source $(brew --prefix)/opt/chruby/share/chruby/chruby.sh" >> ~/.zshrc
|
||||
echo "source $(brew --prefix)/opt/chruby/share/chruby/auto.sh" >> ~/.zshrc
|
||||
echo "chruby ruby-{{ site.data.ruby.current_version }}" >> ~/.zshrc # run 'chruby' to see actual version
|
||||
```
|
||||
|
||||
If you're using Bash, replace `.zshrc` with `.bash_profile`. If you're not sure,
|
||||
read this external guide to
|
||||
[find out which shell you're using](https://www.moncefbelyamani.com/which-shell-am-i-using-how-can-i-switch/).
|
||||
|
||||
Quit and relaunch Terminal, then check that everything is working:
|
||||
|
||||
```sh
|
||||
ruby -v
|
||||
{{ site.data.ruby.current_version_output }}
|
||||
```
|
||||
|
||||
It should show {{ site.data.ruby.current_version_output }} or a newer version.
|
||||
Yay, we are now running current stable Ruby!
|
||||
|
||||
Next, read that same external guide for important notes about
|
||||
[setting and switching between Ruby versions with chruby](https://www.moncefbelyamani.com/how-to-install-xcode-homebrew-git-rvm-ruby-on-mac/#how-to-install-different-versions-of-ruby-and-switch-between-them).
|
||||
### 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
|
||||
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
||||
|
||||
# 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 you can install the Ruby version of our choice, let's go with current latest stable Ruby:
|
||||
|
||||
```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 [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 with chruby, install the latest Jekyll gem:
|
||||
Now all that is left is installing [Bundler](/docs/ruby-101/#bundler) and Jekyll.
|
||||
|
||||
### Local Install
|
||||
|
||||
```sh
|
||||
gem install jekyll
|
||||
gem install --user-install bundler jekyll
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
and then get your Ruby version using
|
||||
|
||||
See [Troubleshooting]({{ '/docs/troubleshooting/' | relative_url }}) or [ask for help on our forum](https://talk.jekyllrb.com).
|
||||
```sh
|
||||
ruby -v
|
||||
{{ site.data.ruby.current_version_output }}
|
||||
```
|
||||
|
||||
Then append your path file with the following, replacing the `X.X` with the first two digits of your Ruby version.
|
||||
|
||||
```
|
||||
export PATH=$HOME/.gem/ruby/X.X.0/bin:$PATH
|
||||
```
|
||||
|
||||
To check your that you gem paths point to your home directory run:
|
||||
|
||||
```sh
|
||||
gem env
|
||||
```
|
||||
|
||||
And check that `GEM PATHS:` points to a path in your home directory
|
||||
|
||||
{: .note }
|
||||
Every time you update Ruby to a version with a different first two digits, you will need to update your path to match.
|
||||
|
||||
### Global Install
|
||||
|
||||
{: .note .warning}
|
||||
We strongly recommend against installing Ruby gems globally to avoid file permissions problems and using `sudo`.
|
||||
|
||||
#### On Mojave (10.14)
|
||||
|
||||
Because of SIP Protections in Mojave, you must run:
|
||||
|
||||
```sh
|
||||
sudo gem install bundler
|
||||
sudo gem install -n /usr/local/bin/ jekyll
|
||||
```
|
||||
|
||||
#### Before Mojave (<10.14)
|
||||
|
||||
You only have to run:
|
||||
|
||||
```sh
|
||||
sudo gem install bundler jekyll
|
||||
```
|
||||
|
||||
## Problems?
|
||||
|
||||
Check out the [troubleshooting](/docs/troubleshooting/) page or [ask for help on our forum](https://talk.jekyllrb.com).
|
||||
|
||||
@@ -2,59 +2,18 @@
|
||||
title: Jekyll on Linux
|
||||
permalink: /docs/installation/other-linux/
|
||||
---
|
||||
Installation on other Linux distributions works similarly as on [Ubuntu](../ubuntu/).
|
||||
|
||||
Installation on other Linux distributions works similarly to installing on [Ubuntu](../ubuntu/).
|
||||
On Fedora, the dependencies can be installed as follows:
|
||||
|
||||
## Install prerequisites
|
||||
|
||||
### Fedora
|
||||
|
||||
```sh
|
||||
sudo dnf install ruby ruby-devel openssl-devel redhat-rpm-config gcc-c++ @development-tools
|
||||
```
|
||||
### RHEL8/CentOS8
|
||||
|
||||
```sh
|
||||
sudo dnf install ruby ruby-devel
|
||||
sudo dnf group install "Development Tools"
|
||||
```sh
|
||||
sudo dnf install ruby ruby-devel @development-tools
|
||||
```
|
||||
|
||||
### Debian
|
||||
On 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 ruby-erb
|
||||
```
|
||||
|
||||
### OpenSUSE
|
||||
|
||||
```sh
|
||||
sudo zypper install -t pattern devel_ruby devel_C_C++
|
||||
sudo zypper install ruby-devel
|
||||
```
|
||||
|
||||
### Clear Linux
|
||||
|
||||
```sh
|
||||
sudo swupd bundle-add ruby-basic
|
||||
```
|
||||
## Install Jekyll
|
||||
|
||||
Follow the instructions for [Ubuntu](../ubuntu/).
|
||||
The rest works the same as on [Ubuntu](../ubuntu/).
|
||||
|
||||
@@ -2,19 +2,17 @@
|
||||
title: Jekyll on Ubuntu
|
||||
permalink: /docs/installation/ubuntu/
|
||||
---
|
||||
|
||||
## Install dependencies
|
||||
|
||||
Install Ruby and other [prerequisites]({{ '/docs/installation/#requirements' | relative_url }}):
|
||||
Before we install Jekyll, we need to make sure we have all the required
|
||||
dependencies.
|
||||
|
||||
```sh
|
||||
sudo apt-get install ruby-full build-essential zlib1g-dev
|
||||
```
|
||||
|
||||
Avoid installing RubyGems packages (called gems) as the root user. Instead,
|
||||
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:
|
||||
the gem installation path. Run them now:
|
||||
|
||||
```sh
|
||||
echo '# Install Ruby Gems to ~/gems' >> ~/.bashrc
|
||||
@@ -23,7 +21,7 @@ echo 'export PATH="$HOME/gems/bin:$PATH"' >> ~/.bashrc
|
||||
source ~/.bashrc
|
||||
```
|
||||
|
||||
Finally, install Jekyll and Bundler:
|
||||
Finally, install Jekyll:
|
||||
|
||||
```sh
|
||||
gem install jekyll bundler
|
||||
|
||||
@@ -5,33 +5,29 @@ redirect_from:
|
||||
- /docs/windows/
|
||||
---
|
||||
|
||||
While Windows is not an officially-supported platform, it can be used to run Jekyll with the proper tweaks.
|
||||
While Windows is not an officially-supported platform, it can be used to run Jekyll with the proper tweaks. This page aims to
|
||||
collect some of the general knowledge and lessons that have been unearthed by Windows users.
|
||||
|
||||
## Installing Ruby and Jekyll
|
||||
|
||||
## Installing Jekyll
|
||||
|
||||
### Installation via RubyInstaller
|
||||
|
||||
The easiest way to install Ruby and Jekyll is by using the [RubyInstaller](https://rubyinstaller.org/) for Windows.
|
||||
The easiest way to run 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
|
||||
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/).
|
||||
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).
|
||||
From the options choose `MSYS2 and MINGW development toolchain`.
|
||||
[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 not 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).
|
||||
Install Jekyll and Bundler via: `gem install jekyll bundler`
|
||||
4. Check if Jekyll installed properly: `jekyll -v`
|
||||
|
||||
That's it, you're ready to use Jekyll!
|
||||
|
||||
@@ -40,20 +36,48 @@ That's it, you're ready to use Jekyll!
|
||||
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.
|
||||
*Note:* 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`.
|
||||
First let's make sure all our packages / repositories are up to date. Open a new Command Prompt instance, and type the following:
|
||||
|
||||
Your terminal should now be a Bash instance. Then, [follow the installation procedure for Ubuntu](https://jekyllrb.com/docs/installation/ubuntu/).
|
||||
```sh
|
||||
bash
|
||||
```
|
||||
Your Command Prompt instance should now be a Bash instance. Now we must update our repo lists and packages.
|
||||
|
||||
Once this is done, check your Jekyll version:
|
||||
```sh
|
||||
sudo apt-get update -y && sudo apt-get upgrade -y
|
||||
```
|
||||
Now we can install Ruby. To do this we will 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 let's update our Ruby gems:
|
||||
|
||||
```sh
|
||||
gem update
|
||||
```
|
||||
|
||||
Now all that is left to do is install Jekyll.
|
||||
|
||||
```sh
|
||||
gem install jekyll bundler
|
||||
```
|
||||
|
||||
(*Note: no `sudo` here.*)
|
||||
|
||||
Check if Jekyll installed properly by running:
|
||||
|
||||
```sh
|
||||
jekyll -v
|
||||
```
|
||||
|
||||
That's it! You're ready to start using Jekyll.
|
||||
**And that's it!**
|
||||
|
||||
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.
|
||||
@@ -61,47 +85,55 @@ 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>
|
||||
the "Running Jekyll as Non-Superuser" instructions in <a href="/docs/troubleshooting/#no-sudo">Troubleshooting</a>.</p>
|
||||
</div>
|
||||
|
||||
{: .note .info}
|
||||
Bash on Ubuntu on Windows is still under development, so you may run into issues.
|
||||
**Note:** Bash on Ubuntu on Windows is still under development, so you may run into issues.
|
||||
|
||||
|
||||
## Encoding
|
||||
|
||||
If you use UTF-8 encoding, Jekyll will break if a file starts with characters representing a [BOM](https://en.wikipedia.org/wiki/Byte_order_mark#UTF-8). Therefore, remove this sequence of bytes if it appears at the beginning of your file.
|
||||
If you use UTF-8 encoding, make sure that no `BOM` header characters exist in your files or very, very bad things will happen to
|
||||
Jekyll. 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:
|
||||
`Liquid Exception: Incompatible character encoding` error during the site generation process. It can be done with the following
|
||||
command:
|
||||
|
||||
```sh
|
||||
chcp 65001
|
||||
```
|
||||
|
||||
## Time Zone Management
|
||||
## 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.
|
||||
Since Windows doesn't have a native source of zoneinfo data, the Ruby Interpreter would not understand IANA Timezones and hence
|
||||
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
|
||||
Though Windows users could alternatively define their blog's timezone by setting the key to use 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:
|
||||
sites *will* have to update their `Gemfile` (and installed) to enable development on Windows:
|
||||
|
||||
```ruby
|
||||
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
|
||||
# and associated library.
|
||||
platforms :mingw, :x64_mingw, :mswin, :jruby do
|
||||
gem "tzinfo", ">= 1", "< 3"
|
||||
gem "tzinfo-data"
|
||||
end
|
||||
# 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>
|
||||
<code>v2.0</code> 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 <code>v1.2</code> 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.
|
||||
@@ -110,7 +142,7 @@ While `listen` has built-in support for UNIX systems, it may require an extra ge
|
||||
Add the following to the `Gemfile` for your site if you have issues with auto-regeneration on Windows alone:
|
||||
|
||||
```ruby
|
||||
gem "wdm", "~> 0.2.0", :install_if => Gem.win_platform?
|
||||
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
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user