feat: page command defaults to TOC-only, adds --complete flag
All checks were successful
Integration Tests / test (pull_request) Successful in 30s
All checks were successful
Integration Tests / test (pull_request) Successful in 30s
This commit was merged in pull request #4.
This commit is contained in:
@@ -12,15 +12,18 @@ import (
|
|||||||
|
|
||||||
func newPageCmd() *cobra.Command {
|
func newPageCmd() *cobra.Command {
|
||||||
var pageSection string
|
var pageSection string
|
||||||
|
var complete bool
|
||||||
|
|
||||||
cmd := &cobra.Command{
|
cmd := &cobra.Command{
|
||||||
Use: "page <title>",
|
Use: "page <title>",
|
||||||
Short: "Fetch and display a wiki page",
|
Short: "Fetch and display a wiki page",
|
||||||
Long: `Fetches a wiki page and renders it as markdown. Optionally filter
|
Long: `Fetches a wiki page and renders its table of contents by default.
|
||||||
to a specific section.
|
Use --section to get a specific section, or --complete for the full page.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
rsw osrs page "Dragon scimitar"
|
rsw osrs page "Dragon scimitar"
|
||||||
|
rsw osrs page "Dragon scimitar" --section "Combat styles"
|
||||||
|
rsw osrs page "Mining" --complete
|
||||||
rsw rs3 page "Mining" --section "Training"`,
|
rsw rs3 page "Mining" --section "Training"`,
|
||||||
Args: cobra.MinimumNArgs(1),
|
Args: cobra.MinimumNArgs(1),
|
||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
@@ -74,13 +77,19 @@ Examples:
|
|||||||
md.HR()
|
md.HR()
|
||||||
}
|
}
|
||||||
|
|
||||||
md.Line(htmlconv.Convert(page.HTML))
|
if complete {
|
||||||
|
md.Line(htmlconv.Convert(page.HTML))
|
||||||
|
} else {
|
||||||
|
md.Line("Use --section <name> to fetch a specific section, or --complete for the full page.")
|
||||||
|
}
|
||||||
|
|
||||||
fmt.Print(md.String())
|
fmt.Print(md.String())
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
cmd.Flags().StringVar(&pageSection, "section", "", "Fetch only the named section")
|
cmd.Flags().StringVar(&pageSection, "section", "", "Fetch only the named section")
|
||||||
|
cmd.Flags().BoolVar(&complete, "complete", false, "Fetch the complete page content (default shows TOC only)")
|
||||||
return cmd
|
return cmd
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -37,9 +37,14 @@ The first argument is always the game: `osrs` or `rs3`.
|
|||||||
Full-text search across wiki pages. Returns ranked titles with snippets.
|
Full-text search across wiki pages. Returns ranked titles with snippets.
|
||||||
Use this to find the right page name before fetching details.
|
Use this to find the right page name before fetching details.
|
||||||
|
|
||||||
### rsw <game> page <title> [--section <name>]
|
### rsw <game> page <title> [--section <name>] [--complete]
|
||||||
Fetch a wiki page as cleaned markdown. Use `--section` to get just one section
|
Fetch a wiki page. By default, returns only the table of contents (section list)
|
||||||
(e.g., "Drops", "Strategy", "Requirements"). Use `--raw` for raw wikitext.
|
to conserve context. Use `--section` to fetch a specific section (e.g., "Drops",
|
||||||
|
"Strategy", "Requirements"). Use `--complete` for the full page content.
|
||||||
|
Use `--raw` for raw wikitext.
|
||||||
|
|
||||||
|
**Recommended workflow:** First call `page` (no flags) to see available sections,
|
||||||
|
then call `page --section <name>` to fetch only what you need.
|
||||||
|
|
||||||
### rsw <game> item <name> [--ironman]
|
### rsw <game> item <name> [--ironman]
|
||||||
The workhorse for "where do I find X" questions. Returns:
|
The workhorse for "where do I find X" questions. Returns:
|
||||||
@@ -87,7 +92,8 @@ When a user asks a RuneScape question, think about which command(s) to combine:
|
|||||||
→ `rsw osrs price "abyssal whip"`
|
→ `rsw osrs price "abyssal whip"`
|
||||||
|
|
||||||
**"What's a good money maker at 80 combat?"**
|
**"What's a good money maker at 80 combat?"**
|
||||||
→ `rsw osrs search "money making"` → then `rsw osrs page "Money making guide"`
|
→ `rsw osrs search "money making"` → then `rsw osrs page "Money making guide"` (TOC)
|
||||||
|
→ then `rsw osrs page "Money making guide" --section "Combat"` for relevant section
|
||||||
|
|
||||||
### Inferring the game
|
### Inferring the game
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user