File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11# for git-changelog (https://github.com/dannyben/git-changelog)
22export CHANGELOG_COMMIT_URL=https://github.com/DannyBen/madness/commit/%h
33export CHANGELOG_COMPARE_URL=https://github.com/dannyben/madness/compare/%s
4+
5+ # enable debugging with the debug gem
6+ export DEBUGGER=1
Original file line number Diff line number Diff line change 11require 'madness'
2- require "sasstool"
3- require "slim"
4- require "pretty_trace/enable-trim"
2+ require 'sasstool'
3+ require 'slim'
4+ require 'pretty_trace/enable-trim'
5+ require 'debug' rescue nil
56
67title "Madness Runfile"
78summary "Runfile tasks for building the Madness gem"
Original file line number Diff line number Diff line change 44requires 'madness/settings'
55requires 'madness/server_helper'
66requires 'madness'
7+
8+ require 'debug' rescue nil if ENV [ 'DEBUGGER' ]
Original file line number Diff line number Diff line change @@ -17,17 +17,29 @@ def list
1717 private
1818
1919 def files
20- result = Dir [ "#{ dir } /#{ config . dir_glob } " ]
21- result . reject! do |f |
22- [ 'README.md' , 'index.md' ] . include? File . basename ( f )
20+ @files ||= begin
21+ result = Dir [ "#{ dir } /#{ config . dir_glob } " ]
22+ result . reject! do |f |
23+ [ 'README.md' , 'index.md' ] . include? File . basename ( f )
24+ end
25+ result . nat_sort . map { |path | Item . new path , :file }
2326 end
24- result . nat_sort . map { |path | Item . new path , :file }
2527 end
2628
2729 def dirs
28- result = Dir [ "#{ dir } /*" ] . select { |f | File . directory? f }
29- result . reject! { |f | exclude? f }
30- result . nat_sort . map { |path | Item . new path , :dir }
30+ @dirs ||= begin
31+ result = Dir [ "#{ dir } /*" ] . select { |f | File . directory? f }
32+ result . reject! { |f | exclude? ( f ) || has_named_cover_page? ( f ) }
33+ result . nat_sort . map { |path | Item . new path , :dir }
34+ end
35+ end
36+
37+ def paths
38+ @paths ||= files . map ( &:path )
39+ end
40+
41+ def has_named_cover_page? ( path )
42+ paths . include? "#{ path } .md"
3143 end
3244
3345 def exclude? ( path )
Original file line number Diff line number Diff line change @@ -55,10 +55,8 @@ def set_base_attributes_for_directory
5555 @dir = base
5656 @type = :readme
5757
58- if File . exist? "#{ base } /index.md"
59- @file = "#{ base } /index.md"
60- elsif File . exist? "#{ base } /README.md"
61- @file = "#{ base } /README.md"
58+ if cover_page
59+ @file = cover_page
6260 else
6361 @type = :empty
6462 end
@@ -79,5 +77,25 @@ def md_file?
7977 def md_filename
8078 File . extname ( base ) == '.md' ? base : "#{ base } .md"
8179 end
80+
81+ def cover_page
82+ @cover_page ||= cover_page!
83+ end
84+
85+ def cover_page!
86+ cover_page_candidates . each do |candidate |
87+ return candidate if File . exist? candidate
88+ end
89+
90+ nil
91+ end
92+
93+ def cover_page_candidates
94+ @cover_page_candidates ||= [
95+ File . expand_path ( 'index.md' , base ) ,
96+ File . expand_path ( "../#{ File . basename ( base ) } .md" , base ) ,
97+ File . expand_path ( 'README.md' , base ) ,
98+ ]
99+ end
82100 end
83101end
You can’t perform that action at this time.
0 commit comments