File tree Expand file tree Collapse file tree
spec/approvals/cli/config Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ module Madness
22 # Handle the navigation links for a given directory
33 class Navigation
44 include ServerHelper
5+ using ArrayRefinements
56 using StringRefinements
67
78 attr_reader :dir
@@ -11,7 +12,11 @@ def initialize(dir)
1112 end
1213
1314 def links
14- @links ||= directory . list
15+ @links ||= if config . sort_order == 'mixed'
16+ directory . list . nat_sort ( by : :href )
17+ else
18+ directory . list
19+ end
1520 end
1621
1722 def caption
@@ -27,5 +32,9 @@ def with_search?
2732 def directory
2833 @directory ||= Directory . new ( dir )
2934 end
35+
36+ def config
37+ Settings . instance
38+ end
3039 end
3140end
Original file line number Diff line number Diff line change 33module Madness
44 module ArrayRefinements
55 refine Array do
6- def nat_sort
7- Naturally . sort self
6+ def nat_sort ( by : nil )
7+ Naturally . sort self , by : by
88 end
99 end
1010 end
Original file line number Diff line number Diff line change @@ -57,6 +57,7 @@ def defaults
5757 port : 3000 ,
5858 bind : '0.0.0.0' ,
5959 base_uri : nil ,
60+ sort_order : 'dirs_first' ,
6061 sidebar : true ,
6162 auto_h1 : true ,
6263 auto_nav : true ,
Original file line number Diff line number Diff line change @@ -15,6 +15,11 @@ bind: 0.0.0.0
1515# base_uri: /docs
1616base_uri : ~
1717
18+ # choose navigation sort order:
19+ # sort_order: dirs_first # alphabetic directories then alphabetic files
20+ # sort_order: mixed # alphabetic regardless of type
21+ sort_order : dirs_first
22+
1823# enable sidebar
1924sidebar : true
2025
Original file line number Diff line number Diff line change 22 port: 3000
33 bind: 0.0.0.0
44 base_uri: ~
5+ sort_order: dirs_first
56 sidebar: true
67 auto_h1: true
78 auto_nav: true
Original file line number Diff line number Diff line change 22 port: 1337
33 bind: 4.3.2.1
44 base_uri: ~
5+ sort_order: dirs_first
56 sidebar: true
67 auto_h1: true
78 auto_nav: true
You can’t perform that action at this time.
0 commit comments