Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 11 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,20 @@
<p align="center">
<img src="public/branding/row-template-logo.png" alt="Row-Template" width="112" height="112">
</p>

# Row-Template Docs

The documentation site for [Row-Template](https://github.com/iitzSeriZdev/Row-Template), the self-contained, white-label subscription page for 3X-UI panels.
The documentation site for [Row-Template](https://github.com/iitzSeriZdev/Row-Template), the self-contained, white-label subscription page for 3X-UI, PasarGuard and Rebecca panels.

**→ [iitzseridev.github.io/Web-Row-Template](https://iitzseridev.github.io/Web-Row-Template/)** · [فارسی](https://iitzseridev.github.io/Web-Row-Template/fa/)

- **Installation** with the one-command installer, and a step-by-step manual install that also works on servers without GitHub access.
- **Installation** on 3X-UI, PasarGuard and Rebecca with the one-command installer, and a step-by-step manual install that also works on servers without GitHub access.
- **Every template** with a live, interactive preview: phone and desktop sizes, all five languages, light and dark.
- **An error reference** covering every error and warning the installer can print, with what it means and how to fix it, translated into Persian.
- **An error reference** covering every error and warning the installer can print — including the panel adapters and the activation transaction engine — with what it means and how to fix it, translated into Persian.
- **Management**: the `row-template` command, the interactive manager, updating, backups and rollback, verify, uninstall.
- **English and Persian**, right-to-left, with full-text search in both.

Everything is written against the Row-Template 1.2.0 source: commands, paths and messages are exactly what the installer prints.
Everything is written against the Row-Template 1.3.0 source: commands, paths and messages are exactly what the installer prints.

## Development

Expand All @@ -33,7 +37,9 @@ Search needs the Pagefind index, so it works after `npm run build` (in `preview`
| `src/content/docs/en/`, `src/content/docs/fa/` | The pages, as MDX — one file per page and language, at the same path |
| `src/data/errors.ts` | The error reference: every installer message, its translation, meaning and fix |
| `src/data/templates.json`, `public/previews/`, `public/live/` | Synced from Row-Template — never edited here |
| `src/data/installer-messages.json` | Every error and warning in the installer source, extracted by the sync script |
| `public/branding/` | The official Row-Template logo: the symbol (navigation bar), the square logo (landing page, social image) and the app icon (favicon). Copies and downscaled derivatives of the canonical logo files — never redrawn or recoloured |
| `public/flags/` | The language switch: the United States flag for English, the Lion and Sun flag for Persian |
| `src/data/installer-messages.json` | Every error and warning in the installer source — the bootstrap, the library, the command and every companion the library declares — extracted by the sync script |
| `src/components/`, `src/layouts/` | The UI, modelled on the shadcn/ui documentation |
| `src/lib/nav.ts` | The sidebar, in reading order |
| `src/styles/globals.css` | The design system: shadcn/ui's neutral palette, Geist and Vazirmatn, logical properties for RTL |
Expand Down
Binary file added public/branding/row-template-app-icon-180.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/branding/row-template-app-icon-32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/branding/row-template-logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/branding/row-template-logo.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/branding/row-template-mark.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/branding/row-template-social.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 0 additions & 1 deletion public/favicon.svg

This file was deleted.

1 change: 1 addition & 0 deletions public/flags/flag-en-us.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/flags/flag-fa-lion-and-sun.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions public/live/arcade/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1378,8 +1378,8 @@
data-download-byte="34359738368"
data-upload-byte="6871947674"
data-total-byte="107374182400"
data-expire="1794172384"
data-last-online="1790284294514"
data-expire="1794346416"
data-last-online="1790458326502"
data-sub-url="https://sub.example.com/sub/e3b0c44298fc1c14"
data-sub-json-url="https://sub.example.com/json/e3b0c44298fc1c14"
data-sub-clash-url="https://sub.example.com/clash/e3b0c44298fc1c14"
Expand Down
4 changes: 2 additions & 2 deletions public/live/arcadenova/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1399,8 +1399,8 @@
data-download-byte="34359738368"
data-upload-byte="6871947674"
data-total-byte="107374182400"
data-expire="1794172387"
data-last-online="1790284297540"
data-expire="1794346418"
data-last-online="1790458328183"
data-sub-url="https://sub.example.com/sub/e3b0c44298fc1c14"
data-sub-json-url="https://sub.example.com/json/e3b0c44298fc1c14"
data-sub-clash-url="https://sub.example.com/clash/e3b0c44298fc1c14"
Expand Down
4 changes: 2 additions & 2 deletions public/live/brutal/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1369,8 +1369,8 @@
data-download-byte="34359738368"
data-upload-byte="6871947674"
data-total-byte="107374182400"
data-expire="1794172384"
data-last-online="1790284294054"
data-expire="1794346416"
data-last-online="1790458326263"
data-sub-url="https://sub.example.com/sub/e3b0c44298fc1c14"
data-sub-json-url="https://sub.example.com/json/e3b0c44298fc1c14"
data-sub-clash-url="https://sub.example.com/clash/e3b0c44298fc1c14"
Expand Down
4 changes: 2 additions & 2 deletions public/live/canvas/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1425,8 +1425,8 @@
data-download-byte="34359738368"
data-upload-byte="6871947674"
data-total-byte="107374182400"
data-expire="1794172382"
data-last-online="1790284292295"
data-expire="1794346415"
data-last-online="1790458325297"
data-sub-url="https://sub.example.com/sub/e3b0c44298fc1c14"
data-sub-json-url="https://sub.example.com/json/e3b0c44298fc1c14"
data-sub-clash-url="https://sub.example.com/clash/e3b0c44298fc1c14"
Expand Down
4 changes: 2 additions & 2 deletions public/live/editorial/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1451,8 +1451,8 @@
data-download-byte="34359738368"
data-upload-byte="6871947674"
data-total-byte="107374182400"
data-expire="1794172381"
data-last-online="1790284291926"
data-expire="1794346415"
data-last-online="1790458325048"
data-sub-url="https://sub.example.com/sub/e3b0c44298fc1c14"
data-sub-json-url="https://sub.example.com/json/e3b0c44298fc1c14"
data-sub-clash-url="https://sub.example.com/clash/e3b0c44298fc1c14"
Expand Down
4,837 changes: 4,837 additions & 0 deletions public/live/meter/index.html

Large diffs are not rendered by default.

4,825 changes: 4,825 additions & 0 deletions public/live/notebook/index.html

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions public/live/prism/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1335,8 +1335,8 @@
data-download-byte="34359738368"
data-upload-byte="6871947674"
data-total-byte="107374182400"
data-expire="1794172382"
data-last-online="1790284292712"
data-expire="1794346415"
data-last-online="1790458325540"
data-sub-url="https://sub.example.com/sub/e3b0c44298fc1c14"
data-sub-json-url="https://sub.example.com/json/e3b0c44298fc1c14"
data-sub-clash-url="https://sub.example.com/clash/e3b0c44298fc1c14"
Expand Down
4 changes: 2 additions & 2 deletions public/live/prismnova/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1378,8 +1378,8 @@
data-download-byte="34359738368"
data-upload-byte="6871947674"
data-total-byte="107374182400"
data-expire="1794172386"
data-last-online="1790284296664"
data-expire="1794346417"
data-last-online="1790458327701"
data-sub-url="https://sub.example.com/sub/e3b0c44298fc1c14"
data-sub-json-url="https://sub.example.com/json/e3b0c44298fc1c14"
data-sub-clash-url="https://sub.example.com/clash/e3b0c44298fc1c14"
Expand Down
4 changes: 2 additions & 2 deletions public/live/pulse/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1328,8 +1328,8 @@
data-download-byte="34359738368"
data-upload-byte="6871947674"
data-total-byte="107374182400"
data-expire="1794172383"
data-last-online="1790284293595"
data-expire="1794346416"
data-last-online="1790458326018"
data-sub-url="https://sub.example.com/sub/e3b0c44298fc1c14"
data-sub-json-url="https://sub.example.com/json/e3b0c44298fc1c14"
data-sub-clash-url="https://sub.example.com/clash/e3b0c44298fc1c14"
Expand Down
4 changes: 2 additions & 2 deletions public/live/pulsenova/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1467,8 +1467,8 @@
data-download-byte="34359738368"
data-upload-byte="6871947674"
data-total-byte="107374182400"
data-expire="1794172386"
data-last-online="1790284296196"
data-expire="1794346417"
data-last-online="1790458327464"
data-sub-url="https://sub.example.com/sub/e3b0c44298fc1c14"
data-sub-json-url="https://sub.example.com/json/e3b0c44298fc1c14"
data-sub-clash-url="https://sub.example.com/clash/e3b0c44298fc1c14"
Expand Down
4 changes: 2 additions & 2 deletions public/live/row/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1290,8 +1290,8 @@
data-download-byte="34359738368"
data-upload-byte="6871947674"
data-total-byte="107374182400"
data-expire="1794172381"
data-last-online="1790284291552"
data-expire="1794346414"
data-last-online="1790458324800"
data-sub-url="https://sub.example.com/sub/e3b0c44298fc1c14"
data-sub-json-url="https://sub.example.com/json/e3b0c44298fc1c14"
data-sub-clash-url="https://sub.example.com/clash/e3b0c44298fc1c14"
Expand Down
4 changes: 2 additions & 2 deletions public/live/saffron/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1441,8 +1441,8 @@
data-download-byte="34359738368"
data-upload-byte="6871947674"
data-total-byte="107374182400"
data-expire="1794172385"
data-last-online="1790284295780"
data-expire="1794346417"
data-last-online="1790458327224"
data-sub-url="https://sub.example.com/sub/e3b0c44298fc1c14"
data-sub-json-url="https://sub.example.com/json/e3b0c44298fc1c14"
data-sub-clash-url="https://sub.example.com/clash/e3b0c44298fc1c14"
Expand Down
4 changes: 2 additions & 2 deletions public/live/signature/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1488,8 +1488,8 @@
data-download-byte="34359738368"
data-upload-byte="6871947674"
data-total-byte="107374182400"
data-expire="1794172385"
data-last-online="1790284295358"
data-expire="1794346416"
data-last-online="1790458326983"
data-sub-url="https://sub.example.com/sub/e3b0c44298fc1c14"
data-sub-json-url="https://sub.example.com/json/e3b0c44298fc1c14"
data-sub-clash-url="https://sub.example.com/clash/e3b0c44298fc1c14"
Expand Down
4 changes: 2 additions & 2 deletions public/live/sketch/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1317,8 +1317,8 @@
data-download-byte="34359738368"
data-upload-byte="6871947674"
data-total-byte="107374182400"
data-expire="1794172384"
data-last-online="1790284294917"
data-expire="1794346416"
data-last-online="1790458326738"
data-sub-url="https://sub.example.com/sub/e3b0c44298fc1c14"
data-sub-json-url="https://sub.example.com/json/e3b0c44298fc1c14"
data-sub-clash-url="https://sub.example.com/clash/e3b0c44298fc1c14"
Expand Down
4 changes: 2 additions & 2 deletions public/live/terminal/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1230,8 +1230,8 @@
data-download-byte="34359738368"
data-upload-byte="6871947674"
data-total-byte="107374182400"
data-expire="1794172383"
data-last-online="1790284293164"
data-expire="1794346415"
data-last-online="1790458325780"
data-sub-url="https://sub.example.com/sub/e3b0c44298fc1c14"
data-sub-json-url="https://sub.example.com/json/e3b0c44298fc1c14"
data-sub-clash-url="https://sub.example.com/clash/e3b0c44298fc1c14"
Expand Down
4 changes: 2 additions & 2 deletions public/live/terminalnova/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1388,8 +1388,8 @@
data-download-byte="34359738368"
data-upload-byte="6871947674"
data-total-byte="107374182400"
data-expire="1794172387"
data-last-online="1790284297111"
data-expire="1794346417"
data-last-online="1790458327938"
data-sub-url="https://sub.example.com/sub/e3b0c44298fc1c14"
data-sub-json-url="https://sub.example.com/json/e3b0c44298fc1c14"
data-sub-clash-url="https://sub.example.com/clash/e3b0c44298fc1c14"
Expand Down
Binary file added public/previews/meter-desktop.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/previews/meter-mobile.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/previews/notebook-desktop.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/previews/notebook-mobile.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 3 additions & 2 deletions scripts/check-site.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,15 @@

import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
import { dirname, join, relative, resolve } from "node:path";
import { fileURLToPath } from "node:url";
import { fileURLToPath, pathToFileURL } from "node:url";

const ROOT = resolve(dirname(fileURLToPath(import.meta.url)), "..");
const BASE = "/Web-Row-Template";
const problems = [];
const fail = (msg) => problems.push(msg);

const { ENTRIES } = await import(join(ROOT, "src/data/errors.ts"));
// A file URL, not a bare path: on Windows import() reads "D:" as a URL scheme.
const { ENTRIES } = await import(pathToFileURL(join(ROOT, "src/data/errors.ts")).href);
const messages = JSON.parse(readFileSync(join(ROOT, "src/data/installer-messages.json"), "utf8")).messages;
const catalogue = JSON.parse(readFileSync(join(ROOT, "src/data/templates.json"), "utf8"));

Expand Down
Loading
Loading