|
|
|
@ -1,13 +1,35 @@
|
|
|
|
|
module Docs
|
|
|
|
|
class Jekyll
|
|
|
|
|
class EntriesFilter < Docs::EntriesFilter
|
|
|
|
|
# Information for which high-level category a page belongs to only exists
|
|
|
|
|
# on the first level hierarchy. Beyond that, we have to use slug.
|
|
|
|
|
TYPE_BY_DIR = {
|
|
|
|
|
'installation' => 'Getting Started',
|
|
|
|
|
'community' => 'Getting Started',
|
|
|
|
|
|
|
|
|
|
'usage' => 'Build',
|
|
|
|
|
'configuration' => 'Build',
|
|
|
|
|
'rendering-process' => 'Build',
|
|
|
|
|
|
|
|
|
|
'liquid' => 'Site Structure',
|
|
|
|
|
|
|
|
|
|
'plugins' => 'Guides',
|
|
|
|
|
'deployment' => 'Guides',
|
|
|
|
|
|
|
|
|
|
'continuous-integration' => 'Deployment'
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
def get_name
|
|
|
|
|
at_css('h1').content
|
|
|
|
|
if slug.split('/').first == 'step-by-step'
|
|
|
|
|
at_css('h2').content
|
|
|
|
|
else
|
|
|
|
|
at_css('h1').content
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def get_type
|
|
|
|
|
if slug.include?('continuous-integration')
|
|
|
|
|
'Deployment'
|
|
|
|
|
if slug.split('/').first == 'step-by-step'
|
|
|
|
|
'Tutorial'
|
|
|
|
|
else
|
|
|
|
|
nav_link = doc.document # document
|
|
|
|
|
.at_css('aside li.current') # item in navbar
|
|
|
|
@ -18,7 +40,11 @@ module Docs
|
|
|
|
|
.previous_element # header before <ul>
|
|
|
|
|
.content # category
|
|
|
|
|
else
|
|
|
|
|
'Miscellaneous'
|
|
|
|
|
if TYPE_BY_DIR.key?(slug.split('/').first)
|
|
|
|
|
TYPE_BY_DIR[slug.split('/').first]
|
|
|
|
|
else
|
|
|
|
|
'Miscellaneous'
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|