agnostic_slugs
agnostic_slugs is a simple slug generator that is agnostic.
What it can:
- Generate slugs
What it can not:
- Integrate with ActiveRecord, Mongoid or any other ORM
- Integrate with Rails or any other framework
- Monkey-patch the
String
class
Status
Installation
Add this line to your application's Gemfile:
gem 'agnostic_slugs'
Usage
It makes a slug suitable for URLs:
slug = AgnosticSlugs::Slug.new("Look at my pretty new shoes! :)")
slug.to_s # => "look-at-my-pretty-new-shoes"
It expands foreign chars. Example in Danish:
slug = AgnosticSlugs::Slug.new("Ræven spiser rønnebær")
slug.to_s # => "raeven-spiser-roennebaer"
Find #next
slug:
slug = AgnosticSlugs::Slug.new("Hello")
slug.to_s # => "hello"
slug.next.to_s # => "hello-2"
Or .step
through slugs to find a unique slug using your own business logic:
AgnosticSlugs::Slug.step("Hello world") do |slug|
my_repo.slug_unique?(slug)
end
# => "hello-world-7"
Contributing
- Fork it ( https://github.com/lasseebert/agnostic_slugs/fork )
- 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