49 lines
1.7 KiB
Markdown
49 lines
1.7 KiB
Markdown
[](https://pkg.go.dev/forge.lthn.ai/core/go-help)
|
|
[](LICENSE.md)
|
|
[](go.mod)
|
|
|
|
# go-help
|
|
|
|
Display-agnostic help content management library. Provides a YAML/Markdown topic catalogue, full-text search with inverted index, stemming, fuzzy matching, and relevance scoring, goldmark-based Markdown rendering, an HTTP server with six routes (three HTML, three JSON), a static site generator with client-side JavaScript search, and CLI help text ingestion. No runtime dependency on a database, network, or external service.
|
|
|
|
**Module**: `forge.lthn.ai/core/go-help`
|
|
**Licence**: EUPL-1.2
|
|
**Language**: Go 1.25
|
|
|
|
## Quick Start
|
|
|
|
```go
|
|
import "forge.lthn.ai/core/go-help"
|
|
|
|
catalog := help.DefaultCatalog()
|
|
catalog.Add(&help.Topic{ID: "rate-limiting", Title: "Rate Limiting", Content: "..."})
|
|
|
|
// Search
|
|
results := catalog.Search("sliding window token")
|
|
|
|
// HTTP server (HTML + JSON routes)
|
|
srv := help.NewServer(catalog, ":8080")
|
|
srv.ListenAndServe()
|
|
|
|
// Static site output
|
|
help.Generate(catalog, "./dist")
|
|
```
|
|
|
|
## Documentation
|
|
|
|
- [Architecture](docs/architecture.md) — catalog, parser, search engine, HTTP server, static site generator, CLI ingestion
|
|
- [Development Guide](docs/development.md) — building, testing, benchmarks, coding standards
|
|
- [Project History](docs/history.md) — completed phases and known limitations
|
|
|
|
## Build & Test
|
|
|
|
```bash
|
|
go test ./...
|
|
go test -bench=. -benchmem ./...
|
|
go vet ./...
|
|
go build ./...
|
|
```
|
|
|
|
## Licence
|
|
|
|
European Union Public Licence 1.2 — see [LICENCE](LICENCE) for details.
|