Skip to content

Adding site#1

Merged
therobbiedavis merged 8 commits into
mainfrom
feature/adding-site
Mar 13, 2026
Merged

Adding site#1
therobbiedavis merged 8 commits into
mainfrom
feature/adding-site

Conversation

@therobbiedavis

Copy link
Copy Markdown
Contributor

No description provided.

Initial commit for the Listenarr documentation site: adds Docusaurus config, docs (intro, getting-started, product-tour, reference), sidebars, site assets, and static API UI bundle. Includes src pages, custom CSS, a sync script (scripts/sync-listenarr.mjs) to pull assets and the OpenAPI document from the Listenarr repo, and a GitHub Actions workflow (.github/workflows/deploy.yml) to build and deploy to GitHub Pages. Also adds package.json, .gitignore, README updates and other supporting files.
Add a set of configuration and getting-started documentation pages (root-folders, download-clients, indexers, quality-profiles, notifications, discord-bot, general-settings, quick-start) and update intro/first-run/installation guidance. Add an Audimeta trending fetch script and generated data (scripts/fetch-audimeta-trending.mjs, src/data/audimeta.trending.json) and wire prestart/prebuild/fetch scripts in package.json. Rename API UI doc to /reference/api, update sidebars to expose new docs, and tweak header UI (GitHub/Discord icons and styles), homepage/API pages, and some static images and CSS for improved navigation and visual polish.
Copilot AI review requested due to automatic review settings March 13, 2026 19:34

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a full Docusaurus-based documentation site for Listenarr, including a bundled Swagger UI page that is synced from the upstream Listenarr repository during CI.

Changes:

  • Introduces a new homepage + documentation structure (getting started, configuration, reference, product tour) and Docusaurus configuration.
  • Adds an /api/ page that loads a pre-bundled Swagger UI + OpenAPI document from static/api-ui/.
  • Adds build-time sync scripts + a GitHub Pages workflow to periodically rebuild docs, refresh trending data, and regenerate API assets.

Reviewed changes

Copilot reviewed 30 out of 46 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
static/img/listenarr/github-mark.svg Adds GitHub icon asset used by navbar styling.
static/img/listenarr/discord-mark.svg Adds Discord icon asset used by navbar styling.
static/api-ui/index.html Bundled standalone Swagger UI HTML (static assets).
static/api-ui/swagger-initializer.js Swagger UI bootstrap configuration for the static bundle.
static/api-ui/openapi.json Bundled OpenAPI document used by Swagger UI.
static/api-ui/swagger-ui-bundle.js Bundled Swagger UI runtime JS.
static/api-ui/swagger-ui-standalone-preset.js Bundled Swagger UI standalone preset JS.
static/api-ui/swagger-ui.css Bundled Swagger UI CSS.
src/pages/index.js Implements the new Listenarr homepage (hero, discovery, capabilities, API callout).
src/pages/index.module.css Homepage styling including carousel/lightbox visuals.
src/pages/api/index.js Implements /api/ page that dynamically loads Swagger UI assets in-browser.
src/pages/api/index.module.css Styling overrides for embedded Swagger UI.
src/data/listenarr.generated.json Generated metadata pointing at the upstream Listenarr source/version.
src/data/audimeta.trending.json Generated trending audiobook dataset used on the homepage.
src/css/custom.css Global theme, navbar, and component styling (including icon masks).
sidebars.js Defines doc sidebar structure for new documentation.
scripts/sync-listenarr.mjs Syncs upstream Listenarr assets and regenerates Swagger/OpenAPI bundle into static/api-ui/.
scripts/fetch-audimeta-trending.mjs Fetches and writes trending audiobook data used by the homepage.
package.json Adds Docusaurus + site dependencies and scripts for syncing/fetching data.
package-lock.json Locks dependency graph for reproducible builds.
docusaurus.config.js Configures site branding, navbar/footer, docs preset, and color mode.
docs/reference/development.md Documents the sync workflow and local usage.
docs/reference/api.md Documents how to access the bundled API UI and how it’s regenerated.
docs/product-tour/features.md Adds a features overview page.
docs/intro.md Adds docs landing page content and primary navigation links.
docs/getting-started/quick-start.md Adds quick-start instructions.
docs/getting-started/installation.md Adds installation guidance across Docker and platforms.
docs/getting-started/first-run.md Adds a first-run checklist and security notes.
docs/configuration/root-folders.md Adds root folders configuration guide.
docs/configuration/download-clients.md Adds download clients configuration guide and path mapping notes.
docs/configuration/indexers.md Adds indexers configuration guide including Prowlarr import.
docs/configuration/quality-profiles.md Adds quality profiles explanation and guidance.
docs/configuration/notifications.md Adds notification/webhook setup documentation.
docs/configuration/discord-bot.md Adds Discord bot setup + troubleshooting documentation.
docs/configuration/general-settings.md Adds comprehensive General Settings documentation.
README.md Updates repository README with local dev and build instructions.
.gitignore Adds standard Node/Docusaurus ignore entries.
.github/workflows/deploy.yml Adds GitHub Actions workflow to build/sync and deploy to GitHub Pages on schedule and events.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

Comment thread docs/reference/development.md Outdated
Comment thread src/pages/api/index.js Outdated
Comment thread src/pages/index.module.css
Comment thread src/pages/index.js Outdated
Stop copying static assets from the Listenarr repo in scripts/sync-listenarr.mjs: remove the cp import, assetMappings list, and copyAssets function, and update the console message to indicate syncing the API bundle. Also update generatedAt timestamps in src/data/audimeta.trending.json and src/data/listenarr.generated.json, and replace the social-card.png image under static/img/listenarr/.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5c7d9c9866

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/pages/api/index.js Outdated
Refactor API page to use React state for Swagger UI load errors (avoid direct DOM writes) and show a styled error message when loading fails. Update docs/reference/development.md to reflect the sync script changes (publishes API, fetches OpenAPI/Swagger assets from running instance, writes to static/api-ui/, and refreshes Listenarr version metadata). Remove an unused formatDate helper from the homepage. Tweak .heroLightboxClose CSS (alignment, font/line-height) and update audimeta.trending.json generatedAt timestamp.
Enhance Listenarr sync script to more robustly resolve the API version: prefer MSBuild -getProperty, fall back to parsing the csproj (including VersionPrefix/VersionSuffix), then git describe, then normalized source ref, finally 'unknown'. Refactor helpers into readListenarrVersion, readMsbuildProperty, readVersionFromProjectFile, and normalizeRefName, and reorder version/commit lookup to use the source ref. Also harden client-side script loading: remove existing script elements so a fresh one is added and ensure the element is removed on load error. Finally update the audimeta.trending.json generatedAt timestamp.
Make docs deployment more resilient when syncing Listenarr: mark the sync step as continue-on-error, add an ID for checking outcome, fail fast if the ref is main, and checkout Listenarr main as a fallback to re-run the sync when the original ref fails. Improve sync script error messages to include stderr/stdout/error.message (or exit code) for clearer diagnostics. Also update generatedAt timestamps in audimeta and listenarr data files.
Remove the hard failure when Listenarr sync from the detected ref fails and instead attempt a fallback sync from main (continue-on-error). Add a verification step that checks for the committed API bundle files (HTML/CSS/JS and generated JSON) and fails the job if those fallback files are missing, otherwise emits a warning and proceeds to build the docs. This lets the docs workflow use a committed API bundle when remote syncs fail, but still fails fast if no valid fallback is available.
Change CI and sync behavior to prefer the Listenarr 'canary' ref instead of 'main'. Updated .github/workflows/deploy.yml to set the default ref and fallback checks to 'canary', and adjusted scripts/sync-listenarr.mjs to default to 'canary' when no ref is provided. Also updated generated metadata (src/data/listenarr.generated.json and src/data/audimeta.trending.json) with new commit, ref, and timestamps, and trimmed deprecated/unneeded Root Folders endpoints and a property from the bundled OpenAPI (static/api-ui/openapi.json). These changes align the repo with the canary API bundle and refresh generated artifacts.
@therobbiedavis therobbiedavis merged commit a2bac36 into main Mar 13, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants