Module: Jekyll::CustomFilters
- Includes:
- Filters::URLFilters, Liquid::StandardFilters
- Defined in:
- lib/custom_filters.rb
Instance Method Summary collapse
- #find(input, property, targetValue = nil) ⇒ Object
- #is_active?(pageHash, children = nil) ⇒ Boolean
- #previous_and_next(pageHash, nav) ⇒ Object
- #url_without_ext(pageHash) ⇒ Object
Instance Method Details
#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 |
#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 |
#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 |