diff --git a/.codeberg/assets/darkmode.png b/.codeberg/assets/darkmode.png
new file mode 100644
index 0000000..b6141a6
Binary files /dev/null and b/.codeberg/assets/darkmode.png differ
diff --git a/.codeberg/assets/help.png b/.codeberg/assets/help.png
new file mode 100644
index 0000000..79a6c08
Binary files /dev/null and b/.codeberg/assets/help.png differ
diff --git a/.codeberg/assets/light.png b/.codeberg/assets/light.png
new file mode 100644
index 0000000..dad8b8a
Binary files /dev/null and b/.codeberg/assets/light.png differ
diff --git a/.codeberg/assets/margin.png b/.codeberg/assets/margin.png
new file mode 100644
index 0000000..dec7ff0
Binary files /dev/null and b/.codeberg/assets/margin.png differ
diff --git a/.github/assets/darkmode.png b/.github/assets/darkmode.png
deleted file mode 100644
index 9bfee35..0000000
Binary files a/.github/assets/darkmode.png and /dev/null differ
diff --git a/.github/assets/help.png b/.github/assets/help.png
deleted file mode 100644
index cac0e29..0000000
Binary files a/.github/assets/help.png and /dev/null differ
diff --git a/.github/assets/light.png b/.github/assets/light.png
deleted file mode 100644
index 6defcf2..0000000
Binary files a/.github/assets/light.png and /dev/null differ
diff --git a/.github/assets/margin.png b/.github/assets/margin.png
deleted file mode 100644
index 92f89a8..0000000
Binary files a/.github/assets/margin.png and /dev/null differ
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
deleted file mode 100644
index a7e46ee..0000000
--- a/.github/workflows/ci.yaml
+++ /dev/null
@@ -1,54 +0,0 @@
-name: build-and-test
-on: [push]
-jobs:
- build:
- strategy:
- matrix:
- version: [1.24.9]
- os: [ubuntu-latest, windows-latest, macos-latest]
- name: Build
- runs-on: ${{ matrix.os }}
- steps:
- - name: Set up Go ${{ matrix.os }}
- uses: actions/setup-go@v6
- with:
- go-version: '${{ matrix.version }}'
- id: go
-
- - name: checkout
- uses: actions/checkout@v5
-
- - name: build
- run: go build
-
- test:
- strategy:
- matrix:
- version: [1.24.9]
- os: [ubuntu-latest]
- name: Test
- runs-on: ${{ matrix.os }}
- steps:
- - name: Set up Go ${{ matrix.os }}
- uses: actions/setup-go@v6
- with:
- go-version: '${{ matrix.version }}'
- id: go
-
- - name: checkout
- uses: actions/checkout@v5
-
- - name: test
- run: go test -cover ./...
-
-
- golangci:
- name: Lintercheck
- runs-on: ubuntu-latest
- steps:
- - uses: actions/setup-go@v6
- with:
- go-version: 1.24
- - uses: actions/checkout@v5
- - name: golangci-lint
- uses: golangci/golangci-lint-action@v8
diff --git a/.goreleaser.yaml b/.goreleaser.yaml
new file mode 100644
index 0000000..0e35092
--- /dev/null
+++ b/.goreleaser.yaml
@@ -0,0 +1,69 @@
+# vim: set ts=2 sw=2 tw=0 fo=cnqoj
+
+version: 2
+
+before:
+ hooks:
+ - go mod tidy
+
+gitea_urls:
+ api: https://codeberg.org/api/v1
+ download: https://codeberg.org
+
+builds:
+ - env:
+ - CGO_ENABLED=0
+ goos:
+ - linux
+ - windows
+ - darwin
+ - freebsd
+
+archives:
+ - formats: [tar.gz]
+ # this name template makes the OS and Arch compatible with the results of `uname`.
+ name_template: >-
+ {{ .ProjectName }}_
+ {{- title .Os }}_
+ {{- if eq .Arch "amd64" }}x86_64
+ {{- else if eq .Arch "386" }}i386
+ {{- else }}{{ .Arch }}{{ end }}
+ {{- if .Arm }}v{{ .Arm }}{{ end }}_{{ .Tag }}
+ # use zip for windows archives
+ format_overrides:
+ - goos: windows
+ formats: [zip]
+ - goos: linux
+ formats: [tar.gz,binary]
+ files:
+ - src: "*.md"
+ strip_parent: true
+ - src: "docs/*"
+ strip_parent: true
+ - src: Makefile.dist
+ dst: Makefile
+ wrap_in_directory: true
+
+changelog:
+ sort: asc
+ filters:
+ exclude:
+ - "^docs:"
+ - "^test:"
+ groups:
+ - title: Improved
+ regexp: '^.*?(feat|add|new)(\([[:word:]]+\))??!?:.+$'
+ order: 0
+ - title: Fixed
+ regexp: '^.*?(bug|fix)(\([[:word:]]+\))??!?:.+$'
+ order: 1
+ - title: Changed
+ order: 999
+
+release:
+ header: "# Release Notes"
+ footer: >-
+
+ ---
+
+ Full Changelog: [{{ .PreviousTag }}...{{ .Tag }}](https://codeberg.org/scip/epuppy/compare/{{ .PreviousTag }}...{{ .Tag }})
diff --git a/.woodpecker/build.yaml b/.woodpecker/build.yaml
new file mode 100644
index 0000000..d370fc9
--- /dev/null
+++ b/.woodpecker/build.yaml
@@ -0,0 +1,27 @@
+matrix:
+ platform:
+ - linux/amd64
+ goversion:
+ - 1.24
+
+labels:
+ platform: ${platform}
+
+steps:
+ build:
+ when:
+ event: [push]
+ image: golang:${goversion}
+ commands:
+ - go get
+ - go build
+ - go test
+
+ linter:
+ when:
+ event: [push]
+ image: golang:${goversion}
+ commands:
+ - curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/HEAD/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.5.0
+ - golangci-lint --version
+ - golangci-lint run ./...
diff --git a/.woodpecker/release.yaml b/.woodpecker/release.yaml
new file mode 100644
index 0000000..916c008
--- /dev/null
+++ b/.woodpecker/release.yaml
@@ -0,0 +1,15 @@
+# build release
+
+labels:
+ platform: linux/amd64
+
+steps:
+ goreleaser:
+ image: goreleaser/goreleaser
+ when:
+ event: [tag]
+ environment:
+ GITEA_TOKEN:
+ from_secret: DEPLOY_TOKEN
+ commands:
+ - goreleaser release --clean --verbose
diff --git a/Makefile.dist b/Makefile.dist
new file mode 100644
index 0000000..0c58a63
--- /dev/null
+++ b/Makefile.dist
@@ -0,0 +1,20 @@
+# -*-make-*-
+
+.PHONY: install all
+
+tool = epuppy
+PREFIX = /usr/local
+UID = root
+GID = 0
+
+all:
+ @echo "Type 'sudo make install' to install the tool."
+ @echo "To change prefix, type 'sudo make install PREFIX=/opt'"
+
+install:
+ install -d -o $(UID) -g $(GID) $(PREFIX)/bin
+ install -d -o $(UID) -g $(GID) $(PREFIX)/man/man1
+ install -d -o $(UID) -g $(GID) $(PREFIX)/share/doc
+ install -o $(UID) -g $(GID) -m 555 $(tool) $(PREFIX)/sbin/
+ install -o $(UID) -g $(GID) -m 444 $(tool).1 $(PREFIX)/man/man1/
+ install -o $(UID) -g $(GID) -m 444 *.md Documentation.txt $(PREFIX)/share/doc/
diff --git a/README.md b/README.md
index ed1166b..61f826b 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
-[](https://github.com/tlinden/epuppy/actions)
-[](https://github.com/tlinden/epuppy/blob/master/LICENSE)
-[](https://goreportcard.com/report/github.com/tlinden/epuppy)
+[](https://ci.codeberg.org/repos/15473)
+[](https://codeberg.org/scip/epuppy/raw/branch/master/LICENSE)
+[](https://goreportcard.com/report/codeberg.org/scip/epuppy)
# epuppy - terminal epub reader
@@ -21,16 +21,16 @@ long run.
## Screenshots
- Viewing an ebook in dark mode
-
+
- Viewing an ebook in light mode
-
+
- You can interactively adjust text width
-
+
- Showing the help
-
+
## Usage
@@ -101,10 +101,10 @@ your platform from the releases page and you're good to go.
You can use [stew](https://github.com/marwanhawari/stew) to install epuppy:
```default
-stew install tlinden/epuppy
+stew install https://codeberg.org/scip/epuppy
```
-Or go to the [latest release page](https://github.com/TLINDEN/epuppy/releases/latest)
+Or go to the [latest release page](https://codeberg.org/scip/epuppy/releases/latest)
and look for your OS and platform. There are two options to install the binary:
Directly download the binary for your platform,
@@ -144,7 +144,7 @@ sudo make install
# Report bugs
-[Please open an issue](https://github.com/TLINDEN/epuppy/issues). Thanks!
+[Please open an issue](https://codeberg.org/scip/epuppy/issues). Thanks!
# License
diff --git a/cmd/prepare.go b/cmd/prepare.go
index a0c877a..34f0383 100644
--- a/cmd/prepare.go
+++ b/cmd/prepare.go
@@ -22,8 +22,8 @@ import (
"path/filepath"
"strings"
+ "codeberg.org/scip/epuppy/pkg/epub"
"github.com/alecthomas/repr"
- "github.com/tlinden/epuppy/pkg/epub"
)
func Prepare(conf *Config) (*Ebook, error) {
diff --git a/go.mod b/go.mod
index 0a650df..28daa19 100644
--- a/go.mod
+++ b/go.mod
@@ -1,4 +1,4 @@
-module github.com/tlinden/epuppy
+module codeberg.org/scip/epuppy
go 1.24.0
diff --git a/main.go b/main.go
index 7e9f9a3..5709ee8 100644
--- a/main.go
+++ b/main.go
@@ -19,7 +19,7 @@ package main
import (
"os"
- "github.com/tlinden/epuppy/cmd"
+ "codeberg.org/scip/epuppy/cmd"
)
func main() {
diff --git a/mkrel.sh b/mkrel.sh
deleted file mode 100755
index 16aaa29..0000000
--- a/mkrel.sh
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/bash
-
-# Copyright © 2025 Thomas von Dein
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see .
-
-
-# get list with: go tool dist list
-DIST="darwin/amd64
-freebsd/amd64
-linux/amd64
-netbsd/amd64
-openbsd/amd64
-windows/amd64
-freebsd/arm64
-linux/arm64
-netbsd/arm64
-openbsd/arm64
-windows/arm64"
-
-tool="$1"
-version="$2"
-
-if test -z "$version"; then
- echo "Usage: $0 "
- exit 1
-fi
-
-rm -rf releases
-mkdir -p releases
-
-
-for D in $DIST; do
- os=${D/\/*/}
- arch=${D/*\//}
- binfile="releases/${tool}-${os}-${arch}-${version}"
-
- if test "$os" = "windows"; then
- binfile="${binfile}.exe"
- fi
-
- tardir="${tool}-${os}-${arch}-${version}"
- tarfile="releases/${tool}-${os}-${arch}-${version}.tar.gz"
- set -x
- GOOS=${os} GOARCH=${arch} go build -tags osusergo,netgo -ldflags "-extldflags=-static" -o ${binfile}
- mkdir -p ${tardir}
- cp ${binfile} README.md LICENSE ${tardir}/
- echo 'tool = epuppy
-PREFIX = /usr/local
-UID = root
-GID = 0
-
-install:
- install -d -o $(UID) -g $(GID) $(PREFIX)/bin
- install -d -o $(UID) -g $(GID) $(PREFIX)/man/man1
- install -o $(UID) -g $(GID) -m 555 $(tool) $(PREFIX)/sbin/
- install -o $(UID) -g $(GID) -m 444 $(tool).1 $(PREFIX)/man/man1/' > ${tardir}/Makefile
- tar cpzf ${tarfile} ${tardir}
- sha256sum ${binfile} | cut -d' ' -f1 > ${binfile}.sha256
- sha256sum ${tarfile} | cut -d' ' -f1 > ${tarfile}.sha256
- rm -rf ${tardir}
- set +x
-done
-