Bridgetown Sitemap Generator Plugin
Bridgetown plugin to silently generate a sitemaps.org compliant sitemap for your Bridgetown site
Usage
- Install the plugin with the following command:
bundle add bridgetown-sitemap
- Add the following to your site's
config/initializers.rb
:
Bridgetown.configure do |config|
config.url = "https://example.com" # the base hostname & protocol for your site
init :"bridgetown-sitemap"
end
<lastmod>
tag
The <lastmod>
tag in the sitemap.xml
will reflect by priority:
- A personalised date if you add the variable
last_modified_at:
with a date in the Front Matter. (Dates need to be formatted as%Y-%m-%d %H:%M:%S %z
) - The modified date of the file as reported by
git log
.
<priority>
and <changefreq>
tag
You can optionally specify a priority and change frequency for each page in your site by adding the following to the Front Matter of each page:
sitemap_priority: 0.7
sitemap_change_frequency: weekly
This will add the following to the <url>
tag in the sitemap.xml
:
<priority>0.7</priority>
<changefreq>weekly</changefreq>
Exclusions
If you would like to exclude specific pages from the sitemap set the
sitemap flag to false
in the front matter for the page.
sitemap: false
To exclude multiple files, add a glob config to your config/initializers.rb
file.
Bridgetown.configure do |config|
# ...
config.defaults << {
"scope" => { "path" => "assets/**/*.pdf" },
"values" => { "sitemap" => false }
}
end
Testing
- Run
bundle exec rake test
to run the test suite - Or run
script/cibuild
to validate with Rubocop and run tests together.
Contributing
- Fork it (https://github.com/ayushn21/bridgetown-sitemap/fork)
- Clone the fork using
git clone
to your local development machine. - Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
License
Bridgetown Sitemap is released under the MIT License.
Copyright © 2023 Ayush Newatia