diff --git a/docs/configuration.md b/docs/configuration.md index f99ff64..ee66a91 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -8,6 +8,7 @@ Archives configuration is done in the site's `_config.yml` file, under the `jeky jekyll-archives: enabled: [] layout: 'archive' + slug: nil permalinks: year: '/:year/' month: '/:year/:month/' @@ -93,6 +94,22 @@ layouts: --- +#### Slugs +| Key | Value type | Values | +|--------|------------|------------------------------------------------------------------------------------------------------| +| `slug` | String | A [mode for slugifying](https://www.rubydoc.info/github/jekyll/jekyll/Jekyll%2FUtils:slugify) titles | + +##### Description + +Specifies the mode to pass to `Jekyll::Utils.slugify` + +##### Sample values +```yml +slug: none|raw|default|pretty|ascii|latin +``` + +--- + #### Permalinks | Key | Value type | Values | diff --git a/lib/jekyll-archives/archive.rb b/lib/jekyll-archives/archive.rb index b5f9492..b0645b6 100644 --- a/lib/jekyll-archives/archive.rb +++ b/lib/jekyll-archives/archive.rb @@ -15,6 +15,7 @@ class Archive < Jekyll::Page path url permalink + slug ).freeze # Initialize a new Archive page @@ -33,7 +34,7 @@ def initialize(site, title, type, posts) # Generate slug if tag or category # (taken from jekyll/jekyll/features/support/env.rb) - @slug = Utils.slugify(title) if title.is_a? String + @slug = Utils.slugify(title, mode: @config.dig('slug')) if title.is_a? String # Use ".html" for file extension and url for path @ext = File.extname(relative_path)