Standard Ebooks
+Discover meticulously produced public-domain ebooks with consistent typography, metadata, and clean EPUB sources.
++ + Visit standardebooks.org + +
+Opens in a new tab so you can grab EPUB downloads and drag them into abogen.
+diff --git a/abogen/web/routes.py b/abogen/web/routes.py
index c640b3b..f6d4fe5 100644
--- a/abogen/web/routes.py
+++ b/abogen/web/routes.py
@@ -1598,6 +1598,15 @@ def queue_page() -> ResponseReturnValue:
)
+@web_bp.get("/find-books")
+def find_books_page() -> ResponseReturnValue:
+ # Potential integration target: Standard Ebooks OPDS feed
+ # https://standardebooks.org/feeds/opds
+ # Potential integration target: Project Gutenberg OPDS search
+ # https://www.gutenberg.org/ebooks/search.opds/
+ return render_template("find_books.html")
+
+
@web_bp.route("/settings", methods=["GET", "POST"])
def settings_page() -> ResponseReturnValue:
options = _template_options()
diff --git a/abogen/web/templates/base.html b/abogen/web/templates/base.html
index c87c291..54a0066 100644
--- a/abogen/web/templates/base.html
+++ b/abogen/web/templates/base.html
@@ -20,6 +20,7 @@
Dashboard
Voice Mixer
Speakers
+ Find Books
Queue
Settings
diff --git a/abogen/web/templates/find_books.html b/abogen/web/templates/find_books.html
new file mode 100644
index 0000000..9abccf5
--- /dev/null
+++ b/abogen/web/templates/find_books.html
@@ -0,0 +1,33 @@
+{% extends "base.html" %}
+
+{% block title %}abogen · Find Books{% endblock %}
+
+{% block content %}
+ Browse curated public-domain ebooks, then download and queue them for conversion. Discover meticulously produced public-domain ebooks with consistent typography, metadata, and clean EPUB sources.
+
+ Visit standardebooks.org
+
+ Opens in a new tab so you can grab EPUB downloads and drag them into abogen. The world’s largest public-domain ebook library, offering thousands of EPUB and plain-text editions sourced from volunteer transcriptions. Download the EPUB version for best results, then import it into abogen.Standard Ebooks
+ Project Gutenberg
+