Git Product home page Git Product logo

solidus_sitemap's Introduction

Solidus Sitemap

Build Status

Solidus Sitemap is a sitemap generator based on the sitemap_generator gem. It adheres to the Sitemap 0.9 protocol specification.

Capabilities

  • Adheres to the 0.9 Sitemap protocol specification
  • Notifies search engines of new sitemap versions
  • Supports large product catalogs
  • Compresses sitemaps with gzip
  • Allows you to easily add additional sitemaps for custom pages in your site
  • Supports Amazon S3 and other hosting services

Installation

First of all, add the gem to your store's Gemfile:

gem 'solidus_sitemap', github: 'solidusio-contrib/solidus_sitemap'

Bundle your dependencies:

$ bundle install

Run the installer, which will create a config/sitemap.rb file with some sane defaults:

$ rails g solidus_sitemap:install

Set up a cron job to regenerate your sitemap via the rake sitemap:refresh task. If you use the Whenever gem, add this to your config/schedule.rb:

every 1.day, at: '5:00 am' do
 rake '-s sitemap:refresh'
end

Ensure crawlers can find the sitemap by adding the following line to your public/robots.txt with your own domain:

$ echo "Sitemap: http://www.example.com/sitemap.xml.gz" >> public/robots.txt

Upgrading

If you're upgrading from early versions of solidus_sitemap, you need to change your sitemaps from this:

SitemapGenerator::Sitemap.add_links do
  # ...
end

To this:

SitemapGenerator::Sitemap.create do
  # ...
end

Configuration

Check out the readme of the sitemap_generator gem.

Contributing

Releasing new versions

1. Bump gem version and push to RubyGems

We use gem-release to release this extension with ease.

Supposing you are on the master branch and you are working on a fork of this extension, upstream is the main remote and you have write access to it, you can simply run:

gem bump --version minor --tag --release

This command will:

  • bump the gem version to the next minor (changing the version.rb file)
  • commit the change and push it to upstream master
  • create a git tag
  • push the tag to the upstream remote
  • release the new version on RubyGems

Or you can run these commands individually:

gem bump --version minor
gem tag
gem release

2. Publish the updated CHANGELOG

After the release is done we can generate the updated CHANGELOG using github-changelog-generator by running the following command:

bundle exec github_changelog_generator solidusio/solidus_sitemap --token YOUR_GITHUB_TOKEN
git commit -am 'Update CHANGELOG'
git push upstream master

Acknowledgements

License

Nebulab

Copyright (c) 2019 Nebulab.

Copyright (c) 2016-2018 Stembolt.

Copyright (c) 2011-2015 Jeff Dutil and other contributors, released under the New BSD License.

solidus_sitemap's People

Contributors

aitbw avatar aldesantis avatar alexblackie avatar alistairnorman avatar berkes avatar chriscarpenter12 avatar cyu avatar damianlegawiec avatar dependabot-preview[bot] avatar ericsaupe avatar filippoliverani avatar frankiek3 avatar futhr avatar iloveitaly avatar jackkinsella avatar jdutil avatar jhawthorn avatar joshnuss avatar kennyadsl avatar manmartinez avatar minasmazar avatar odk211 avatar ravbaker avatar rterbush avatar spaghetticode avatar thogg4 avatar waiting-for-dev avatar zecke avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

solidus_sitemap's Issues

Dependabot can't resolve your Ruby dependency files

Dependabot can't resolve your Ruby dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Bundler::VersionConflict with message: Bundler found conflicting requirements for the Ruby version:
  In Gemfile:
    Ruby (~> 2.4.10.0)

    rails (> 0.a) was resolved to 6.1.4, which depends on
      Ruby (>= 2.5.0)

Bundler could not find compatible versions for gem "solidus_core":
  In Gemfile:
    solidus was resolved to 3.1.0.alpha, which depends on
      solidus_core (= 3.1.0.alpha)

    solidus_auth_devise was resolved to 2.3.0, which depends on
      solidus_core (>= 1.2.0, < 3)

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Ruby dependency files

Dependabot can't resolve your Ruby dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Bundler::GemNotFound with message: Could not find gem 'solidus_extension_dev_tools' in git://github.com/solidusio-contrib/solidus_extension_dev_tools.git (at master@5b33a25).
The source does not contain any versions of 'solidus_extension_dev_tools'

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Ruby dependency files

Dependabot can't resolve your Ruby dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Bundler::GemNotFound with message: Could not find gem 'solidus_extension_dev_tools' in git://github.com/solidusio-contrib/solidus_extension_dev_tools.git (at master@042f10b).
The source does not contain any versions of 'solidus_extension_dev_tools'

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Ruby dependency files

Dependabot can't resolve your Ruby dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Bundler::GemNotFound with message: Could not find gem 'solidus_extension_dev_tools' in git://github.com/solidusio-contrib/solidus_extension_dev_tools.git (at master@7c47ece).
The source does not contain any versions of 'solidus_extension_dev_tools'

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Ruby dependency files

Dependabot can't resolve your Ruby dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Bundler::VersionConflict with message: Bundler found conflicting requirements for the Ruby version:
  In Gemfile:
    Ruby (~> 2.4.10.0)

    solidus_dev_support was resolved to 1.5.0, which depends on
      capybara (~> 3.29) was resolved to 3.32.2, which depends on
        nokogiri (~> 1.8) was resolved to 1.11.3, which depends on
          Ruby (>= 2.5.0)

Bundler could not find compatible versions for gem "solidus_core":
  In Gemfile:
    solidus was resolved to 3.1.0.alpha, which depends on
      solidus_core (= 3.1.0.alpha)

    solidus_auth_devise was resolved to 2.3.0, which depends on
      solidus_core (>= 1.2.0, < 3)

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Ruby dependency files

Dependabot can't resolve your Ruby dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Bundler::VersionConflict with message: Bundler found conflicting requirements for the Ruby version:
  In Gemfile:
    Ruby (~> 2.4.10.0)

    solidus_dev_support was resolved to 1.5.0, which depends on
      capybara (~> 3.29) was resolved to 3.32.2, which depends on
        nokogiri (~> 1.8) was resolved to 1.11.3, which depends on
          Ruby (>= 2.5.0)

Bundler could not find compatible versions for gem "solidus_core":
  In Gemfile:
    solidus was resolved to 3.1.0.alpha, which depends on
      solidus_core (= 3.1.0.alpha)

    solidus_sitemap was resolved to 0.0.1, which depends on
      solidus_core (>= 2.0.0, < 3)

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Ruby dependency files

Dependabot can't resolve your Ruby dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Bundler::GemNotFound with message: Could not find gem 'solidus_extension_dev_tools' in git://github.com/solidusio-contrib/solidus_extension_dev_tools.git (at master@fe57891).
The source does not contain any versions of 'solidus_extension_dev_tools'

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

ActionController::UrlGenerationError: No route matches

Hi,

I'm using

  • ruby "2.7.3"
  • rails "7.0.4"and
  • solidus_sitemap , revision: 7c69f64

i try to generate a sitemap but i get an error "No route matches" when it executes "add_products" or "add_taxons" methods.

Here is the log

$ rake sitemap:create
..
rake aborted!
ActionController::UrlGenerationError: No route matches {:action=>"index", :controller=>"products"}
/Users/redabenh/.rvm/gems/ruby-2.7.3/gems/actionpack-7.0.4/lib/action_dispatch/journey/formatter.rb:44:in `path'
/Users/redabenh/.rvm/gems/ruby-2.7.3/gems/actionpack-7.0.4/lib/action_dispatch/routing/route_set.rb:824:in `url_for'
/Users/redabenh/.rvm/gems/ruby-2.7.3/gems/actionpack-7.0.4/lib/action_dispatch/routing/route_set.rb:271:in `call'
/Users/redabenh/.rvm/gems/ruby-2.7.3/gems/actionpack-7.0.4/lib/action_dispatch/routing/route_set.rb:214:in `call'
/Users/redabenh/.rvm/gems/ruby-2.7.3/gems/actionpack-7.0.4/lib/action_dispatch/routing/route_set.rb:327:in `block in define_url_helper'
/Users/redabenh/.rvm/gems/ruby-2.7.3/bundler/gems/solidus_sitemap-7c69f647ff0a/lib/solidus_sitemap/solidus_defaults.rb:30:in `add_products'
/Users/redabenh/git/paranor/config/sitemap.rb:63:in `block in run'
/Users/redabenh/.rvm/gems/ruby-2.7.3/gems/sitemap_generator-6.3.0/lib/sitemap_generator/interpreter.rb:61:in `instance_eval'
/Users/redabenh/.rvm/gems/ruby-2.7.3/gems/sitemap_generator-6.3.0/lib/sitemap_generator/interpreter.rb:61:in `eval'
/Users/redabenh/.rvm/gems/ruby-2.7.3/gems/sitemap_generator-6.3.0/lib/sitemap_generator/link_set.rb:40:in `create'
/Users/redabenh/.rvm/gems/ruby-2.7.3/gems/sitemap_generator-6.3.0/lib/sitemap_generator.rb:42:in `method_missing'
/Users/redabenh/git/paranor/config/sitemap.rb:34:in `run'
/Users/redabenh/.rvm/gems/ruby-2.7.3/gems/sitemap_generator-6.3.0/lib/sitemap_generator/interpreter.rb:78:in `instance_eval'
/Users/redabenh/.rvm/gems/ruby-2.7.3/gems/sitemap_generator-6.3.0/lib/sitemap_generator/interpreter.rb:78:in `run'
/Users/redabenh/.rvm/gems/ruby-2.7.3/gems/sitemap_generator-6.3.0/lib/sitemap_generator/tasks.rb:51:in `block (2 levels) in <main>'
/Users/redabenh/.rvm/gems/ruby-2.7.3/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/Users/redabenh/.rvm/gems/ruby-2.7.3/bin/ruby_executable_hooks:22:in `eval'
/Users/redabenh/.rvm/gems/ruby-2.7.3/bin/ruby_executable_hooks:22:in `<main>'
Tasks: TOP => sitemap:create
(See full trace by running task with --trace)



The routes are correctly accessible

$ rails routes
...
      Prefix Verb   URI Pattern                                                                                       Controller#Action
                                    root GET    /                                                                                                 home#index
                                products GET    /products(.:format)                                                                               products#index
                                 product GET    /products/:id(.:format)                                                                           products#show
                         cart_line_items POST   /cart_line_items(.:format)                                                                        cart_line_items#create
                              locale_set GET    /locale/set(.:format)                                                                             locale#set
                           select_locale POST   /locale/set(.:format)                                                                             locale#set
...


Any suggestion how to fix this error ?

Thanks

Dependabot can't resolve your Ruby dependency files

Dependabot can't resolve your Ruby dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Bundler::VersionConflict with message: Bundler could not find compatible versions for gem "codecov":
  In Gemfile:
    solidus_dev_support was resolved to 1.5.0, which depends on
      codecov (~> 0.1.16)

Could not find gem 'codecov (~> 0.1.16)', which is required by gem 'solidus_dev_support', in any of the sources.

Bundler could not find compatible versions for gem "rubocop":
  In Gemfile:
    solidus_dev_support was resolved to 1.5.0, which depends on
      rubocop-performance (~> 1.5) was resolved to 1.6.1, which depends on
        rubocop (>= 0.71.0)

    solidus_dev_support was resolved to 1.5.0, which depends on
      rubocop-rspec (~> 1.36) was resolved to 1.41.0, which depends on
        rubocop (>= 0.68.1)

    solidus_dev_support was resolved to 1.5.0, which depends on
      rubocop (~> 0.76.0)

Bundler could not find compatible versions for gem "solidus_core":
  In Gemfile:
    solidus was resolved to 2.11.0.alpha, which depends on
      solidus_core (= 2.11.0.alpha)

    solidus_auth_devise was resolved to 2.4.0, which depends on
      solidus_core (>= 2.6, < 3)

    solidus_sitemap was resolved to 0.0.1, which depends on
      solidus_core (>= 2.0.0, < 3)

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Ruby dependency files

Dependabot can't resolve your Ruby dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Bundler::GemNotFound with message: Could not find gem 'solidus_extension_dev_tools' in git://github.com/solidusio-contrib/solidus_extension_dev_tools.git (at master@8140198).
The source does not contain any versions of 'solidus_extension_dev_tools'

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Ruby dependency files

Dependabot can't resolve your Ruby dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Bundler::GemNotFound with message: Could not find gem 'solidus_extension_dev_tools' in git://github.com/solidusio-contrib/solidus_extension_dev_tools.git (at master@27a4e38).
The source does not contain any versions of 'solidus_extension_dev_tools'

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Ruby dependency files

Dependabot can't resolve your Ruby dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Bundler::VersionConflict with message: Bundler could not find compatible versions for gem "codecov":
  In Gemfile:
    solidus_dev_support was resolved to 1.5.0, which depends on
      codecov (~> 0.1.16)

Could not find gem 'codecov (~> 0.1.16)', which is required by gem 'solidus_dev_support', in any of the sources.

Bundler could not find compatible versions for gem "rubocop":
  In Gemfile:
    solidus_dev_support was resolved to 1.5.0, which depends on
      rubocop-rspec (~> 1.36) was resolved to 1.41.0, which depends on
        rubocop (>= 0.68.1)

    solidus_dev_support was resolved to 1.5.0, which depends on
      rubocop (~> 0.76.0)

Bundler could not find compatible versions for gem "solidus_core":
  In Gemfile:
    solidus was resolved to 2.11.0.alpha, which depends on
      solidus_core (= 2.11.0.alpha)

    solidus_auth_devise was resolved to 2.4.0, which depends on
      solidus_core (>= 2.6, < 3)

    solidus_sitemap was resolved to 0.0.1, which depends on
      solidus_core (>= 2.0.0, < 3)

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Dependabot can't resolve your Ruby dependency files

Dependabot can't resolve your Ruby dependency files.

As a result, Dependabot couldn't update your dependencies.

The error Dependabot encountered was:

Bundler::VersionConflict with message: Bundler found conflicting requirements for the Ruby version:
  In Gemfile:
    Ruby (~> 2.4.10.0)

    rails (> 0.a) was resolved to 6.1.3.2, which depends on
      Ruby (>= 2.5.0)

Bundler could not find compatible versions for gem "solidus_core":
  In Gemfile:
    solidus was resolved to 3.1.0.alpha, which depends on
      solidus_core (= 3.1.0.alpha)

    solidus_auth_devise was resolved to 2.3.0, which depends on
      solidus_core (>= 1.2.0, < 3)

If you think the above is an error on Dependabot's side please don't hesitate to get in touch - we'll do whatever we can to fix it.

View the update logs.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.