refactor: rename project from OpenReader WebUI to OpenReader across all relevant files.

This commit is contained in:
Richard R 2026-02-18 02:49:47 -07:00
parent f7af557073
commit a0cc189a0f
21 changed files with 62 additions and 58 deletions

View file

@ -11,7 +11,7 @@ assignees: richardr1126
A description of what the bug is, which explains how you got there. A description of what the bug is, which explains how you got there.
**Environment info:** **Environment info:**
- OpenReader-WebUI version: [e.g. v0.2.5 (found in the terminal when starting)] - OpenReader version: [e.g. v0.2.5 (found in the terminal when starting)]
- Using Docker: yes/no - Using Docker: yes/no
- Browser: [e.g. Safari, Firefox, Chromium] - Browser: [e.g. Safari, Firefox, Chromium]
- Device: [e.g. iPhone16, Macbook Pro, Intel/AMD PC] - Device: [e.g. iPhone16, Macbook Pro, Intel/AMD PC]

View file

@ -1,4 +1,4 @@
OpenReader-WebUI OpenReader
Third-Party Notices Third-Party Notices
=================== ===================

View file

@ -1,16 +1,18 @@
[![GitHub Release](https://img.shields.io/github/v/release/richardr1126/OpenReader-WebUI)](https://github.com/richardr1126/OpenReader-WebUI/releases) [![GitHub Release](https://img.shields.io/github/v/release/richardr1126/openreader)](https://github.com/richardr1126/openreader/releases)
[![License](https://img.shields.io/github/license/richardr1126/OpenReader-WebUI)](LICENSE) [![License](https://img.shields.io/github/license/richardr1126/openreader)](LICENSE)
[![Docs](https://img.shields.io/badge/docs-openreader--webui-0a6c74)](https://docs.openreader.richardr.dev/) [![Docs](https://img.shields.io/badge/docs-openreader-0a6c74)](https://docs.openreader.richardr.dev/)
[![Playwright Tests](https://github.com/richardr1126/OpenReader-WebUI/actions/workflows/playwright.yml/badge.svg)](https://github.com/richardr1126/OpenReader-WebUI/actions/workflows/playwright.yml) [![Playwright Tests](https://github.com/richardr1126/openreader/actions/workflows/playwright.yml/badge.svg)](https://github.com/richardr1126/openreader/actions/workflows/playwright.yml)
[![Docs Check](https://github.com/richardr1126/OpenReader-WebUI/actions/workflows/docs-check.yml/badge.svg)](https://github.com/richardr1126/OpenReader-WebUI/actions/workflows/docs-check.yml) [![Docs Check](https://github.com/richardr1126/openreader/actions/workflows/docs-check.yml/badge.svg)](https://github.com/richardr1126/openreader/actions/workflows/docs-check.yml)
[![GitHub Stars](https://img.shields.io/github/stars/richardr1126/OpenReader-WebUI)](https://github.com/richardr1126/OpenReader-WebUI/stargazers) [![GitHub Stars](https://img.shields.io/github/stars/richardr1126/openreader)](https://github.com/richardr1126/openreader/stargazers)
[![GitHub Forks](https://img.shields.io/github/forks/richardr1126/OpenReader-WebUI)](https://github.com/richardr1126/OpenReader-WebUI/network/members) [![GitHub Forks](https://img.shields.io/github/forks/richardr1126/openreader)](https://github.com/richardr1126/openreader/network/members)
[![Discussions](https://img.shields.io/badge/Discussions-Ask%20a%20Question-blue)](https://github.com/richardr1126/OpenReader-WebUI/discussions) [![Discussions](https://img.shields.io/badge/Discussions-Ask%20a%20Question-blue)](https://github.com/richardr1126/openreader/discussions)
# 📄🔊 OpenReader WebUI # 📄🔊 OpenReader
OpenReader WebUI is an open source, self-host-friendly text-to-speech document reader built with Next.js for **EPUB, PDF, TXT, MD, and DOCX** with synchronized read-along playback. OpenReader is an open source, self-host-friendly text-to-speech document reader built with Next.js for **EPUB, PDF, TXT, MD, and DOCX** with synchronized read-along playback.
> Previously named **OpenReader-WebUI**.
> **Get started in the [docs](https://docs.openreader.richardr.dev/)**. > **Get started in the [docs](https://docs.openreader.richardr.dev/)**.
@ -40,8 +42,8 @@ OpenReader WebUI is an open source, self-host-friendly text-to-speech document r
## 🧭 Community ## 🧭 Community
- Questions and ideas: [GitHub Discussions](https://github.com/richardr1126/OpenReader-WebUI/discussions) - Questions and ideas: [GitHub Discussions](https://github.com/richardr1126/openreader/discussions)
- Bug reports: [GitHub Issues](https://github.com/richardr1126/OpenReader-WebUI/issues) - Bug reports: [GitHub Issues](https://github.com/richardr1126/openreader/issues)
- Contributions: open a pull request - Contributions: open a pull request
## 📜 License ## 📜 License

View file

@ -2,6 +2,6 @@
title: License title: License
--- ---
OpenReader WebUI is licensed under the MIT License. OpenReader is licensed under the MIT License.
- Repository license file: [LICENSE](https://github.com/richardr1126/OpenReader-WebUI/blob/main/LICENSE) - Repository license file: [LICENSE](https://github.com/richardr1126/openreader/blob/main/LICENSE)

View file

@ -4,11 +4,11 @@ title: Support and Contributing
## Feature requests ## Feature requests
Use [GitHub Discussions](https://github.com/richardr1126/OpenReader-WebUI/discussions) for feature requests and ideas. Use [GitHub Discussions](https://github.com/richardr1126/openreader/discussions) for feature requests and ideas.
## Issues and support ## Issues and support
If you encounter a bug, open an issue in [GitHub Issues](https://github.com/richardr1126/OpenReader-WebUI/issues). If you encounter a bug, open an issue in [GitHub Issues](https://github.com/richardr1126/openreader/issues).
## Contributing ## Contributing

View file

@ -2,7 +2,7 @@
title: Database title: Database
--- ---
This page covers database mode selection for OpenReader WebUI. This page covers database mode selection for OpenReader.
## Database mode ## Database mode

View file

@ -5,7 +5,7 @@ title: Migrations
import Tabs from '@theme/Tabs'; import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem'; import TabItem from '@theme/TabItem';
This page covers migration behavior for both database schema and storage data in OpenReader WebUI. This page covers migration behavior for both database schema and storage data in OpenReader.
## Startup migration behavior ## Startup migration behavior

View file

@ -5,7 +5,7 @@ title: TTS Providers
import Tabs from '@theme/Tabs'; import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem'; import TabItem from '@theme/TabItem';
OpenReader WebUI supports OpenAI-compatible TTS providers through a common API shape. OpenReader supports OpenAI-compatible TTS providers through a common API shape.
:::tip :::tip
If you are running a self-hosted TTS server (Kokoro/Orpheus/etc.), use **Custom OpenAI-Like** in Settings. If you are running a self-hosted TTS server (Kokoro/Orpheus/etc.), use **Custom OpenAI-Like** in Settings.

View file

@ -62,8 +62,8 @@ Set `WHISPER_CPP_BIN` in your `.env` to enable word-by-word highlighting.
1. Clone the repository. 1. Clone the repository.
```bash ```bash
git clone https://github.com/richardr1126/OpenReader-WebUI.git git clone https://github.com/richardr1126/openreader.git
cd OpenReader-WebUI cd OpenReader
``` ```
2. Install dependencies. 2. Install dependencies.

View file

@ -2,7 +2,7 @@
title: Vercel Deployment title: Vercel Deployment
--- ---
This guide covers deploying OpenReader WebUI to Vercel with external Postgres and S3-compatible object storage. This guide covers deploying OpenReader to Vercel with external Postgres and S3-compatible object storage.
## What works on Vercel ## What works on Vercel

View file

@ -22,11 +22,11 @@ If you have suitable hardware, you can run Kokoro locally with Docker. See [Koko
Auth disabled, embedded storage ephemeral, no library import: Auth disabled, embedded storage ephemeral, no library import:
```bash ```bash
docker run --name openreader-webui \ docker run --name openreader \
--restart unless-stopped \ --restart unless-stopped \
-p 3003:3003 \ -p 3003:3003 \
-p 8333:8333 \ -p 8333:8333 \
ghcr.io/richardr1126/openreader-webui:latest ghcr.io/richardr1126/openreader:latest
``` ```
</TabItem> </TabItem>
@ -35,7 +35,7 @@ docker run --name openreader-webui \
Persistent storage, embedded SeaweedFS `weed mini`, optional auth, optional library mount: Persistent storage, embedded SeaweedFS `weed mini`, optional auth, optional library mount:
```bash ```bash
docker run --name openreader-webui \ docker run --name openreader \
--restart unless-stopped \ --restart unless-stopped \
-p 3003:3003 \ -p 3003:3003 \
-p 8333:8333 \ -p 8333:8333 \
@ -45,7 +45,7 @@ docker run --name openreader-webui \
-e API_KEY=none \ -e API_KEY=none \
-e BASE_URL=http://localhost:3003 \ -e BASE_URL=http://localhost:3003 \
-e AUTH_SECRET=$(openssl rand -hex 32) \ -e AUTH_SECRET=$(openssl rand -hex 32) \
ghcr.io/richardr1126/openreader-webui:latest ghcr.io/richardr1126/openreader:latest
``` ```
</TabItem> </TabItem>
@ -91,10 +91,10 @@ If `8333` is not reachable from the browser, direct presigned access is unavaila
## 3. Update Docker image ## 3. Update Docker image
```bash ```bash
docker stop openreader-webui || true && \ docker stop openreader || true && \
docker rm openreader-webui || true && \ docker rm openreader || true && \
docker image rm ghcr.io/richardr1126/openreader-webui:latest || true && \ docker image rm ghcr.io/richardr1126/openreader:latest || true && \
docker pull ghcr.io/richardr1126/openreader-webui:latest docker pull ghcr.io/richardr1126/openreader:latest
``` ```
:::tip :::tip

View file

@ -4,7 +4,9 @@ title: Introduction
slug: / slug: /
--- ---
OpenReader WebUI is an open source text-to-speech document reader built with Next.js. It provides a read-along experience with narration for **EPUB, PDF, TXT, MD, and DOCX documents**. OpenReader is an open source text-to-speech document reader built with Next.js. It provides a read-along experience with narration for **EPUB, PDF, TXT, MD, and DOCX documents**.
> Previously named **OpenReader-WebUI**.
It supports multiple TTS providers including OpenAI, DeepInfra, and custom OpenAI-compatible endpoints such as [Kokoro-FastAPI](https://github.com/remsky/Kokoro-FastAPI) and [Orpheus-FastAPI](https://github.com/Lex-au/Orpheus-FastAPI). It supports multiple TTS providers including OpenAI, DeepInfra, and custom OpenAI-compatible endpoints such as [Kokoro-FastAPI](https://github.com/remsky/Kokoro-FastAPI) and [Orpheus-FastAPI](https://github.com/Lex-au/Orpheus-FastAPI).
@ -46,4 +48,4 @@ It supports multiple TTS providers including OpenAI, DeepInfra, and custom OpenA
## Source Repository ## Source Repository
- GitHub: [richardr1126/OpenReader-WebUI](https://github.com/richardr1126/OpenReader-WebUI) - GitHub: [richardr1126/openreader](https://github.com/richardr1126/openreader)

View file

@ -3,7 +3,7 @@ title: Environment Variables
toc_max_heading_level: 3 toc_max_heading_level: 3
--- ---
This is the single reference page for OpenReader WebUI environment variables. This is the single reference page for OpenReader environment variables.
## Quick Reference Table ## Quick Reference Table

View file

@ -3,7 +3,7 @@ import type { Config } from '@docusaurus/types';
import type * as Preset from '@docusaurus/preset-classic'; import type * as Preset from '@docusaurus/preset-classic';
const config: Config = { const config: Config = {
title: 'OpenReader WebUI Docs', title: 'OpenReader Docs',
tagline: 'Docs for OpenReader', tagline: 'Docs for OpenReader',
favicon: 'favicon.ico', favicon: 'favicon.ico',
@ -15,7 +15,7 @@ const config: Config = {
baseUrl: '/', baseUrl: '/',
organizationName: 'richardr1126', organizationName: 'richardr1126',
projectName: 'OpenReader-WebUI', projectName: 'OpenReader',
onBrokenLinks: 'throw', onBrokenLinks: 'throw',
markdown: { markdown: {
@ -36,7 +36,7 @@ const config: Config = {
docs: { docs: {
routeBasePath: '/', routeBasePath: '/',
sidebarPath: './sidebars.ts', sidebarPath: './sidebars.ts',
editUrl: 'https://github.com/richardr1126/OpenReader-WebUI/tree/main/docs-site/', editUrl: 'https://github.com/richardr1126/openreader/tree/main/docs-site/',
// lastVersion: 'current', // lastVersion: 'current',
// versions: { // versions: {
// current: { // current: {
@ -74,7 +74,7 @@ const config: Config = {
respectPrefersColorScheme: true, respectPrefersColorScheme: true,
}, },
navbar: { navbar: {
title: 'OpenReader WebUI', title: 'OpenReader',
items: [ items: [
{ {
type: 'docSidebar', type: 'docSidebar',
@ -87,7 +87,7 @@ const config: Config = {
position: 'left', position: 'left',
}, },
{ {
href: 'https://github.com/richardr1126/OpenReader-WebUI', href: 'https://github.com/richardr1126/openreader',
label: 'GitHub', label: 'GitHub',
position: 'right', position: 'right',
}, },
@ -99,15 +99,15 @@ const config: Config = {
title: 'Community', title: 'Community',
items: [ items: [
{ label: 'Support', to: '/about/support-and-contributing' }, { label: 'Support', to: '/about/support-and-contributing' },
{ label: 'GitHub Discussions', href: 'https://github.com/richardr1126/OpenReader-WebUI/discussions' }, { label: 'GitHub Discussions', href: 'https://github.com/richardr1126/openreader/discussions' },
{ label: 'Issues', href: 'https://github.com/richardr1126/OpenReader-WebUI/issues' }, { label: 'Issues', href: 'https://github.com/richardr1126/openreader/issues' },
], ],
}, },
{ {
title: 'Project', title: 'Project',
items: [ items: [
{ label: 'GitHub', href: 'https://github.com/richardr1126/OpenReader-WebUI' }, { label: 'GitHub', href: 'https://github.com/richardr1126/openreader' },
{ label: 'Releases', href: 'https://github.com/richardr1126/OpenReader-WebUI/releases' }, { label: 'Releases', href: 'https://github.com/richardr1126/openreader/releases' },
], ],
}, },
], ],

View file

@ -1,5 +1,5 @@
{ {
"name": "openreader-webui", "name": "openreader",
"version": "v1.3.0", "version": "v1.3.0",
"private": true, "private": true,
"scripts": { "scripts": {

View file

@ -292,7 +292,7 @@ export default function PublicLayout({ children }: { children: ReactNode }) {
<footer className="landing-footer"> <footer className="landing-footer">
<div className="landing-footer-inner"> <div className="landing-footer-inner">
<a <a
href="https://github.com/richardr1126/OpenReader-WebUI#readme" href="https://github.com/richardr1126/openreader#readme"
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
className="landing-footer-link-bold" className="landing-footer-link-bold"

View file

@ -14,8 +14,8 @@ export const metadata: Metadata = {
type: 'website', type: 'website',
locale: 'en_US', locale: 'en_US',
url: 'https://openreader.richardr.dev', url: 'https://openreader.richardr.dev',
siteName: 'OpenReader WebUI', siteName: 'OpenReader',
title: 'OpenReader WebUI | Read and Listen to Documents', title: 'OpenReader | Read and Listen to Documents',
description: description:
'Upload EPUB, PDF, TXT, MD, and DOCX files, then listen with synchronized read-along playback using OpenAI-compatible TTS providers.', 'Upload EPUB, PDF, TXT, MD, and DOCX files, then listen with synchronized read-along playback using OpenAI-compatible TTS providers.',
images: [ images: [
@ -23,7 +23,7 @@ export const metadata: Metadata = {
url: '/web-app-manifest-512x512.png', url: '/web-app-manifest-512x512.png',
width: 512, width: 512,
height: 512, height: 512,
alt: 'OpenReader WebUI Logo', alt: 'OpenReader Logo',
}, },
], ],
}, },

View file

@ -3,9 +3,9 @@ import Link from 'next/link';
import { headers } from 'next/headers'; import { headers } from 'next/headers';
export const metadata: Metadata = { export const metadata: Metadata = {
title: 'Privacy & Data Usage | OpenReader WebUI', title: 'Privacy & Data Usage | OpenReader',
description: description:
'Learn how OpenReader WebUI handles your data, what is stored in your browser, and what is sent to the server.', 'Learn how OpenReader handles your data, what is stored in your browser, and what is sent to the server.',
alternates: { alternates: {
canonical: '/privacy', canonical: '/privacy',
}, },
@ -272,12 +272,12 @@ export default async function PrivacyPage() {
If you have questions or concerns about this Privacy Policy, please contact the instance administrator via the repository: If you have questions or concerns about this Privacy Policy, please contact the instance administrator via the repository:
</p> </p>
<a <a
href="https://github.com/richardr1126/OpenReader-WebUI/issues" href="https://github.com/richardr1126/openreader/issues"
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
className="text-accent hover:underline font-medium" className="text-accent hover:underline font-medium"
> >
OpenReader WebUI Issues OpenReader Issues
</a> </a>
</section> </section>
</div> </div>
@ -285,7 +285,7 @@ export default async function PrivacyPage() {
<p className="privacy-note mt-12 pt-8 border-t border-border"> <p className="privacy-note mt-12 pt-8 border-t border-border">
For maximum privacy, you can self-host OpenReader using the{' '} For maximum privacy, you can self-host OpenReader using the{' '}
<a <a
href="https://github.com/richardr1126/OpenReader-WebUI#readme" href="https://github.com/richardr1126/openreader#readme"
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
> >

View file

@ -29,8 +29,8 @@ const themeInitScript = `
export const metadata: Metadata = { export const metadata: Metadata = {
title: { title: {
default: "OpenReader WebUI", default: "OpenReader",
template: "%s | OpenReader WebUI", template: "%s | OpenReader",
}, },
manifest: "/manifest.json", manifest: "/manifest.json",
metadataBase: new URL("https://openreader.richardr.dev"), metadataBase: new URL("https://openreader.richardr.dev"),

View file

@ -1,5 +1,5 @@
{ {
"name": "OpenReader WebUI", "name": "OpenReader",
"short_name": "OpenReader", "short_name": "OpenReader",
"icons": [ "icons": [
{ {

View file

@ -17,7 +17,7 @@ export function useMediaSession(controls: MediaControls) {
if ('mediaSession' in navigator) { if ('mediaSession' in navigator) {
navigator.mediaSession.metadata = new MediaMetadata({ navigator.mediaSession.metadata = new MediaMetadata({
title: 'Text-to-Speech', title: 'Text-to-Speech',
artist: 'OpenReader WebUI', artist: 'OpenReader',
album: 'Current Document', album: 'Current Document',
}); });