diff --git a/docs/_config.yml b/docs/_config.yml index 35783109..bec8b14f 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -46,6 +46,9 @@ plugins: feed: categories: - release +kramdown: + syntax_highlighter_opts: + default_lang: plaintext sass: style: compressed strict_front_matter: true diff --git a/docs/_docs/assets.md b/docs/_docs/assets.md index 618b54aa..ee4e698b 100644 --- a/docs/_docs/assets.md +++ b/docs/_docs/assets.md @@ -79,7 +79,6 @@ sass: These are passed to Sass, so any output style options Sass supports are valid here, too. - ## Coffeescript To enable Coffeescript in Jekyll 3.0 and up you must diff --git a/docs/_docs/collections.md b/docs/_docs/collections.md index 67b80c3e..00e41181 100644 --- a/docs/_docs/collections.md +++ b/docs/_docs/collections.md @@ -15,7 +15,8 @@ example here's a collection of staff members: collections: - staff_members ``` -In this case `collections` is defined as a sequence (i.e array) with no additional metadata defined for each collection. + +In this case `collections` is defined as a sequence (i.e array) with no additional metadata defined for each collection. You can optionally specify metadata for your collection by defining `collections` as a mapping (i.e hashmap) instead of sequence, and then defining additional fields in it: ```yaml @@ -71,7 +72,7 @@ Jane has worked on Jekyll for the past *five years*. 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. - +
Be sure to name your directories correctly
@@ -96,7 +97,6 @@ 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`: @@ -285,7 +285,6 @@ you specified in your `_config.yml` (if present) and the following information:

- ### Documents In addition to any front matter provided in the document's corresponding diff --git a/docs/_docs/community/community.md b/docs/_docs/community/community.md index 36ba52c4..7176dfe5 100644 --- a/docs/_docs/community/community.md +++ b/docs/_docs/community/community.md @@ -28,7 +28,6 @@ There are a bunch of helpful community members on these services that should be * [How to file a bug](/docs/community/bug/) * [Guide for maintaining Jekyll](/docs/maintaining/) - ## Jekyllconf [Watch videos](/jekyllconf/) from members of the Jekyll community speak about interesting use cases, tricks they’ve learned or meta Jekyll topics. diff --git a/docs/_docs/configuration/front-matter-defaults.md b/docs/_docs/configuration/front-matter-defaults.md index ae5183d0..2f19954e 100644 --- a/docs/_docs/configuration/front-matter-defaults.md +++ b/docs/_docs/configuration/front-matter-defaults.md @@ -114,7 +114,6 @@ defaults:

- ### 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. diff --git a/docs/_docs/configuration/markdown.md b/docs/_docs/configuration/markdown.md index 16090618..2b48a94e 100644 --- a/docs/_docs/configuration/markdown.md +++ b/docs/_docs/configuration/markdown.md @@ -51,7 +51,7 @@ currently supported options:

-For more details about these options have a look at the [Kramdown configuration documentation](https://kramdown.gettalong.org/options.html). +For more details about these options have a look at the [Kramdown configuration documentation](https://kramdown.gettalong.org/options.html). ### CommonMark @@ -78,9 +78,9 @@ extension for disabling fenced code. Note that you can also specify a language for highlighting after the first delimiter: - ```ruby - # ...ruby code - ``` + ```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 diff --git a/docs/_docs/configuration/options.md b/docs/_docs/configuration/options.md index 8af5fa0c..1a5e96f0 100644 --- a/docs/_docs/configuration/options.md +++ b/docs/_docs/configuration/options.md @@ -346,7 +346,6 @@ class="flag">flags (specified on the command-line) that control them. - ### Serve Command Options In addition to the options below, the `serve` sub-command can accept any of the options diff --git a/docs/_docs/continuous-integration/travis-ci.md b/docs/_docs/continuous-integration/travis-ci.md index d87f4b7c..c93f70a1 100644 --- a/docs/_docs/continuous-integration/travis-ci.md +++ b/docs/_docs/continuous-integration/travis-ci.md @@ -34,7 +34,7 @@ Save the commands you want to run and succeed in a file: `./script/cibuild` ### The HTML Proofer Executable -```sh +```bash #!/usr/bin/env bash set -e # halt script on error diff --git a/docs/_docs/datafiles.md b/docs/_docs/datafiles.md index 742b3273..9a9961c7 100644 --- a/docs/_docs/datafiles.md +++ b/docs/_docs/datafiles.md @@ -42,7 +42,7 @@ In `_data/members.yml`: Or `_data/members.csv`: -```text +``` name,github Eric Mill,konklone Parker Moore,parkr diff --git a/docs/_docs/deployment/automated.md b/docs/_docs/deployment/automated.md index 5f6300c1..0e68e90f 100644 --- a/docs/_docs/deployment/automated.md +++ b/docs/_docs/deployment/automated.md @@ -11,7 +11,7 @@ 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: diff --git a/docs/_docs/deployment/manual.md b/docs/_docs/deployment/manual.md index 14d65d4a..be1054a0 100644 --- a/docs/_docs/deployment/manual.md +++ b/docs/_docs/deployment/manual.md @@ -31,7 +31,6 @@ Most traditional web hosting provider let you upload files to their servers over 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). diff --git a/docs/_docs/deployment/third-party.md b/docs/_docs/deployment/third-party.md index efe00370..7c25c574 100644 --- a/docs/_docs/deployment/third-party.md +++ b/docs/_docs/deployment/third-party.md @@ -33,7 +33,6 @@ Kickster provides a basic Jekyll project setup packed with web best practises an Install the Kickster gem and you are good to go. More documentation can here found [here](https://github.com/nielsenramon/kickster#kickster). If you do not want to use the gem or start a new project you can just copy paste the deployment scripts for [Travis CI](https://github.com/nielsenramon/kickster/tree/master/snippets/travis) or [Circle CI](https://github.com/nielsenramon/kickster#automated-deployment-with-circle-ci). - ## Netlify Netlify provides Global CDN, Continuous Deployment, one click HTTPS and [much more](https://www.netlify.com/features/), providing developers 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. diff --git a/docs/_docs/includes.md b/docs/_docs/includes.md index d92da1de..2112a6b0 100644 --- a/docs/_docs/includes.md +++ b/docs/_docs/includes.md @@ -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 diff --git a/docs/_docs/installation/macos.md b/docs/_docs/installation/macos.md index d22cd77b..6bda6264 100644 --- a/docs/_docs/installation/macos.md +++ b/docs/_docs/installation/macos.md @@ -13,7 +13,7 @@ xcode-select --install ## Install Ruby Jekyll requires **Ruby > {{ site.data.ruby.min_version }}**. -macOS Catalina 10.15 comes with ruby 2.6.3, so you're fine. +macOS Catalina 10.15 comes with ruby 2.6.3, so you're fine. If you're running a previous macOS system, you'll have to install a newer version of Ruby. ### With Homebrew {#brew} @@ -26,9 +26,9 @@ To run the latest Ruby version you need to install it through [Homebrew](https:/ brew install ruby ``` -Add the brew ruby path to your shell config : +Add the brew ruby path to your shell config: -``` +```bash export PATH=/usr/local/opt/ruby/bin:$PATH ``` @@ -56,10 +56,10 @@ Ruby versions. This is very useful when you need to be able to run a given Ruby # Install rbenv and ruby-build brew install rbenv -# Setup rbenv integration to your shell +# Set up rbenv integration with your shell rbenv init -# Check your install +# Check your installation curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash ``` @@ -94,7 +94,7 @@ ruby -v Then append your path file with the following, replacing the `X.X` with the first two digits of your Ruby version. -``` +```bash export PATH=$HOME/.gem/ruby/X.X.0/bin:$PATH ``` diff --git a/docs/_docs/installation/other-linux.md b/docs/_docs/installation/other-linux.md index 88f14775..a220b898 100644 --- a/docs/_docs/installation/other-linux.md +++ b/docs/_docs/installation/other-linux.md @@ -6,7 +6,7 @@ Installation on other Linux distributions works similarly as on [Ubuntu](../ubun On Fedora, the dependencies can be installed as follows: - ```sh +```sh sudo dnf install ruby ruby-devel @development-tools ``` diff --git a/docs/_docs/installation/windows.md b/docs/_docs/installation/windows.md index ceda22b0..73020ba8 100644 --- a/docs/_docs/installation/windows.md +++ b/docs/_docs/installation/windows.md @@ -8,7 +8,6 @@ redirect_from: 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 Jekyll ### Installation via RubyInstaller @@ -43,11 +42,13 @@ First let's make sure all our packages / repositories are up to date. Open a new ```sh bash ``` + Your Command Prompt instance should now be a Bash instance. Now we must update our repo lists and packages. ```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. @@ -90,7 +91,6 @@ with the current date in the filename. **Note:** Bash on Ubuntu on Windows is still under development, so you may run into issues. - ## Encoding If you use UTF-8 encoding, make sure that no `BOM` header characters exist in your files or very, very bad things will happen to diff --git a/docs/_docs/layouts.md b/docs/_docs/layouts.md index 053da0e5..1ef7c2a2 100644 --- a/docs/_docs/layouts.md +++ b/docs/_docs/layouts.md @@ -24,17 +24,14 @@ from this as needed.

- ## Usage The first step is to put the template source code in `default.html`. `content` is a special variable, the value is the rendered content of the post or page being wrapped. - - {% raw %} -``` +```liquid @@ -67,7 +64,7 @@ You can also use [front matter defaults](/docs/configuration/front-matter-defaults/) to save you from having to set this on every page. -``` +```markdown --- title: My First Page layout: default @@ -78,7 +75,7 @@ This is the content of my page The rendered output of this page is: -``` +```html @@ -102,7 +99,6 @@ The rendered output of this page is: ``` - ## Inheritance Layout inheritance is useful when you want to add something to an existing @@ -115,7 +111,7 @@ layout in front matter. For example this layout will live at `_layouts/post.html`: {% raw %} -``` +```liquid --- layout: default --- @@ -134,7 +130,7 @@ using in Liquid, you need to use the `layout` variable instead of `page`. For example: {% raw %} -``` +```liquid --- city: San Francisco --- diff --git a/docs/_docs/liquid.md b/docs/_docs/liquid.md index 7151cb19..d09ba99b 100644 --- a/docs/_docs/liquid.md +++ b/docs/_docs/liquid.md @@ -5,7 +5,7 @@ redirect_from: "/docs/templates/" --- Jekyll uses the [Liquid](https://shopify.github.io/liquid/) templating language -to process templates. +to process templates. Generally in Liquid you output content using two curly braces e.g. {% raw %}`{{ variable }}`{% endraw %} and perform logic statements by diff --git a/docs/_docs/liquid/filters.md b/docs/_docs/liquid/filters.md index fbd9acdb..9025251a 100644 --- a/docs/_docs/liquid/filters.md +++ b/docs/_docs/liquid/filters.md @@ -108,15 +108,21 @@ The default is `default`. They are as follows (with what they filter): You can use the `where` filter to detect documents and pages with properties that are `nil` or `""`. For example, +{% raw %} ```liquid -// Using `nil` to select posts that either do not have `my_prop` defined or `my_prop` has been set to `nil` explicitly. -{% raw %}{% assign filtered_posts = site.posts | where: 'my_prop', nil %}{% endraw %} +// Using `nil` to select posts that either do not have `my_prop` +// defined or `my_prop` has been set to `nil` explicitly. +{% assign filtered_posts = site.posts | where: 'my_prop', nil %} ``` +{% endraw %} +{% raw %} ```liquid -// Using Liquid's special literal `empty` or `blank` to select posts that have `my_prop` set to an empty value. -{% raw %}{% assign filtered_posts = site.posts | where: 'my_prop', empty %}{% endraw %} +// Using Liquid's special literal `empty` or `blank` to select +// posts that have `my_prop` set to an empty value. +{% assign filtered_posts = site.posts | where: 'my_prop', empty %} ``` +{% endraw %} ### Binary operators in `where_exp` filter {%- include docs_version_badge.html version="4.0" -%} @@ -125,15 +131,19 @@ conditionals in the operation. For example, to get a list of documents on English horror flicks, one could use the following snippet: +{% raw %} ```liquid -{% raw %}{{ site.movies | where_exp: "item", "item.genre == 'horror' and item.language == 'English'" }}{% endraw %} +{{ site.movies | where_exp: "item", "item.genre == 'horror' and item.language == 'English'" }} ``` +{% endraw %} Or to get a list of comic-book based movies, one may use the following: +{% raw %} ```liquid -{% raw %}{{ site.movies | where_exp: "item", "item.sub_genre == 'MCU' or item.sub_genre == 'DCEU'" }}{% endraw %} +{{ site.movies | where_exp: "item", "item.sub_genre == 'MCU' or item.sub_genre == 'DCEU'" }} ``` +{% endraw %} ### Standard Liquid Filters diff --git a/docs/_docs/liquid/tags.md b/docs/_docs/liquid/tags.md index cc181593..50868452 100644 --- a/docs/_docs/liquid/tags.md +++ b/docs/_docs/liquid/tags.md @@ -71,8 +71,8 @@ end In order for the highlighting to show up, you’ll need to include a highlighting stylesheet. For Pygments or Rouge you can use a stylesheet for Pygments, you -can find an example gallery -[here](https://jwarby.github.io/jekyll-pygments-themes/languages/ruby.html) +can find an example gallery +[here](https://jwarby.github.io/jekyll-pygments-themes/languages/ruby.html) or from [its repository](https://github.com/jwarby/jekyll-pygments-themes). Copy the CSS file (`native.css` for example) into your css directory and import @@ -117,11 +117,11 @@ The path to the post, page, or collection is defined as the path relative to the For example, suppose you're creating a link in `page_a.md` (stored in `pages/folder1/folder2`) to `page_b.md` (stored in `pages/folder1`). Your path in the link would not be `../page_b.html`. Instead, it would be `/pages/folder1/page_b.md`. -If you're unsure of the path, add `{% raw %}{{ page.path }}{% endraw %}` to the page and it will display the path. +If you're unsure of the path, add {% raw %}`{{ page.path }}`{% endraw %} to the page and it will display the path. One major benefit of using the `link` or `post_url` tag is link validation. If the link doesn't exist, Jekyll won't build your site. This is a good thing, as it will alert you to a broken link so you can fix it (rather than allowing you to build and deploy a site with broken links). -Note you cannot add filters to `link` tags. For example, you cannot append a string using Liquid filters, such as `{% raw %}{% link mypage.html | append: "#section1" %} {% endraw %}`. To link to sections on a page, you will need to use regular HTML or Markdown linking techniques. +Note you cannot add filters to `link` tags. For example, you cannot append a string using Liquid filters, such as {% raw %}`{% link mypage.html | append: "#section1" %}`{% endraw %}. To link to sections on a page, you will need to use regular HTML or Markdown linking techniques. ### Linking to posts diff --git a/docs/_docs/maintaining/merging-a-pull-request.md b/docs/_docs/maintaining/merging-a-pull-request.md index 0403d05a..34fa1fec 100644 --- a/docs/_docs/maintaining/merging-a-pull-request.md +++ b/docs/_docs/maintaining/merging-a-pull-request.md @@ -20,7 +20,7 @@ We have [a helpful little bot](https://github.com/jekyllbot) which we use to mer To merge a pull request, leave a comment thanking the contributor, then add the special merge request: -```text +``` Thank you very much for your contribution. Folks like you make this project and community strong. :heart: @jekyllbot: merge +dev diff --git a/docs/_docs/pages.md b/docs/_docs/pages.md index fb4bce83..98b21b7d 100644 --- a/docs/_docs/pages.md +++ b/docs/_docs/pages.md @@ -13,7 +13,7 @@ a `.md` extension which converts to HTML on build. For a site with a homepage, an about page, and a contact page, here’s what the root directory and associated URLs might look like: -```sh +``` . |-- about.md # => http://example.com/about.html |-- index.html # => http://example.com/ @@ -22,7 +22,7 @@ and associated URLs might look like: If you have a lot of pages, you can organize them into subfolders. The same subfolders that are used to group your pages in your project's source will then exist in the `_site` folder when your site builds. However, when a page has a *different* permalink set in the front matter, the subfolder at `_site` changes accordingly. -```sh +``` . |-- about.md # => http://example.com/about.html |-- documentation # folder containing pages diff --git a/docs/_docs/permalinks.md b/docs/_docs/permalinks.md index 24e98c13..6ab7994b 100644 --- a/docs/_docs/permalinks.md +++ b/docs/_docs/permalinks.md @@ -16,7 +16,7 @@ For example, you might have a page on your site located at `/my_pages/about-me.html` and you want the output url to be `/about/`. In front matter of the page you would set: -``` +```yaml --- permalink: /about/ --- @@ -46,7 +46,6 @@ For example, a permalink style of Here's the full list of placeholders available: -
diff --git a/docs/_docs/plugins/installation.md b/docs/_docs/plugins/installation.md index ad2bcdd5..02e7b628 100644 --- a/docs/_docs/plugins/installation.md +++ b/docs/_docs/plugins/installation.md @@ -27,12 +27,12 @@ You have 3 options for installing plugins: example: ```ruby - group :jekyll_plugins do - gem "jekyll-gist" - gem "jekyll-coffeescript" - gem "jekyll-assets" - gem "another-jekyll-plugin" - end + group :jekyll_plugins do + gem "jekyll-gist" + gem "jekyll-coffeescript" + gem "jekyll-assets" + gem "another-jekyll-plugin" + end ``` Now you need to install all plugins from your Bundler group by running single command `bundle install`. diff --git a/docs/_docs/plugins/tags.md b/docs/_docs/plugins/tags.md index a5a3af57..fff0a45f 100644 --- a/docs/_docs/plugins/tags.md +++ b/docs/_docs/plugins/tags.md @@ -60,7 +60,7 @@ In the example above, we can place the following tag anywhere in one of our pages: {% raw %} -```ruby +```liquid

{% render_time page rendered at: %}

``` {% endraw %} @@ -73,7 +73,7 @@ And we would get something like this on the page: ## Tag Blocks -The `render_time` tag seen above can also be rewritten as a tag block by +The `render_time` tag seen above can also be rewritten as a tag block by inheriting the `Liquid::Block` class. Look at the example below: ```ruby @@ -108,8 +108,8 @@ And we would still get the same output as above on the page: ```
-

In the above example, the tag block and the tag are both registered with - the name render_time but to register a tag and a tag block using - the same name in the same project is not recommended as this may lead to +

In the above example, the tag block and the tag are both registered with + the name render_time but to register a tag and a tag block using + the same name in the same project is not recommended as this may lead to conflicts.

-
\ No newline at end of file + diff --git a/docs/_docs/posts.md b/docs/_docs/posts.md index 9274ecd3..6fff5a08 100644 --- a/docs/_docs/posts.md +++ b/docs/_docs/posts.md @@ -58,8 +58,6 @@ I hope you like it!

- -
Be aware of character sets

@@ -102,7 +100,7 @@ Creating an index of posts on another page should be easy thanks to simple example of how to create a list of links to your blog posts: {% raw %} -```html +```liquid

``` +{% endraw %} Create a file called `blog.md` in your root directory and specify the `home` layout: -``` +```yaml --- title: Blog layout: home --- ``` -In this case, contents of `blog.md` will be pushed into the `{% raw %}{{ content }}{% endraw %}` tag in the `home` layout. Then the `home` layout will be pushed into the `{% raw %}{{ content }}{% endraw %}` tag of the `default` layout. - +In this case, contents of `blog.md` will be pushed into the {% raw %}`{{ content }}`{% endraw %} tag in the `home` layout. Then the `home` layout will be pushed into the {% raw %}`{{ content }}`{% endraw %} tag of the `default` layout. ### How layouts work -When a layout specifies another layout, it means the content of the first layout will be stuffed into the `{% raw %}{{ content }}{% endraw %}` tag of the second layout. As an analogy, think of Russian dolls that fit into each other. Each layout fits into another layout that it specifies. +When a layout specifies another layout, it means the content of the first layout will be stuffed into the {% raw %}`{{ content }}`{% endraw %} tag of the second layout. As an analogy, think of Russian dolls that fit into each other. Each layout fits into another layout that it specifies. The following diagram shows how layouts work in Jekyll: Concept of Jekyll layouts {: .image-description} -In this example, the content from a Markdown document `document.md` that specifies `layout: docs` gets pushed into the `{% raw %}{{ content }}{% endraw %}` tag of the layout file `docs.html`. Because the `docs` layout itself specifies `layout: page`, the content from `docs.html` gets pushed into the `{% raw %}{{ content }}{% endraw %}` tag in the layout file `page.html`. Finally because the `page` layout specifies `layout: default`, the content from `page.html` gets pushed into the `{% raw %}{{ content }}{% endraw %}` tag of the layout file `default.html`. +In this example, the content from a Markdown document `document.md` that specifies `layout: docs` gets pushed into the {% raw %}`{{ content }}`{% endraw %} tag of the layout file `docs.html`. Because the `docs` layout itself specifies `layout: page`, the content from `docs.html` gets pushed into the {% raw %}`{{ content }}`{% endraw %} tag in the layout file `page.html`. Finally because the `page` layout specifies `layout: default`, the content from `page.html` gets pushed into the {% raw %}`{{ content }}`{% endraw %} tag of the layout file `default.html`. You don't need multiple layouts. You could just use one: `default`. You have options for how you design your site. In general, it's common to define one layout for pages and another layout for posts, but for both of these layouts to inherit the `default` template (which usually defines the top and bottom parts of the site). @@ -302,7 +317,7 @@ In your browser, go to `blog.html` and see the list of posts. Note that you don't have to use the method described here. You could have simply added the `for` loop to any page, such as `index.md`, to display these posts. But given that you may have more complex logic for other features, it can be helpful to store your logic in templates separate from the page area where you frequently type your content. {: .note .info} -At minimum, a layout should contain `{% raw %}{{ content }}{% endraw %}`, which acts as a receiver for the *content* to be rendered. +At minimum, a layout should contain {% raw %}`{{ content }}`{% endraw %}, which acts as a receiver for the *content* to be rendered. ### For loops @@ -310,15 +325,17 @@ By the way, let's pause here to look at the `for` loop logic a little more close We've only scratched the surface of what you can do with `for` loops in retrieving posts. For example, if you wanted to display posts from a specific category, you could do so by adding a `categories` property to your post's front matter and then look in those categories. Further, you could limit the number of results by adding a `limit` property. Here's an example: +{% raw %} ```liquid -{% raw %} ``` +{% endraw %} This loop would get the latest three posts that have a category called `podcasts` in the front matter. @@ -330,18 +347,20 @@ In this tutorial, we'll assume you've got a simple list of pages you want to gen Identify the part of your code where the list of pages appears. Usually this is a `