A fork of Radicle Explorer to showcase your personal repositories on Radicle with a self-branded web UI.
View a demo of this in my own deployment at https://git.khalidrafi.tech
All project-specific branding and defaults live in config/default.json, under owner:
owner.did: your Radicle DID (used to list your repos)owner.sitename,owner.description,owner.bio: shown in OpenGraph or the UIowner.url: your public site URLowner.avatar: avatar path (eg./khalid.pnginpublic/)owner.repos.perPage: number of repositories to show per page in owner view (homepage)owner.repos.pinned: pinned repo RIDs shown in owner view
The images are under public/images. Replace them accordingly without changing their names.
Prerequisites
- Recent versions of [Node.js][nod] (20.9.0 or higher) and [npm][npm] installed
git clone https://rosa.radicle.xyz/z3wSfGTKhTTx4p4R4dSUFtiWAHp7p.git radicle-explorer-self
cd radicle-explorer-self
npm install
npm startOpen: http://localhost:3000
npm run buildServe the generated build/ directory using any static hosting service.
The explorer is a single-page application (SPA). To ensure that all routes are handled correctly, add a rewrite rule to your web server configuration. For example:
Example (Caddy):
example.com {
rewrite * /index.html
}
The project will generate config/repos.json (name → RID mapping) so you can use URLs like baseURL/repoAliasinstead of baseURL/repoRID.
Generate it:
npm run reposNotes:
config/repos.jsonis generated byscripts/generate-reposat build time and is gitignored.- It fetches repositories for
owner.didfrompreferredSeeds[0]. - When you create a new repository on Radicle, you wouldn't be able to use
baseURL/repoAliasuntil you regenerateconfig/repos.json.
- Copy [
default.json][def] to a new file in the same directory calledlocal.json. - Modify the properties in
local.jsonto suit your setup.
GPLv3 (see LICENSE).