1
0
mirror of synced 2025-12-21 19:06:49 -05:00
Files
docs/lib/changelog.js
jmarlena 1fc4c3f68b Article restructuring for Sponsors landing page (#18772)
* Move article from github directory as a top-level product

* Update article titles

* Remove old -ing article titles

* Use older format for this PR

* Finish updating links for retitled articles

* Remove sponsors topic

* Add sponsors to index.md

* Create folder for map topic for sponsors

* Add integrating folder/category with super basic graphql article

* Add get started category/folder

* Update index.md

* Add articles to category folders and update all the links and check it out locally 🙏

* Fix space

* Fix set of broken links

* Update link in resuable

* Add the quickstart

* Add USD

* Add matching donations caveat

* fix ci failures

* Bringing back `-ing` to Sponsors titles, categories, & links (#18817)

* Bringing back -ing

* The one that got away

* Apply @ethanpalm's input

Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>

Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>

* Apply product input

* Apply suggestions from code review

Co-authored-by: Emily Gould <4822039+emilyistoofunky@users.noreply.github.com>

* Apply @emilyistoofunky's input

* Sponsors landing page design (#18774)

* Add sponsors to index.md as a top-level product

* Revamp the GitHub Sponsors landing page with article links

* remove merge tags

* add community section

* add sponsor descriptions

* swap repo for user

* remove prefix tag

* lint

* remove topic fix landing page

* Tweak articles on landing page

* Drop "account"

* Add quickstart

* Bigger, brighter, and shorter intro

* Possibly too long of an intro?

* fix quickstart link

* add guides page

* fix error for mismatch between title and filename

* use link over guid

* remove HTML from layout file (aligns to #18811)

* use variable for section title

* Add intro

* Remove beta

* Apply suggestions from code review

Co-authored-by: Emily Gould <4822039+emilyistoofunky@users.noreply.github.com>

* Apply suggestions from code review

* Integrate article changes and remove old TOC

* Fixing the commented out text to match other landing pages 👓

* Apply suggestions from code review

Co-authored-by: Emily Gould <4822039+emilyistoofunky@users.noreply.github.com>

* Switch up order of sidebar categories

* Add new text to landing page button

* Add topics and types

* Add the underscore

* Add some more topics

* fix `type:`

* Fix topics

* plural ftw

* hide learning paths when not defined

* lint

* Add quickstart to guides page

* remove unused sidebar links

* hide subsection title when learning tracks are not present

* Apply @emilyistoofunky's topics input

* Remove duplicated topics

* Events ftw

* typo

* Remove obsolete topics for now

* add some temporary duplicate topics

* Resolve Linter error

Co-authored-by: Rachael Sewell <rachmari@github.com>
Co-authored-by: Emily Gould <4822039+emilyistoofunky@users.noreply.github.com>

Co-authored-by: Rachael Sewell <rachmari@github.com>
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>
Co-authored-by: Kevin Heis <heiskr@users.noreply.github.com>
Co-authored-by: Emily Gould <4822039+emilyistoofunky@users.noreply.github.com>
2021-04-21 11:48:19 -07:00

43 lines
1.1 KiB
JavaScript

const Parser = require('rss-parser')
async function getRssFeed (url) {
const parser = new Parser({ timeout: 5000 })
const feedUrl = `${url}/feed`
let feed
try {
feed = await parser.parseURL(feedUrl)
} catch (err) {
console.error(`cannot get ${feedUrl}: ${err.message}`)
return
}
return feed
}
async function getChangelogItems (prefix, feed) {
if (!feed || !feed.items) {
console.log(feed)
console.error('feed is not valid or has no items')
return
}
// only show the first 3 posts
const changelog = feed.items
.slice(0, 3)
.map(item => {
// remove the prefix if it exists (Ex: 'GitHub Actions: '), where the colon and expected whitespace should be hardcoded.
const title = prefix ? item.title.replace(new RegExp(`^${prefix}`), '') : item.title
return {
// capitalize the first letter of the title
title: title.trim().charAt(0).toUpperCase() + title.slice(1),
date: item.isoDate,
href: item.link
}
})
return changelog
}
module.exports = { getRssFeed, getChangelogItems }