@@ -17,7 +17,6 @@ import org.jetbrains.dokka.model.DisplaySourceSet
1717import scala .collection .JavaConverters ._
1818
1919class StaticSiteContext (val root : File , sourceSets : Set [SourceSetWrapper ]):
20- val docsFile = new File (root, " docs" )
2120
2221 def indexPage (): Option [StaticPageNode ] =
2322 val files = List (new File (root, " index.html" ), new File (root, " index.md" )).filter { _.exists() }
@@ -35,10 +34,12 @@ class StaticSiteContext(val root: File, sourceSets: Set[SourceSetWrapper]):
3534 file.getName.endsWith(" .html" )
3635
3736
38- private def loadTemplate (from : File ): Option [LoadedTemplate ] =
37+ private def loadTemplate (from : File , isBlog : Boolean = false ): Option [LoadedTemplate ] =
3938 if (! isValidTemplate(from)) None else
4039 try
41- val (indexes, children) = Option (from.listFiles()).toSeq.flatten.flatMap(loadTemplate).partition(_.templateFile.isIndexPage())
40+ val topLevelFiles = if isBlog then Seq (from, new File (from, " _posts" )) else Seq (from)
41+ val allFiles = topLevelFiles.filter(_.isDirectory).flatMap(_.listFiles())
42+ val (indexes, children) = allFiles.flatMap(loadTemplate(_)).partition(_.templateFile.isIndexPage())
4243 if (indexes.size > 1 )
4344 println(s " ERROR: Multiple index pages for $from found in ${indexes.map(_.file)}" ) // TODO (#14): provide proper error handling
4445
@@ -67,8 +68,12 @@ class StaticSiteContext(val root: File, sourceSets: Set[SourceSetWrapper]):
6768 new PropertyContainer (JMap ())
6869 )
6970
70- def loadFiles (files : List [File ], customChildren : List [PageNode ] = Nil ): List [StaticPageNode ] =
71- val all = files.flatMap(loadTemplate)
71+ def loadAllFiles () =
72+ def dir (name : String )= List (new File (root, name)).filter(_.isDirectory)
73+ loadFiles(dir(" docs" ).flatMap(_.listFiles())) ++ loadFiles(dir(" blog" ), isBlog = true )
74+
75+ def loadFiles (files : List [File ], isBlog : Boolean = false ): List [StaticPageNode ] =
76+ val all = files.flatMap(loadTemplate(_, isBlog))
7277 def flatten (it : LoadedTemplate ): List [String ] =
7378 List (it.relativePath(root)) ++ it.children.flatMap(flatten)
7479
@@ -92,7 +97,7 @@ class StaticSiteContext(val root: File, sourceSets: Set[SourceSetWrapper]):
9297 content,
9398 JSet (dri),
9499 JList (),
95- (myTemplate.children.map(templateToPage) ++ customChildren ).asJava
100+ (myTemplate.children.map(templateToPage)).asJava
96101 )
97102
98103 all.map(templateToPage)
0 commit comments