This is an automated email from the ASF dual-hosted git repository.

shazwazza pushed a commit to branch docs-may
in repository https://gitbox.apache.org/repos/asf/lucenenet.git


The following commit(s) were added to refs/heads/docs-may by this push:
     new bd530cd  Updates script to update docfx json prior to building adds 
more docs
bd530cd is described below

commit bd530cd71927e8b919ffb0c621e2b9265c95b49f
Author: Shannon <[email protected]>
AuthorDate: Fri May 15 13:50:57 2020 +1000

    Updates script to update docfx json prior to building adds more docs
---
 src/docs/readme.md                          |   2 +
 websites/apidocs/docfx.json                 | 265 ++++++++++++++++++++--------
 websites/apidocs/docs.ps1                   |  11 ++
 websites/site/contributing/documentation.md |  51 +++++-
 4 files changed, 256 insertions(+), 73 deletions(-)

diff --git a/src/docs/readme.md b/src/docs/readme.md
index 3476d01..eed80b5 100644
--- a/src/docs/readme.md
+++ b/src/docs/readme.md
@@ -9,6 +9,8 @@ This utility does a lot of edge case work to try to 
automatically convert as muc
 
 The source that this is executed against is this tag: 
https://github.com/apache/lucene-solr/releases/tag/releases%2Flucene-solr%2F4.8.1
 
+See docs: https://lucenenet.apache.org/contributing/documentation.html#api-docs
+
 ## LuceneDocsPlugins
 
 This is a DocFx custom extension. It is built and executed as part of the docs 
build process to customize/extend some of the features in DocFx.
\ No newline at end of file
diff --git a/websites/apidocs/docfx.json b/websites/apidocs/docfx.json
index c65359a..5c110b4 100644
--- a/websites/apidocs/docfx.json
+++ b/websites/apidocs/docfx.json
@@ -6,13 +6,17 @@
           "files": [
             "Lucene.Net/Lucene.Net.csproj"
           ],
-          "exclude": ["**/obj/**", "**/bin/**", "**/Lucene.Net.Test*/**"],
+          "exclude": [
+            "**/obj/**",
+            "**/bin/**",
+            "**/Lucene.Net.Test*/**"
+          ],
           "src": "../../src"
         }
       ],
       "dest": "obj/docfx/api/Lucene.Net",
       "properties": {
-          "TargetFramework": "netstandard2.0"
+        "TargetFramework": "netstandard2.0"
       }
     },
     {
@@ -21,13 +25,17 @@
           "files": [
             "Lucene.Net.Analysis.Common/Lucene.Net.Analysis.Common.csproj"
           ],
-          "exclude": ["**/obj/**", "**/bin/**", "**/Lucene.Net.Test*/**"],
+          "exclude": [
+            "**/obj/**",
+            "**/bin/**",
+            "**/Lucene.Net.Test*/**"
+          ],
           "src": "../../src"
         }
       ],
       "dest": "obj/docfx/api/Lucene.Net.Analysis.Common",
       "properties": {
-          "TargetFramework": "netstandard2.0"
+        "TargetFramework": "netstandard2.0"
       }
     },
     {
@@ -36,13 +44,17 @@
           "files": [
             "Lucene.Net.Analysis.Kuromoji/Lucene.Net.Analysis.Kuromoji.csproj"
           ],
-          "exclude": ["**/obj/**", "**/bin/**", "**/Lucene.Net.Test*/**"],
+          "exclude": [
+            "**/obj/**",
+            "**/bin/**",
+            "**/Lucene.Net.Test*/**"
+          ],
           "src": "../../src"
         }
       ],
       "dest": "obj/docfx/api/Lucene.Net.Analysis.Kuromoji",
       "properties": {
-          "TargetFramework": "netstandard2.0"
+        "TargetFramework": "netstandard2.0"
       }
     },
     {
@@ -51,13 +63,17 @@
           "files": [
             
"Lucene.Net.Analysis.Morfologik/Lucene.Net.Analysis.Morfologik.csproj"
           ],
-          "exclude": ["**/obj/**", "**/bin/**", "**/Lucene.Net.Test*/**"],
+          "exclude": [
+            "**/obj/**",
+            "**/bin/**",
+            "**/Lucene.Net.Test*/**"
+          ],
           "src": "../../src"
         }
       ],
       "dest": "obj/docfx/api/Lucene.Net.Analysis.Morfologik",
       "properties": {
-          "TargetFramework": "netstandard2.0"
+        "TargetFramework": "netstandard2.0"
       }
     },
     {
@@ -66,13 +82,17 @@
           "files": [
             "Lucene.Net.Analysis.OpenNLP/Lucene.Net.Analysis.OpenNLP.csproj"
           ],
-          "exclude": ["**/obj/**", "**/bin/**", "**/Lucene.Net.Test*/**"],
+          "exclude": [
+            "**/obj/**",
+            "**/bin/**",
+            "**/Lucene.Net.Test*/**"
+          ],
           "src": "../../src"
         }
       ],
       "dest": "obj/docfx/api/Lucene.Net.Analysis.OpenNLP",
       "properties": {
-          "TargetFramework": "netstandard2.0"
+        "TargetFramework": "netstandard2.0"
       }
     },
     {
@@ -81,13 +101,17 @@
           "files": [
             "Lucene.Net.Analysis.Phonetic/Lucene.Net.Analysis.Phonetic.csproj"
           ],
-          "exclude": ["**/obj/**", "**/bin/**", "**/Lucene.Net.Test*/**"],
+          "exclude": [
+            "**/obj/**",
+            "**/bin/**",
+            "**/Lucene.Net.Test*/**"
+          ],
           "src": "../../src"
         }
       ],
       "dest": "obj/docfx/api/Lucene.Net.Analysis.Phonetic",
       "properties": {
-          "TargetFramework": "netstandard2.0"
+        "TargetFramework": "netstandard2.0"
       }
     },
     {
@@ -96,13 +120,17 @@
           "files": [
             "Lucene.Net.Analysis.SmartCn/Lucene.Net.Analysis.SmartCn.csproj"
           ],
-          "exclude": ["**/obj/**", "**/bin/**", "**/Lucene.Net.Test*/**"],
+          "exclude": [
+            "**/obj/**",
+            "**/bin/**",
+            "**/Lucene.Net.Test*/**"
+          ],
           "src": "../../src"
         }
       ],
       "dest": "obj/docfx/api/Lucene.Net.Analysis.SmartCn",
       "properties": {
-          "TargetFramework": "netstandard2.0"
+        "TargetFramework": "netstandard2.0"
       }
     },
     {
@@ -111,13 +139,17 @@
           "files": [
             "Lucene.Net.Analysis.Stempel/Lucene.Net.Analysis.Stempel.csproj"
           ],
-          "exclude": ["**/obj/**", "**/bin/**", "**/Lucene.Net.Test*/**"],
+          "exclude": [
+            "**/obj/**",
+            "**/bin/**",
+            "**/Lucene.Net.Test*/**"
+          ],
           "src": "../../src"
         }
       ],
       "dest": "obj/docfx/api/Lucene.Net.Analysis.Stempel",
       "properties": {
-          "TargetFramework": "netstandard2.0"
+        "TargetFramework": "netstandard2.0"
       }
     },
     {
@@ -126,28 +158,36 @@
           "files": [
             "Lucene.Net.Benchmark/Lucene.Net.Benchmark.csproj"
           ],
-          "exclude": ["**/obj/**", "**/bin/**", "**/Lucene.Net.Test*/**"],
+          "exclude": [
+            "**/obj/**",
+            "**/bin/**",
+            "**/Lucene.Net.Test*/**"
+          ],
           "src": "../../src"
         }
       ],
       "dest": "obj/docfx/api/Lucene.Net.Benchmarks",
       "properties": {
-          "TargetFramework": "netstandard2.0"
+        "TargetFramework": "netstandard2.0"
       }
-    },    
+    },
     {
       "src": [
         {
           "files": [
             "Lucene.Net.Classification/Lucene.Net.Classification.csproj"
           ],
-          "exclude": ["**/obj/**", "**/bin/**", "**/Lucene.Net.Test*/**"],
+          "exclude": [
+            "**/obj/**",
+            "**/bin/**",
+            "**/Lucene.Net.Test*/**"
+          ],
           "src": "../../src"
         }
       ],
       "dest": "obj/docfx/api/Lucene.Net.Classification",
       "properties": {
-          "TargetFramework": "netstandard2.0"
+        "TargetFramework": "netstandard2.0"
       }
     },
     {
@@ -156,13 +196,17 @@
           "files": [
             "Lucene.Net.Codecs/Lucene.Net.Codecs.csproj"
           ],
-          "exclude": ["**/obj/**", "**/bin/**", "**/Lucene.Net.Test*/**"],
+          "exclude": [
+            "**/obj/**",
+            "**/bin/**",
+            "**/Lucene.Net.Test*/**"
+          ],
           "src": "../../src"
         }
       ],
       "dest": "obj/docfx/api/Lucene.Net.Codecs",
       "properties": {
-          "TargetFramework": "netstandard2.0"
+        "TargetFramework": "netstandard2.0"
       }
     },
     {
@@ -171,13 +215,17 @@
           "files": [
             "Lucene.Net.Expressions/Lucene.Net.Expressions.csproj"
           ],
-          "exclude": ["**/obj/**", "**/bin/**", "**/Lucene.Net.Test*/**"],
+          "exclude": [
+            "**/obj/**",
+            "**/bin/**",
+            "**/Lucene.Net.Test*/**"
+          ],
           "src": "../../src"
         }
       ],
       "dest": "obj/docfx/api/Lucene.Net.Expressions",
       "properties": {
-          "TargetFramework": "netstandard2.0"
+        "TargetFramework": "netstandard2.0"
       }
     },
     {
@@ -186,13 +234,17 @@
           "files": [
             "Lucene.Net.Facet/Lucene.Net.Facet.csproj"
           ],
-          "exclude": ["**/obj/**", "**/bin/**", "**/Lucene.Net.Test*/**"],
+          "exclude": [
+            "**/obj/**",
+            "**/bin/**",
+            "**/Lucene.Net.Test*/**"
+          ],
           "src": "../../src"
         }
       ],
       "dest": "obj/docfx/api/Lucene.Net.Facet",
       "properties": {
-          "TargetFramework": "netstandard2.0"
+        "TargetFramework": "netstandard2.0"
       }
     },
     {
@@ -201,28 +253,36 @@
           "files": [
             "Lucene.Net.Grouping/Lucene.Net.Grouping.csproj"
           ],
-          "exclude": ["**/obj/**", "**/bin/**", "**/Lucene.Net.Test*/**"],
+          "exclude": [
+            "**/obj/**",
+            "**/bin/**",
+            "**/Lucene.Net.Test*/**"
+          ],
           "src": "../../src"
-      }
+        }
       ],
       "dest": "obj/docfx/api/Lucene.Net.Grouping",
       "properties": {
-          "TargetFramework": "netstandard2.0"
+        "TargetFramework": "netstandard2.0"
       }
-    },   
+    },
     {
       "src": [
         {
           "files": [
             "Lucene.Net.Highlighter/Lucene.Net.Highlighter.csproj"
           ],
-          "exclude": ["**/obj/**", "**/bin/**", "**/Lucene.Net.Test*/**"],
+          "exclude": [
+            "**/obj/**",
+            "**/bin/**",
+            "**/Lucene.Net.Test*/**"
+          ],
           "src": "../../src"
         }
       ],
       "dest": "obj/docfx/api/Lucene.Net.Highlighter",
       "properties": {
-          "TargetFramework": "netstandard2.0"
+        "TargetFramework": "netstandard2.0"
       }
     },
     {
@@ -231,13 +291,17 @@
           "files": [
             "Lucene.Net.ICU/Lucene.Net.ICU.csproj"
           ],
-          "exclude": ["**/obj/**", "**/bin/**", "**/Lucene.Net.Test*/**"],
+          "exclude": [
+            "**/obj/**",
+            "**/bin/**",
+            "**/Lucene.Net.Test*/**"
+          ],
           "src": "../../src/dotnet"
         }
       ],
       "dest": "obj/docfx/api/Lucene.Net.ICU",
       "properties": {
-          "TargetFramework": "netstandard2.0"
+        "TargetFramework": "netstandard2.0"
       }
     },
     {
@@ -246,13 +310,17 @@
           "files": [
             "Lucene.Net.Join/Lucene.Net.Join.csproj"
           ],
-          "exclude": ["**/obj/**", "**/bin/**", "**/Lucene.Net.Test*/**"],
+          "exclude": [
+            "**/obj/**",
+            "**/bin/**",
+            "**/Lucene.Net.Test*/**"
+          ],
           "src": "../../src"
         }
       ],
       "dest": "obj/docfx/api/Lucene.Net.Join",
       "properties": {
-          "TargetFramework": "netstandard2.0"
+        "TargetFramework": "netstandard2.0"
       }
     },
     {
@@ -261,28 +329,36 @@
           "files": [
             "Lucene.Net.Memory/Lucene.Net.Memory.csproj"
           ],
-          "exclude": ["**/obj/**", "**/bin/**", "**/Lucene.Net.Test*/**"],
+          "exclude": [
+            "**/obj/**",
+            "**/bin/**",
+            "**/Lucene.Net.Test*/**"
+          ],
           "src": "../../src"
         }
       ],
       "dest": "obj/docfx/api/Lucene.Net.Memory",
       "properties": {
-          "TargetFramework": "netstandard2.0"
+        "TargetFramework": "netstandard2.0"
       }
-    },    
+    },
     {
       "src": [
         {
           "files": [
-            "Lucene.Net.Misc/Lucene.Net.Misc.csproj"      
+            "Lucene.Net.Misc/Lucene.Net.Misc.csproj"
+          ],
+          "exclude": [
+            "**/obj/**",
+            "**/bin/**",
+            "**/Lucene.Net.Test*/**"
           ],
-          "exclude": ["**/obj/**", "**/bin/**", "**/Lucene.Net.Test*/**"],
           "src": "../../src"
         }
       ],
       "dest": "obj/docfx/api/Lucene.Net.Misc",
       "properties": {
-          "TargetFramework": "netstandard2.0"
+        "TargetFramework": "netstandard2.0"
       }
     },
     {
@@ -291,13 +367,17 @@
           "files": [
             "Lucene.Net.Queries/Lucene.Net.Queries.csproj"
           ],
-          "exclude": ["**/obj/**", "**/bin/**", "**/Lucene.Net.Test*/**"],
+          "exclude": [
+            "**/obj/**",
+            "**/bin/**",
+            "**/Lucene.Net.Test*/**"
+          ],
           "src": "../../src"
         }
       ],
       "dest": "obj/docfx/api/Lucene.Net.Queries",
       "properties": {
-          "TargetFramework": "netstandard2.0"
+        "TargetFramework": "netstandard2.0"
       }
     },
     {
@@ -306,13 +386,17 @@
           "files": [
             "Lucene.Net.QueryParser/Lucene.Net.QueryParser.csproj"
           ],
-          "exclude": ["**/obj/**", "**/bin/**", "**/Lucene.Net.Test*/**"],
+          "exclude": [
+            "**/obj/**",
+            "**/bin/**",
+            "**/Lucene.Net.Test*/**"
+          ],
           "src": "../../src"
         }
       ],
       "dest": "obj/docfx/api/Lucene.Net.QueryParser",
       "properties": {
-          "TargetFramework": "netstandard2.0"
+        "TargetFramework": "netstandard2.0"
       }
     },
     {
@@ -321,13 +405,17 @@
           "files": [
             "Lucene.Net.Replicator/Lucene.Net.Replicator.csproj"
           ],
-          "exclude": ["**/obj/**", "**/bin/**", "**/Lucene.Net.Test*/**"],
+          "exclude": [
+            "**/obj/**",
+            "**/bin/**",
+            "**/Lucene.Net.Test*/**"
+          ],
           "src": "../../src"
         }
       ],
       "dest": "obj/docfx/api/Lucene.Net.Replicator",
       "properties": {
-          "TargetFramework": "netstandard2.0"
+        "TargetFramework": "netstandard2.0"
       }
     },
     {
@@ -336,13 +424,17 @@
           "files": [
             "Lucene.Net.Sandbox/Lucene.Net.Sandbox.csproj"
           ],
-          "exclude": ["**/obj/**", "**/bin/**", "**/Lucene.Net.Test*/**"],
+          "exclude": [
+            "**/obj/**",
+            "**/bin/**",
+            "**/Lucene.Net.Test*/**"
+          ],
           "src": "../../src"
         }
       ],
       "dest": "obj/docfx/api/Lucene.Net.Sandbox",
       "properties": {
-          "TargetFramework": "netstandard2.0"
+        "TargetFramework": "netstandard2.0"
       }
     },
     {
@@ -351,13 +443,17 @@
           "files": [
             "Lucene.Net.Spatial/Lucene.Net.Spatial.csproj"
           ],
-          "exclude": ["**/obj/**", "**/bin/**", "**/Lucene.Net.Test*/**"],
+          "exclude": [
+            "**/obj/**",
+            "**/bin/**",
+            "**/Lucene.Net.Test*/**"
+          ],
           "src": "../../src"
         }
       ],
       "dest": "obj/docfx/api/Lucene.Net.Spatial",
       "properties": {
-          "TargetFramework": "netstandard2.0"
+        "TargetFramework": "netstandard2.0"
       }
     },
     {
@@ -366,13 +462,17 @@
           "files": [
             "Lucene.Net.Suggest/Lucene.Net.Suggest.csproj"
           ],
-          "exclude": ["**/obj/**", "**/bin/**", "**/Lucene.Net.Test*/**"],
+          "exclude": [
+            "**/obj/**",
+            "**/bin/**",
+            "**/Lucene.Net.Test*/**"
+          ],
           "src": "../../src"
         }
       ],
       "dest": "obj/docfx/api/Lucene.Net.Suggest",
       "properties": {
-          "TargetFramework": "netstandard2.0"
+        "TargetFramework": "netstandard2.0"
       }
     },
     {
@@ -381,13 +481,16 @@
           "files": [
             "Lucene.Net.TestFramework/Lucene.Net.TestFramework.csproj"
           ],
-          "exclude": ["**/obj/**", "**/bin/**"],
+          "exclude": [
+            "**/obj/**",
+            "**/bin/**"
+          ],
           "src": "../../src"
         }
       ],
       "dest": "obj/docfx/api/Lucene.Net.TestFramework",
       "properties": {
-          "TargetFramework": "netstandard2.0"
+        "TargetFramework": "netstandard2.0"
       }
     },
     {
@@ -396,13 +499,17 @@
           "files": [
             "Lucene.Net.Demo/Lucene.Net.Demo.csproj"
           ],
-          "exclude": ["**/obj/**", "**/bin/**", "**/Lucene.Net.Test*/**"],
+          "exclude": [
+            "**/obj/**",
+            "**/bin/**",
+            "**/Lucene.Net.Test*/**"
+          ],
           "src": "../../src"
         }
       ],
       "dest": "obj/docfx/api/Lucene.Net.Demo",
       "properties": {
-          "TargetFramework": "netstandard2.0"
+        "TargetFramework": "netstandard2.0"
       }
     }
   ],
@@ -413,7 +520,7 @@
           "Lucene.Net/overview.md",
           "Lucene.Net.Analysis.Common/overview.md",
           "Lucene.Net.Analysis.Morfologik/overview.md",
-          "Lucene.Net.Analysis.OpenNLP/overview.md",          
+          "Lucene.Net.Analysis.OpenNLP/overview.md",
           "Lucene.Net.Highlighter/overview.md",
           "Lucene.Net.Grouping/package.md",
           "Lucene.Net.QueryParser/overview.md",
@@ -425,22 +532,35 @@
         "dest": "api"
       },
       {
-        "files": ["**.yml","**.md"],
+        "files": [
+          "**.yml",
+          "**.md"
+        ],
         "src": "obj/docfx/api",
         "dest": "api"
       },
       {
-        "files": ["**.yml","**.md"],
+        "files": [
+          "**.yml",
+          "**.md"
+        ],
         "src": "api",
         "dest": "api"
       },
       {
-        "files": ["**.md", "**.yml"],
+        "files": [
+          "**.md",
+          "**.yml"
+        ],
         "src": "../../src/dotnet/tools/lucene-cli/docs",
         "dest": "cli"
       },
       {
-        "files": ["toc.yml", "*.md", "web.config"]
+        "files": [
+          "toc.yml",
+          "*.md",
+          "web.config"
+        ]
       }
     ],
     "resource": [
@@ -453,9 +573,9 @@
         ],
         "src": "../../branding"
       }
-    ],   
+    ],
     "globalMetadata": {
-      "_appTitle": "Apache Lucene.NET 4.8.0 Documentation",
+      "_appTitle": "Apache Lucene.NET 4.8.0-beta00008 Documentation",
       "_disableContribution": false,
       "_appFaviconPath": "logo/favicon.ico",
       "_enableSearch": true,
@@ -463,13 +583,16 @@
       "_appFooter": "Copyright © 2020 Licensed to the Apache Software 
Foundation (ASF)",
       "_gitContribute": {
         "repo": "https://github.com/apache/lucenenet";,
-        "branch": "docs/4.8.0-beta00007",
+        "branch": "docs/4.8.0-beta00008",
         "apiSpecFolder": "websites/apidocs/apiSpec"
       }
     },
     "overwrite": [
       {
-        "files": ["**/package.md","**/overview.md"],
+        "files": [
+          "**/package.md",
+          "**/overview.md"
+        ],
         "src": "../../src",
         "exclude": [
           "Lucene.Net/overview.md",
@@ -489,7 +612,9 @@
         ]
       },
       {
-        "files": ["apiSpec/**/*.md"]
+        "files": [
+          "apiSpec/**/*.md"
+        ]
       }
     ],
     "dest": "_site",
@@ -506,4 +631,4 @@
     "cleanupCacheHistory": false,
     "disableGitFeatures": false
   }
-}
\ No newline at end of file
+}
diff --git a/websites/apidocs/docs.ps1 b/websites/apidocs/docs.ps1
index 6ac7c06..c7fc247 100644
--- a/websites/apidocs/docs.ps1
+++ b/websites/apidocs/docs.ps1
@@ -18,6 +18,9 @@
 # 
-----------------------------------------------------------------------------------
 
 param (
+    [Parameter(Mandatory)]
+    [string]
+    $LuceneNetVersion,
     [Parameter(Mandatory = $false)]
     [int]
     $ServeDocs = 1,
@@ -105,6 +108,14 @@ New-Item $PluginsFolder -type directory -force
 & $msbuild $pluginSln /target:LuceneDocsPlugins "/p:OutDir=$PluginsFolder"
 
 $DocFxJson = Join-Path -Path $ApiDocsFolder "docfx.json"
+
+# update the docjx.json file based
+$DocFxJsonContent = Get-Content $DocFxJson | ConvertFrom-Json
+$DocFxJsonContent.build.globalMetadata._appFooter = "Copyright © 
$((Get-Date).Year) Licensed to the Apache Software Foundation (ASF)"
+$DocFxJsonContent.build.globalMetadata._appTitle = "Apache Lucene.NET 
$LuceneNetVersion Documentation"
+$DocFxJsonContent.build.globalMetadata._gitContribute.branch = 
"docs/$LuceneNetVersion"
+$DocFxJsonContent | ConvertTo-Json -depth 100 | Set-Content $DocFxJson
+
 $DocFxLog = Join-Path -Path $ApiDocsFolder "obj\docfx.log"
 
 if ($?) { 
diff --git a/websites/site/contributing/documentation.md 
b/websites/site/contributing/documentation.md
index cb17705..64f52ec 100644
--- a/websites/site/contributing/documentation.md
+++ b/websites/site/contributing/documentation.md
@@ -10,12 +10,14 @@ _Details about this website and the API documentation site 
and how to help contr
 
 ## Overview
 
-The website and the api documentation source code is found in the same Git 
repository as the Lucene.Net code in the folder: `/websites/`. The site is 
built with a static site generator called 
[DocFx](https://dotnet.github.io/docfx/) and all of the content/pages are 
created using Markdown files.
+The website and the api documentation source code is found in the same Git 
repository as the Lucene.Net code in the folder: `/websites/`. The website and 
documentation site is built with a static site generator called 
[DocFx](https://dotnet.github.io/docfx/) and all of the content/pages are 
created using Markdown files.
 
 To submit changes for the website, create a Pull Request to the [Lucene Git 
repositoriy](https://github.com/apache/lucenenet). (See 
[Contributing](xref:contributing#submit-a-pull-request) for details)
 
 ## Website
 
+### Build script
+
 To build the website and run it on your machine, run the powershell script: 
`/websites/site/site.ps1`. You don't have to pass any parameters in and it will 
build the site and host it at [http://localhost:8080](http://localhost:8080). 
 
 The script has 2 optional parameters:
@@ -23,6 +25,8 @@ The script has 2 optional parameters:
 * `-ServeDocs` _(default is 1)_ The value of `1` means it will build the docs 
and host the site, if `0` is specified, it will build the static site to be 
hosted elsewhere.
 * `-Clean` _(default is 0)_ The value of `1` means that it will clear all 
caches and tool files before it builds again. This is handy if a new version of 
docfx is available or if there's odd things occuring with the incremental build.
 
+### File/folder structure
+
 The file/folder structure is within `/websites/site`:
 
 * `site.ps1` - the build script
@@ -36,13 +40,18 @@ The file/folder structure is within `/websites/site`:
 
 ## API Docs
 
+### Build script
+
 To build the api docs and run it on your machine, run the powershell script: 
`/websites/apidocs/docs.ps1`. You don't have to pass any parameters in and it 
will build the site and host it at 
[http://localhost:8080](http://localhost:8080). 
 
-The script has 2 optional parameters:
+The script has 3 parameters:
 
+* `-LuceneNetVersion` _(mandatory)_ This is the Lucene.Net version including 
pre-release information that is being built. For example: `4.8.0-beta00008`. 
_(This value will correspond to the folder and branch name where the docs get 
hosted, see below)_
 * `-ServeDocs` _(default is 1)_ The value of `1` means it will build the docs 
and host the site, if `0` is specified, it will build the static site to be 
hosted elsewhere.
 * `-Clean` _(default is 0)_ The value of `1` means that it will clear all 
caches and tool files before it builds again. This is handy if a new version of 
docfx is available or if there's odd things occuring with the incremental build.
 
+### File/folder structure
+
 The file/folder structure is within `/websites/apidocs`:
 
 * `docs.ps1` - the build script
@@ -51,4 +60,40 @@ The file/folder structure is within `/websites/apidocs`:
 * `*.md` - the root site content such as the index and download pages
 * `toc.yml` - these files determine the menu structures _(see docfx manual for 
further info)_
 * `tools/*` - during the build process some tools will be downloaded which are 
stored here
-* `_site` - this is the exported static site that is generated
\ No newline at end of file
+* `_site` - this is the exported static site that is generated
+
+### Process overview
+
+The documentation generation is a complex process because it needs to convert 
the Java Lucene project's documentation into a usable format to produce the 
output Lucene.Net's documentation. 
+
+The process overview is:
+
+* Use the `JavaDocToMarkdownConverter` project within the 
`DocumentationTools.sln` solution to run the conversion of the Java Lucene 
projects docs into a useable format for DocFx. This tool takes uses a release 
tag output of the Java Lucene project as it's source to convert against the 
Lucene.Net's source. 
+* Run the documentation build script to produce the documentation site
+* Publish the output to the 
[`lucenenet-site`](https://github.com/apache/lucenenet-site) repository into a 
correpsonding named version directory and branch
+
+We don't want to manually change the converted resulting markdown files 
(`.md`) because they would get overwritten again when the conversion process is 
re-executed. Therefor to fix any formatting issues or customized output of the 
project docs, these customizations/fixes/tweaks are built directly in to the 
conversion process itself in the `JavaDocToMarkdownConverter.csproj` project.
+
+### Step by step
+
+* Checkout the Lucene.Net release tag to build the docs against
+* Execute the `./src/docs/convert.ps1` script and enter the current Lucene 
version to convert from. 
+  * For example, for Lucene.Net 4.8.0 we are converting from the Java Lucene 
build release of 
["4.8.1"](https://github.com/apache/lucene-solr/releases/tag/releases%2Flucene-solr%2F4.8.1)
 so in this case enter: 4.8.1 at the prompt or call the whole script like 
`./src/docs/convert.ps1 -JavaLuceneVersion 4.8.1`
+  * This script will download and extract the Java Lucene release files, build 
the `DocumentationTools.sln` solution and execute the 
`JavaDocToMarkdownConverter.exe`
+* Review and commit the files changed
+  * Many times there will just be whitespace changes in the files especially 
if this process has been executed before for the same source/destination 
version.
+  * If this is a new source/destination version there will be a **lot** of 
file changes, at least one file per folder.
+  * If there are formatting issues or irregularities in the converted output 
then these will need to be addressed by making changes to the conversion tool 
itself `JavaDocToMarkdownConverter.csproj` (generally only needed for new major 
version releases)
+* Execute the `./websites/apidocs/docs.ps1` script to build and serve the api 
docs website locally for testing 
+  * will serve a website on [http://localhost:8080](http://localhost:8080)
+  * It will take quite a while (approx 10 minutes) to build
+  * Example: `./websites/apidocs/docs.ps1 -LuceneNetVersion 4.8.0-beta00008`
+  
+
+### Publishing the docs
+
+* Checkout the Git repo that hosts the documentation: 
https://github.com/apache/lucenenet-site/tree/asf-site _(ensure you have 
`asf-site` branch checked out, not `master`)_
+* Create a new folder in this repo: `/docs/[Version]`, for example: 
`/docs/4.8.0-beta00008`
+* Copy the build output of the documentation site to this new folder. The 
build output will be all of the files in the `/websites/apidocs/_site` in your 
main lucene.net checked out Git repository. 
+* Commit and push these changes
+* The new version documentation will be live. Due to the amount of new files 
committed, the new files may take up to 20 minutes to become live. 
\ No newline at end of file

Reply via email to