mirror of
https://github.com/jekyll/jekyll.git
synced 2026-04-28 03:01:03 -04:00
Compare commits
34 Commits
no-liquid-
...
max-cache
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
177c1ca09e | ||
|
|
07c5ddde4a | ||
|
|
4081044178 | ||
|
|
139073430f | ||
|
|
575bf51fa2 | ||
|
|
4814b45847 | ||
|
|
81392ae0ee | ||
|
|
9136e9c394 | ||
|
|
4d6edb3a26 | ||
|
|
fb7a13ab1e | ||
|
|
87cc350313 | ||
|
|
85be75160c | ||
|
|
0ff2ef7d28 | ||
|
|
aaa723373b | ||
|
|
ce6173360d | ||
|
|
b4b90a989c | ||
|
|
edbd9f3028 | ||
|
|
2eb0c5bc8d | ||
|
|
e51f9c346c | ||
|
|
f0da10a77a | ||
|
|
66ac9b8675 | ||
|
|
e9f78247de | ||
|
|
477dbb34f4 | ||
|
|
f0e26e9c1a | ||
|
|
9f05275619 | ||
|
|
89ac354d5a | ||
|
|
f034f624cc | ||
|
|
c58d747506 | ||
|
|
5c41eb743f | ||
|
|
cf9176efba | ||
|
|
8256ff1757 | ||
|
|
2dcdc49a36 | ||
|
|
efb7819d2e | ||
|
|
67331185c2 |
@@ -39,6 +39,7 @@
|
||||
* Initialize upgrading doc for v4.0 (#7140)
|
||||
* Add version badge for date filters with ordinal (#7162)
|
||||
* Add closing tags for <a> (#7163)
|
||||
* Add TSV to list of supported _data files. (#7168)
|
||||
|
||||
### Minor Enhancements
|
||||
|
||||
@@ -61,6 +62,7 @@
|
||||
* Remove support for Redcarpet (#6987)
|
||||
* Remove support for rdiscount (#6988)
|
||||
* Remove 'cache_dir' during `jekyll clean` (#7158)
|
||||
* Output Jekyll Version while debugging (#7173)
|
||||
|
||||
### Development Fixes
|
||||
|
||||
|
||||
@@ -3,9 +3,11 @@
|
||||
[][ruby-gems]
|
||||
[][travis]
|
||||
[][appveyor]
|
||||
[](codeclimate)
|
||||
[](coverage)
|
||||
[][codeclimate]
|
||||
[][coverage]
|
||||
[][hakiri]
|
||||
[](#backers)
|
||||
[](#sponsors)
|
||||
|
||||
[ruby-gems]: https://rubygems.org/gems/jekyll
|
||||
[codeclimate]: https://codeclimate.com/github/jekyll/jekyll
|
||||
@@ -54,6 +56,28 @@ these terms, please let one of our [core team members](https://jekyllrb.com/team
|
||||
* Use the built-in [Liquid Extensions](https://jekyllrb.com/docs/templates/) to make your life easier
|
||||
* Use custom [Plugins](https://jekyllrb.com/docs/plugins/) to generate content specific to your site
|
||||
|
||||
## Credits
|
||||
|
||||
### Contributors
|
||||
|
||||
This project exists thanks to all the people who contribute.
|
||||
<a href="graphs/contributors"><img src="https://opencollective.com/jekyll/contributors.svg?width=890&button=false" /></a>
|
||||
|
||||
### Backers
|
||||
|
||||
Thank you to all our backers! 🙏 [Become a backer](https://opencollective.com/jekyll#backer)
|
||||
|
||||
<a href="https://opencollective.com/jekyll#backers" target="_blank"><img src="https://opencollective.com/jekyll/backers.svg?width=890" /></a>
|
||||
|
||||
### Sponsors
|
||||
|
||||
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor!](https://opencollective.com/jekyll#sponsor)
|
||||
|
||||
<a href="https://opencollective.com/jekyll/sponsor/0/website" target="_blank"><img src="https://opencollective.com/jekyll/sponsor/0/avatar.svg" /></a>
|
||||
<a href="https://opencollective.com/jekyll/sponsor/1/website" target="_blank"><img src="https://opencollective.com/jekyll/sponsor/1/avatar.svg" /></a>
|
||||
<a href="https://opencollective.com/jekyll/sponsor/2/website" target="_blank"><img src="https://opencollective.com/jekyll/sponsor/2/avatar.svg" /></a>
|
||||
|
||||
|
||||
## License
|
||||
|
||||
See the [LICENSE](https://github.com/jekyll/jekyll/blob/master/LICENSE) file.
|
||||
|
||||
15
docs/_data/sponsors.yml
Normal file
15
docs/_data/sponsors.yml
Normal file
@@ -0,0 +1,15 @@
|
||||
- name: Forestry.io
|
||||
image: /img/forestry-logo.png
|
||||
url: https://forestry.io
|
||||
width: 140
|
||||
height: 30
|
||||
- name: CloudCannon
|
||||
image: /img/cloudcannon-logo.png
|
||||
url: https://cloudcannon.com
|
||||
width: 75
|
||||
height: 30
|
||||
- name: Siteleaf
|
||||
image: /img/siteleaf-logo.png
|
||||
url: https://siteleaf.com
|
||||
width: 40
|
||||
height: 50
|
||||
@@ -16,7 +16,7 @@ Whether you're a developer, a designer, or just a Jekyll devotee, there are lots
|
||||
|
||||
* [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 on how to improve something.
|
||||
* 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.
|
||||
|
||||
@@ -137,9 +137,9 @@ An overview of what each of these does:
|
||||
<p>
|
||||
Well-formatted site data should be placed here. The Jekyll engine
|
||||
will autoload all data files (using either the <code>.yml</code>,
|
||||
<code>.yaml</code>, <code>.json</code> or <code>.csv</code>
|
||||
formats and extensions) in this directory, and they will be
|
||||
accessible via `site.data`. If there's a file
|
||||
<code>.yaml</code>, <code>.json</code>, <code>.csv</code> or
|
||||
<code>.tsv</code> formats and extensions) in this directory,
|
||||
and they will be accessible via `site.data`. If there's a file
|
||||
<code>members.yml</code> under the directory, then you can access
|
||||
contents of the file through <code>site.data.members</code>.
|
||||
</p>
|
||||
|
||||
@@ -19,9 +19,32 @@ If you're using Ruby >= 2.3.0, go ahead and fetch the latest version of Jekyll:
|
||||
gem update jekyll
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
*Insert sections here*
|
||||
### Template rendering
|
||||
|
||||
We've slightly altered the way Jekyll parses and renders your various templates to improve
|
||||
the overall build times. Jekyll now parses a template once, caches it internally and then
|
||||
renders the parsed template multiple times as required by your pages and documents.
|
||||
|
||||
The downside to this is that some of the community-authored plugins may not work as they
|
||||
previously used to.
|
||||
|
||||
#### For Plugin-authors
|
||||
|
||||
* If your plugin depends on the following code: `site.liquid_renderer.file(path).parse(content)`,
|
||||
note that the return value (`template`, an instance of *`Liquid::Template`*), from that line will
|
||||
always be the **same object** for a given `path`. <br/>
|
||||
The *`template`* instance is then rendered as previously, with respect to the `payload` passed to it.
|
||||
You'll therefore have to ensure that *`payload`* is not memoized or cached in your plugin instance.
|
||||
|
||||
* If its a requirement that `template` you get from the above step *be different* at all times,
|
||||
you can invoke *`Liquid::Template`* directly:
|
||||
|
||||
|
||||
```diff
|
||||
- template = site.liquid_renderer.file(path).parse(content)
|
||||
+ template = Liquid::Template.parse(content)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -11,5 +11,15 @@
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="unit two-thirds align-right center-on-mobiles">
|
||||
<p>
|
||||
Sponsored by
|
||||
{% for sponsor in site.data.sponsors %}
|
||||
<a href="{{ sponsor.url }}" style="margin-left: 10px;">
|
||||
<img src="{{ sponsor.image }}" height="{{ sponsor.height }}" width="{{ sponsor.width }}" alt="{{ sponsor.name }}">
|
||||
</a>
|
||||
{% endfor %}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
68
docs/_posts/2018-08-01-jekyll-sponsoring.markdown
Normal file
68
docs/_posts/2018-08-01-jekyll-sponsoring.markdown
Normal file
@@ -0,0 +1,68 @@
|
||||
---
|
||||
title: "Sponsoring Jekyll's development"
|
||||
date: 2018-08-01 15:00:00 +0200
|
||||
author: oe
|
||||
categories: [community]
|
||||
---
|
||||
|
||||
_(TL;DR: We're open for sponsorships on our [OpenCollective page](https://opencollective.com/jekyll))_
|
||||
|
||||
Hi Jekyllers,
|
||||
|
||||
As you may know, Jekyll is a completely free and open source project. We offer our
|
||||
software and its related plugins and documentation at no cost because we believe
|
||||
that good software should not cost anything. We're not planning on changing that,
|
||||
but today I want to talk about a different monetary aspect of open source.
|
||||
|
||||
Open source developers being paid for the work they do is a rare sight. Most open source
|
||||
software is effectively the result of hundreds and thousands of hours of free labor provided
|
||||
by individuals who are passionate enough to work outside of their day job to create
|
||||
software that, ironically, is being used by almost every company that offers
|
||||
digital services. It's a problem that has gotten more attention in recent years, with
|
||||
the open source community becoming more diverse and more and more companies actively
|
||||
investing in providing monetary support for open source developers.
|
||||
|
||||
Jekyll has always been a product of volunteers. Rarely has someone been paid to implement
|
||||
a certain plugin or feature. Today, we're excited to announce that we will finally
|
||||
be able to fund our contributors! __We are opening an OpenCollective to receive
|
||||
individual and corporate sponsorships__. This is not unheard of, [Hugo](http://gohugo.io)
|
||||
is also funded by sponsorships, as are many other similar projects, such as
|
||||
[webpack](https://opencollective.com/webpack), [Babel](https://opencollective.com/babel) or
|
||||
[RuboCop](https://opencollective.com/rubocop).
|
||||
|
||||
OpenCollective is a service that makes it easy for open source projects to receive funding
|
||||
from individuals and companies alike. It's specifically designed for open source and
|
||||
many other projects already use it for funding.
|
||||
|
||||
Sponsoring is, for us, a method to finally realize some of the more ambitious goals we've had
|
||||
with the project for years. The closest thing we want to realize is to __release Jekyll 4.0, and
|
||||
to make it as polished as we can__. In the future, we would also like to work on other things that
|
||||
will improve the Jekyll ecosystem. Here's a couple of ideas:
|
||||
|
||||
- Create a comprehensive official plugin and theme directory site
|
||||
- Improve tooling built around measuring and improving Jekyll's performance
|
||||
- Improve maintenance for official plugins
|
||||
- Including the community into official decisions; making Jekyll more friendly to folks in the community
|
||||
|
||||
Again, these are just some ideas, but with the help of sponsoring, they are now one step closer
|
||||
to being realized :heart:
|
||||
|
||||
<div align="center">
|
||||
<img src="/img/forestry-logo.png" width="300" />
|
||||
</div>
|
||||
|
||||
With that, we would like to announce our very first sponsor: [__Forestry.io__](https://forestry.io)! Forestry is
|
||||
a CMS that integrates with your Jekyll sites and lets you update content using a beautiful
|
||||
interface, and then automatically commits it back to your GitHub repository. We're excited to have
|
||||
them on board on a new, exciting step of our journey.
|
||||
|
||||
Will anything change for Jekyll users? The answer is no - this step does not impact the Jekyll software
|
||||
in any aspect. In fact, you might see positive changes, such as more features and better
|
||||
performance. Surprisingly, that's what happens when you properly fund people for their work!
|
||||
|
||||
If you have been a long time user for Jekyll and would like to give something back to the project,
|
||||
you can consider a small monthly donation to our [OpenCollective page](http://opencollective.com/jekyll).
|
||||
If your company heavily relies on Jekyll, do consider sponsoring us! Contact me at
|
||||
`olivia at fastmail dot com` and we'll figure something out together.
|
||||
|
||||
Thanks for sticking with us, and happy Jekylling! :tada:
|
||||
@@ -224,8 +224,7 @@ footer {
|
||||
|
||||
img {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
top: 8px;
|
||||
vertical-align: middle;
|
||||
margin-left: 5px;
|
||||
opacity: .8;
|
||||
padding: 1px;
|
||||
|
||||
BIN
docs/img/cloudcannon-logo.png
Normal file
BIN
docs/img/cloudcannon-logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
BIN
docs/img/forestry-logo.png
Normal file
BIN
docs/img/forestry-logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 25 KiB |
BIN
docs/img/siteleaf-logo.png
Normal file
BIN
docs/img/siteleaf-logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
@@ -53,7 +53,7 @@ module Jekyll
|
||||
private
|
||||
|
||||
def filename_regex
|
||||
@filename_regex ||= %r!\A(#{source_dir}/|#{theme_dir}/|\W*)(.*)!i
|
||||
@filename_regex ||= %r!\A(#{source_dir}/|#{theme_dir}/|/*)(.*)!i
|
||||
end
|
||||
|
||||
def new_profile_hash
|
||||
|
||||
@@ -10,7 +10,7 @@ module Jekyll
|
||||
|
||||
def parse(content)
|
||||
measure_time do
|
||||
@template = cache.getset(content) do
|
||||
@template = Jekyll::Cache.new("Jekyll::LiquidRenderer::File").getset(content) do
|
||||
Liquid::Template.parse(content, :line_numbers => true)
|
||||
end
|
||||
end
|
||||
@@ -26,6 +26,7 @@ module Jekyll
|
||||
end
|
||||
end
|
||||
|
||||
# This method simply 'rethrows any error' before attempting to render the template.
|
||||
def render!(*args)
|
||||
measure_time do
|
||||
measure_bytes do
|
||||
@@ -40,10 +41,6 @@ module Jekyll
|
||||
|
||||
private
|
||||
|
||||
def cache
|
||||
Jekyll::Cache.new("Jekyll::LiquidRenderer::File")
|
||||
end
|
||||
|
||||
def measure_bytes
|
||||
yield.tap do |str|
|
||||
@renderer.increment_bytes(@filename, str.bytesize)
|
||||
|
||||
@@ -43,6 +43,7 @@ module Jekyll
|
||||
self.log_level = :debug
|
||||
end
|
||||
debug "Logging at level:", LOG_LEVELS.key(writer.level).to_s
|
||||
debug "Jekyll Version:", Jekyll::VERSION
|
||||
end
|
||||
|
||||
# Public: Print a debug message
|
||||
|
||||
Reference in New Issue
Block a user