Changeset eb5f978 in Klonkt for src/routes
- Timestamp:
- 06/27/2026 01:58:39 PM (2 months ago)
- Branches:
- main
- Children:
- 98fe58a
- Parents:
- 0960c1d
- File:
-
- 1 edited
-
src/routes/changelog.js (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/routes/changelog.js
r0960c1d reb5f978 2 2 * Public changelog / release page. 3 3 * 4 * GET /changelog -> renders CHANGELOG.md (the source of truth for releases). 4 * GET /changelog -> renders the changelog in the visitor's language: 5 * CHANGELOG.<lang>.md if a translation exists, else CHANGELOG.md (English base). 5 6 */ 6 7 … … 11 12 import { renderPage } from '../middleware/render.js'; 12 13 import { MarkdownService } from '../services/MarkdownService.js'; 14 import { resolveLang, t } from '../services/i18n.js'; 15 import { getSetting } from '../services/SettingsService.js'; 13 16 14 17 const router = express.Router(); 15 18 const __dirname = path.dirname(fileURLToPath(import.meta.url)); 16 const CHANGELOG_PATH = path.join(__dirname, '..', '..', 'CHANGELOG.md');19 const ROOT = path.join(__dirname, '..', '..'); 17 20 18 21 router.get('/changelog', (req, res) => { 19 let html; 20 try { 21 html = MarkdownService.render(fs.readFileSync(CHANGELOG_PATH, 'utf8')); 22 } catch { 23 html = '<p>Geen wijzigingenoverzicht beschikbaar.</p>'; 22 const lang = resolveLang(req, { 23 userLang: req.session && req.session.user && req.session.user.lang, 24 defaultLang: getSetting('default_lang'), 25 }); 26 // Visitor's language if a translation exists, else the English base. 27 const files = [path.join(ROOT, `CHANGELOG.${lang}.md`), path.join(ROOT, 'CHANGELOG.md')]; 28 let html = ''; 29 for (const f of files) { 30 try { html = MarkdownService.render(fs.readFileSync(f, 'utf8')); break; } catch { /* try next */ } 24 31 } 32 if (!html) html = `<p>${t(lang, 'changelog.empty')}</p>`; 25 33 renderPage(req, res, 'pages/changelog', { 26 pageTitle: 'Wijzigingen',34 pageTitle: t(lang, 'changelog.title'), 27 35 bodyClass: 'on-changelog', 28 36 changelogHtml: html,
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)