aboutsummaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2025-06-01 14:31:12 +0700
committerShulhan <ms@kilabit.info>2025-06-01 14:32:06 +0700
commit19b2e2d1ac0fd8a88af6b0da3d00017e4ee31c06 (patch)
tree3648ad12458e21a11cea25e2bef0a9fcd5a4604c /cmd
parent43408bb5faae9d0458a3f0a9f97741ce3222eb97 (diff)
downloadjarink-19b2e2d1ac0fd8a88af6b0da3d00017e4ee31c06.tar.xz
all: go embed the README and use it on the CLI for help command
Diffstat (limited to 'cmd')
-rw-r--r--cmd/jarink/main.go77
1 files changed, 11 insertions, 66 deletions
diff --git a/cmd/jarink/main.go b/cmd/jarink/main.go
index d73cd1a..4f4d206 100644
--- a/cmd/jarink/main.go
+++ b/cmd/jarink/main.go
@@ -25,17 +25,15 @@ func main() {
flag.Parse()
var cmd = flag.Arg(0)
- if cmd == "" {
- goto invalid_command
- }
-
cmd = strings.ToLower(cmd)
- if cmd == "brokenlinks" {
+ switch cmd {
+ case `brokenlinks`:
var brokenlinksOpts = jarink.BrokenlinksOptions{
Url: flag.Arg(1),
IsVerbose: optVerbose,
}
if brokenlinksOpts.Url == "" {
+ log.Printf(`Missing argument URL to be scanned.`)
goto invalid_command
}
@@ -53,69 +51,16 @@ func main() {
}
fmt.Printf("%s\n", resultJson)
return
- }
-
-invalid_command:
- usage()
- os.Exit(1)
-}
-
-func usage() {
- log.Println(`= Jarink
-
-Jarink is a program to help web administrator to maintains their website.
-
-== Synopsis
-
- jarink [OPTIONS] <COMMAND> <args...>
-Available commands,
-
- brokenlinks - scan the website for broken links (page and images).
-
-== Usage
-
-[OPTIONS] brokenlinks URL
-
- Start scanning for broken links on the web server pointed by URL.
- Invalid links will be scanned on anchor href attribute
- ("<a href=...>") or on the image src attribute ("<img src=...").
-
- Once finished it will print the page and list of broken links inside
- that page in JSON format.
-
- This command accept the following options,
-
- -verbose : print the page that being scanned.
-
- Example,
+ case `help`:
+ log.Println(jarink.GoEmbedReadme)
+ return
- $ jarink scan https://kilabit.info
- {
- "https://kilabit.info/some/page": [
- {
- "Link": "https://kilabit.info/some/page/image.png",
- "Code": 404
- },
- {
- "Link": "https://external.com/link",
- "Error": "Internal server error",
- "Code": 500
- }
- ],
- "https://kilabit.info/another/page": [
- {
- "Link": "https://kilabit.info/another/page/image.png",
- "Code": 404
- },
- {
- "Link": "https://external.org/link",
- "Error": "Internal server error",
- "Code": 500
- }
- ]
+ default:
+ log.Printf(`Missing or invalid command %q`, cmd)
}
---
-jarink v` + jarink.Version)
+invalid_command:
+ log.Printf(`Run "jarink help" for usage.`)
+ os.Exit(1)
}