webring/src/render_templates.ts

20 lines
606 B
TypeScript
Raw Normal View History

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;
}