Metadata-Enriched-RSS-Linker-Node
An example merln project.
- typesafe code
- schema validation
- FOSS license audit
- GDPR compliant
- automation
merln is maintained by me. Originally started as a simple fork of an open source project by SST. They are innovating across the board. Be sure to check them out!
You can access this data through an API.
curl https://natepapes.com/api.jsonThere's a GitHub Action that will automatically validate your submission against our schema to ensure:
- All required fields are present
- Data types are correct
- Values are within acceptable ranges
- TOML syntax is valid
Models must conform to the following schema, as defined in packages/core/src/schemas.ts.
Provider Schema:
export const Provider = z
.object({
id: z.string().toLowerCase(),
name: z.string(),
profile: z.string().url("Must be a valid URL"),
rss: z.string().url("Must be a valid URL"),
contents: z.record(Content).optional(),
})
.strict();Content Schema:
export const Content = z
.object({
id: z.string().toLowerCase(),
title: z.string(),
description: z.string().optional(),
url: z.string().url("Must be a valid URL"),
created_at: z.string(),
estimated_time_minutes: z.number().int().positive().optional(),
tags: z.array(z.string()).optional(),
})
.strict();See existing providers in the providers/ directory for reference:
providers/atomicobject/- spin postsproviders/github/- gist postsproviders/youtube/- youtube posts
Make sure you have Bun installed.
bun run devAnd it'll open the frontend at http://localhost:3000