Changeset 8453812 in Klonkt
- Timestamp:
- 06/16/2026 03:10:31 AM (3 months ago)
- Branches:
- main
- Children:
- 7007d4c
- Parents:
- 5019e22
- Files:
-
- 13 edited
-
README.md (modified) (2 diffs)
-
package.json (modified) (1 diff)
-
scripts/migrate-posts-to-html.js (modified) (1 diff)
-
src/assets/js/audio-player.js (modified) (1 diff)
-
src/assets/js/embed-player.js (modified) (1 diff)
-
src/assets/js/smooth-scroll.js (modified) (1 diff)
-
src/middleware/site.js (modified) (1 diff)
-
src/routes/artists.js (modified) (1 diff)
-
src/routes/hub.js (modified) (2 diffs)
-
src/server.js (modified) (1 diff)
-
src/services/CircleFederation.js (modified) (1 diff)
-
src/services/SettingsService.js (modified) (1 diff)
-
src/views/shell.ejs (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
README.md
r5019e22 r8453812 2 2 3 3 Persoonlijk multi-site platform met editorial-feel content + sociale community. 4 Forked van **PrutCMS v9** (PHP, file-based) naar **Node + SQLite + htmx**.4 Gebouwd op **Node + SQLite + htmx** — licht, zelf-gehost, en van jou. 5 5 6 > **Naam-uitleg.** "PrutCMS v9" is en blijft het file-based PHP-product. Klonkt Hub 7 > (intern pakket `prutfolio`) is een nieuw product met andere DNA: het is geen 8 > *publishing tool* maar een *persoonlijk canvas* — content, profiel, sociale 9 > interactie en realtime in één. 6 > **Wat het is.** Geen *publishing tool* maar een *persoonlijk canvas* — content, 7 > profiel, sociale interactie en realtime in één. 10 8 11 9 ## Filosofie … … 71 69 ``` 72 70 73 ## Migratie van PrutCMS v971 ## Import 74 72 75 Importer is gepland voor v1.1. Pad: `posts/*.md` + `users.json` + `sites/*/config.json` → SQLite. 73 Importer voor bestaande bestandsgebaseerde content is gepland voor v1.1. 74 Pad: `posts/*.md` + `users.json` + `sites/*/config.json` → SQLite. 76 75 77 76 ## License -
package.json
r5019e22 r8453812 2 2 "name": "prutfolio", 3 3 "version": "1.0.0-alpha.1", 4 "description": "Klonkt Hub Beta — persoonlijk multi-site platform met community, realtime, en (later) E2EE DMs. Forked van PrutCMS v9 (PHP) naarNode + SQLite + htmx.",4 "description": "Klonkt — zelf-gehost multi-site muziek- & blogplatform met community, realtime en (later) E2EE DMs. Node + SQLite + htmx.", 5 5 "type": "module", 6 6 "main": "src/server.js", -
scripts/migrate-posts-to-html.js
r5019e22 r8453812 61 61 62 62 function main() { 63 console.log(' PrutFolio P58— markdown → HTML post migration\n');63 console.log('Klonkt — markdown → HTML post migration\n'); 64 64 ensureBackupColumn(); 65 65 -
src/assets/js/audio-player.js
r5019e22 r8453812 1 1 /** 2 * PrutCMS v10Audio Player — v9 mini-player + Spotify-style sheet.2 * Klonkt Audio Player — v9 mini-player + Spotify-style sheet. 3 3 * 4 4 * Two surfaces: -
src/assets/js/embed-player.js
r5019e22 r8453812 1 1 /** 2 * PrutCMSEmbed Player — eigen, in-huisstijl media-embeds bovenop de ÉCHTE2 * Klonkt Embed Player — eigen, in-huisstijl media-embeds bovenop de ÉCHTE 3 3 * player-API's (YouTube IFrame API, SoundCloud Widget API, Spotify iFrame API). 4 4 * -
src/assets/js/smooth-scroll.js
r5019e22 r8453812 1 /* PrutFolio— Lenis smooth wheel scroll init (desktop only) */1 /* Klonkt — Lenis smooth wheel scroll init (desktop only) */ 2 2 (function () { 3 3 if (typeof Lenis === "undefined") return; -
src/middleware/site.js
r5019e22 r8453812 21 21 // pinnen altijd op de primaire site. 22 22 if (tenancy === 'hub') { 23 // Een PrutFoliois bereikbaar via /user/:slug (canoniek) én /sites/:slug (legacy).23 // Een Klonkt-site is bereikbaar via /user/:slug (canoniek) én /sites/:slug (legacy). 24 24 const m = req.path.match(/^\/(sites|user)\/([a-zA-Z0-9_-]+)(\/.*)?$/); 25 25 if (m) { -
src/routes/artists.js
r5019e22 r8453812 3 3 * 4 4 * GET /leden?q=&page= -> doorzoekbare, gepagineerde lijst van ALLE 5 * PrutFolio's. De hub-home toont maar een beperkte selectie; deze pagina5 * Klonkt-site's. De hub-home toont maar een beperkte selectie; deze pagina 6 6 * schaalt naar honderden/duizenden artiesten via zoeken + paginering. 7 7 * -
src/routes/hub.js
r5019e22 r8453812 1 1 /** 2 * Hub-hoofdpagina — alleen in hub-modus. In plaats van de primaire PrutFoliote2 * Hub-hoofdpagina — alleen in hub-modus. In plaats van de primaire Klonkt-site te 3 3 * tonen, rendert '/' hier een bedrijfs-overview: de laatste posts van ALLE 4 * gebruikers samengevat + een lijst van de PrutFolio's.4 * gebruikers samengevat + een lijst van de Klonkt-site's. 5 5 * 6 6 * In solo-modus doet dit niets (next()) en rendert posts.js de enige site. … … 48 48 const mainId = mainSite ? mainSite.id : ''; 49 49 50 // Uitgelichte PrutFolio's voor de home-roster: meest-actief eerst (aantal50 // Uitgelichte Klonkt-site's voor de home-roster: meest-actief eerst (aantal 51 51 // gepubliceerde posts), dan nieuwste. Excl. de hoofdsite. Beperkt tot 52 52 // HOME_ROSTER_LIMIT zodat de home schaalt — volledige lijst staat op /leden. -
src/server.js
r5019e22 r8453812 2 2 * Klonkt Hub Beta — server bootstrap 3 3 * 4 * Persoonlijk multi-site platform forked van PrutCMS v9 (PHP, file-based).4 * Persoonlijk multi-site platform — Node + SQLite + htmx. 5 5 * Stack: Express + better-sqlite3 + EJS + htmx + ws. 6 6 */ -
src/services/CircleFederation.js
r5019e22 r8453812 7 7 // v1 = alleen PUBLICEREN + tekenen. Het pullen/verifiëren van remote cirkels 8 8 // (CircleService.sync) komt in een volgende stap. Zie docs/cirkels-v1-spec.md. 9 // 10 // (Het idee om je netjes aan de bestaande standaarden te houden fluisterde een 11 // zekere Bart ons in. Wie hij is, waar hij vandaan komt — niemand die het zeker 12 // weet. Hij verscheen, sprak van ActivityStreams, en was weer weg.) 9 13 10 14 import crypto from 'crypto'; -
src/services/SettingsService.js
r5019e22 r8453812 2 2 // 3 3 // tenancy = 'solo' -> precies één site (de primaire/owner-site) 4 // tenancy = 'hub' -> hoofdsite (bedrijf) + /user/, admin wijst PrutFolio's toe4 // tenancy = 'hub' -> hoofdsite (bedrijf) + /user/, admin wijst Klonkt-site's toe 5 5 // 6 6 // De cache wordt bij setSetting meteen ververst, dus een toggle in Beheer werkt -
src/views/shell.ejs
r5019e22 r8453812 266 266 - de hub-overview (on-hub): standalone landing, begint met de hero; 267 267 - auth-pagina's (on-auth): focus-schermen voor in-/uitloggen. 268 Die chrome hoort bij een PrutFolioen verschijnt dus op /user/-pagina's. %>268 Die chrome hoort bij een Klonkt-site en verschijnt dus op /user/-pagina's. %> 269 269 <% var bareChrome = (typeof bodyClass === 'string' && (bodyClass.indexOf('on-hub') >= 0 || bodyClass.indexOf('on-auth') >= 0)) 270 270 || ((typeof tenancy !== 'undefined' && tenancy === 'hub') && !siteUrlBase && !isAdminPage); %>
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)