aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore5
-rw-r--r--Makefile51
-rw-r--r--README.md10
-rwxr-xr-xaux/assert-shellcheck.sh2
-rwxr-xr-xaux/ci/ci-build.sh6
-rwxr-xr-xaux/ci/git-post-receive.sh6
-rwxr-xr-xaux/ci/git-pre-push.sh6
-rwxr-xr-xaux/ci/report.sh11
-rwxr-xr-xaux/guix/with-container.sh2
-rwxr-xr-xaux/tests-lib.sh8
-rwxr-xr-xaux/workflow/TODOs.sh5
-rwxr-xr-xaux/workflow/assert-changelog.sh3
-rwxr-xr-xaux/workflow/assert-manpages.sh6
-rwxr-xr-xaux/workflow/assert-readme.sh7
-rw-r--r--aux/workflow/assert-spelling.sh0
-rwxr-xr-xaux/workflow/commonmark.sh7
-rwxr-xr-xaux/workflow/dist.sh10
-rwxr-xr-xaux/workflow/l10n.sh50
-rwxr-xr-xaux/workflow/manpages.sh113
-rwxr-xr-xaux/workflow/public.sh13
-rw-r--r--doc/po/eo.po (renamed from doc/eo.po)68
-rw-r--r--doc/po/fr.po (renamed from doc/fr.po)70
-rw-r--r--doc/po/pt.po (renamed from doc/pt.po)68
-rw-r--r--doc/remembering.en.1.in (renamed from doc/remembering.en.1)0
-rw-r--r--doc/remembering.en.5.in (renamed from doc/remembering.en.5)0
-rw-r--r--doc/remembering.eo.1.in (renamed from doc/remembering.eo.1)0
-rw-r--r--doc/remembering.eo.5.in (renamed from doc/remembering.eo.5)0
-rw-r--r--doc/remembering.fr.1.in (renamed from doc/remembering.fr.1)2
-rw-r--r--doc/remembering.fr.5.in (renamed from doc/remembering.fr.5)2
-rw-r--r--doc/remembering.pt.1.in (renamed from doc/remembering.pt.1)0
-rw-r--r--doc/remembering.pt.5.in (renamed from doc/remembering.pt.5)0
31 files changed, 317 insertions, 214 deletions
diff --git a/.gitignore b/.gitignore
index f58df71..b053e5e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,9 +1,12 @@
/public/
/tests/test-profiles/
-/remembering
/src/remembering-c
/src/remembering
/remembering-test.*
/run-tests
/fallible*
/vgcore.*
+/doc/po/*.mo
+/doc/po/*.po~
+/doc/*.1
+/doc/*.5
diff --git a/Makefile b/Makefile
index 38e31d0..0c08f72 100644
--- a/Makefile
+++ b/Makefile
@@ -1,11 +1,11 @@
.POSIX:
-DEFS = -DVERSION='"$(VERSION)"' -DDATE='"$(DATE)"'
PREFIX = /usr/local
MANPREFIX = $(PREFIX)/share/man
VERSION = 0.2.1
DATE = 2021-02-23
NAME = remembering
MAILING_LIST = public-inbox
+DEFS = -DVERSION='"$(VERSION)"' -DDATE='"$(DATE)"'
TRANSLATIONS = pt fr eo
.SUFFIXES: .in
@@ -13,7 +13,21 @@ TRANSLATIONS = pt fr eo
.in:
sed -e 's:@VERSION@:$(VERSION):g' -e 's:@DATE@:$(DATE):g' < $< > $@
-all: src/remembering src/remembering-c
+manpages.en.in = \
+ doc/remembering.en.1.in \
+ doc/remembering.en.5.in
+
+manpages.in = $(manpages.en.in) \
+ doc/remembering.pt.1.in \
+ doc/remembering.fr.1.in \
+ doc/remembering.eo.1.in \
+ doc/remembering.pt.5.in \
+ doc/remembering.fr.5.in \
+ doc/remembering.eo.5.in
+
+manpages = $(manpages.in:.in=)
+
+all: src/remembering src/remembering-c $(manpages)
chmod +x src/remembering
run-tests: src/remembering-c.c
@@ -25,29 +39,34 @@ check: all run-tests
sh tests/ranking.sh
sh tests/signals.sh
-dev-check: check
+dev-check: check public
sh aux/assert-shellcheck.sh
sh aux/workflow/assert-todos.sh
sh aux/workflow/assert-changelog.sh $(NAME) $(NAME)
sh aux/workflow/assert-readme.sh $(NAME) $(MAILING_LIST)
- sh aux/workflow/manpages.sh '$(TRANSLATIONS)' --update
sh aux/workflow/assert-manpages.sh $(NAME) $(MAILING_LIST)
-clean:
- rm -rf public/ tests/test-profiles/ src/remembering src/remembering-c run-tests fallible* vgcore* remembering-test.*
-
install: all
mkdir -p $(DESTDIR)$(PREFIX)/bin
- cp $(NAME) $(DESTDIR)$(PREFIX)/bin/$(NAME)
- sh aux/workflows/manpages.sh '$(TRANSLATIONS)' --install '$(DESTDIR)$(MANPREFIX)' -- $(do_subst)
+ cp src/remembering $(DESTDIR)$(PREFIX)/bin
+ sh aux/workflow/manpages.sh -ip $(DESTDIR)$(MANPREFIX) $(manpages)
uninstall:
- rm -f $(DESTDIR)$(PREFIX)/bin/$(NAME)
- sh aux/workflow/manpages.sh '$(TRANSLATIONS)' --uninstall '$(DESTDIR)$(MANPREFIX)'
+ rm -f $(DESTDIR)$(PREFIX)/bin/remembering
+ sh aux/workflow/manpages.sh -up $(DESTDIR)$(MANPREFIX) $(manpages)
+
+clean:
+ rm -rf public/ tests/test-profiles/ src/remembering src/remembering-c run-tests $(manpages) fallible* vgcore* remembering-test.*
+
+dist:
+ sh aux/workflow/dist.sh $(DATE) $(VERSION) $(NAME) $(NAME) $(MAILING_LIST)
+
+l10n-gen:
+ sh aux/workflow/l10n.sh -l '$(TRANSLATIONS)' $(manpages.en.in)
-dist: clean public dev-check
- sh aux/workflow/dist.sh $(DATE) $(VERSION) $(NAME)
+public: l10n-gen all README.md TODOs.md CHANGELOG.md
+ sh aux/workflow/public.sh Remembering $(NAME) $(MAILING_LIST) public
+ sh aux/workflow/manpages.sh -Ho public $(manpages)
-public: README.md TODOs.md CHANGELOG.md
- sh aux/workflow/public.sh Remembering $(NAME) $(MAILING_LIST)
- sh aux/workflow/manpages.sh '$(TRANSLATIONS)' --html '' -- $(do_subst)
+spellcheck: public
+ aux/workflow/assert-spelling.sh -l '$(TRANSLATIONS) en'
diff --git a/README.md b/README.md
index 9dbe3a1..890d309 100644
--- a/README.md
+++ b/README.md
@@ -101,11 +101,11 @@ Send contributions to the [mailing list] via [`git send-email`](https://git-send
## Releases
-- version [v0.2.1](https://git.euandreh.xyz/remembering/snapshot/remembering-v0.2.1.tar.gz) ([sig](https://git.euandreh.xyz/remembering/snapshot/remembering-v0.2.1.tar.gz.asc)), released in 2021-02-23
-- version [v0.2.0](https://git.euandreh.xyz/remembering/snapshot/remembering-v0.2.0.tar.gz) ([sig](https://git.euandreh.xyz/remembering/snapshot/remembering-v0.2.0.tar.gz.asc)), released in 2021-02-21
-- version [v0.1.2](https://git.euandreh.xyz/remembering/snapshot/remembering-v0.1.2.tar.gz) ([sig](https://git.euandreh.xyz/remembering/snapshot/remembering-v0.1.2.tar.gz.asc)), released in 2021-01-26
-- version [v0.1.1](https://git.euandreh.xyz/remembering/snapshot/remembering-v0.1.1.tar.gz) ([sig](https://git.euandreh.xyz/remembering/snapshot/remembering-v0.1.1.tar.gz.asc)), released in 2021-01-26
-- version [v0.1.0](https://git.euandreh.xyz/remembering/snapshot/remembering-v0.1.0.tar.gz) ([sig](https://git.euandreh.xyz/remembering/snapshot/remembering-v0.1.0.tar.gz.asc)), released in 2021-01-26
+- [v0.2.1](https://git.euandreh.xyz/remembering/commit/?id=v0.2.1) [remembering-v0.2.1.tar.gz](https://git.euandreh.xyz/remembering/snapshot/remembering-v0.2.1.tar.gz) ([sig](https://git.euandreh.xyz/remembering/snapshot/remembering-v0.2.1.tar.gz.asc)), released in 2021-02-23
+- [v0.2.0](https://git.euandreh.xyz/remembering/commit/?id=v0.2.0) [remembering-v0.2.0.tar.gz](https://git.euandreh.xyz/remembering/snapshot/remembering-v0.2.0.tar.gz) ([sig](https://git.euandreh.xyz/remembering/snapshot/remembering-v0.2.0.tar.gz.asc)), released in 2021-02-21
+- [v0.1.2](https://git.euandreh.xyz/remembering/commit/?id=v0.1.2) [remembering-v0.1.2.tar.gz](https://git.euandreh.xyz/remembering/snapshot/remembering-v0.1.2.tar.gz) ([sig](https://git.euandreh.xyz/remembering/snapshot/remembering-v0.1.2.tar.gz.asc)), released in 2021-01-26
+- [v0.1.1](https://git.euandreh.xyz/remembering/commit/?id=v0.1.1) [remembering-v0.1.1.tar.gz](https://git.euandreh.xyz/remembering/snapshot/remembering-v0.1.1.tar.gz) ([sig](https://git.euandreh.xyz/remembering/snapshot/remembering-v0.1.1.tar.gz.asc)), released in 2021-01-26
+- [v0.1.0](https://git.euandreh.xyz/remembering/commit/?id=v0.1.0) [remembering-v0.1.0.tar.gz](https://git.euandreh.xyz/remembering/snapshot/remembering-v0.1.0.tar.gz) ([sig](https://git.euandreh.xyz/remembering/snapshot/remembering-v0.1.0.tar.gz.asc)), released in 2021-01-26
## License
diff --git a/aux/assert-shellcheck.sh b/aux/assert-shellcheck.sh
index cc01f3a..1779ea8 100755
--- a/aux/assert-shellcheck.sh
+++ b/aux/assert-shellcheck.sh
@@ -1,5 +1,5 @@
#!/bin/sh
-set -eux
+set -eu
git ls-files | \
xargs awk 'FNR==1 && /^#!\/bin\/sh$/ { print FILENAME }' | \
diff --git a/aux/ci/ci-build.sh b/aux/ci/ci-build.sh
index 60af813..7fa3382 100755
--- a/aux/ci/ci-build.sh
+++ b/aux/ci/ci-build.sh
@@ -1,7 +1,7 @@
#!/bin/sh
set -eux
-PACKAGE="$1"
+PROJECT="$1"
LOGS_DIR="$2"
read -r _ SHA _ # oldrev newrev refname
FILENAME="$(date -Is)-$SHA.log"
@@ -26,8 +26,8 @@ EOF
git notes append -m "$NOTE"
cd -
- sh aux/ci/report.sh "$PACKAGE"
- rsync -av public/ "/srv/http/$PACKAGE/" --delete
+ sh aux/ci/report.sh "$PROJECT" public
+ rsync -av public/ "/srv/http/$PROJECT/" --delete
printf "\n>>>\n>>> CI logs added as Git note.\n>>>\n>>> Run status was %s" "$STATUS"
}
diff --git a/aux/ci/git-post-receive.sh b/aux/ci/git-post-receive.sh
index ee8075f..167ac4a 100755
--- a/aux/ci/git-post-receive.sh
+++ b/aux/ci/git-post-receive.sh
@@ -9,6 +9,6 @@ for n in $(seq 0 $((GIT_PUSH_OPTION_COUNT - 1))); do
fi
done
-PACKAGE="$(basename "$PWD" | cut -d. -f1)" # remove .git suffix
-LOGS_DIR="/opt/ci/$PACKAGE/logs"
-"/opt/ci/$PACKAGE/ci-build.sh" "$PACKAGE" "$LOGS_DIR"
+PROJECT="$(basename "$PWD" | cut -d. -f1)" # remove .git suffix
+LOGS_DIR="/opt/ci/$PROJECT/logs"
+"/opt/ci/$PROJECT/ci-build.sh" "$PROJECT" "$LOGS_DIR"
diff --git a/aux/ci/git-pre-push.sh b/aux/ci/git-pre-push.sh
index e73b9b8..cccd6e5 100755
--- a/aux/ci/git-pre-push.sh
+++ b/aux/ci/git-pre-push.sh
@@ -3,9 +3,9 @@ set -eux
TLD="$(cat aux/tld.txt)"
-PACKAGE="$(basename "$PWD")"
-LOGS_DIR="/opt/ci/$PACKAGE/logs"
-REMOTE_GIT_DIR="/srv/git/$PACKAGE.git"
+PROJECT="$(basename "$PWD")"
+LOGS_DIR="/opt/ci/$PROJECT/logs"
+REMOTE_GIT_DIR="/srv/git/$PROJECT.git"
DESCRIPTION="$(mktemp)"
if [ -f description ]
diff --git a/aux/ci/report.sh b/aux/ci/report.sh
index e71e1ac..c873f54 100755
--- a/aux/ci/report.sh
+++ b/aux/ci/report.sh
@@ -2,12 +2,13 @@
set -eu
PROJECT="$1"
+OUTDIR="$2"
TLD="$(cat aux/tld.txt)"
PASS='✅'
FAIL='❌'
-mkdir -p public/ci-logs public/ci-data
+mkdir -p "$OUTDIR/ci-logs" "$OUTDIR/ci-data"
OUT="$(mktemp)"
chmod 644 "$OUT"
@@ -20,8 +21,8 @@ wait
for c in $(git notes list | cut -d\ -f2); do
DATA="$(git notes --ref=refs/notes/ci-data show "$c")"
FILENAME="$(echo "$DATA" | cut -d\ -f2)"
- echo "$DATA" > "public/ci-data/$FILENAME"
- git notes --ref=refs/notes/ci-logs show "$c" > "public/ci-logs/$FILENAME"
+ echo "$DATA" > "$OUTDIR/ci-data/$FILENAME"
+ git notes --ref=refs/notes/ci-logs show "$c" > "$OUTDIR/ci-logs/$FILENAME"
done
cat <<EOF >> "$OUT"
@@ -46,7 +47,7 @@ cat <<EOF >> "$OUT"
<ul>
EOF
-for f in $(find public/ci-data/ -type f | LANG=C.UTF-8 sort -r); do
+for f in $(find "$OUTDIR/ci-data/" -type f | LANG=C.UTF-8 sort -r); do
DATA="$(cat "$f")"
STATUS="$(echo "$DATA" | cut -d\ -f1)"
FILENAME="$(echo "$DATA" | cut -d\ -f2)"
@@ -72,4 +73,4 @@ cat <<EOF >> "$OUT"
</html>
EOF
-mv "$OUT" public/ci.html
+mv "$OUT" "$OUTDIR/ci.html"
diff --git a/aux/guix/with-container.sh b/aux/guix/with-container.sh
index b521c82..408fb39 100755
--- a/aux/guix/with-container.sh
+++ b/aux/guix/with-container.sh
@@ -1,5 +1,5 @@
#!/bin/sh
-set -eux
+set -eu
if [ -z "${1:-}" ]; then
guix time-machine --fallback -C aux/guix/pinned-channels.scm -- \
diff --git a/aux/tests-lib.sh b/aux/tests-lib.sh
index 0be4e6f..007282a 100755
--- a/aux/tests-lib.sh
+++ b/aux/tests-lib.sh
@@ -102,3 +102,11 @@ test_ok() {
# shellcheck disable=2059
printf " ${green}OK${end}.\n" >&2
}
+
+uuid() {
+ # Taken from:
+ # https://serverfault.com/a/799198
+ od -xN20 /dev/urandom | \
+ head -1 | \
+ awk '{OFS="-"; print $2$3,$4,$5,$6,$7$8$9}'
+}
diff --git a/aux/workflow/TODOs.sh b/aux/workflow/TODOs.sh
index 160e76f..f93ece8 100755
--- a/aux/workflow/TODOs.sh
+++ b/aux/workflow/TODOs.sh
@@ -1,11 +1,10 @@
#!/bin/sh
set -eu
-mkdir -p public
-
PROJECT_UC="$1"
PROJECT="$2"
MAILING_LIST="$3"
+OUTDIR="$4"
TLD="$(cat aux/tld.txt)"
TODOS_ADD_REGEX='s/^## (TODO|DOING|WAITING|MEETING|INACTIVE|NEXT|CANCELLED|DONE) (.*) \{#(.*?)\}$/## <a href="#\3"><span class="\1">\1<\/span> \2<\/a>\n<pre class="header-anchor" id="\3">#\3<\/pre>\n/'
@@ -37,4 +36,4 @@ sed -e "s:@PROJECT_UC@:$PROJECT_UC:g" \
| \
perl -pe "$TODOS_CLEANUP_REGEX1" | \
perl -pe "$TODOS_CLEANUP_REGEX2" \
- > public/TODOs.html
+ > "$OUTDIR/TODOs.html"
diff --git a/aux/workflow/assert-changelog.sh b/aux/workflow/assert-changelog.sh
index 61cd916..e2cd926 100755
--- a/aux/workflow/assert-changelog.sh
+++ b/aux/workflow/assert-changelog.sh
@@ -33,8 +33,7 @@ for VVERSION in $(git tag); do
done
# "$@" represents a list of tags to be also included in the verification.
-# shellcheck disable=2068
-for VVERSION in $@; do
+for VVERSION in "$@"; do
DATE="$(date '+%Y-%m-%d')"
assert "$DATE" "$VVERSION"
done
diff --git a/aux/workflow/assert-manpages.sh b/aux/workflow/assert-manpages.sh
index 7254d60..a2bd3f9 100755
--- a/aux/workflow/assert-manpages.sh
+++ b/aux/workflow/assert-manpages.sh
@@ -111,7 +111,7 @@ Soumettre un bogue dans la
liste
de diffusion
.ME .
-Utilise le sujèt "\f(CR[$PROJECT] BUG ou TASK:
+Utilise le sujet "\f(CR[$PROJECT] BUG ou TASK:
<description>\fR".
.IP \(bu
Parcourir les bogues
@@ -173,6 +173,10 @@ for f in $(find doc -type f -name '*.[0-9]'); do
continue
fi
+ if [ ! -s "$f" ]; then
+ continue
+ fi
+
lang="$(echo "$f" | cut -d. -f2)"
case "$lang" in
pt)
diff --git a/aux/workflow/assert-readme.sh b/aux/workflow/assert-readme.sh
index 2e5d978..2a6c3fd 100755
--- a/aux/workflow/assert-readme.sh
+++ b/aux/workflow/assert-readme.sh
@@ -1,8 +1,6 @@
#!/bin/sh
set -eu
-mkdir -p public
-
PROJECT="$1"
MAILING_LIST="$2"
shift
@@ -43,7 +41,7 @@ RELEASES_LIST="$(mktemp)"
add_release() {
DATE="$1"
VVERSION="$2"
- echo "- version [$VVERSION](https://git.euandreh.xyz/$PROJECT/snapshot/$PROJECT-$VVERSION.tar.gz) ([sig](https://git.euandreh.xyz/$PROJECT/snapshot/$PROJECT-$VVERSION.tar.gz.asc)), released in $DATE" >> "$RELEASES_LIST"
+ echo "- [$VVERSION](https://git.euandreh.xyz/$PROJECT/commit/?id=$VVERSION) [$PROJECT-$VVERSION.tar.gz](https://git.euandreh.xyz/$PROJECT/snapshot/$PROJECT-$VVERSION.tar.gz) ([sig](https://git.euandreh.xyz/$PROJECT/snapshot/$PROJECT-$VVERSION.tar.gz.asc)), released in $DATE" >> "$RELEASES_LIST"
}
for VVERSION in $(git tag); do
@@ -52,8 +50,7 @@ for VVERSION in $(git tag); do
done
# "$@" represents a list of tags to be also included in the verification.
-# shellcheck disable=2068
-for VVERSION in $@; do
+for VVERSION in "$@"; do
if ! git tag | grep -qF "$VVERSION"; then
DATE="$(date '+%Y-%m-%d')"
add_release "$DATE" "$VVERSION"
diff --git a/aux/workflow/assert-spelling.sh b/aux/workflow/assert-spelling.sh
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/aux/workflow/assert-spelling.sh
diff --git a/aux/workflow/commonmark.sh b/aux/workflow/commonmark.sh
index 6016f51..7267145 100755
--- a/aux/workflow/commonmark.sh
+++ b/aux/workflow/commonmark.sh
@@ -1,11 +1,10 @@
#!/bin/sh
set -eu
-mkdir -p public
-
PROJECT_UC="$1"
F="$2"
-OUT="${3:-${F%.*}.html}"
+OUTDIR="$3"
+OUT="${4:-${F%.*}.html}"
pandoc \
--toc \
@@ -17,4 +16,4 @@ pandoc \
-r commonmark \
-w html \
-H aux/workflow/favicon.html \
- < "$F" > "public/$OUT"
+ < "$F" > "$OUTDIR/$OUT"
diff --git a/aux/workflow/dist.sh b/aux/workflow/dist.sh
index ee67f24..ed61ee5 100755
--- a/aux/workflow/dist.sh
+++ b/aux/workflow/dist.sh
@@ -33,3 +33,13 @@ fi
git tag "$VVERSION"
sh aux/workflow/sign-tarballs.sh "$PROJECT"
+
+
+cat <<EOF >&2
+Now push the tag and the signature before pushing the commit:
+
+git push origin refs/notes/signatures/tar.gz -o skip-ci --no-verify
+git push --tags -o skip-ci --no-verify
+git push
+
+EOF
diff --git a/aux/workflow/l10n.sh b/aux/workflow/l10n.sh
new file mode 100755
index 0000000..e1fd3bb
--- /dev/null
+++ b/aux/workflow/l10n.sh
@@ -0,0 +1,50 @@
+#!/bin/sh
+set -eu
+
+LANGS=
+while getopts 'l:' flag; do
+ case "$flag" in
+ l)
+ LANGS="$OPTARG"
+ ;;
+ *)
+ exit 2
+ ;;
+ esac
+done
+shift $((OPTIND - 1))
+if [ -z "$LANGS" ]; then
+ echo "Missing LANG" >&2
+ exit 2
+fi
+
+end="\033[0m"
+yellow="\033[0;33m"
+manpage() {
+ from_f="$1"
+ for l in $LANGS; do
+ to_f="$(echo "$from_f" | sed "s/\.en\./.$l./")"
+
+ printf 'Generating %s...\n' "$to_f"
+ OUT="$(mktemp)"
+ po4a-updatepo -f man -m "$from_f" -p "doc/po/$l.po"
+ po4a-translate -f man -m "$from_f" -p "doc/po/$l.po" -l "$to_f" -k 0 -v 2>&1 | tee "$OUT" >&2
+
+ if ! grep -qF ' is 100% translated (' "$OUT"; then
+ printf "\n\t${yellow}WARNING${end}!\n Missing translations for %s\n\n" "$to_f" >&2
+ fi
+ done
+}
+
+for f in "$@"; do
+ case "$f" in
+ *.en.[1-9].in)
+ mkdir -p doc/po
+ manpage "$f"
+ ;;
+ *)
+ echo "Unsupported file format: $f" >&2
+ exit 2
+ ;;
+ esac
+done
diff --git a/aux/workflow/manpages.sh b/aux/workflow/manpages.sh
index e4ea8f2..fe215f7 100755
--- a/aux/workflow/manpages.sh
+++ b/aux/workflow/manpages.sh
@@ -1,55 +1,66 @@
#!/bin/sh
set -eu
-LANGS="$1"
-OP="$2"
-PREFIX="${3:-}"
+while getopts 'iuHo:p:' flag; do
+ case "$flag" in
+ i)
+ ACTION=install
+ ;;
+ u)
+ ACTION=uninstall
+ ;;
+ H)
+ ACTION=html
+ ;;
+ o)
+ OUTDIR="$OPTARG"
+ ;;
+ p)
+ MANPREFIX="$OPTARG"
+ ;;
+ *)
+ exit 2
+ ;;
+ esac
+done
+shift $((OPTIND - 1))
-if [ "$OP" = '--update' ]; then
- for f in doc/*.en.[1-9]; do
- for lang in $LANGS; do
- to="$(echo "$f" | sed "s|\.en\.|.$lang.|")"
- po4a-updatepo -f man -m "$f" -p "doc/$lang.po"
- printf 'Translating %s...\n' "$to" >&2
- OUT="$(po4a-translate -f man -m "$f" -p "doc/$lang.po" -l "$to" -k 0 -v 2>&1)"
- echo "$OUT" >&2
- if ! echo "$OUT" | grep -qF ' is 100% translated ('; then
- printf "\n WARNING!\n Missing translations for %s\n\n" "$to" >&2
- fi
- done
- done
-else
- shift 4 ||: # remove up to '--'
- for f in doc/*.en.[1-9]; do
- n="${f##*.}"
- fileto_name="$(basename "${f%.en.$n}").$n"
- for lang in $LANGS en; do
- filefrom_name="${f%.en.$n}.$lang.$n"
- mandir_name="$PREFIX/$lang/man$n"
- htmldir_name="public/$lang/"
- case "$OP" in
- --install)
- mkdir -p "$mandir_name"
- # shellcheck disable=2068
- $@ < "$filefrom_name" > "$mandir_name/$fileto_name"
- mkdir -p "$PREFIX/man$n"
- ln -fs "../en/man$n/$fileto_name" "$PREFIX/man$n/$fileto_name"
- ;;
- --uninstall)
- rm -f \
- "$PREFIX/$lang/man$n/$fileto_name" \
- "$PREFIX/man$n/$fileto_name"
- ;;
- --html)
- mkdir -p "$htmldir_name"
- # shellcheck disable=2068
- $@ < "$filefrom_name" | pandoc -s -r man -w html > "public/$lang/$fileto_name.html"
- ;;
- *)
- echo "Unsupported operation: $OP"
- exit 2
- ;;
- esac
- done
- done
-fi
+assert() {
+ if [ -z "$1" ]; then
+ echo "Missing $2 argument" >&2
+ exit 2
+ fi
+}
+
+assert "${ACTION:-}" ACTION
+
+for f in "$@"; do
+ l="$(echo "$f" | awk -F. '{print $(NF-1)}')"
+ n="$(echo "$f" | awk -F. '{print $NF}')"
+ case "$ACTION" in
+ html)
+ assert "${OUTDIR:-}" OUTDIR
+ to_name="$(basename "${f%.$l.$n}.$n.html")"
+ mkdir -p "$OUTDIR/$l"
+ pandoc -s -r man -w html --metadata "lang=$l" < "$f" > "$OUTDIR/$l/$to_name"
+ ;;
+ install)
+ assert "${MANPREFIX:-}" MANPREFIX
+ to_name="$(basename "${f%.$l.$n}.$n")"
+ mkdir -p "$MANPREFIX/$l/man$n" "$MANPREFIX/man$n"
+ cp "$f" "$MANPREFIX/$l/man$n/$to_name"
+ ln -fs "../en/man$n/$to_name" "$MANPREFIX/man$n/$to_name"
+ ;;
+ uninstall)
+ assert "${MANPREFIX:-}" MANPREFIX
+ to_name="$(basename "${f%.$l.$n}.$n")"
+ rm -f \
+ "$MANPREFIX/$l/man$n/$to_name" \
+ "$MANPREFIX/man$n/$to_name"
+ ;;
+ *)
+ echo "Bad ACTION: $ACTION"
+ exit 1
+ ;;
+ esac
+done
diff --git a/aux/workflow/public.sh b/aux/workflow/public.sh
index 8ecb855..7433595 100755
--- a/aux/workflow/public.sh
+++ b/aux/workflow/public.sh
@@ -4,14 +4,17 @@ set -eu
PROJECT_UC="$1"
PROJECT="$2"
MAILING_LIST="$3"
+OUTDIR="$4"
-sh aux/workflow/TODOs.sh "$PROJECT_UC" "$PROJECT" "$MAILING_LIST"
-sh aux/workflow/commonmark.sh "$PROJECT" README.md index.html ||:
+mkdir -p "$OUTDIR"
+
+sh aux/workflow/TODOs.sh "$PROJECT_UC" "$PROJECT" "$MAILING_LIST" "$OUTDIR"
+sh aux/workflow/commonmark.sh "$PROJECT" README.md "$OUTDIR" index.html ||:
if [ -f CHANGELOG.md ]; then
- sh aux/workflow/commonmark.sh "$PROJECT" CHANGELOG.md
+ sh aux/workflow/commonmark.sh "$PROJECT" CHANGELOG.md "$OUTDIR"
fi
-sh aux/ci/report.sh "$PROJECT"
+sh aux/ci/report.sh "$PROJECT" "$OUTDIR"
-cp aux/workflow/favicon.* public/
+cp aux/workflow/favicon.svg aux/workflow/favicon.png "$OUTDIR"
diff --git a/doc/eo.po b/doc/po/eo.po
index 4191d92..4ef1155 100644
--- a/doc/eo.po
+++ b/doc/po/eo.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"POT-Creation-Date: 2021-06-19 16:58-0300\n"
+"POT-Creation-Date: 2021-06-26 18:15-0300\n"
"PO-Revision-Date: 2021-06-19 16:57-0300\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -18,43 +18,43 @@ msgstr ""
"X-Poedit-Bookmarks: -1,-1,5,-1,-1,-1,-1,-1,-1,-1\n"
#. type: TH
-#: doc/remembering.en.5:1
+#: doc/remembering.en.5.in:1
#, no-wrap
msgid "REMEMBERING"
msgstr ""
#. type: TH
-#: doc/remembering.en.5:1
+#: doc/remembering.en.5.in:1
#, no-wrap
msgid "@DATE@"
msgstr "@DATE@"
#. type: TH
-#: doc/remembering.en.5:1
+#: doc/remembering.en.5.in:1
#, fuzzy, no-wrap
#| msgid "git-permalink @VERSION@"
msgid "remembering @VERSION@"
msgstr "git-permalink @VERSION@"
#. type: SH
-#: doc/remembering.en.5:4
+#: doc/remembering.en.5.in:4
#, no-wrap
msgid "NAME"
msgstr "NOMO"
#. type: Plain text
-#: doc/remembering.en.5:7
+#: doc/remembering.en.5.in:7
msgid "remembering - format of the I<PROFILE> text file."
msgstr ""
#. type: SH
-#: doc/remembering.en.5:9
+#: doc/remembering.en.5.in:9
#, no-wrap
msgid "PROFILE"
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:13
+#: doc/remembering.en.5.in:13
msgid ""
"The I<PROFILE> is a text file, stored on \\f(CR$XDG_DATA_HOME/profile-name"
"\\fR if \\f(CR$XDG_DATA_HOME\\fR is defined. Otherwise, it lives in "
@@ -62,52 +62,52 @@ msgid ""
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:15
+#: doc/remembering.en.5.in:15
msgid "Each line of the I<PROFILE> contains three pieces of information:"
msgstr ""
#. type: IP
-#: doc/remembering.en.5:17
+#: doc/remembering.en.5.in:17
#, no-wrap
msgid "1"
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:19
+#: doc/remembering.en.5.in:19
msgid "the B<rank> of the current entry;"
msgstr ""
#. type: IP
-#: doc/remembering.en.5:19
+#: doc/remembering.en.5.in:19
#, no-wrap
msgid "2"
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:21
+#: doc/remembering.en.5.in:21
msgid "the \\f(CR:\\fR separator;"
msgstr ""
#. type: IP
-#: doc/remembering.en.5:21
+#: doc/remembering.en.5.in:21
#, no-wrap
msgid "3"
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:23
+#: doc/remembering.en.5.in:23
msgid "the B<entry> itself."
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:26
+#: doc/remembering.en.5.in:26
msgid ""
"The B<rank> is a number, and the B<entry> is all the text until the end of "
"the line after the \\f(CR:\\fR separator:"
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:34
+#: doc/remembering.en.5.in:34
#, no-wrap
msgid ""
"0:an entry\n"
@@ -118,21 +118,21 @@ msgid ""
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:38
+#: doc/remembering.en.5.in:38
msgid ""
"Above is an example of a I<PROFILE> file where all the entries have the "
"default B<rank> value: B<0>."
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:40
+#: doc/remembering.en.5.in:40
msgid ""
"If the I<COMMAND> runs and chooses \\f(CRbanana\\fR, the new I<PROFILE> will "
"be:"
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:48
+#: doc/remembering.en.5.in:48
#, no-wrap
msgid ""
"0:an entry\n"
@@ -143,7 +143,7 @@ msgid ""
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:52
+#: doc/remembering.en.5.in:52
msgid ""
"Now the next time the I<COMMAND> runs it will get \\f(CRbanana\\fR at the "
"beginning of the list, and as new picks happen their weight will increase, "
@@ -151,56 +151,56 @@ msgid ""
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:55
+#: doc/remembering.en.5.in:55
msgid ""
"The entries of the I<PROFILE> are created and kept sorted. "
"B<remembering>(1) expects to always find sorted entries in the I<PROFILE>."
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:58
+#: doc/remembering.en.5.in:58
msgid ""
"The current raking algorithm increments entries as a simple counter. Every "
"time an entry is picked, its ranked is incremented in the I<PROFILE>."
msgstr ""
#. type: SH
-#: doc/remembering.en.5:60
+#: doc/remembering.en.5.in:60
#, no-wrap
msgid "SEE ALSO"
msgstr "VIDU ANKAŬ"
#. type: Plain text
-#: doc/remembering.en.5:63
+#: doc/remembering.en.5.in:63
msgid "B<remembering>(1)"
msgstr ""
#. type: SH
-#: doc/remembering.en.5:65
+#: doc/remembering.en.5.in:65
#, no-wrap
msgid "AUTHORS"
msgstr "AŬTOROJ"
#. type: Plain text
-#: doc/remembering.en.5:71
+#: doc/remembering.en.5.in:71
msgid "E<.MT eu@euandre.org> EuAndreh E<.ME> and contributors."
msgstr "E<.MT eu@euandre.org> EuAndreh E<.ME> kaj la kontribuuloj."
#. type: SH
-#: doc/remembering.en.5:73
+#: doc/remembering.en.5.in:73
#, no-wrap
msgid "BUGS"
msgstr "MISFUNKCIOJ"
#. type: IP
-#: doc/remembering.en.5:75 doc/remembering.en.5:82 doc/remembering.en.5:87
-#: doc/remembering.en.5:91
+#: doc/remembering.en.5.in:75 doc/remembering.en.5.in:82
+#: doc/remembering.en.5.in:87 doc/remembering.en.5.in:91
#, no-wrap
msgid "\\(bu"
msgstr "\\(bu"
#. type: Plain text
-#: doc/remembering.en.5:82
+#: doc/remembering.en.5.in:82
msgid ""
"Report bugs to the E<.MT ~euandreh/public-inbox@lists.sr.ht> mailing list E<."
"ME .> Use the subject \"\\f(CR[remembering] BUG or TASK: "
@@ -211,7 +211,7 @@ msgstr ""
"E<lt>priskriboE<gt>\\fR\"."
#. type: Plain text
-#: doc/remembering.en.5:87
+#: doc/remembering.en.5.in:87
msgid ""
"Browse bugs E<.UR https://euandreh.xyz/remembering/TODOs.html> online E<.UE ."
">"
@@ -220,12 +220,12 @@ msgstr ""
"E<.UE .>"
#. type: Plain text
-#: doc/remembering.en.5:91
+#: doc/remembering.en.5.in:91
msgid "E<.UR https://euandreh.xyz/remembering/> Homepage E<.UE .>"
msgstr "E<.UR https://euandreh.xyz/remembering/> Ĉefpaĝo E<.UE .>"
#. type: Plain text
-#: doc/remembering.en.5:94
+#: doc/remembering.en.5.in:94
msgid ""
"E<.UR https://lists.sr.ht/~euandreh/public-inbox?search=%5Bremembering%5D> "
"Comments and discussions E<.UE .>"
diff --git a/doc/fr.po b/doc/po/fr.po
index e4d5e88..6b50419 100644
--- a/doc/fr.po
+++ b/doc/po/fr.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"POT-Creation-Date: 2021-06-19 16:58-0300\n"
+"POT-Creation-Date: 2021-06-26 18:15-0300\n"
"PO-Revision-Date: 2021-06-19 16:58-0300\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -17,43 +17,43 @@ msgstr ""
"X-Generator: Poedit 2.4.3\n"
#. type: TH
-#: doc/remembering.en.5:1
+#: doc/remembering.en.5.in:1
#, no-wrap
msgid "REMEMBERING"
msgstr ""
#. type: TH
-#: doc/remembering.en.5:1
+#: doc/remembering.en.5.in:1
#, no-wrap
msgid "@DATE@"
msgstr "@DATE@"
#. type: TH
-#: doc/remembering.en.5:1
+#: doc/remembering.en.5.in:1
#, fuzzy, no-wrap
#| msgid "git-permalink @VERSION@"
msgid "remembering @VERSION@"
msgstr "git-permalink @VERSION@"
#. type: SH
-#: doc/remembering.en.5:4
+#: doc/remembering.en.5.in:4
#, no-wrap
msgid "NAME"
msgstr "NOM"
#. type: Plain text
-#: doc/remembering.en.5:7
+#: doc/remembering.en.5.in:7
msgid "remembering - format of the I<PROFILE> text file."
msgstr ""
#. type: SH
-#: doc/remembering.en.5:9
+#: doc/remembering.en.5.in:9
#, no-wrap
msgid "PROFILE"
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:13
+#: doc/remembering.en.5.in:13
msgid ""
"The I<PROFILE> is a text file, stored on \\f(CR$XDG_DATA_HOME/profile-name"
"\\fR if \\f(CR$XDG_DATA_HOME\\fR is defined. Otherwise, it lives in "
@@ -61,52 +61,52 @@ msgid ""
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:15
+#: doc/remembering.en.5.in:15
msgid "Each line of the I<PROFILE> contains three pieces of information:"
msgstr ""
#. type: IP
-#: doc/remembering.en.5:17
+#: doc/remembering.en.5.in:17
#, no-wrap
msgid "1"
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:19
+#: doc/remembering.en.5.in:19
msgid "the B<rank> of the current entry;"
msgstr ""
#. type: IP
-#: doc/remembering.en.5:19
+#: doc/remembering.en.5.in:19
#, no-wrap
msgid "2"
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:21
+#: doc/remembering.en.5.in:21
msgid "the \\f(CR:\\fR separator;"
msgstr ""
#. type: IP
-#: doc/remembering.en.5:21
+#: doc/remembering.en.5.in:21
#, no-wrap
msgid "3"
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:23
+#: doc/remembering.en.5.in:23
msgid "the B<entry> itself."
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:26
+#: doc/remembering.en.5.in:26
msgid ""
"The B<rank> is a number, and the B<entry> is all the text until the end of "
"the line after the \\f(CR:\\fR separator:"
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:34
+#: doc/remembering.en.5.in:34
#, no-wrap
msgid ""
"0:an entry\n"
@@ -117,21 +117,21 @@ msgid ""
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:38
+#: doc/remembering.en.5.in:38
msgid ""
"Above is an example of a I<PROFILE> file where all the entries have the "
"default B<rank> value: B<0>."
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:40
+#: doc/remembering.en.5.in:40
msgid ""
"If the I<COMMAND> runs and chooses \\f(CRbanana\\fR, the new I<PROFILE> will "
"be:"
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:48
+#: doc/remembering.en.5.in:48
#, no-wrap
msgid ""
"0:an entry\n"
@@ -142,7 +142,7 @@ msgid ""
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:52
+#: doc/remembering.en.5.in:52
msgid ""
"Now the next time the I<COMMAND> runs it will get \\f(CRbanana\\fR at the "
"beginning of the list, and as new picks happen their weight will increase, "
@@ -150,67 +150,67 @@ msgid ""
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:55
+#: doc/remembering.en.5.in:55
msgid ""
"The entries of the I<PROFILE> are created and kept sorted. "
"B<remembering>(1) expects to always find sorted entries in the I<PROFILE>."
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:58
+#: doc/remembering.en.5.in:58
msgid ""
"The current raking algorithm increments entries as a simple counter. Every "
"time an entry is picked, its ranked is incremented in the I<PROFILE>."
msgstr ""
#. type: SH
-#: doc/remembering.en.5:60
+#: doc/remembering.en.5.in:60
#, no-wrap
msgid "SEE ALSO"
msgstr "VOIR AUSSI"
#. type: Plain text
-#: doc/remembering.en.5:63
+#: doc/remembering.en.5.in:63
msgid "B<remembering>(1)"
msgstr ""
#. type: SH
-#: doc/remembering.en.5:65
+#: doc/remembering.en.5.in:65
#, no-wrap
msgid "AUTHORS"
msgstr "AUTEURS"
#. type: Plain text
-#: doc/remembering.en.5:71
+#: doc/remembering.en.5.in:71
msgid "E<.MT eu@euandre.org> EuAndreh E<.ME> and contributors."
msgstr "E<.MT eu@euandre.org> EuAndreh E<.ME> et les contributeurs."
#. type: SH
-#: doc/remembering.en.5:73
+#: doc/remembering.en.5.in:73
#, no-wrap
msgid "BUGS"
msgstr "BUGS"
#. type: IP
-#: doc/remembering.en.5:75 doc/remembering.en.5:82 doc/remembering.en.5:87
-#: doc/remembering.en.5:91
+#: doc/remembering.en.5.in:75 doc/remembering.en.5.in:82
+#: doc/remembering.en.5.in:87 doc/remembering.en.5.in:91
#, no-wrap
msgid "\\(bu"
msgstr "\\(bu"
#. type: Plain text
-#: doc/remembering.en.5:82
+#: doc/remembering.en.5.in:82
msgid ""
"Report bugs to the E<.MT ~euandreh/public-inbox@lists.sr.ht> mailing list E<."
"ME .> Use the subject \"\\f(CR[remembering] BUG or TASK: "
"E<lt>descriptionE<gt>\\fR\"."
msgstr ""
"Soumettre un bogue dans la E<.MT ~euandreh/public-inbox@lists.sr.ht> liste "
-"de diffusion E<.ME .> Utilise le sujèt \"\\f(CR[remembering] BUG ou TASK: "
+"de diffusion E<.ME .> Utilise le sujet \"\\f(CR[remembering] BUG ou TASK: "
"E<lt>descriptionE<gt>\\fR\"."
#. type: Plain text
-#: doc/remembering.en.5:87
+#: doc/remembering.en.5.in:87
msgid ""
"Browse bugs E<.UR https://euandreh.xyz/remembering/TODOs.html> online E<.UE ."
">"
@@ -219,12 +219,12 @@ msgstr ""
"ligne E<.UE .>"
#. type: Plain text
-#: doc/remembering.en.5:91
+#: doc/remembering.en.5.in:91
msgid "E<.UR https://euandreh.xyz/remembering/> Homepage E<.UE .>"
msgstr "E<.UR https://euandreh.xyz/remembering/> Page d'accueil E<.UE .>"
#. type: Plain text
-#: doc/remembering.en.5:94
+#: doc/remembering.en.5.in:94
msgid ""
"E<.UR https://lists.sr.ht/~euandreh/public-inbox?search=%5Bremembering%5D> "
"Comments and discussions E<.UE .>"
diff --git a/doc/pt.po b/doc/po/pt.po
index 8ae65a7..2e2eb6c 100644
--- a/doc/pt.po
+++ b/doc/po/pt.po
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
-"POT-Creation-Date: 2021-06-19 16:58-0300\n"
+"POT-Creation-Date: 2021-06-26 18:15-0300\n"
"PO-Revision-Date: 2021-06-19 16:58-0300\n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -17,43 +17,43 @@ msgstr ""
"X-Generator: Poedit 2.4.3\n"
#. type: TH
-#: doc/remembering.en.5:1
+#: doc/remembering.en.5.in:1
#, no-wrap
msgid "REMEMBERING"
msgstr ""
#. type: TH
-#: doc/remembering.en.5:1
+#: doc/remembering.en.5.in:1
#, no-wrap
msgid "@DATE@"
msgstr "@DATE@"
#. type: TH
-#: doc/remembering.en.5:1
+#: doc/remembering.en.5.in:1
#, fuzzy, no-wrap
#| msgid "git-permalink @VERSION@"
msgid "remembering @VERSION@"
msgstr "git-permalink @VERSION@"
#. type: SH
-#: doc/remembering.en.5:4
+#: doc/remembering.en.5.in:4
#, no-wrap
msgid "NAME"
msgstr "NOME"
#. type: Plain text
-#: doc/remembering.en.5:7
+#: doc/remembering.en.5.in:7
msgid "remembering - format of the I<PROFILE> text file."
msgstr ""
#. type: SH
-#: doc/remembering.en.5:9
+#: doc/remembering.en.5.in:9
#, no-wrap
msgid "PROFILE"
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:13
+#: doc/remembering.en.5.in:13
msgid ""
"The I<PROFILE> is a text file, stored on \\f(CR$XDG_DATA_HOME/profile-name"
"\\fR if \\f(CR$XDG_DATA_HOME\\fR is defined. Otherwise, it lives in "
@@ -61,52 +61,52 @@ msgid ""
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:15
+#: doc/remembering.en.5.in:15
msgid "Each line of the I<PROFILE> contains three pieces of information:"
msgstr ""
#. type: IP
-#: doc/remembering.en.5:17
+#: doc/remembering.en.5.in:17
#, no-wrap
msgid "1"
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:19
+#: doc/remembering.en.5.in:19
msgid "the B<rank> of the current entry;"
msgstr ""
#. type: IP
-#: doc/remembering.en.5:19
+#: doc/remembering.en.5.in:19
#, no-wrap
msgid "2"
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:21
+#: doc/remembering.en.5.in:21
msgid "the \\f(CR:\\fR separator;"
msgstr ""
#. type: IP
-#: doc/remembering.en.5:21
+#: doc/remembering.en.5.in:21
#, no-wrap
msgid "3"
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:23
+#: doc/remembering.en.5.in:23
msgid "the B<entry> itself."
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:26
+#: doc/remembering.en.5.in:26
msgid ""
"The B<rank> is a number, and the B<entry> is all the text until the end of "
"the line after the \\f(CR:\\fR separator:"
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:34
+#: doc/remembering.en.5.in:34
#, no-wrap
msgid ""
"0:an entry\n"
@@ -117,21 +117,21 @@ msgid ""
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:38
+#: doc/remembering.en.5.in:38
msgid ""
"Above is an example of a I<PROFILE> file where all the entries have the "
"default B<rank> value: B<0>."
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:40
+#: doc/remembering.en.5.in:40
msgid ""
"If the I<COMMAND> runs and chooses \\f(CRbanana\\fR, the new I<PROFILE> will "
"be:"
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:48
+#: doc/remembering.en.5.in:48
#, no-wrap
msgid ""
"0:an entry\n"
@@ -142,7 +142,7 @@ msgid ""
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:52
+#: doc/remembering.en.5.in:52
msgid ""
"Now the next time the I<COMMAND> runs it will get \\f(CRbanana\\fR at the "
"beginning of the list, and as new picks happen their weight will increase, "
@@ -150,56 +150,56 @@ msgid ""
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:55
+#: doc/remembering.en.5.in:55
msgid ""
"The entries of the I<PROFILE> are created and kept sorted. "
"B<remembering>(1) expects to always find sorted entries in the I<PROFILE>."
msgstr ""
#. type: Plain text
-#: doc/remembering.en.5:58
+#: doc/remembering.en.5.in:58
msgid ""
"The current raking algorithm increments entries as a simple counter. Every "
"time an entry is picked, its ranked is incremented in the I<PROFILE>."
msgstr ""
#. type: SH
-#: doc/remembering.en.5:60
+#: doc/remembering.en.5.in:60
#, no-wrap
msgid "SEE ALSO"
msgstr "VEJA TAMBÉM"
#. type: Plain text
-#: doc/remembering.en.5:63
+#: doc/remembering.en.5.in:63
msgid "B<remembering>(1)"
msgstr ""
#. type: SH
-#: doc/remembering.en.5:65
+#: doc/remembering.en.5.in:65
#, no-wrap
msgid "AUTHORS"
msgstr "AUTORES"
#. type: Plain text
-#: doc/remembering.en.5:71
+#: doc/remembering.en.5.in:71
msgid "E<.MT eu@euandre.org> EuAndreh E<.ME> and contributors."
msgstr "E<.MT eu@euandre.org> EuAndreh E<.ME> e colaboradores."
#. type: SH
-#: doc/remembering.en.5:73
+#: doc/remembering.en.5.in:73
#, no-wrap
msgid "BUGS"
msgstr "BUGS"
#. type: IP
-#: doc/remembering.en.5:75 doc/remembering.en.5:82 doc/remembering.en.5:87
-#: doc/remembering.en.5:91
+#: doc/remembering.en.5.in:75 doc/remembering.en.5.in:82
+#: doc/remembering.en.5.in:87 doc/remembering.en.5.in:91
#, no-wrap
msgid "\\(bu"
msgstr "\\(bu"
#. type: Plain text
-#: doc/remembering.en.5:82
+#: doc/remembering.en.5.in:82
msgid ""
"Report bugs to the E<.MT ~euandreh/public-inbox@lists.sr.ht> mailing list E<."
"ME .> Use the subject \"\\f(CR[remembering] BUG or TASK: "
@@ -210,7 +210,7 @@ msgstr ""
"\\fR\"."
#. type: Plain text
-#: doc/remembering.en.5:87
+#: doc/remembering.en.5.in:87
msgid ""
"Browse bugs E<.UR https://euandreh.xyz/remembering/TODOs.html> online E<.UE ."
">"
@@ -219,12 +219,12 @@ msgstr ""
"UE .>"
#. type: Plain text
-#: doc/remembering.en.5:91
+#: doc/remembering.en.5.in:91
msgid "E<.UR https://euandreh.xyz/remembering/> Homepage E<.UE .>"
msgstr "E<.UR https://euandreh.xyz/remembering/> Página inicial E<.UE .>"
#. type: Plain text
-#: doc/remembering.en.5:94
+#: doc/remembering.en.5.in:94
msgid ""
"E<.UR https://lists.sr.ht/~euandreh/public-inbox?search=%5Bremembering%5D> "
"Comments and discussions E<.UE .>"
diff --git a/doc/remembering.en.1 b/doc/remembering.en.1.in
index 8d34e4a..8d34e4a 100644
--- a/doc/remembering.en.1
+++ b/doc/remembering.en.1.in
diff --git a/doc/remembering.en.5 b/doc/remembering.en.5.in
index c9b482b..c9b482b 100644
--- a/doc/remembering.en.5
+++ b/doc/remembering.en.5.in
diff --git a/doc/remembering.eo.1 b/doc/remembering.eo.1.in
index 13a674f..13a674f 100644
--- a/doc/remembering.eo.1
+++ b/doc/remembering.eo.1.in
diff --git a/doc/remembering.eo.5 b/doc/remembering.eo.5.in
index f02787a..f02787a 100644
--- a/doc/remembering.eo.5
+++ b/doc/remembering.eo.5.in
diff --git a/doc/remembering.fr.1 b/doc/remembering.fr.1.in
index 95cf32e..3af2af5 100644
--- a/doc/remembering.fr.1
+++ b/doc/remembering.fr.1.in
@@ -215,7 +215,7 @@ Soumettre un bogue dans la
liste
de diffusion
.ME .
-Utilise le sujèt "\f(CR[remembering] BUG ou TASK:
+Utilise le sujet "\f(CR[remembering] BUG ou TASK:
<description>\fR".
.IP \(bu
Parcourir les bogues
diff --git a/doc/remembering.fr.5 b/doc/remembering.fr.5.in
index c0e609b..240f749 100644
--- a/doc/remembering.fr.5
+++ b/doc/remembering.fr.5.in
@@ -89,7 +89,7 @@ Soumettre un bogue dans la
liste
de diffusion
.ME .
-Utilise le sujèt "\f(CR[remembering] BUG ou TASK:
+Utilise le sujet "\f(CR[remembering] BUG ou TASK:
<description>\fR".
.IP \(bu
Parcourir les bogues
diff --git a/doc/remembering.pt.1 b/doc/remembering.pt.1.in
index 3fcdf58..3fcdf58 100644
--- a/doc/remembering.pt.1
+++ b/doc/remembering.pt.1.in
diff --git a/doc/remembering.pt.5 b/doc/remembering.pt.5.in
index d261249..d261249 100644
--- a/doc/remembering.pt.5
+++ b/doc/remembering.pt.5.in