19 lines
606 B
TypeScript
19 lines
606 B
TypeScript
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>`;
|
|
}
|
|
|
|
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;
|
|
}
|