= epubgrep :showtitle: :toc: preamble :project: epubgrep :uri-base: https://schlomp.space/tastytea/{project} :uri-branch-main: {uri-base}/src/branch/main :uri-gcc: https://gcc.gnu.org/ :uri-clang: https://clang.llvm.org/ :uri-cmake: https://cmake.org/ :uri-catch: https://github.com/catchorg/Catch2 :uri-boost: https://www.boost.org/ :uri-gettext: https://www.gnu.org/software/gettext/ :uri-libarchive: https://www.libarchive.org/ :uri-fmt: https://github.com/fmtlib/fmt :uri-asciidoc: http://asciidoc.org/ :uri-termcolor: https://termcolor.readthedocs.io/ :license: https://schlomp.space/tastytea/{project}/src/branch/main/LICENSE :license-termcolor: https://schlomp.space/tastytea/{project}/src/branch/main/dist/termcolor/LICENSE *{project}* is a search tool for EPUB e-books. It does not operate on lines, but on whole files. All newlines will be replaced by spaces and HTML will be stripped. This means you can search for text spanning multiple lines and don't have to worry about HTML tags in the text. {project} is licensed under the link:{license}[AGPL-3.0-only] license. The bundled link:{uri-termcolor}[Termcolor] is licensed under the link:{license-termcolor}[BSD-3-Clause] license. [alt="Screenshot of epupgrep, showing the output of 2 book searches."] image::{uri-base}/raw/branch/main/screenshot.png[] == Usage See https://schlomp.space/tastytea/{project}/src/branch/main/man/{project}.1.adoc[manpage]. == Install [alt="Packaging status" link=https://repology.org/project/epubgrep/versions] image::https://repology.org/badge/vertical-allrepos/epubgrep.svg[] // === Gentoo // [source,shell] // -------------------------------------------------------------------------------- // eselect repository enable tastytea // echo 'app-text/epubgrep' >> /etc/portage/package.accept_keywords/epubgrep // emaint sync -r tastytea // emerge -a app-text/epubgrep // -------------------------------------------------------------------------------- === From source ==== Dependencies * Tested OS: Linux * C\++ compiler with C++17 support (tested: link:{uri-gcc}[GCC] 7/10, link:{uri-clang}[clang] 6/11) * link:{uri-cmake}[CMake] (at least: 3.12) * link:{uri-boost}[Boost] (tested: 1.75.0 / 1.65.0) * link:{uri-gettext}[gettext] (tested: 0.21 / 0.19) * link:{uri-libarchive}[libarchive] (tested: 3.5 / 3.2) * link:{uri-fmt}[fmt] (tested: 7.0 / 4.0) * link:{uri-asciidoc}[AsciiDoc] (tested: 8.6 / 9.0) * link:{uri-termcolor}[Termcolor] (tested: 2.0) * Optional ** Tests: link:{uri-catch}[Catch] (tested: 2.13 / 1.10) ==== Get sourcecode ===== Release Download the current release at link:{uri-base}/releases[schlomp.space]. ===== Development version [source,shell] -------------------------------------------------------------------------------- git clone https://schlomp.space/tastytea/epubgrep.git -------------------------------------------------------------------------------- ==== Compile [source,shell] -------------------------------------------------------------------------------- mkdir -p build && cd build cmake .. cmake --build . -- --jobs=$(nproc --ignore=1) # cd tests && ctest -------------------------------------------------------------------------------- .CMake options: * `-DCMAKE_BUILD_TYPE=Debug` for a debug build. * `-DWITH_TESTS=YES` if you want to compile the tests. * `-DXGETTEXT_CMD=String` The program to use instead of `xgettext`. * `-DFALLBACK_BUNDLED=NO if you don't want to fall back on bundled libraries. include::{uri-base}/raw/branch/main/CONTRIBUTING.adoc[]