= remwharead
:toc: preamble

:project: remwharead
:uri-base: https://schlomp.space/tastytea/{project}
:uri-branch-main: {uri-base}/src/branch/main
:uri-reference: https://doc.schlomp.space/{project}/
:uri-images-base: https://doc.schlomp.space/.{project}
:uri-archive: https://archive.org/
:uri-overlay: https://schlomp.space/tastytea/overlay
:uri-blogpost: https://blog.tastytea.de/posts/keep-track-of-what-you-have-read-online-with-remwharead/
:uri-gcc: https://gcc.gnu.org/
:uri-clang: https://clang.llvm.org/
:uri-cmake: https://cmake.org/
:uri-pkgconfig: https://pkgconfig.freedesktop.org/wiki/
:uri-libxdg-basedir: http://repo.or.cz/w/libxdg-basedir.git
:uri-poco: https://pocoproject.org/
:uri-asciidoc: http://asciidoc.org/
:uri-catch: https://github.com/catchorg/Catch2
:uri-dpkg: https://packages.qa.debian.org/dpkg
:uri-rpm: http://www.rpm.org/
:uri-ff-addon: https://addons.mozilla.org/firefox/addon/remwharead
:uri-papirus: https://github.com/PapirusDevelopmentTeam/papirus-icon-theme

*remwharead* saves URIs of things you want to remember in a database along with
 an URI to the archived version, the current date and time, title, description,
 the full text of the page and optional tags.

The database can be filtered by time, tags and full text and exported to CSV,
AsciiDoc, JSON or RSS.

Archiving is done using the Wayback machine from the
{uri-archive}[Internet Archive].

.AsciiDoc export formatted with Asciidoctor.
====
[alt="Dates view", height=250, link="{uri-images-base}/example_dates.png", role=left]
image::{uri-images-base}/example_dates.png[]

[alt="Tags view", height=250, link="{uri-images-base}/example_tags.png"]
image::{uri-images-base}/example_tags.png[]
====

== Usage

See {uri-branch-main}/man/remwharead.1.adoc[manpage] and/or read
{uri-blogpost}[the blogpost].

=== In your programs

The complete functionality is implemented in a C++ library, libremwharead. Take
a look at the {uri-reference}[reference] for more info.

== Install

=== Gentoo

Add my {uri-overlay}[repository] and install it from
there.

[source,zsh]
----
eselect repository enable tastytea
echo "www-misc/remwharead ~amd64" >> /etc/portage/package.accept_keywords/remwharead
emaint sync -r tastytea
emerge -a www-misc/remwharead
----

=== Debian and Debian based

Download the `.deb`-package from
{uri-base}/releases[schlomp.space] and install
with `apt install ./rewharead_*.deb`. The package works for 64 bit installations
only.

=== From source

==== Dependencies

* Tested OS: Linux
* C++ compiler (tested: {uri-gcc}[gcc] 8/9, {uri-clang}[clang] 6/7)
* {uri-cmake}[cmake] (at least: 3.2)
* {uri-pkgconfig}[pkgconfig] (tested: 0.29)
* {uri-libxdg-basedir}[libxdg-basedir] (tested: 1.2)
* {uri-poco}[POCO] (tested: 1.9 / 1.7)
* Optional:
** Manpage: {uri-asciidoc}[asciidoc] (tested: 8.6)
** Tests: {uri-catch}[catch] (tested: 2.5 / 1.2)
** DEB package: {uri-dpkg}[dpkg] (tested: 1.18)
** RPM package: {uri-rpm}[rpm-build] (tested: 4.11)

.Install dependencies in Debian buster.
====
[source,zsh]
----
apt-get install g++ cmake pkg-config libpoco-dev libxdg-basedir-dev asciidoc dpkg
----
====

==== Get sourcecode

===== Releases

Download the current release at {uri-base}/releases[schlomp.space].

===== Development version

[source,zsh]
----
git clone https://schlomp.space/tastytea/remwharead.git
----

==== Compile

[source,zsh]
----
mkdir build
cd build/
cmake ..
cmake --build .
----

.cmake options:
* `-DCMAKE_BUILD_TYPE=Debug` for a debug build.
* `-DWITH_MAN=NO` to not compile the manpage.
* `-DWITH_TESTS=YES` to compile the tests.
* `-DWITH_MOZILLA=YES` to install the wrapper for the Mozilla extension.
* `-DMOZILLA_NMH_DIR` lets you set the directory for the Mozilla
  extension wrapper. The complete path is
  `${CMAKE_INSTALL_PREFIX}/${MOZILLA_NMH_DIR}`.
* One of:
** `-DWITH_DEB=YES` if you want to be able to generate a deb-package.
** `-DWITH_RPM=YES` if you want to be able to generate an rpm-package.

You can run the tests with `cd tests && ctest`. Install with `make install`,
generate binary packages with `make package`.

== Browser plugins

=== WebExtension

The {uri-branch-main}/browser-plugins/webextension[WebExtension] works in
Firefox and possibly other browsers with WebExtension support. You can install
it from {uri-ff-addon}/[addons.mozilla.org] or build it yourself with
`build_xpi.sh`.

include::{uri-base}/raw/branch/main/CONTRIBUTING.adoc[]

== Copyright

The icons of the plugins are from the {uri-papirus}[Papirus icon theme] with the
license GPLv3.

----
Copyright © 2019 tastytea <tastytea@tastytea.de>.
License GPLv3: GNU GPL version 3 <https://www.gnu.org/licenses/gpl-3.0.html>.
This program comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to redistribute it under certain conditions.
----
