remwharead/README.adoc

170 lines
5.0 KiB
Plaintext

= 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-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
:uri-rofi: https://github.com/davatorium/rofi
:uri-boost: https://www.boost.org/
:uri-clang-tidy: https://clang.llvm.org/extra/clang-tidy/
:uri-curl: https://curl.haxx.se/libcurl/
*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].
=== With rofi
The link:{uri-rofi}[rofi] export makes integration with rofi simple. See
link:{uri-branch-main}/scripts/remwharead-rofi[scripts/remwharead-rofi] for an
example.
=== 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 ({uri-gcc}[gcc] 6+, {uri-clang}[clang] 6+)
* {uri-cmake}[cmake] (at least: 3.9)
* {uri-poco}[POCO] (tested: 1.9 / 1.7)
* {uri-boost}[Boost] (tested: 1.71 / 1.67)
* {uri-curl}[libcurl] (at least: 7.52)
* 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 libpoco-dev libboost-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}`.
* `-DWITH_CLANG-TIDY=YES` to check the sourcecode with
link:{uri-clang-tidy}[clang-tidy] while compiling.
* 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.
----