diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index acc4bfd9c..000000000 --- a/docs/README.md +++ /dev/null @@ -1,13 +0,0 @@ -# Morphir Documentation -The purpose of the document is to provide a detailed explanation of how various Morphir code artefacts work. -It also documents the standard coding practices adopted for the Morphir project. -Finally, it provides a step by step walk-throughs on how various Morphir components are build. - -## Who this Guide Designed For -Morphir has different components for different users. - -1. **[Morphir User's Guide](users-guide)** - Business users who would like to learn how to use Morphir for modelling business logic. -2. **[Morphir Developer's Guide](developers-guide)** - New joiners to the Morphir project to get up to speed the various building blocks of Morphir. -3. **[Morphir Contributor's Guide](contribution-guide)** - Existing team members intending to improve their abilities on Language Design concepts. - - diff --git a/docs/contribution-guide-index.md b/docs/contribution-guide-index.md index fa3183b8c..645a1bbe7 100644 --- a/docs/contribution-guide-index.md +++ b/docs/contribution-guide-index.md @@ -1,3 +1,7 @@ +--- +id: contributing-to-morphir +--- + #Contributing to the Morphir Ecosystem Morphir contains a few components for different aspects of the development process. These can be organized into the following: diff --git a/docs/developer-guide-index.md b/docs/developer-guide-index.md deleted file mode 100644 index 9d84f5cc8..000000000 --- a/docs/developer-guide-index.md +++ /dev/null @@ -1,55 +0,0 @@ -# Morphir Developers' Guide -The purpose of the document is to provide a detailed explanation of how various Morphir code artefacts work. -It also documents the standard coding practices adopted for the Morphir project. -Finally, it provides a step by step walk-throughs on how various Morphir components are build. - -### Who this Guide Designed For -1. New joiners to the Morphir project to get up to speed the various building blocks of Morphir -2. Existing team members intending to improve their abilities on Language Design concepts - -##Content -1. [Getting Started with Morphir](README.md) -2. [Overview of Morphir](#) -3. [The Morphir Architecture](#) -4. [The Morphir SDK](#) -5. [Morphir Commands Processing](Morphir-elm Commands Processing) - 1. [morphir-elm make](#) - 2. [morphir-elm gen](#) - 3. [morphir-elm test](#) - 4. [morphir-elm develop](#) -6. [Interoperability With JavaScript](#) -7. [Testing Framework](#) - 1. [CSV testing guide ](spark-testing-framework.md) -8. [The Morphir IR](#) - 1. [Overview of the Morphir IR](#) - 2. [Distribution](#) - 3. [Package](#) - 4. [Module](#) - 5. [Types](#) - 6. [Values](#) - 7. [Names](#) -9. [The Morphir Frontends](#) - 1. [Elm Frontend](#) - 2. [Elm Incremental Frontend](#) -10. [The Morphir Backends](#) - 1. [Scala Backend](scala-backend.md) - 2. [Spark Backend](spark-backend-api-documentation.md) - 3. [Relational IR Backends](relational-backend.md) - 4. [Scala Json Codecs Backend](scala-backend.md) - 5. [Json Schema Backend](json-schema-mappings.md) -11. [Working with CODECS](#) - 1. [Introduction to Encoding/Decoding](#) - 2. [JSON Decoder Building Blocks](#) - 3. [Combining Decoders](#) - 4. [JSON Decode Pipeline](#) - 5. [Writing Encoders and Decoders in Elm](#) - 6. [Standard Codecs in Morphir](#) -12. [NPM and Elm Packages](#) -13. [Introduction to Combinator Parsing in Scala](#) - 1. [Overview of Combinator Parsing](#) - 2. [Parser or Basic Arithmetic Expression](#) - 3. [Implementing Parsers in Scala](#) - 4. [Regular Expressions Parser](#) - 5. [JSON Parser](#) - 6. [Low-Level Pull Parser API](#) - diff --git a/docs/installation-and-usage.md b/docs/installation-and-usage.md index 8e85252ba..17dd7c83e 100644 --- a/docs/installation-and-usage.md +++ b/docs/installation-and-usage.md @@ -1,3 +1,7 @@ +--- +id: installation-and-usage +--- + #Morphir Tools Installation and Usage Morphir is provided as a set of command-line tools that are distribution through the NPM packaging system. diff --git a/docs/json-schema-backend-config-test-plan.md b/docs/json-schema-backend-config-test-plan.md index 15b4f83ad..2734d66e4 100644 --- a/docs/json-schema-backend-config-test-plan.md +++ b/docs/json-schema-backend-config-test-plan.md @@ -1,3 +1,7 @@ +--- +id: json-schema-backend-test2 +--- + # Json SChema Backend Config Test Plan This document outlines the test plan for the Json Schema backend initial configuration processing. diff --git a/docs/json-schema-backend-testplan.md b/docs/json-schema-backend-testplan.md index 07767d29f..0a1ca47dd 100644 --- a/docs/json-schema-backend-testplan.md +++ b/docs/json-schema-backend-testplan.md @@ -1,3 +1,7 @@ +--- +id: json-schema-backend-test +--- + # Json Schema Backend Test Specification This document speficies the testing strategy for the Json Schema backend. diff --git a/docs/json-schema-config.md b/docs/json-schema-config.md index 608042113..2407dfa57 100644 --- a/docs/json-schema-config.md +++ b/docs/json-schema-config.md @@ -1,3 +1,7 @@ +--- +id: json-schema-config +--- + # Json Schema Config Algorithm This a basic program execution flow algorithm that runs (for json-schema backend configuration) when a code generation command is issued: diff --git a/docs/modelling-testing.md b/docs/modelling-testing.md index 798ecb46a..86d39c68d 100644 --- a/docs/modelling-testing.md +++ b/docs/modelling-testing.md @@ -1,6 +1,6 @@ --- id: morphir-testing-setup -title: Setup +title: Morphir Testing Setup --- # Testing Setup diff --git a/docs/morpir-developers-guide.md b/docs/morpir-developers-guide.md index a78b707d4..2fd4edf58 100644 --- a/docs/morpir-developers-guide.md +++ b/docs/morpir-developers-guide.md @@ -1,3 +1,8 @@ + +--- +id: morphir-developers-guide +--- + # Morphir Developers' Guide The purpose of the document is to provide a detailed explanation of how various Morphir code artefacts work. It also documents the standard coding practices adopted for the Morphir project. diff --git a/docs/scala-backend.md b/docs/scala-backend.md index 1dc82dba8..871191b90 100644 --- a/docs/scala-backend.md +++ b/docs/scala-backend.md @@ -1,3 +1,8 @@ +------ +id: scala-backend +--- + + # Scala Backend The Scala backend takes the Morphir IR as the input and returns an in-memory representation of files generated - FileMap diff --git a/docs/scala-json-backend.md b/docs/scala-json-backend.md deleted file mode 100644 index 882f35fe6..000000000 --- a/docs/scala-json-backend.md +++ /dev/null @@ -1,2 +0,0 @@ -# Scala JSON Backend Documentation - diff --git a/docs/scala-json-codecs-backend.md b/docs/scala-json-codecs-backend.md index d113b9929..6712d4cc9 100644 --- a/docs/scala-json-codecs-backend.md +++ b/docs/scala-json-codecs-backend.md @@ -1,3 +1,8 @@ +--- +id: scala-codecs +title: Scala Json Codecs Backend +--- + # Scala JSON-Codecs Backend Documentation This document provides a description of the JSON codecs backend. diff --git a/docs/spark-backend-api-documentation.md b/docs/spark-backend-api-documentation.md index b71a1c2b5..efba796da 100644 --- a/docs/spark-backend-api-documentation.md +++ b/docs/spark-backend-api-documentation.md @@ -1,3 +1,7 @@ +--- +id: spark-backend-api +--- + # Spark Backend/API Documentation This is the entry point for the Spark Backend. diff --git a/docs/spark-backend-as-a-special-case-of-a-relational-backend.md b/docs/spark-backend-as-a-special-case-of-a-relational-backend.md index 27de415f7..6718248c5 100644 --- a/docs/spark-backend-as-a-special-case-of-a-relational-backend.md +++ b/docs/spark-backend-as-a-special-case-of-a-relational-backend.md @@ -1,3 +1,7 @@ +--- +id: spark-backend-relational +--- + # Spark backend as a special case of a Relational backend ## Context and Problem Statement diff --git a/docs/spark-backend-joins.md b/docs/spark-backend-joins.md index 1fd53a05d..e1dc99826 100644 --- a/docs/spark-backend-joins.md +++ b/docs/spark-backend-joins.md @@ -1,3 +1,7 @@ +--- +id: spark-backend-joins +--- + # Spark Backend Joins Let's start by defining an example model that does some joins: diff --git a/docs/spark-backend-optional-values.md b/docs/spark-backend-optional-values.md index 40d0764e0..59d8ae8f3 100644 --- a/docs/spark-backend-optional-values.md +++ b/docs/spark-backend-optional-values.md @@ -1,3 +1,7 @@ +--- +id: spark-optional-values +--- + # Handling optiobnal values in Spark Optional values are handled differently in SQL and Morphir. In SQL every value can potentially be `NULL` and there are implicit rules about how each operator should behave when `NULL`s are passed to them. Spark follows the same approach as documented in the [NULL semantics](https://spark.apache.org/docs/latest/sql-ref-null-semantics.html) section. Morphir on the other hand requires the modeler to handle missing values explicitly. diff --git a/docs/spark-testing-framework.md b/docs/spark-testing-framework.md index 35729541d..56e805567 100644 --- a/docs/spark-testing-framework.md +++ b/docs/spark-testing-framework.md @@ -1,3 +1,7 @@ +--- +id: spark-testing-framework +--- + # Spark Testing Framework ## Spark CSV Testing guide The purpose of this document is to show how someone can use and edit the spark tests. diff --git a/docs/spring-boot-readme.md b/docs/spring-boot-readme.md index 15608feb8..d4064e3cf 100644 --- a/docs/spring-boot-readme.md +++ b/docs/spring-boot-readme.md @@ -1,3 +1,7 @@ +--- +id: springboot-generator +--- + # SpringBoot Generator [Morphir](https://github.com/finos/morphir) is a multi-language system built on a data format that captures an diff --git a/docs/table-template.md b/docs/table-template.md index cec701c69..a061c52d7 100644 --- a/docs/table-template.md +++ b/docs/table-template.md @@ -1,3 +1,7 @@ +--- +id: table-template +--- + # Table Template | Header col1 | Header col2 | Header col 3 | |:--------------:|:------------:|:--------------| diff --git a/docs/testing-framework-readme.md b/docs/testing-framework-readme.md index 1c3764dfa..2ba6c3d39 100644 --- a/docs/testing-framework-readme.md +++ b/docs/testing-framework-readme.md @@ -1,3 +1,7 @@ +--- +id: testing-framework +--- + # Testing Framework Guide The purpose of this document is how we can use Testing Framework within developer server. diff --git a/docs/typescript.md b/docs/typescript.md index 2c6270b9b..1fd26ffad 100644 --- a/docs/typescript.md +++ b/docs/typescript.md @@ -1,3 +1,7 @@ +--- +id: typescript-api +--- + # TypeScript API The purpose of this document is describing the TypeScript API generated for Morphir diff --git a/docs/user-guide-index.md b/docs/user-guide-index.md deleted file mode 100644 index 83cbe0828..000000000 --- a/docs/user-guide-index.md +++ /dev/null @@ -1,44 +0,0 @@ -# Morphir Users' Guide -The purpose of the document is to provide a detailed explanation of how to use the Morphir toolset to model business application. - -### Who this Guide Designed For -1. Business and non-technical users - -##Content -1. [Background](#) -2. [What is all About](#) -3. [The Morphir Community](#) -4. [Getting Started with Morphir](https://github.com/finos/morphir-elm/blob/main/README.md) \ -5. [Quick Install](#) -6. [How to Write Business Logic](#) - 1. [What Makes a Good Model](#) - 2. [Modelling an Application](#) - 3. [Modelling an API](#) - 4. [Modelling the Local State](#) - 5. [Modelling Remote State Dependencies](#) - 6. [Execution](#) - 7. [Complete Examples](#) - 8. [Modelling Decision Tables](#) - 9. [Modelling for Database Developers](#) -7. [How to Compile](#) -8. [How to Use the Interactive Tools](#) -9. [Development Automation (Dev Bots)](#) -10. [Sharing Business Logic](#) -11. [Why Functional Programming is Used](#) -12. [Regulatory Technology](#) - 1. [Automating RegTech](#) - 2. [Use Case: US LCR](#) - 3. [Getting Started](#) - 4. [Modelling LCR](#) - 1. [Modelling Calculations](#) - 2. [Modelling Collection Operations](#) - 3. [Modellng Structures](#) - 5. [Verifying the Model](#) - 6. [Using Automation to Adapt Model to Your Systems](#) -13. [A Simple Walkthrough - The Surfing Board Model](#) - 1. [Overview](#) - 2. [Installing Morphir](#) - 3. [The First Logic](#) - 4. [Generating Code](#) -14. [Generating Code](#) - 1. [Generating a JSON Schema](generating-json-schema.md) diff --git a/docs/user-guide-readme.md b/docs/user-guide-readme.md index afd3a26f5..67681e9d4 100644 --- a/docs/user-guide-readme.md +++ b/docs/user-guide-readme.md @@ -1,3 +1,7 @@ +--- +id: user-guide-readme +--- + # Morphir Users' Guide Morphir's core purpose is to collect and store the vital business logic of an application. To fulfill that goal, diff --git a/docs/whats-it-about.md b/docs/whats-it-about.md index 34b0dc1d1..4fc74c696 100644 --- a/docs/whats-it-about.md +++ b/docs/whats-it-about.md @@ -1,5 +1,5 @@ --- -id: application-article +id: what-is-it-about title: I Have an Application --- diff --git a/docs/working-with-results-in-elm.md b/docs/working-with-results-in-elm.md index 3265841e2..4508190fe 100644 --- a/docs/working-with-results-in-elm.md +++ b/docs/working-with-results-in-elm.md @@ -1,3 +1,8 @@ +--- +id: results-in-elm +title: Working With Results in Elm +--- + # Working With Results in Elm - With Morphir Examples This post explains the Result type in the Elm Programming Language and use cases in Morphir. diff --git a/website/sidebars.js b/website/sidebars.js index cb85fe560..0a99052e7 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -27,12 +27,26 @@ const sidebars = { { type: 'category', label: 'Overview', - items: ['intro', 'application-article', 'domain-model', 'modeling-entire-application'], + items: [ + 'intro', + 'morphir-entail', + 'what-is-it-about', + 'domain-model', + 'model-versioning', + 'modeling-entire-application', + 'modeling-database-developers', + 'modeling-financial-concepts' + ], }, { type: 'category', label: 'Getting Started', - items: ["installation", "editor-setup"] + items: [ + "installation", + "editor-setup", + 'morphir-testing-setup', + 'installation-and-usage' + ] }, { type: 'category', @@ -43,11 +57,31 @@ const sidebars = { type: 'category', label: 'Integration Guides', items: [ + 'scala-backend', + 'scala-codecs', + 'codec-docs', + 'generate-scala-test-case', 'morphir-spark', + 'spark-backend-api', + 'spark-testing-framework', + 'spark-optional-values', + 'spark-backend-joins', + 'spark-backend-relational', 'morphir-cadl-mapping', 'insight-api-guide', 'morphir-typescript', - 'relational-backend' + 'typescript-api', + 'relational-backend', + 'springboot-generator', + 'json-schema-sample', + 'json-schema-mappings', + 'json-schema-enabled-decorator', + 'json-schema-config', + 'json-schema-backend-test', + 'json-schema-backend-test2', + 'json-codecs-doc', + 'decorations-users-guide', + 'custom-attributes-users-guide' ] }, { @@ -57,6 +91,8 @@ const sidebars = { 'modeling-database-developers', 'modeling-financial-concepts', 'publishing-elm-package', + 'morphir-quick-start', + 'generating-json-schema', { type: 'link', label: 'Surfing Board Tutorial', @@ -67,7 +103,12 @@ const sidebars = { { type: 'category', label: 'Contribution Guide', - items: ['code-of-conduct', 'contribution-guide', 'contribution-and-governance-policies'] + items: [ + 'code-of-conduct', + 'contribution-guide', + 'contribution-and-governance-policies', + 'contributing-to-morphir' + ] }, { type: 'category', @@ -77,7 +118,23 @@ const sidebars = { { type: 'category', label: 'Further Readings', - items: ['dev-bots', 'cli-cli2-merging'] + items: [ + 'functional-programming', + 'dev-bots', + 'cli-cli2-merging', + 'results-in-elm', + 'user-guide-readme', + 'testing-framework', + 'table-template', + 'automating-regtech', + 'morphir-elm-commands-processing', + 'morphir-community', + 'adr-for-morphir-cli', + 'media-about-morphir', + 'soul-application', + 'error-append-not-supported', + 'command-line-tools' + ] } ],