This commit introduces NFPM configuration in `.goreleaser.yaml` to
generate native packages for various Linux distributions (e.g., .deb,
.rpm, .apk). This provides a more streamlined installation experience
for Linux users.
The Playwright browser installation logic has been moved from `main.go`
to the `Run` function of the `download` command. This change ensures
that Playwright binaries are only downloaded and installed when the
`download` command is actually invoked, improving initial application
startup performance and reducing unnecessary overhead for other commands.
The Goreleaser configuration has also been updated to version 2 syntax
and the `arm` architecture has been removed from builds.
This commit replaces the `chromedp` library with `playwright-go` for browser automation within the Bilinovel downloader.
Changes include:
* Updated `Bilinovel` struct to manage Playwright browser, context, and page instances.
* Rewrote `initBrowser` and `Close` methods to use Playwright's API for browser lifecycle management.
* Refactored `processContentWithChromedp` to `processContentWithPlaywright`, adapting the logic to use Playwright's page evaluation capabilities.
* Removed unused `context` and `time` imports.
* Added HTML cleanup in `getChapterByPage` to remove `class` attributes from images and `data-k` attributes from all elements, improving content consistency.