Files
gocryptotrader/cmd/documentation
Gareth Kirwan b4e45e9a1b Websocket: Restructure files and types (#1859)
* Websocket: Rename stream package

* Websocket: Rename Websocket to Manager

* Websocket: Replace explicit errs with common.NilGuard

* Websocket: Move websocket_types.go to types.go

* Websocket: Minor field comment and alignment in types

* Webosocket: Rename WebsocketConnection to Connection

* Alphapoint: Make gorilla ws import explicit

Just to avoid confusion with our own packages.

* Websocket: Move stream_match to match

* Websocket: Move websocket_connection to connection

* Websocket: Move websocket.go to manager.go

* Websocket: Break out all subscription methods into subscriptions.go

* Websocket: Move connection type into its file

* Websocket: Remove PositionUpdated

Type is not used anywhere

* Kraken: Use local constant for pong

Was the only use of websocket.Pong and doesn't really feel right to
represent kraken's api resp in one of our packages

* Websocket: Move connection sub-types to connection package

* Websocket: Move manager types into manager

* Websocket: Move ConnectionWrapper into manager

* Websocket: Move websocket_test to manager_test

* Websocket: Privatise connectionWrapper

* Websocket: Remaining types into types.go

These really belong somewhere else mostly, but this will do for now

* Websocket: Tidy up connection method vars

* Gofumpt: Moving package imports around

* Websocket: Rename errDuplicateConnectionSetup

* Websocket: Fix duplicate import of gws

* Websocket: Fix gofumpt -extra

* Websocket: Standardise import of gws across other pkgs

* Kraken: Remove unused sub conf consts

These were replaced by the generic Levels and Depth fields on all subs

* Websocket: Privitise ConnectioWrapper fields

* Websocket: inline single use var WebsocketNotAuthenticatedUsingRest

* Websocket: Move documentation to template

* Bithumb: Assertify TestWsHandleData
2025-04-10 16:25:02 +10:00
..

GoCryptoTrader package Documentation

Build Status Software License GoDoc Coverage Status Go Report Card

This documentation package is part of the GoCryptoTrader codebase.

This is still in active development

You can track ideas, planned features and what's in progress on our GoCryptoTrader Kanban board.

Join our slack to discuss all things related to GoCryptoTrader! GoCryptoTrader Slack

Current Features for documentation

This tool allows for the generation of new documentation through templating

From the gocryptotrader/cmd/documentation/ folder, using the go command: go run documentation.go this will auto-generate and regenerate documentation across the GoCryptoTrader code base.

Using the -v command will, ie go run documentation.go -v put the tool into verbose mode allowing you to see what is happening with a little more depth.

Be aware, this tool will:

  • Works off a configuration JSON file located at gocryptotrader/cmd/documentation/ for future use with multiple repositories.
  • Automatically find the directory and file tree for the GoCryptoTrader source code and alert you of undocumented file systems which need to be updated.
  • Automatically find the template folder tree.
  • Fetch an updated contributor list and rank on pull request commit amount
  • Sets up core folder docs for the root directory tree including LICENSE and CONTRIBUTORS

config.json example

{
 "githubRepo": "https://api.github.com/repos/thrasher-corp/gocryptotrader", This is your current repo
 "exclusionList": { This allows for excluded directories and files
  "Files": null,
  "Directories": [
   "_templates",
   ".git",
   "web"
  ]
 },
 "rootReadmeActive": true, allows a root directory README.md
 "licenseFileActive": true, allows for a license file to be generated
 "contributorFileActive": true, fetches a new contributor list
 "referencePathToRepo": "../../"
}

Template example

place a new template example_file.tmpl located in the current gocryptotrader/cmd/documentation/ folder; when the documentation tool finishes it will give you the define template associated name e.g. Template not found for path ../../cmd/documentation create new template with \{\{define "cmd documentation" -\}\} TEMPLATE HERE \{\{end}} so you can replace the below example with \{\{define "cmd documentation" -}}

\{\{\define "example_definition_created_by_documentation_tool" -}}
\{\{\template "header" .}}
## Current Features for documentation

#### A concise blurb about the package or tool system

+ Coding examples
import "github.com/thrasher-corp/gocryptotrader/something"
testString := "aAaAa"
upper := strings.ToUpper(testString)
// upper == "AAAAA"

{\{\template "contributions"}}
{\{\template "donations"}}
{\{\end}}

ALL NEW UPDATES AND FILE SYSTEM ADDITIONS NEED A DOCUMENTATION UPDATE USING THIS TOOL OR PR MERGE REQUEST MAY BE POSTPONED.

Please click GoDocs chevron above to view current GoDoc information for this package

Contribution

Please feel free to submit any pull requests or suggest any desired features to be added.

When submitting a PR, please abide by our coding guidelines:

  • Code must adhere to the official Go formatting guidelines (i.e. uses gofmt).
  • Code must be documented adhering to the official Go commentary guidelines.
  • Code must adhere to our coding style.
  • Pull requests need to be based on and opened against the master branch.

Donations

If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:

bc1qk0jareu4jytc0cfrhr5wgshsq8282awpavfahc