-
Notifications
You must be signed in to change notification settings - Fork 1
Plugins & Site Components
Jekyll works with plugins that handle things like Caching, Sitemaps, SEO, Redirection, etc.
GitHub Pages restricts what plugins it will allow to run. While you can run other plugins locally, their effects might not show up on GH Pages - so it's best to stick with what's on the Approved list. I've made an exception for the jekyll-admin plugin.
GitHub Pages Default Plugins:
jekyll-coffeescriptjekyll-gistjekyll-github-metadatajekyll-paginatejekyll-relative-linksjekyll-optional-front-matterjekyll-readme-indexjekyll-default-layoutjekyll-titles-from-headings
GitHub Pages Optional Plugins:
jekyll-feedjekyll-redirect-fromjekyll-seo-tagjekyll-sitemapjekyll-avatarjemojijekyll-mentionsjekyll-include-cache
FOr local development, you might not want to have all the plugins running, as they may slow things down. Example: there's no reason you'd need jekyll-feed or jekyll-seo-tag off. A good way to deal with this is to have an untracked secondary config file (see Using Git).
I'd recommend setting your local plugins in _config_local.yml to the following:
plugins:
- github-pages
- jekyll-admin
- jekyll-include-cache
# - jekyll-feed
- jekyll-redirect-from
# - jekyll-seo-tag
# - jekyll-sitemap
- jekyll-titles-from-headingsWhile plugins are super useful for most things, sometimes a plugin-less solution ends up being better. For example, the Search Bar was implemented using Simple Jekyll Search
Here are links to the Plugins' documentation pages
- https://github.com/jekyll/jekyll-admin
- https://github.com/jekyll/jekyll-feed
- https://github.com/benbalter/jekyll-include-cache
- https://github.com/jekyll/jekyll-redirect-from
- https://github.com/jekyll/jekyll-seo-tag
- https://github.com/jekyll/jekyll-sitemap
- https://github.com/benbalter/jekyll-titles-from-headings
See jekyll-seo-tag - Basic Usage , as well as jekyll-seo-tag - Advanced Usage for more info
The SEO tag will respect the following YAML front matter if included in a post, page, or document:
-
title- The title of the post, page, or document -
description- A short description of the page's content -
image- URL to an image associated with the post, page, or document (e.g., /assets/page-pic.jpg) -
author- Page-, post-, or document-specific author information (see Advanced usage) -
lang- Page-, post-, or document-specific language information
Note: Front matter defaults can be used for any of the above values as described in advanced usage with an image example.
A script that lets you use only unprefixed CSS properties everywhere. It works behind the scenes, adding the current browser’s prefix to any CSS code, only when it’s needed.
Including it is as simple as adding a line of code to _includes/head.html
<!-- _includes/head.html - no more CSS Prefixing!! -->
<script src="{{ "/scripts/prefixfree.min.js" | relative_url }}" type="text/javascript" charset="utf-8" async></script>See Github - prefix-free docs for more info.