mirror of
https://github.com/on4kjm/FLEcli.git
synced 2025-01-18 13:01:09 +01:00
revised developer notes, added Table of Contents (#93)
* revised developer notes, add ToC * add goreleaser doc
This commit is contained in:
parent
89d649ad95
commit
89d7cbd955
4 changed files with 47 additions and 21 deletions
6
notes/README.md
Normal file
6
notes/README.md
Normal file
|
@ -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`
|
||||
|
@ -7,4 +17,4 @@
|
|||
## to push a release
|
||||
|
||||
* on the master branch `git tag v0.1.1`
|
||||
* `git push --tag`
|
||||
* `git push --tag`
|
||||
|
|
|
@ -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,35 +11,44 @@ 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>
|
||||
|
||||
## Enable cobra
|
||||
## Cobra
|
||||
|
||||
Cobra documentation available at https://github.com/spf13/cobra/blob/master/cobra/README.md
|
||||
Cobra documentation:
|
||||
|
||||
* [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)
|
||||
|
||||
Setting up project to use Cobra:
|
||||
|
||||
* `go get -u github.com/spf13/cobra/cobra`
|
||||
* `go mod init FLEcli`
|
||||
* `cobra init --pkg-name FLEcli -l MIT`
|
||||
* `cobra add load` adds a load command
|
||||
|
||||
## Reading and processing file
|
||||
## 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>
|
||||
|
|
|
@ -2,18 +2,19 @@
|
|||
|
||||
## General
|
||||
|
||||
* line comment: "#" => "`^#`s"
|
||||
* line comment: "#" => "`^#`s"
|
||||
* Multi line comment: enclosed in "{}"
|
||||
|
||||
## 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
|
||||
* call
|
||||
## Validations
|
||||
|
||||
* call
|
||||
|
|
Loading…
Reference in a new issue