@@ -3,11 +3,26 @@ open System
33#r " ../../packages/docs/FSharp.Formatting/lib/netstandard2.0/FSharp.CodeFormat.dll"
44#r " ../../packages/docs/FSharp.Formatting/lib/netstandard2.0/FSharp.Markdown.dll"
55#r " ../../packages/docs/FSharp.Formatting/lib/netstandard2.0/FSharp.Literate.dll"
6- #if ! FORNAX
7- #load " contentloader.fsx"
6+
7+
8+ #load " ./contentloader.fsx"
89open Contentloader
9- #endif
1010
11+ let printPosts ( sc : SiteContents ) =
12+ sc.TryGetValues< Post> ()
13+ |> Option.defaultValue Seq.empty
14+ |> Seq.map ( fun post -> sprintf " * content/%s " post.file)
15+ |> String.concat " \n "
16+ |> printfn " known posts:\n %s "
17+
18+ let lockAdd ( sc : SiteContents ) ( item : Post ) =
19+ lock sc ( fun () ->
20+ printfn " Adding post %s " item.file
21+ printPosts sc
22+ sc.Add( item)
23+ printPosts sc
24+ )
25+
1126open System.IO
1227open FSharp.Literate
1328open FSharp.CodeFormat
@@ -39,8 +54,6 @@ let tokenToCss (x: TokenKind) =
3954 | TokenKind.Escaped -> " hljs-regexp"
4055 | TokenKind.Default -> " "
4156
42-
43-
4457let isSeparator ( input : string ) =
4558 input.StartsWith " ---"
4659
@@ -84,6 +97,7 @@ let relative toPath fromPath =
8497 toUri.MakeRelativeUri( fromUri) .OriginalString
8598
8699let loadFile projectRoot n =
100+ printfn " reading literate file %s " n
87101 let text = System.IO.File.ReadAllText n
88102
89103 let config = ( getConfig' text) .Split( '\n' ) |> List.ofArray
@@ -130,20 +144,20 @@ let loadFile projectRoot n =
130144 category = category
131145 language = language }
132146
133- let loader ( projectRoot : string ) ( siteContet : SiteContents ) =
147+ let loader ( projectRoot : string ) ( siteContent : SiteContents ) =
134148 try
135149 let postsPath = System.IO.Path.Combine( projectRoot, " content" )
136150 let posts =
137151 Directory.GetFiles( postsPath, " *" , SearchOption.AllDirectories )
138152 |> Array.filter ( fun n -> n.EndsWith " .fsx" )
139- |> Array.map ( loadFile projectRoot)
153+ |> Array.Parallel. map ( loadFile projectRoot)
140154
141155 posts
142- |> Array.iter ( fun p -> siteContet.Add p )
156+ |> Array.iter ( lockAdd siteContent )
143157
144- siteContet .Add( { disableLiveRefresh = true })
158+ siteContent .Add { disableLiveRefresh = true }
145159 with
146160 | ex -> printfn " EX: %A " ex
147161
148- siteContet
162+ siteContent
149163
0 commit comments