revised developer notes, added Table of Contents (#93)

* revised developer notes, add ToC

* add goreleaser doc
pull/99/head
Bryan Nehl 1 year ago committed by GitHub
parent 89d649ad95
commit 89d7cbd955
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1,6 @@
# Developer Notes
* [Set up tooling on your mac](enableGo.md)
* [Build the project](buildNotes.md)
* [FLE file protocol notes](protocol.md)
* [FLE documentation](Fast%20Log%20Entry%20(FLE).pdf)

@ -1,3 +1,13 @@
# Build Notes
## Bootstrap
Install [Cobra CLI tool](https://github.com/spf13/cobra) `go install github.com/spf13/cobra-cli@latest`
[Install](https://goreleaser.com/install/) [goreleaser](https://goreleaser.com/)
* `go build && go install`
## to build with goreleaser
* `goreleaser --snapshot --skip-publish --rm-dist`

@ -2,7 +2,7 @@
Notes to enable/configure GO on my Mac
```
```sh
# GOlang related
export GOPATH="${HOME}/.go"
export GOROOT="$(brew --prefix golang)/libexec"
@ -11,15 +11,21 @@ test -d "${GOPATH}" || mkdir "${GOPATH}"
test -d "${GOPATH}/src/github.com" || mkdir -p "${GOPATH}/src/github.com"
```
* Use Brew to instal Go
* Use Brew to install Go
* Load the various tools in in VisualCode
* `go mod init example.com/user/hello`
* Structuring a go project: https://github.com/golang-standards/project-layout
* Structuring a go project: <https://github.com/golang-standards/project-layout>
## Cobra
Cobra documentation:
## Enable cobra
* [main README](https://github.com/spf13/cobra/blob/main/README.md)
* [Cobra User Guide](https://github.com/spf13/cobra/blob/main/user_guide.md)
* [Cobra CLI](https://github.com/spf13/cobra-cli/blob/main/README.md)
Cobra documentation available at https://github.com/spf13/cobra/blob/master/cobra/README.md
Setting up project to use Cobra:
* `go get -u github.com/spf13/cobra/cobra`
* `go mod init FLEcli`
@ -29,17 +35,20 @@ Cobra documentation available at https://github.com/spf13/cobra/blob/master/cobr
## Reading and processing file
* [Go by Example: Reading Files](https://gobyexample.com/reading-files)
* https://stackoverflow.com/questions/8757389/reading-a-file-line-by-line-in-go
* https://www.golangprograms.com/golang-read-file-line-by-line-to-string.html
* <https://stackoverflow.com/questions/8757389/reading-a-file-line-by-line-in-go>
* <https://www.golangprograms.com/golang-read-file-line-by-line-to-string.html>
## Regex
* useful site: https://regex101.com
* useful site: <https://regex101.com>
* [Regex to verify Hamradio callsign and retrieve prefix](https://regex101.com/library/6QhGuD)
* [Hamradio callsign](https://regex101.com/library/uP6xD2)
* [Verify amateur radio call sign meets ITU format](https://regex101.com/library/gS6qG8)
## Parsing 2
* [Effective text parsing in golang](https://medium.com/@TobiasSchmidt89/effective-text-parsing-in-golang-163d13784288)
## Amateur related Golang libray
* https://github.com/tzneal/ham-go
* <https://github.com/tzneal/ham-go>

@ -7,13 +7,14 @@
## Header
* **mycall** The mycall keyword is your station call sign and it is mandatory. This is the logging station's call sign (the call sign used over the air). Saving ADIF files without your own call is prevented.
* **operator** The call sign of the operator can optionally be added to the ADIF file, it is not mandatory. Use the operator keyword and add the call sign of the operator. It can be different from the station call sign but it may not be the name of the operator! The operator keyword can be repeated further down the log with other operator call signs if they change.
* **qslmsg** QSL Messages valid for the entire log can be entered in the header section of the log. It is not mandatory.
* **mywwff** The mywwff keyword is used to register your own WWFF reference number in WWFF Logging. See also chapter WWFF logging. The syntax is: AAFF-CCCC: AA = national prefix, CCCC = 4-digit numeric code (e.g. ONFF-0001).
* **mysota** The mysota keyword is used to register your own SOTA reference number in SOTA Logging. The syntax is: AA/NN-CCC: Association/Name-3-digit numeric Code (e.g. G/CE-001). Your own SOTA reference number is mandatory for SOTA Logging.
* **nickname** The nickname keyword can be used for eQSL ADIF uploads. See chapter Uploading logs to eQSL.cc.
* **date** The date format is year-month-day (YYYY-MM-DD), e.g. 2016-12-31. Year, month and day may be abbreviated and you may use separators other than dash.
* **mycall** The mycall keyword is your station call sign and it is mandatory. This is the logging station's call sign (the call sign used over the air). Saving ADIF files without your own call is prevented.
* **operator** The call sign of the operator can optionally be added to the ADIF file, it is not mandatory. Use the operator keyword and add the call sign of the operator. It can be different from the station call sign but it may not be the name of the operator! The operator keyword can be repeated further down the log with other operator call signs if they change.
* **qslmsg** QSL Messages valid for the entire log can be entered in the header section of the log. It is not mandatory.
* **mywwff** The mywwff keyword is used to register your own WWFF reference number in WWFF Logging. See also chapter WWFF logging. The syntax is: AAFF-CCCC: AA = national prefix, CCCC = 4-digit numeric code (e.g. ONFF-0001).
* **mysota** The mysota keyword is used to register your own SOTA reference number in SOTA Logging. The syntax is: AA/NN-CCC: Association/Name-3-digit numeric Code (e.g. G/CE-001). Your own SOTA reference number is mandatory for SOTA Logging.
* **nickname** The nickname keyword can be used for eQSL ADIF uploads. See chapter Uploading logs to eQSL.cc.
* **date** The date format is year-month-day (YYYY-MM-DD), e.g. 2016-12-31. Year, month and day may be abbreviated and you may use separators other than dash.
## Validations
## validations
* call
Loading…
Cancel
Save