Module: Jekyll::CustomFilters
- Includes:
- Filters::URLFilters, Liquid::StandardFilters
- Defined in:
- lib/custom_filters.rb
Instance Method Summary collapse
- #chunked(input, size) ⇒ Object
- #find(input, property, targetValue = nil) ⇒ Object
- #is_active?(pageHash, children = nil) ⇒ Boolean
- #prefix(input, prefix) ⇒ Object
- #previous_and_next(pageHash, nav) ⇒ Object
- #strip_empty_html(input) ⇒ Object
- #suffix(input, suffix) ⇒ Object
- #url_without_ext(pageHash) ⇒ Object
Instance Method Details
#chunked(input, size) ⇒ Object
62 63 64 65 66 67 68 69 |
# File 'lib/custom_filters.rb', line 62 def chunked(input, size) size = Liquid::Utils.to_integer(size) if input.is_a? Array input.each_slice(size).to_a else input.to_s.scan(/.{1,#{size}}/m) end end |
#find(input, property, targetValue = nil) ⇒ Object
15 16 17 |
# File 'lib/custom_filters.rb', line 15 def find(input, property, targetValue = nil) first(where(input, property, targetValue)) end |
#is_active?(pageHash, children = nil) ⇒ Boolean
8 9 10 11 12 13 |
# File 'lib/custom_filters.rb', line 8 def is_active?(pageHash, children = nil) page = pageFromHash(pageHash) return true if page.equal? currentPage isActiveRecursion? children end |
#prefix(input, prefix) ⇒ Object
53 54 55 |
# File 'lib/custom_filters.rb', line 53 def prefix(input, prefix) prefix.to_s + input.to_s if input end |
#previous_and_next(pageHash, nav) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/custom_filters.rb', line 19 def previous_and_next(pageHash, nav) result = {'previous' => nil, 'next' => nil} page = pageFromHash(pageHash) indexPage = pageFromHash(nav, 'index_path') if page.equal? indexPage result['next'] = pageFromHash(nav['menu'].first) return result end flattenedMenu = flattenMenu(nav['menu']) for i in 0...flattenedMenu.count pageI = flattenedMenu[i] if page.equal? pageI result['previous'] = i == 0 ? indexPage : flattenedMenu[i - 1] result['next'] = flattenedMenu[i + 1] unless i == flattenedMenu.count - 1 return result end end result end |
#strip_empty_html(input) ⇒ Object
72 73 74 |
# File 'lib/custom_filters.rb', line 72 def strip_empty_html(input) input.gsub(/<([^\/>][^>]*)><\/\1>/, '') end |
#suffix(input, suffix) ⇒ Object
57 58 59 |
# File 'lib/custom_filters.rb', line 57 def suffix(input, suffix) input.to_s + suffix.to_s if input end |
#url_without_ext(pageHash) ⇒ Object
45 46 47 48 49 50 |
# File 'lib/custom_filters.rb', line 45 def url_without_ext(pageHash) page = pageFromHash(pageHash) url = absolute_url(page.url) return url.sub /\.x?html?$/, '' end |