-
Notifications
You must be signed in to change notification settings - Fork 0
Improve positioning, Docker onboarding, and SEO guides #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
18 commits
Select commit
Hold shift + click to select a range
e94935a
Improve navigation and page metadata
AlexanderWagnerDev 9df241f
Align footer with OpenRTMP ecosystem
AlexanderWagnerDev 0f9a9e9
Reposition homepage for developers and operators
AlexanderWagnerDev 61b40b9
Add five-minute Docker quickstart
AlexanderWagnerDev 2595d8d
Add practical guides landing page
AlexanderWagnerDev 702e67d
Add self-hosted RTMP Docker guide
AlexanderWagnerDev d977e92
Add RTMPS and OBS guide
AlexanderWagnerDev 2ff4fa2
Add Enhanced RTMP codec guide
AlexanderWagnerDev 5b4ab75
Add OpenRTMP versus nginx-rtmp guide
AlexanderWagnerDev c1c2e18
Add guide and quickstart styles
AlexanderWagnerDev ed55111
Load guide content styles
AlexanderWagnerDev a638fef
Simplify downloads and remove version drift
AlexanderWagnerDev 72970b8
Document new website structure
AlexanderWagnerDev 72edaba
Add crawler policy
AlexanderWagnerDev 3910bfc
Add public sitemap
AlexanderWagnerDev 053d53e
Add website validation workflow
AlexanderWagnerDev db4a10d
Fix canonical URL normalization, JSON-LD escaping, ARIA state, and CI…
claude dbdf3dd
Merge pull request #5 from OpenRTMP/claude/review-fix-prs-i207bi
AlexanderWagnerDev File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,52 @@ | ||
| name: Website checks | ||
|
|
||
| on: | ||
| pull_request: | ||
| push: | ||
| branches: | ||
| - main | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| jobs: | ||
| validate: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Check out repository | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Set up PHP | ||
| uses: shivammathur/setup-php@v2 | ||
|
Check failure on line 20 in .github/workflows/site-checks.yml
|
||
| with: | ||
| php-version: '8.3' | ||
| coverage: none | ||
|
|
||
| - name: Lint PHP files | ||
| run: find . -name '*.php' -print0 | xargs -0 -n1 php -l | ||
|
|
||
| - name: Validate sitemap XML | ||
| run: | | ||
| sudo apt-get update | ||
| sudo apt-get install -y libxml2-utils | ||
| xmllint --noout sitemap.xml | ||
|
|
||
| - name: Smoke-test public pages | ||
| run: | | ||
| php -S 127.0.0.1:8090 >/tmp/openrtmp-site.log 2>&1 & | ||
| server_pid=$! | ||
| trap 'kill "$server_pid"' EXIT | ||
| sleep 2 | ||
| for path in \ | ||
| / \ | ||
| /quickstart/ \ | ||
| /guides/ \ | ||
| /guides/self-hosted-rtmp-server-docker/ \ | ||
| /guides/rtmps-server-obs/ \ | ||
| /guides/enhanced-rtmp-hevc-av1-opus/ \ | ||
| /guides/openrtmp-vs-nginx-rtmp/ \ | ||
| /docs/ \ | ||
| /download/ \ | ||
| /legal/; do | ||
| curl --fail --silent --show-error "http://127.0.0.1:8090${path}" >/dev/null | ||
| done | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,51 +1,68 @@ | ||
| # openrtmp.org | ||
|
|
||
| Source for the [OpenRTMP.org](https://openrtmp.org) website — a static-ish PHP/HTML/JS site (no build step, no framework, no database). | ||
| Source for [OpenRTMP.org](https://openrtmp.org), the public website for the OpenRTMP ecosystem. | ||
|
|
||
| OpenRTMP includes: | ||
|
|
||
| - [`librtmp2`](https://github.com/OpenRTMP/librtmp2) — Rust RTMP/RTMPS and Enhanced RTMP protocol library with a C-compatible FFI | ||
| - [`librtmp2-server`](https://github.com/OpenRTMP/librtmp2-server) — self-hosted RTMP/RTMPS server with SQLite, stream keys, REST API, and statistics | ||
| - [`librtmp2-server-panel`](https://github.com/OpenRTMP/librtmp2-server-panel) — web UI for stream lifecycle and live monitoring | ||
|
|
||
| All projects are active alpha software. The website intentionally avoids hard-coded release numbers where a package registry or GitHub release page can remain the source of truth. | ||
|
|
||
| ## Local development | ||
|
|
||
| Requires PHP 7.4+. | ||
| The site is a static-ish PHP/HTML/CSS/JavaScript project with no framework, build step, or database. It requires PHP 7.4 or newer. | ||
|
|
||
| ```bash | ||
| php -S localhost:8000 | ||
| php -S localhost:8090 | ||
| ``` | ||
|
|
||
| Then open http://localhost:8000. | ||
| Open `http://localhost:8090`. | ||
|
|
||
| If port `8000` is already in use (e.g. by `librtmp2-server-panel`), pick another port: | ||
| Validate PHP files before publishing: | ||
|
|
||
| ```bash | ||
| php -S localhost:8090 | ||
| find . -name '*.php' -print0 | xargs -0 -n1 php -l | ||
| ``` | ||
|
|
||
| ## Structure | ||
|
|
||
| ``` | ||
| index.php Home page (hero, features, architecture, ecosystem) | ||
| docs/index.php Documentation (librtmp2, server, panel, Docker) | ||
| download/index.php Download, build, and Docker deployment instructions | ||
| legal/index.php Contact / legal notice (provider info only) | ||
| includes/ Shared header/footer PHP partials | ||
| assets/css/ Stylesheet | ||
| assets/js/ Nav toggle, copy-to-clipboard, docs scrollspy | ||
| assets/img/ Favicon / logo | ||
| ```text | ||
| index.php Homepage and audience paths | ||
| quickstart/index.php Five-minute Docker + OBS setup | ||
| docs/index.php Reference documentation | ||
| download/index.php Crate, source, and Docker downloads | ||
| guides/index.php Guide landing page | ||
| guides/*/index.php Search-focused technical guides | ||
| legal/index.php Contact and legal notice | ||
| includes/ Shared header and footer | ||
| assets/css/style.css Core design system | ||
| assets/css/content.css Article and quickstart styles | ||
| assets/js/ Navigation, copy, and docs behavior | ||
| assets/img/ Logo and favicon | ||
| robots.txt Crawler policy | ||
| sitemap.xml Indexable public pages | ||
| ``` | ||
|
|
||
| ## Pages | ||
| ## Content principles | ||
|
|
||
| | Path | Content | | ||
| |------|---------| | ||
| | `/` | Project overview, code example, layer stack, ecosystem cards | | ||
| | `/docs/` | Getting started, callbacks, `librtmp2-server`, panel, Docker | | ||
| | `/download/` | Cargo deps, source builds, GHCR Docker images | | ||
| | `/legal/` | Service provider and contact information | | ||
| - Separate the **developer/library** path from the **operator/server** path. | ||
| - State the alpha status and implementation boundaries consistently. | ||
| - Link to repository implementation-status tables for code-accurate claims. | ||
| - Prefer package registries and release pages over manually copied latest-version strings. | ||
| - Create one canonical page for each major search intent instead of duplicating setup text. | ||
| - Keep guides task-focused, honest about missing features, and useful without marketing language. | ||
|
|
||
| ## Context | ||
| ## Adding a guide | ||
|
|
||
| The site documents the OpenRTMP ecosystem: | ||
| 1. Create `guides/<slug>/index.php`. | ||
| 2. Set a unique `$pageTitle`, `$pageDescription`, and `$canonicalPath`. | ||
| 3. Add `TechArticle` structured data when appropriate. | ||
| 4. Link the guide from `guides/index.php` and relevant existing pages. | ||
| 5. Add the canonical URL to `sitemap.xml`. | ||
| 6. Run PHP lint and review mobile table/code overflow. | ||
|
|
||
| - **[librtmp2](https://github.com/OpenRTMP/librtmp2)** — Rust RTMP/E-RTMP protocol library (alpha, currently `v0.3.1`) | ||
| - **[librtmp2-server](https://github.com/OpenRTMP/librtmp2-server)** — reference media server with REST API and stats | ||
| - **[librtmp2-server-panel](https://github.com/OpenRTMP/librtmp2-server-panel)** — Flask web UI for stream management | ||
| ## Deployment | ||
|
|
||
| All three projects are alpha. The website is English-only. | ||
| Deploy the repository contents to a PHP-capable web root. The server should route directory requests such as `/quickstart/` to the corresponding `index.php` and serve XML/TXT/CSS/JS/image files directly. |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.