Move to Deno+Bunny.net, add a way to test webring locally.

This commit is contained in:
DS 2025-02-23 23:47:07 -08:00
parent 9f66f0b37b
commit 8670aa3412
33 changed files with 599 additions and 3360 deletions

View file

@ -1,15 +1,19 @@
import { WebringData, WebringEntry } from './webring';
import { readFileSync, writeFileSync } from 'node:fs';
import { join } from 'node:path';
import { WebringData, WebringEntry } from './webring.ts';
import { join } from '@std/path';
function generateEntryHTML(entry: WebringEntry) {
return `<div><a href="${entry.url}">${entry.title}</a><span>by ${entry.author}</span></div>`;
}
let index = readFileSync(
join(import.meta.dirname, '../templates/index.html'),
'utf8'
);
const renderedEntries = WebringData.map(generateEntryHTML).join('\n');
index = index.replace('{{WEBRING_ENTRIES}}', renderedEntries);
writeFileSync(join(import.meta.dirname, '../public/index.html'), index);
export function generateIndex() {
const decoder = new TextDecoder('utf-8');
let index = decoder.decode(
Deno.readFileSync(
join(import.meta.dirname ?? '', '../templates/index.html')
)
);
const renderedEntries = WebringData.map(generateEntryHTML).join('\n');
index = index.replace('{{WEBRING_ENTRIES}}', renderedEntries);
return index;
}