Module: Jekyll::Documents::Filters
- Defined in:
- lib/jekyll/documents/filters.rb
Constant Summary collapse
- DANISH_MAP =
{ "æ" => "ae", "ø" => "oe", "å" => "aa", "Æ" => "Ae", "Ø" => "Oe", "Å" => "Aa" }.freeze
Instance Method Summary collapse
-
#documents_slugify(input, downcase: true, danish_map: true) ⇒ Object
Slugify while handling Danish letters and basic punctuation cleanup.
-
#documents_title_from_filename(basename) ⇒ Object
Title from filename e.g.
Instance Method Details
#documents_slugify(input, downcase: true, danish_map: true) ⇒ Object
Slugify while handling Danish letters and basic punctuation cleanup.
12 13 14 15 16 17 18 19 20 |
# File 'lib/jekyll/documents/filters.rb', line 12 def documents_slugify(input, downcase: true, danish_map: true) result = input.to_s.dup result = result.gsub(/[æøåÆØÅ]/) { |ch| DANISH_MAP[ch] } if danish_map result = result.strip.gsub(/[^\p{Alnum}\-_\s]/u, "") result = result.tr(" ", "-").squeeze("-") result = result.gsub(/[æøåÆØÅ]/, "") unless danish_map result = result.downcase if downcase result end |
#documents_title_from_filename(basename) ⇒ Object
Title from filename e.g. "2026-03-01_Title_Here" -> "Title Here"
23 24 25 26 27 28 29 30 |
# File 'lib/jekyll/documents/filters.rb', line 23 def documents_title_from_filename(basename) basename = basename.to_s if basename =~ /^\d{4}-\d{2}-\d{2}_(.+)$/ Regexp.last_match(1).tr("_", " ") else basename.tr("_", " ") end end |