Markdown
Neurowire can render a feed as a human-readable Markdown digest. The serializer lives in packages/core/src/serialize/markdown.ts and is exported as toMarkdown.
| Format key | md |
| Media type | text/markdown; charset=utf-8 |
| Extension | md |
| Function | toMarkdown(feed) |
ts
import { toMarkdown } from '@neurowire/core'
const md = toMarkdown(feed)This is a presentation-oriented digest, meant to be read or pasted into a document. It is not round-trippable like NWF: it carries the list essentials in a friendly layout, not every model field.
Field mapping
Feed header
feed.titlebecomes the top-level heading:# Title.- A metadata line follows, joining the present items with
·:Updated <date>whenfeed.updatedis set (formatted as aYYYY-MM-DDdate).[Home](url)whenfeed.homeis set.[Feed](url)whenfeed.selfis set.
Each entry
### [title](link)heading linking the title toentry.link.- A metadata line (joined by
·) when any of these are present:- The date,
entry.updatedelseentry.published, formattedYYYY-MM-DD. - The authors, joined by
,(names only). - The tags, each wrapped in backticks (
`tag`), space-separated.
- The date,
- The
entry.summaryon its own line when present.
Dates
Dates are sliced to the YYYY-MM-DD day (first 10 characters of the ISO string). An unparseable date string is passed through unchanged rather than dropped.
The feed id, self/home beyond the header links, entry id, and source are not shown in the digest.
Sample output
markdown
# Example Blog
Updated 2026-06-28 · [Home](https://example.com/) · [Feed](https://example.com/feed.xml)
### [Hello, world](https://example.com/posts/hello)
2026-06-27 · Ada Lovelace · `intro`
A first post.
### [Second post](https://example.com/posts/second)
2026-06-26 · Grace Hopper
Another update with no tags.Usage
CLI:
bash
neurowire https://example.com/feed.xml -f mdAPI:
bash
curl 'http://localhost:8787/feed?url=https://example.com/feed.xml&format=md'See Output formats and the CLI guide.