update links to git.abbether.

master
Craig Oates 5 years ago
parent
commit
3e29391d47
  1. 6
      CLI-Validation-Overview.md
  2. 16
      Command-Methods-Overview.md
  3. 4
      Console-and-Library-Tests-Overview.md
  4. 4
      Creating-the-Input-Loop.md
  5. 8
      Home.md
  6. 4
      SmoulderingBeachBall-Home.md
  7. 4
      SmoulderingBeachBallCLI-Home.md
  8. 2
      TestCentre-Breakdown.md
  9. 12
      The-CLIs-Flow.md
  10. 8
      The-Domain-Name-Space.md
  11. 7
      Using-Smouldering-Beach-Ball-in-Your-Project.md
  12. 12
      Using-the-Console-Program.md
  13. 4
      _Siderbar.md

6
CLI-Validation-Overview.md

@ -8,12 +8,12 @@ The reason why is because C.W. does the type checking automatically. So, it seem
If you would like to know more about how C.W. performs its validation checks, please use the following links:
- [Console.Waterworks -- Coercion Type List](https://gitlab.com/craig.oates/Console.Waterworks/wikis/Coercion-Types-List)
- [Brittle Fish Wiki -- Writing Command-Methods in F#](https://gitlab.com/craig.oates/Brittle-Fish/wikis/Writing-Command-Methods-in-F%23) (provides specific information for F# projects)
- [Console.Waterworks -- Coercion Type List](https://git.abbether.net/craig.oates/Console.Waterworks/wikis/Coercion-Types-List)
- [Brittle Fish Wiki -- Writing Command-Methods in F#](https://git.abbether.net/craig.oates/Brittle-Fish/wikis/Writing-Command-Methods-in-F%23) (provides specific information for F# projects)
Instead of copying and pasting the code from "Validation.fs" into this page, I recommend reading the actual file yourself. You can view it using the following link:
- [Validation.fs](https://gitlab.com/craig.oates/Smouldering-Beach-Ball/blob/master/SmoulderingBeachBallCLI/Validation.fs)
- [Validation.fs](https://git.abbether.net/craig.oates/Smouldering-Beach-Ball/blob/master/SmoulderingBeachBallCLI/Validation.fs)
As you work your way through the file, try keeping the relationship between "Validation.fs" and "ConsoleCommands.fs" in mind. Everything in "Validation.fs" aids "ConsoleCommands.fs" and nothing else.

16
Command-Methods-Overview.md

@ -1,6 +1,6 @@
Without going into too much detail, a "command-method" is a function within the `ConsoleCommands` module. The name "command-method" is inaccurate here but I have kept it to remain consistent with Console.Waterworks (C.W). If you would like to know more about command-methods, I recommend you read the following wiki entry:
- [Console.Waterworks Wiki -- Writing Command-Methods](https://gitlab.com/craig.oates/Console.Waterworks/wikis/Writing-Command-Methods)
- [Console.Waterworks Wiki -- Writing Command-Methods](https://git.abbether.net/craig.oates/Console.Waterworks/wikis/Writing-Command-Methods)
For command-methods to work properly, there are several things they need. Which are:
@ -12,7 +12,7 @@ For command-methods to work properly, there are several things they need. Which
Please note, this list is not complete. With that said, the extra stuff is more to do with using C.W. in a C# project. If you would like to know more about using C.W. with F# and how it differs from using it with C#, checkout the following link:
- [Brittle Fish Repository](https://gitlab.com/craig.oates/Brittle-Fish)
- [Brittle Fish Repository](https://git.abbether.net/craig.oates/Brittle-Fish)
Having got the above out of the way, here is a couple of command-method examples to help you get a feel for how they look.
@ -49,8 +49,8 @@ To help explain what the above code, please consider the image below.
It is not essential to include the help attributes but they do provide help for the end-user and future developers. For more information about the help attributes, please use the following links:
- [Console.Waterworks Wiki -- Using the "Help Attributes"](https://gitlab.com/craig.oates/Console.Waterworks/wikis/Using-the-%22Help-Attributes%22)
- [Brittle Fish Wiki](https://gitlab.com/craig.oates/Brittle-Fish/wikis/home)
- [Console.Waterworks Wiki -- Using the "Help Attributes"](https://git.abbether.net/craig.oates/Console.Waterworks/wikis/Using-the-%22Help-Attributes%22)
- [Brittle Fish Wiki](https://git.abbether.net/craig.oates/Brittle-Fish/wikis/home)
The name of the command-method is what the end-user must enter into the console. If the command-method requires input arguments, the end-user must provide them, as well. For example, please consider the following image:
@ -58,7 +58,7 @@ The name of the command-method is what the end-user must enter into the console.
If all has gone well, you should be able to work your way through "ConsoleCommands.fs" and understand it. With that said, you will come across functions which appear to have no explanation for why the exist. If you dig around a little bit, you will notice these functions are either situated in "Validation.fs" or the .Net Standard library (I.E. "SmoulderingBeachBall"). Use the following links for more information:
- [ConsoleCommands.fs](https://gitlab.com/craig.oates/Smouldering-Beach-Ball/blob/master/SmoulderingBeachBallCLI/ConsoleCommands.fs)
- [Validation.fs](https://gitlab.com/craig.oates/Smouldering-Beach-Ball/blob/master/SmoulderingBeachBallCLI/Validation.fs)
- [Services.fs (SmoulderingBeachBall)](https://gitlab.com/craig.oates/Smouldering-Beach-Ball/blob/master/SmoulderingBeachBall/Services.fs)
- [Console(Commands) A.P.I. (As C.L.I. section)](https://gitlab.com/craig.oates/Smouldering-Beach-Ball/wikis/Console-API)
- [ConsoleCommands.fs](https://git.abbether.net/craig.oates/Smouldering-Beach-Ball/blob/master/SmoulderingBeachBallCLI/ConsoleCommands.fs)
- [Validation.fs](https://git.abbether.net/craig.oates/Smouldering-Beach-Ball/blob/master/SmoulderingBeachBallCLI/Validation.fs)
- [Services.fs (SmoulderingBeachBall)](https://git.abbether.net/craig.oates/Smouldering-Beach-Ball/blob/master/SmoulderingBeachBall/Services.fs)
- [Console(Commands) A.P.I. (As C.L.I. section)](https://git.abbether.net/craig.oates/Smouldering-Beach-Ball/wikis/Console-API)

4
Console-and-Library-Tests-Overview.md

@ -1,7 +1,7 @@
Instead of going through both of the main testing files (I.E. "ConsoleTests.fs" and "LibraryTests.fs"), I will provide an overview of how they work. If you want to make your way through the source code you can do so by using the following links:
- [ConsoleTests.fs](https://gitlab.com/craig.oates/Smouldering-Beach-Ball/blob/master/TestCentre/ConsoleTests.fs)
- [LibraryTests.fs](https://gitlab.com/craig.oates/Smouldering-Beach-Ball/blob/master/TestCentre/LibraryTests.fs)
- [ConsoleTests.fs](https://git.abbether.net/craig.oates/Smouldering-Beach-Ball/blob/master/TestCentre/ConsoleTests.fs)
- [LibraryTests.fs](https://git.abbether.net/craig.oates/Smouldering-Beach-Ball/blob/master/TestCentre/LibraryTests.fs)
The general structure for each file is the same. Each one has a module called `PropertyTests` with "helper" functions at the top of them. It is worth pointing out both of these modules live in name-spaces. This is what allows both "testing" files to use the same module name. If you are wondering why I did it this way, it is because it makes it easier to read the Test Explorer. For now, the only unit tests you will see are in "ConsoleTests.fs", residing in the `UnitTests` module.

4
Creating-the-Input-Loop.md

@ -14,11 +14,11 @@ That snippet of code is all there is in "Program.fs". Once you know what is happ
What is happening is a new `CW_Liaison` object is created and is told to `run`. This is where C.W. creates the input-loop which runs indefinitely until the end-user closes the console (or the program crashes). The first argument passed into `run` refers to the name-space of the `ConsoleCommands` module. In this case it is `Commands`. The second one refers to the information displayed in the console when you run it. When set to `true`, the console displays information found in "AssemblyInfo.fs". If you use `false`, the only thing you will see is the prompt. You can check the name-space of the `ConsoleCommand` module via the following link:
- [ConsoleCommands.fs](https://gitlab.com/craig.oates/Smouldering-Beach-Ball/blob/master/SmoulderingBeachBallCLI/ConsoleCommands.fs)
- [ConsoleCommands.fs](https://git.abbether.net/craig.oates/Smouldering-Beach-Ball/blob/master/SmoulderingBeachBallCLI/ConsoleCommands.fs)
How C.W. creates and manages the input-loop is out of this wiki's scope. Although, if you would like to know more about how is created, you can use the following link:
- [Console.Waterworks Wiki](https://gitlab.com/craig.oates/Console.Waterworks/wikis/The-Flow-of-the-System)
- [Console.Waterworks Wiki](https://git.abbether.net/craig.oates/Console.Waterworks/wikis/The-Flow-of-the-System)
Here are examples of what is displayed at run-time when you pass `true` or `false` into the `liaison.Run` command, mentioned above.

8
Home.md

@ -1,7 +1,7 @@
- Created by: Craig Oates
- Web: [craigoates.net](http://www.craigoates.net)
- Email: [craig@craigoates.net](mailto:craig@craigoates.net)
- License: [MIT](https://gitlab.com/craig.oates/Smouldering-Beach-Ball/blob/master/LICENSE)
- License: [MIT](https://git.abbether.net/craig.oates/Smouldering-Beach-Ball/blob/master/LICENSE)
Welcome to the wiki of Smouldering Beach Ball. The aim of this wiki is to teach you how to use Smouldering Beach Ball -- as a NuGet package and a command line interface (C.L.I.). If you want to work within the repositories source code, this wiki will, also, show you how to do that. Feel free to use the sidebar (to your right) or the links below to navigate to the section you want.
@ -16,7 +16,7 @@ Before continuing, I recommend you are familiar with the following:
- [NuGet](https://www.nuget.org)
- [xUnit](https://xunit.net/)
- [FsCheck](https://fscheck.github.io/FsCheck/)
- [Console.Waterworks](https://gitlab.com/craig.oates/Console.Waterworks)
- [Console.Waterworks](https://git.abbether.net/craig.oates/Console.Waterworks)
## Notes on Writing Style
@ -72,7 +72,3 @@ Before continuing, I recommend you are familiar with the following:
- [Add Smouldering Beach Ball to Your Project](Add-Smouldering-Beach-Ball-to-Your-Project)
- [The Domain Name-Space](The-Domain-Name-Space)
- [Using Smouldering Beach Ball in Your Project](Using-Smouldering-Beach-Ball-in-Your-Project)
### Extra Resources
- [Code Snippets for common tasks](https://gitlab.com/craig.oates/Smouldering-Beach-Ball/snippets)

4
SmoulderingBeachBall-Home.md

@ -1,7 +1,7 @@
This section focuses on the source code within the project called "SmoulderingBeachBall". This is the .Net Standard 2.0 library which provides users with a way to create placeholder images. If you would like to know more about the other projects, please use the following links;
- [SmoulderingBeachBallCLI](https://gitlab.com/craig.oates/Smouldering-Beach-Ball/wikis/SmoulderingBeachBallCLI-Home) (The console project)
- [TestCentre](https://gitlab.com/craig.oates/Smouldering-Beach-Ball/wikis/CLI-Home) (The testing library)
- [SmoulderingBeachBallCLI](https://git.abbether.net/craig.oates/Smouldering-Beach-Ball/wiki/SmoulderingBeachBallCLI-Home) (The console project)
- [TestCentre](https://git.abbether.net/craig.oates/Smouldering-Beach-Ball/wiki/CLI-Home) (The testing library)
## Table of Contents

4
SmoulderingBeachBallCLI-Home.md

@ -1,7 +1,7 @@
This section focuses on the source code within the project called "SmoulderingBeachBallCLI". This is the console project which provides users with a way to uses the features in "SmoulderingBeachBall" without the need to write code. If you would like to know more about the other projects, please use the following links:
- [SmoulderingBeachBall](https://gitlab.com/craig.oates/Smouldering-Beach-Ball/wikis/SmoulderingBeachBall-Home) (.Net Standard 2.0 library)
- [TestCentre](https://gitlab.com/craig.oates/Smouldering-Beach-Ball/wikis/Test-Centre-Home) (testing library)
- [SmoulderingBeachBall](https://git.abbether.net/craig.oates/Smouldering-Beach-Ball/wiki/SmoulderingBeachBall-Home) (.Net Standard 2.0 library)
- [TestCentre](https://git.abbether.net/craig.oates/Smouldering-Beach-Ball/wiki/Test-Centre-Home) (testing library)
## Table of Contents

2
TestCentre-Breakdown.md

@ -24,6 +24,6 @@ At this moment in time, "Script.fsx" provides code for you to delete any/all fil
If you are unfamiliar with using F# scripts and F# Interactive (FSI), please use the following links:
- [Script.fsx](https://gitlab.com/craig.oates/Smouldering-Beach-Ball/blob/master/TestCentre/Script.fsx)
- [Script.fsx](https://git.abbether.net/craig.oates/Smouldering-Beach-Ball/blob/master/TestCentre/Script.fsx)
- [F# Interactive (FSI)](https://docs.microsoft.com/en-us/dotnet/fsharp/tutorials/fsharp-interactive/)
- [Scripting with F#](https://fsharpforfunandprofit.com/installing-and-using/) (it's a little dated but it contains enough information to get you going)

12
The-CLIs-Flow.md

@ -6,10 +6,10 @@ The way it works is the console receives input from the end-user. The console pa
The reason the project is set-up this way is because I built it with Console.Waterworks (C.W.). I will not go into too much detail here about how C.W. works here. Instead, I will give a basic overview. If you would like a more detailed breakdown, please use the following links:
- [Console.Waterworks Repository](https://gitlab.com/craig.oates/Console.Waterworks)
- [Console.Waterworks Wiki](https://gitlab.com/craig.oates/Console.Waterworks/wikis/home)
- [Console.Waterworks.Core Repository](https://gitlab.com/craig.oates/Console.Waterworks.Core) (This is the .Net Core version.)
- [Console.Waterworks.Core Wiki](https://gitlab.com/craig.oates/Console.Waterworks.Core/wikis/home) (The .Net Core version operates the same way as the traditional .Net one. So, this wiki is not as comprehensive and mostly serves as a place to set-up the .Net Core version of C.W.)
- [Console.Waterworks Repository](https://git.abbether.net/craig.oates/Console.Waterworks)
- [Console.Waterworks Wiki](https://git.abbether.net/craig.oates/Console.Waterworks/wikis/home)
- [Console.Waterworks.Core Repository](https://git.abbether.net/craig.oates/Console.Waterworks.Core) (This is the .Net Core version.)
- [Console.Waterworks.Core Wiki](https://git.abbether.net/craig.oates/Console.Waterworks.Core/wikis/home) (The .Net Core version operates the same way as the traditional .Net one. So, this wiki is not as comprehensive and mostly serves as a place to set-up the .Net Core version of C.W.)
At a basic level, C.W. is a NuGet package which helps you write command-based console programs. From a **distance**, C.W. programs look **a bit like** MVC programs. The basic structure of a C.W. program looks like the image below.
@ -24,8 +24,8 @@ For C.W. to operate as it does, it needs to rely on certain things. They are:
As an aside, I wrote C.W. with C# and without F# in mind. Because of this, some of the code is this (console) project looks a little "off". If you would like to know more about using C.W. in an F# environment, please head over to another repository of mine. Its name is Brittle Fish and it is a tutorial/wiki for F# developers wanting to use C.W. It, also, points out potential pitfalls you might run into when using C.W. with F#. You can find Brittle Fish with the following links:
- [Brittle Fish Repository](https://gitlab.com/craig.oates/Brittle-Fish)
- [Brittle Fish Wiki](https://gitlab.com/craig.oates/Brittle-Fish/wikis/home)
- [Brittle Fish Repository](https://git.abbether.net/craig.oates/Brittle-Fish)
- [Brittle Fish Wiki](https://git.abbether.net/craig.oates/Brittle-Fish/wikis/home)
End of aside.

8
The-Domain-Name-Space.md

@ -26,13 +26,7 @@ It is, also, worth pointing out you do not need to specify the file name (A.K.A.
If you would like to read the actual source code in `DomainTypes`, you can do so by using the following link:
- [Domain.fs](https://gitlab.com/craig.oates/Smouldering-Beach-Ball/blob/master/SmoulderingBeachBall/Domain.fs)
## Domain Types Breakdown
The following examples (amongst others) are viewable in "Snippets". You can get to "Snippets" using the following link:
- [Snippets section](https://gitlab.com/craig.oates/Smouldering-Beach-Ball/snippets)
- [Domain.fs](https://git.abbether.net/craig.oates/Smouldering-Beach-Ball/blob/master/SmoulderingBeachBall/Domain.fs)
### OverlayType

7
Using-Smouldering-Beach-Ball-in-Your-Project.md

@ -18,14 +18,13 @@ let ``draw-image`` imgWidth imgHeight mainColour oColour oType path =
| _ as ex -> ex.Message
```
For more in-depth examples, have a look at "ConsoleCommands.fs". In here, you will find "real world" examples of this library in use. You can, also, check out the "Snippets" section for more examples. Links to those places are as follows:
For more in-depth examples, have a look at "ConsoleCommands.fs". In here, you will find "real world" examples of this library in use.The links for that is as follows:
- [ConsoleCommands.fs](https://gitlab.com/craig.oates/Smouldering-Beach-Ball/blob/master/SmoulderingBeachBallCLI/ConsoleCommands.fs)
- ["Snippets" Section](https://gitlab.com/craig.oates/Smouldering-Beach-Ball/snippets)
- [ConsoleCommands.fs](https://git.abbether.net/craig.oates/Smouldering-Beach-Ball/blob/master/SmoulderingBeachBallCLI/ConsoleCommands.fs)
You can view the code for the various specifications using the following link:
- [Domain.fs](https://gitlab.com/craig.oates/Smouldering-Beach-Ball/blob/master/SmoulderingBeachBall/Domain.fs)
- [Domain.fs](https://git.abbether.net/craig.oates/Smouldering-Beach-Ball/blob/master/SmoulderingBeachBall/Domain.fs)
## The Pieces you will be Working With

12
Using-the-Console-Program.md

@ -2,13 +2,13 @@ The console program this repository provides is a traditional .Net 4.7.1 console
- [Console.Waterworks
Repository](https://gitlab.com/craig.oates/Console.Waterworks)
Repository](https://git.abbether.net/craig.oates/Console.Waterworks)
- [Console.Waterworks
Wiki](https://gitlab.com/craig.oates/Console.Waterworks/wikis/home)
Wiki](https://git.abbether.net/craig.oates/Console.Waterworks/wikis/home)
- [Console.Waterworks.Core
Repository](https://gitlab.com/craig.oates/Console.Waterworks.Core)
Repository](https://git.abbether.net/craig.oates/Console.Waterworks.Core)
- [Console.Waterworks.Core
Wiki](https://gitlab.com/craig.oates/Console.Waterworks.Core/wikis/home)
Wiki](https://git.abbether.net/craig.oates/Console.Waterworks.Core/wikis/home)
I will assume you have downloaded the console program or cloned the repository and built it. For information on how to get SmoulderingBeachBallCLI on your machine, you can use the following link:
@ -20,7 +20,7 @@ When you start the console, you will see something similiar to the image below.
From here, you can begin entering commands. Before you do, it is worth pointing out two things. The first is you can see a list of all the available commands by typing "help" into the prompt and pressing *ENTER*. The second thing is the program has a built-in "cheat-sheet". The quickest way to access it by entering "cheat" into the prompt. When you do that, you will see a cheat-sheet appear on your desktop. You can, also, use the following link:
- [Cheat Sheet PDF](https://gitlab.com/craig.oates/Smouldering-Beach-Ball/blob/master/SmoulderingBeachBallCLI/cheat-sheet.pdf) (the repositories version)
- [Cheat Sheet PDF](https://git.abbether.net/craig.oates/Smouldering-Beach-Ball/blob/master/SmoulderingBeachBallCLI/cheat-sheet.pdf) (the repositories version)
![console with help command](attachments/console-with-help.png)
@ -29,7 +29,7 @@ From here, you can begin entering commands. Before you do, it is worth pointing
If you go through the "help" section, in the console or PDF, you will notice most of the commands have input arguments. From your point-of-view, they are typical input types (E.G. `int`, `string`). There are limitations, though. The most notable one being the converting from (console) text to other (non-`string`) types. If you would like to know more about these limitations, I recommend you use the following link:
- [Coerce
List](https://gitlab.com/craig.oates/Console.Waterworks/wikis/Coercion-Types-List)
List](https://git.abbether.net/craig.oates/Console.Waterworks/wikis/Coercion-Types-List)
I will not go into too much detail about the limitation because it is essentially a C.W. concern. And, you should not notice it for the most part. Although, if you are wanting to work with this projects source code, I highly recommend you use the above link.

4
_sidebar.md → _Siderbar.md

@ -47,7 +47,3 @@
- [Add Smouldering Beach Ball to Your Project](Add-Smouldering-Beach-Ball-to-Your-Project)
- [The Domain Name-Space](The-Domain-Name-Space)
- [Using Smouldering Beach Ball in Your Project](Using-Smouldering-Beach-Ball-in-Your-Project)
### Extra Resources
- [Code Snippets for common tasks](https://gitlab.com/craig.oates/Smouldering-Beach-Ball/snippets)
Loading…
Cancel
Save