diff options
feat: we now use rsstrogen from npm
Diffstat (limited to 'src/lib/vendor/rss/xml.example.md')
| -rw-r--r-- | src/lib/vendor/rss/xml.example.md | 242 |
1 files changed, 0 insertions, 242 deletions
diff --git a/src/lib/vendor/rss/xml.example.md b/src/lib/vendor/rss/xml.example.md deleted file mode 100644 index 591904a..0000000 --- a/src/lib/vendor/rss/xml.example.md +++ /dev/null @@ -1,242 +0,0 @@ -# xml example - -If you like directly working with XML, here's an example of how to for this: - -```ts -const posts = [ - { - title: 'Launching SSH during early boot with mkinitfs', - url: 'https://estrogen.zone/~mem/blog/1768406136-alpine-ssh-early-initfs-disk-decryption/', - blurb: 'Replacing the early init with our own script to launch SSH, killing it in early userspace, and allowing remote disk decryption in the mean time', - author: '7222e800', - guid: 'https://estrogen.zone/~mem/blog/1768406136', - published: new Date('2026-01-14T15:53:57Z').toUTCString() - } -]; -const doc = new XMLDocumentRoot().child( - new XMLDeclaration().version().encoding(), - new XMLRootElement("rss") - .attribute("version", "2.0") - .xmlns("content", "http://purl.org/rss/1.0/modules/content/") - .child( - new XMLElement('channel') - .child( - new XMLElement('title').child(new XMLText('Latest blog posts for 7222e800')), - new XMLElement('link').child(new XMLText('https://estrogen.zone/~mem/blog/')), - new XMLElement('description').child(new XMLText('Some Description')), - new XMLElement('pubDate').child(new XMLText(new Date().toUTCString())), - ...posts.map(post => new XMLElement('item').child( - new XMLElement('title').child(new XMLText(post.title)), - new XMLElement('link').child(new XMLText(post.url)), - new XMLElement('description').child(new XMLText(post.blurb)), - new XMLElement('author').child(new XMLText(post.author)), - new XMLElement('guid').child(new XMLText(post.guid)), - new XMLElement('published').child(new XMLText(post.published)), - )) - ) - ) -); -console.log( - util.inspect( - doc, - { compact: false, colors: true, breakLength: 80, depth: 90 }, true - ) -); -console.log(doc.toString()); -``` - -as of writing, will output this internal state: - -```log -XMLDocumentRoot { - attributes: Map(0) {}, - children: [ - XMLDeclaration { - attributes: Map(2) { - 'version' => '1.0', - 'encoding' => 'UTF-8' - }, - children: [], - tagType: '#declaration' - }, - XMLRootElement { - attributes: Map(2) { - 'version' => '2.0', - 'xmlns:content' => 'http://purl.org/rss/1.0/modules/content/' - }, - children: [ - XMLElement { - attributes: Map(0) {}, - children: [ - XMLElement { - attributes: Map(0) {}, - children: [ - XMLText { - tagType: '#text', - text: 'Latest blog posts for 7222e800' - } - ], - tagType: '#element', - tagName: 'title' - }, - XMLElement { - attributes: Map(0) {}, - children: [ - XMLText { - tagType: '#text', - text: 'https://estrogen.zone/~mem/blog/' - } - ], - tagType: '#element', - tagName: 'link' - }, - XMLElement { - attributes: Map(0) {}, - children: [ - XMLText { - tagType: '#text', - text: 'Some Description' - } - ], - tagType: '#element', - tagName: 'description' - }, - XMLElement { - attributes: Map(0) {}, - children: [ - XMLText { - tagType: '#text', - text: 'Mon, 26 Jan 2026 03:34:31 GMT' - } - ], - tagType: '#element', - tagName: 'pubDate' - }, - XMLElement { - attributes: Map(0) {}, - children: [ - XMLElement { - attributes: Map(0) {}, - children: [ - XMLText { - tagType: '#text', - text: 'Launching SSH during early boot with mkinitfs' - } - ], - tagType: '#element', - tagName: 'title' - }, - XMLElement { - attributes: Map(0) {}, - children: [ - XMLText { - tagType: '#text', - text: 'https://estrogen.zone/~mem/blog/1768406136-alpine-ssh-early-initfs-disk-decryption/' - } - ], - tagType: '#element', - tagName: 'link' - }, - XMLElement { - attributes: Map(0) {}, - children: [ - XMLText { - tagType: '#text', - text: 'Replacing the early init with our own script to launch SSH, killing it in early userspace, and allowing remote disk decryption in the mean time' - } - ], - tagType: '#element', - tagName: 'description' - }, - XMLElement { - attributes: Map(0) {}, - children: [ - XMLText { - tagType: '#text', - text: '7222e800' - } - ], - tagType: '#element', - tagName: 'author' - }, - XMLElement { - attributes: Map(0) {}, - children: [ - XMLText { - tagType: '#text', - text: 'https://estrogen.zone/~mem/blog/1768406136' - } - ], - tagType: '#element', - tagName: 'guid' - }, - XMLElement { - attributes: Map(0) {}, - children: [ - XMLText { - tagType: '#text', - text: 'Wed, 14 Jan 2026 15:53:57 GMT' - } - ], - tagType: '#element', - tagName: 'published' - } - ], - tagType: '#element', - tagName: 'item' - } - ], - tagType: '#element', - tagName: 'channel' - } - ], - tagType: '#element', - tagName: 'rss' - } - ], - tagType: '#document' -} -``` - -and this RSS: - -```xml -<?xml version="1.0" encoding="UTF-8" ?> -<rss version="2.0" - xmlns:content="http://purl.org/rss/1.0/modules/content/"> - <channel> - <title> - Latest blog posts for 7222e800 - </title> - <link> - https://estrogen.zone/~mem/blog/ - </link> - <description> - Some Description - </description> - <pubDate> - Mon, 26 Jan 2026 03:34:31 GMT - </pubDate> - <item> - <title> - Launching SSH during early boot with mkinitfs - </title> - <link> - https://estrogen.zone/~mem/blog/1768406136-alpine-ssh-early-initfs-disk-decryption/ - </link> - <description> - Replacing the early init with our own script to launch SSH, killing it in early userspace, and allowing remote disk decryption in the mean time - </description> - <author> - 7222e800 - </author> - <guid> - https://estrogen.zone/~mem/blog/1768406136 - </guid> - <published> - Wed, 14 Jan 2026 15:53:57 GMT - </published> - </item> - </channel> -</rss> -``` |