feat: add comprehensive test suite and GoReleaser release automation
- Add GoReleaser configuration (`.goreleaser.yaml`)
- Build for Linux, Windows, macOS (arm64, amd64, 386)
- Enable UPX compression for Linux and Darwin binaries
- Use version 2 syntax with custom archive naming
- Add Makefile with test targets
- Run all tests via `make test-all` or just `make`
- Individual test categories: `test-args`, `test-http`,
`test-conversion`, `test-output`, `test-errors`, `test-build`
- Also supports `build`, `clean`, and `help` targets
- Add integration test suite in `test/` directory
- `test_args.go`: command-line flag parsing, help/version output
- `test_http.go`: HTTP fetching, custom/default User-Agent, timeouts
- `test_conversion.go`: HTML to Markdown conversion (headings, lists,
links, code blocks, blockquotes, etc.)
- `test_output.go`: file output and stdout behavior
- `test_errors.go`: invalid URLs, timeouts, HTTP 4xx/5xx errors
- `test_build.go`: end-to-end tests with compiled binary
- `test_helper.go`: shared utilities (run commands, temp files,
assertions)
- Add `test/README.md` documenting how to run the test suite
- Add `CHANGELOG.md` with [Unreleased] and [1.0.0] sections
- Update `.gitignore`
- Remove platform‑specific binary patterns (`mdget*linux`,
`mdget*x86_64`, etc.)
- Add `dist/` (GoReleaser output directory)
- Update `README.md`
Maxwell Jensen 85795372+maxwelljens@users.noreply.github.com
Mon, 20 Apr 2026 20:35:29 +0200
feat: initial commit of mdget
- Add core implementation (`cmd/mdget.go`)
- Fetch webpages with configurable timeout and User-Agent
- Convert HTML to Markdown using `html-to-markdown/v2`
- Support output to stdout or file via `-o/--output`
- Automatically prepend `https://` to bare domains
- Provide `--version` and `--help` via `go-arg`
- Add project metadata
- `go.mod` / `go.sum` with dependencies: `req/v3`,
`html-to-markdown/v2`, `go-arg`
- `LICENCE.txt` (EUPL 1.2) with full legal text
- `README.md` with usage, examples, build instructions
- Add assets
- `assets/logo.png` and `assets/screenshot.png`
- `assets/eupl-12-badge.svg` for licence badge
- Configure `.gitignore` for Go binaries, test artifacts, coverage, and
environment files
Maxwell Jensen 85795372+maxwelljens@users.noreply.github.com
Mon, 20 Apr 2026 13:42:49 +0200