{"id":23891607,"url":"https://github.com/framework7io/framework7-plugin-feeds","last_synced_at":"2025-12-12T03:46:05.884Z","repository":{"id":24325294,"uuid":"27722117","full_name":"framework7io/framework7-plugin-feeds","owner":"framework7io","description":"Framework7 Feeds plugin brings easy RSS feeds integration into Framework7 app.","archived":false,"fork":false,"pushed_at":"2023-03-01T16:27:20.000Z","size":1734,"stargazers_count":33,"open_issues_count":7,"forks_count":19,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-10-16T09:18:15.456Z","etag":null,"topics":["app-development","cordova","framework7","mobile","phonegap","plugin"],"latest_commit_sha":null,"homepage":"http://framework7.io/plugins/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/framework7io.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2014-12-08T15:49:29.000Z","updated_at":"2023-12-07T06:13:13.000Z","dependencies_parsed_at":"2023-07-13T15:15:07.909Z","dependency_job_id":null,"html_url":"https://github.com/framework7io/framework7-plugin-feeds","commit_stats":{"total_commits":21,"total_committers":2,"mean_commits":10.5,"dds":0.04761904761904767,"last_synced_commit":"05d70632ba18415dfb592772e2eefd9ecbe5fd76"},"previous_names":["nolimits4web/framework7-feeds"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/framework7io%2Fframework7-plugin-feeds","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/framework7io%2Fframework7-plugin-feeds/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/framework7io%2Fframework7-plugin-feeds/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/framework7io%2Fframework7-plugin-feeds/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/framework7io","download_url":"https://codeload.github.com/framework7io/framework7-plugin-feeds/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248208605,"owners_count":21065203,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["app-development","cordova","framework7","mobile","phonegap","plugin"],"created_at":"2025-01-04T12:59:47.249Z","updated_at":"2025-12-12T03:46:05.855Z","avatar_url":"https://github.com/framework7io.png","language":"JavaScript","readme":"\u003ca href=\"https://www.patreon.com/vladimirkharlampidi\"\u003e\u003cimg src=\"https://cdn.framework7.io/i/support-badge.png\" height=\"20\"\u003e\u003c/a\u003e\n\n# Framework7 Feeds Plugin\n\nFramework7 Feeds plugin brings easy RSS feeds integration into Framework7 app.\n\nPlugin comes with easy and powerful JS API to integrate and customize RSS feeds. But in most cases you will not need to use JavaScript at all.\n\n## Installation\n\nJust grab plugin files from `dist/` folder or using npm:\n\n```\nnpm install framework7-plugin-feeds\n```\n\nAnd link them to your app right AFTER Framework7's scripts and styles:\n\n```\n\u003clink rel=\"stylesheet\" href=\"path/to/framework7.min.css\"\u003e\n\u003clink rel=\"stylesheet\" href=\"path/to/framework7.feeds.css\"\u003e\n...\n\u003cscript src=\"path/to/framework7.min.js\"\u003e\u003c/script\u003e\n\u003cscript src=\"path/to/framework7.feeds.js\"\u003e\u003c/script\u003e\n```\n\n## Usage\n\n### Install \u0026 Enable Plugin\n\nAfter you included plugin script file, you need to install plugin before you init app:\n\n```js\n// install plugin to Framework7\nFramework7.use(Framework7Feeds);\n\n// init app\nvar app = new Framework7({\n  ...\n})\n```\n\n### ES Module\n\nThis plugin comes with ready to use ES module:\n\n```js\nimport Framework7 from 'framework7';\nimport Framework7Feeds from 'framework7-plugin-feeds';\n\n// install plugin\nFramework7.use(Framework7Feeds);\n\n// init app\nvar app = new Framework7({\n  ...\n})\n```\n\n### API\n\nPlugin extends initiliazed `app` instance with new methods:\n\n  * `app.feeds.create(parameters)` - init Feeds. This method returns initialized Feeds instance.\n  * `app.feeds.get(feedsEl)` - get Feeds instance by HTML element. Method returns initialized Feeds instance.\n  * `app.feeds.destroy(feedsEl)` - destroy Feeds instance\n\n### Feeds Parameters\n\n\u003ctable\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth\u003eParameter\u003c/th\u003e\n      \u003cth\u003eType\u003c/th\u003e\n      \u003cth\u003eDefault\u003c/th\u003e\n      \u003cth\u003eDescription\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003cb\u003eel\u003c/b\u003e\u003c/td\u003e\n      \u003ctd\u003estring\u003cbr\u003eHTMLElement\u003c/td\u003e\n      \u003ctd\u003e\u003c/td\u003e\n      \u003ctd\u003eTarget List Block element. In case of string - CSS selector of list block element where to put parsed feeds list.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003cb\u003efeedUrl\u003c/b\u003e\u003c/td\u003e\n      \u003ctd\u003estring\u003c/td\u003e\n      \u003ctd\u003e\u003c/td\u003e\n      \u003ctd\u003eURL of RSS feed to parse and load\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003cb\u003eopenIn\u003c/b\u003e\u003c/td\u003e\n      \u003ctd\u003estring\u003c/td\u003e\n      \u003ctd\u003epage\u003c/td\u003e\n      \u003ctd\u003eCould be `'page'` or `'popup'`. Defines how to open generated page of single feed item\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003cb\u003eformatDate\u003c/b\u003e\u003c/td\u003e\n      \u003ctd\u003efunction (date)\u003c/td\u003e\n      \u003ctd\u003e\u003c/td\u003e\n      \u003ctd\u003eFunction to format RSS item date, this function should return string with formatted date\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003cb\u003evirtualList\u003c/b\u003e\u003c/td\u003e\n      \u003ctd\u003eobject\u003cbr\u003eboolean\u003c/td\u003e\n      \u003ctd\u003efalse\u003c/td\u003e\n      \u003ctd\u003eObject with \u003ca href=\"http://framework7.io/docs/virtual-list.html#virtual-list-parameters\"\u003eVirtual List\u003c/a\u003e parameters. If specified, then RSS feed will be loaded as Virtual List\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003cb\u003ecustomItemFields\u003c/b\u003e\u003c/td\u003e\n      \u003ctd\u003earray\u003c/td\u003e\n      \u003ctd\u003e[]\u003c/td\u003e\n      \u003ctd\u003eArray with additional item fields (xml tags) that also should be parsed from RSS, for example `['content:encoded', 'author']`. Such custom RSS tags with colon (:) will be parsed and available in template without colon, for example, the value of `content:encoded` tag will be available in templates as `contentencoded` property.\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003cb\u003erenderVirtualListItem\u003c/b\u003e\u003c/td\u003e\n      \u003ctd\u003efunction(item, index)\u003c/td\u003e\n      \u003ctd\u003e\u003c/td\u003e\n      \u003ctd\u003eFunction to render virtual list item in case of enabled virtual list. Must return item HTML string\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003cb\u003erenderList\u003c/b\u003e\u003c/td\u003e\n      \u003ctd\u003efunction(data)\u003c/td\u003e\n      \u003ctd\u003e\u003c/td\u003e\n      \u003ctd\u003eFunction to render feeds list. Must return list HTML string\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003cb\u003erenderItemPage\u003c/b\u003e\u003c/td\u003e\n      \u003ctd\u003efunction(item)\u003c/td\u003e\n      \u003ctd\u003e\u003c/td\u003e\n      \u003ctd\u003eFunction to render single feeds item page. Must return page HTML string\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003cb\u003erenderItemPopup\u003c/b\u003e\u003c/td\u003e\n      \u003ctd\u003efunction(item)\u003c/td\u003e\n      \u003ctd\u003e\u003c/td\u003e\n      \u003ctd\u003eFunction to render single feeds item popup. Must return popup HTML string\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003cb\u003eroutableModals\u003c/b\u003e\u003c/td\u003e\n      \u003ctd\u003eboolean\u003c/td\u003e\n      \u003ctd\u003etrue\u003c/td\u003e\n      \u003ctd\u003eWill add opened feeds item modal (when `openIn: 'popup'`) to router history which gives ability to close dynamic feeds item page by going back in router history and set current route to the feeds item modal\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003cb\u003eurl\u003c/b\u003e\u003c/td\u003e\n      \u003ctd\u003estring\u003c/td\u003e\n      \u003ctd\u003efeed/\u003c/td\u003e\n      \u003ctd\u003eFeeds item URL that will be set as a current route url\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003cb\u003eview\u003c/b\u003e\u003c/td\u003e\n      \u003ctd\u003eobject\u003c/td\u003e\n      \u003ctd\u003e\u003c/td\u003e\n      \u003ctd\u003eLink to initialized View instance which is required for Feeds to work. By default, if not specified, it will be opened in parent View\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003cb\u003epageBackLinkText\u003c/b\u003e\u003c/td\u003e\n      \u003ctd\u003estring\u003c/td\u003e\n      \u003ctd\u003eBack\u003c/td\u003e\n      \u003ctd\u003eFeeds item page back link text\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\u003cb\u003epopupCloseLinkText\u003c/b\u003e\u003c/td\u003e\n      \u003ctd\u003estring\u003c/td\u003e\n      \u003ctd\u003eClose\u003c/td\u003e\n      \u003ctd\u003eFeeds item popup close link text\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003cb\u003eUsage example with manual initialization:\u003c/b\u003e\n\n```html\n\u003cdiv class=\"list my-feed\"\u003e\u003c/div\u003e\n```\n```js\nvar feed = app.feeds.create({\n  el: '.my-feed',\n  feedUrl: 'http://path-to-rss.com/rss.xml',\n  openIn: 'popup'\n});\n```\n\n### Automatic initialization\n\nIf you need minimal parser setup you may use automatic initialization without JavaScript at all. In this case you need to add additional `feeds-init` class to feeds container and specify all parameters from table above using `data-` attributes, for example:\n\n```\n\u003cdiv class=\"list feeds-init\" data-feed-url=\"http://path-to-rss.com/rss.xml\" data-open-in=\"popup\"\u003e\u003c/div\u003e\n```\n\n### Feeds Events\n\n\u003ctable\u003e\n  \u003cthead\u003e\n    \u003ctr\u003e\n      \u003cth\u003eEvent\u003c/th\u003e\n      \u003cth\u003eTarget\u003c/th\u003e\n      \u003cth\u003eArguments\u003c/th\u003e\n      \u003cth\u003eDescription\u003c/th\u003e\n    \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eajaxStart\u003c/td\u003e\n      \u003ctd\u003efeeds\u003c/td\u003e\n      \u003ctd\u003e(feeds)\u003c/td\u003e\n      \u003ctd\u003eEvent will be triggered when right before XHR request to specified feed url\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003efeedsAjaxStart\u003c/td\u003e\n      \u003ctd\u003eapp\u003c/td\u003e\n      \u003ctd\u003e(feeds)\u003c/td\u003e\n      \u003ctd\u003eEvent will be triggered when right before XHR request to specified feed url\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eajaxComplete\u003c/td\u003e\n      \u003ctd\u003efeeds\u003c/td\u003e\n      \u003ctd\u003e(feeds, response)\u003c/td\u003e\n      \u003ctd\u003eEvent will be triggered when when XHR request completed\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003efeedsAjaxComplete\u003c/td\u003e\n      \u003ctd\u003eapp\u003c/td\u003e\n      \u003ctd\u003e(feeds)\u003c/td\u003e\n      \u003ctd\u003eEvent will be triggered when when XHR request completed\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eopen\u003c/td\u003e\n      \u003ctd\u003efeeds\u003c/td\u003e\n      \u003ctd\u003e(feeds)\u003c/td\u003e\n      \u003ctd\u003eEvent will be triggered when Feeds item starts its opening animation (page transiton on popup open transition)\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003efeedsOpen\u003c/td\u003e\n      \u003ctd\u003eapp\u003c/td\u003e\n      \u003ctd\u003e(feeds)\u003c/td\u003e\n      \u003ctd\u003eEvent will be triggered when Feeds item starts its opening animation (page transiton on popup open transition)\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eopened\u003c/td\u003e\n      \u003ctd\u003efeeds\u003c/td\u003e\n      \u003ctd\u003e(feeds)\u003c/td\u003e\n      \u003ctd\u003eEvent will be triggered after Feeds item completes its opening animation (page transiton on popup open transition)\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003efeedsOpened\u003c/td\u003e\n      \u003ctd\u003eapp\u003c/td\u003e\n      \u003ctd\u003e(feeds)\u003c/td\u003e\n      \u003ctd\u003eEvent will be triggered after Feeds item completes its opening animation (page transiton on popup open transition)\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eclose\u003c/td\u003e\n      \u003ctd\u003efeeds\u003c/td\u003e\n      \u003ctd\u003e(feeds)\u003c/td\u003e\n      \u003ctd\u003eEvent will be triggered when Feeds item starts its closing animation (page transiton on popup open transition)\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003efeedsClose\u003c/td\u003e\n      \u003ctd\u003eapp\u003c/td\u003e\n      \u003ctd\u003e(feeds)\u003c/td\u003e\n      \u003ctd\u003eEvent will be triggered when Feeds item starts its closing animation (page transiton on popup open transition)\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003eclosed\u003c/td\u003e\n      \u003ctd\u003efeeds\u003c/td\u003e\n      \u003ctd\u003e(feeds)\u003c/td\u003e\n      \u003ctd\u003eEvent will be triggered after Feeds item completes its closing animation (page transiton on popup open transition)\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003efeedsClosed\u003c/td\u003e\n      \u003ctd\u003eapp\u003c/td\u003e\n      \u003ctd\u003e(feeds)\u003c/td\u003e\n      \u003ctd\u003eEvent will be triggered after Feeds item completes its closing animation (page transiton on popup open transition)\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n### Usage with Pull To Refresh\n\nFeeds plugin fully compatible with Pull To Refresh component, and will automatically refresh feed on pull to refresh. No additional actions or code are required.\n\n## Demo\n\nPlugin comes with demo example to see how it works and looks. To make demo works you need to run in terminal:\n\n```\n$ npm run prod\n```\n\n\n## Contribute\n\nAll changes should be done only in `src/` folder. This project uses `gulp` to build a distributable version.\n\nFirst you need to install all dependencies:\n\n```\n$ npm install\n```\n\nThen to build plugin's files for testing run:\n```\n$ npm run build:dev\n```\n\nIf you need a local server while you developing you can run:\n\n```\n$ gulp server\n```\nor\n```\n$ npm run dev\n```\n\nAnd working demo will be available at `http://localhost:3000/demo/`\n\n## Live Preview\n\nhttps://framework7io.github.io/framework7-plugin-feeds/\n","funding_links":["https://www.patreon.com/vladimirkharlampidi"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fframework7io%2Fframework7-plugin-feeds","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fframework7io%2Fframework7-plugin-feeds","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fframework7io%2Fframework7-plugin-feeds/lists"}