From 744f7956082861240198e744c0f54cf54b7f8247 Mon Sep 17 00:00:00 2001 From: Christoph Ruegg Date: Fri, 20 Jun 2014 17:42:33 +0200 Subject: [PATCH] Docs: include also release notes of data extensions and native providers --- docs/tools/build-docs.fsx | 38 +++++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/docs/tools/build-docs.fsx b/docs/tools/build-docs.fsx index e624ac03..893c77db 100644 --- a/docs/tools/build-docs.fsx +++ b/docs/tools/build-docs.fsx @@ -32,6 +32,7 @@ let info = #r "FSharp.MetadataFormat.dll" open Fake +open System open System.IO open Fake.FileHelper open FSharp.Literate @@ -62,17 +63,33 @@ let layoutRoots = formatting @@ "templates/reference" ] let extraDocs = - [ "RELEASENOTES.md", "ReleaseNotes.md" - "LICENSE.md", "License.md" + [ "LICENSE.md", "License.md" "CONTRIBUTING.md", "Contributing.md" "CONTRIBUTORS.md", "Contributors.md" ] +let releaseNotesDocs = + [ "RELEASENOTES.md", "ReleaseNotes.md", "Release Notes" + "RELEASENOTES-Data.md", "ReleaseNotes-Data.md", "Data Extensions Release Notes" + "RELEASENOTES-Native.md", "ReleaseNotes-Native.md", "Native Providers Release Notes" ] + // Copy static files and CSS + JS from F# Formatting -let copyFiles() = +let copySupportFiles() = CopyRecursive files output true |> Log "Copying file: " ensureDirectory (output @@ "content") CopyRecursive (formatting @@ "styles") (output @@ "content") true |> Log "Copying styles and scripts: " +let copyExtraDocs() = + for (fileName, docName) in extraDocs do CopyFile (content @@ docName) (top @@ fileName) + +let prepareReleaseNotes() = + for (fileName, docName, title) in releaseNotesDocs do + String.concat Environment.NewLine + [ "# " + title + "[Math.NET Numerics](ReleaseNotes.html) | [Data Extensions](ReleaseNotes-Data.html) | [Native Providers](ReleaseNotes-Native.html)" + "" + ReadFileAsString (top @@ fileName) ] + |> ReplaceFile (content @@ docName) + // Build API reference from XML comments let buildReference() = CleanDir(output @@ "reference") @@ -84,22 +101,21 @@ let buildReference() = // Build documentation from `fsx` and `md` files in `docs/content` let buildDocumentation() = - for (fileName, docName) in extraDocs do CopyFile (content @@ docName) (top @@ fileName) let subdirs = Directory.EnumerateDirectories(content, "*", SearchOption.AllDirectories) for dir in Seq.append [ content ] subdirs do let sub = if dir.Length > content.Length then dir.Substring(content.Length + 1) else "." Literate.ProcessDirectory (dir, docTemplate, output @@ sub, replacements = ("root", root) :: info, layoutRoots = layoutRoots, references = false, lineNumbers = true) + +let cleanup() = for (_, docName) in extraDocs do DeleteFile (content @@ docName) + for (_, docName, _) in releaseNotesDocs do DeleteFile (content @@ docName) // Generate -copyFiles() +copySupportFiles() +copyExtraDocs() +prepareReleaseNotes() buildDocumentation() -//buildReference() - - -// Generate -copyFiles() buildDocumentation() -//buildReference() +cleanup()