Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/skatkov/jekyll-news-sitemap
Your friendly gem to produce Google News sitemap compatible xml file
https://github.com/skatkov/jekyll-news-sitemap
google-news-sitemap jekyll-plugin ruby sitemap
Last synced: 5 days ago
JSON representation
Your friendly gem to produce Google News sitemap compatible xml file
- Host: GitHub
- URL: https://github.com/skatkov/jekyll-news-sitemap
- Owner: skatkov
- License: mit
- Archived: true
- Created: 2020-03-31T22:23:24.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-08-08T09:18:27.000Z (over 4 years ago)
- Last Synced: 2024-05-01T21:44:13.745Z (7 months ago)
- Topics: google-news-sitemap, jekyll-plugin, ruby, sitemap
- Language: Ruby
- Homepage:
- Size: 149 KB
- Stars: 5
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-jekyll-plugins - **Jekyll::NewsSitemap** - news-sitemap](https://rubygems.org/gems/jekyll-news-sitemap)) -- Jekyll plugin to silently generate Google News Sitemap based on posts **#Official** **#GitHub Pages** **Archived** (Search Engine Optimization (SEO) & Redirects)
README
# Jekyll::NewsSitemap
*Jekyll plugin to silently generate Google News Sitemap based on posts*
More info on Google News Sitemap could be found here:
https://support.google.com/news/publisher-center/answer/9606710?hl=en&ref_topic=9606468This gem was heavily infuenced by jekyll-sitemap.
## Usage1. Add `gem 'jekyll-news-sitemap'` to your site's Gemfile and run `bundle`
2. Add the following to your site's `_config.yml`:```yml
url: "https://example.com" # the base hostname & protocol for your site
publisher: "The Example Times"
plugins:
- jekyll-news-sitemap
```💡 If you are using a Jekyll version less than 3.5.0, use the `gems` key instead of `plugins`.
If all gem plugins have the same `priority`, they will be executed in the
order they are required, generally. Thus, if you have other plugins which
generate content and store that content in `site.pages`, `site.posts`, or
`site.collections`, be sure to require `jekyll-news-sitemap` either *after*
those other gems if you *want* the sitemap to include the generated
content, or *before* those other gems if you *don't want* the sitemap to
include the generated content from the gems. (Programming is *hard*.)Because the sitemap is added to `site.pages`, you may have to modify any
templates that iterate through all pages (for example, to build a menu of
all of the site's content).## Note on Use with GitHub Pages Gem
The GitHub Pages gem ignores all plugins included in the Gemfile. If you only include `jekyll-news-sitemap` in the Gemfile without also including it in the `_config.yml` *the plugin will not work*. This can be confusing because the official Jekyll docs state that plugins can be included in either the Gemfile or `_config.yml`.When building a site that uses the GitHub Pages gem, follow the instructions above and ensure that `jekyll-news-sitemap` is listed in the `plugins` array in `_config.yml`.
:warning: If you are using Jekyll < 3.5.0 use the `gems` key instead of `plugins`.
## Exclusions
If you would like to exclude specific pages/posts from the sitemap set the
sitemap flag to `false` in the front matter for the page/post.```yml
sitemap: false
```To exclude files from your sitemap. It can be achieved with configuration using [Jekyll v3.7.2 and jekyll-sitemap v1.2.0](https://github.com/jekyll/jekyll/commit/776433109b96cb644938ffbf9caf4923bdde4d7f).
Add a glob config to your `_config.yml` file.
```yml
defaults:
-
scope:
path: "assets/**/*.pdf"
values:
sitemap: false
```## Override default development settings
[Follow these instructions on Jekyll's documentation](https://jekyllrb.com/docs/usage/#override-default-development-settings).
## Developing locally
* Use `script/bootstrap` to bootstrap your local development environment.
* Use `script/console` to load a local IRB console with the Gem.## Testing
1. `script/bootstrap`
2. `script/cibuild`## Contributing
1. Fork the project
2. Create a descriptively named feature branch
3. Add your feature
4. Submit a pull request