Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork19
Framework7 Feeds plugin brings easy RSS feeds integration into Framework7 app.
License
framework7io/framework7-plugin-feeds
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Framework7 Feeds plugin brings easy RSS feeds integration into Framework7 app.
Plugin 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.
Just grab plugin files fromdist/ folder or using npm:
npm install framework7-plugin-feedsAnd link them to your app right AFTER Framework7's scripts and styles:
<link rel="stylesheet" href="path/to/framework7.min.css"><link rel="stylesheet" href="path/to/framework7.feeds.css">...<script src="path/to/framework7.min.js"></script><script src="path/to/framework7.feeds.js"></script>After you included plugin script file, you need to install plugin before you init app:
// install plugin to Framework7Framework7.use(Framework7Feeds);// init appvarapp=newFramework7({ ...})
This plugin comes with ready to use ES module:
importFramework7from'framework7';importFramework7Feedsfrom'framework7-plugin-feeds';// install pluginFramework7.use(Framework7Feeds);// init appvarapp=newFramework7({ ...})
Plugin extends initiliazedapp instance with new methods:
app.feeds.create(parameters)- init Feeds. This method returns initialized Feeds instance.app.feeds.get(feedsEl)- get Feeds instance by HTML element. Method returns initialized Feeds instance.app.feeds.destroy(feedsEl)- destroy Feeds instance
| Parameter | Type | Default | Description |
|---|---|---|---|
| el | string HTMLElement | Target List Block element. In case of string - CSS selector of list block element where to put parsed feeds list. | |
| feedUrl | string | URL of RSS feed to parse and load | |
| openIn | string | page | Could be `'page'` or `'popup'`. Defines how to open generated page of single feed item |
| formatDate | function (date) | Function to format RSS item date, this function should return string with formatted date | |
| virtualList | object boolean | false | Object withVirtual List parameters. If specified, then RSS feed will be loaded as Virtual List |
| customItemFields | array | [] | Array 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. |
| renderVirtualListItem | function(item, index) | Function to render virtual list item in case of enabled virtual list. Must return item HTML string | |
| renderList | function(data) | Function to render feeds list. Must return list HTML string | |
| renderItemPage | function(item) | Function to render single feeds item page. Must return page HTML string | |
| renderItemPopup | function(item) | Function to render single feeds item popup. Must return popup HTML string | |
| routableModals | boolean | true | Will 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 |
| url | string | feed/ | Feeds item URL that will be set as a current route url |
| view | object | Link to initialized View instance which is required for Feeds to work. By default, if not specified, it will be opened in parent View | |
| pageBackLinkText | string | Back | Feeds item page back link text |
| popupCloseLinkText | string | Close | Feeds item popup close link text |
Usage example with manual initialization:
<divclass="list my-feed"></div>
varfeed=app.feeds.create({el:'.my-feed',feedUrl:'http://path-to-rss.com/rss.xml',openIn:'popup'});
If you need minimal parser setup you may use automatic initialization without JavaScript at all. In this case you need to add additionalfeeds-init class to feeds container and specify all parameters from table above usingdata- attributes, for example:
<div data-feed-url="http://path-to-rss.com/rss.xml" data-open-in="popup"></div>| Event | Target | Arguments | Description |
|---|---|---|---|
| ajaxStart | feeds | (feeds) | Event will be triggered when right before XHR request to specified feed url |
| feedsAjaxStart | app | (feeds) | Event will be triggered when right before XHR request to specified feed url |
| ajaxComplete | feeds | (feeds, response) | Event will be triggered when when XHR request completed |
| feedsAjaxComplete | app | (feeds) | Event will be triggered when when XHR request completed |
| open | feeds | (feeds) | Event will be triggered when Feeds item starts its opening animation (page transiton on popup open transition) |
| feedsOpen | app | (feeds) | Event will be triggered when Feeds item starts its opening animation (page transiton on popup open transition) |
| opened | feeds | (feeds) | Event will be triggered after Feeds item completes its opening animation (page transiton on popup open transition) |
| feedsOpened | app | (feeds) | Event will be triggered after Feeds item completes its opening animation (page transiton on popup open transition) |
| close | feeds | (feeds) | Event will be triggered when Feeds item starts its closing animation (page transiton on popup open transition) |
| feedsClose | app | (feeds) | Event will be triggered when Feeds item starts its closing animation (page transiton on popup open transition) |
| closed | feeds | (feeds) | Event will be triggered after Feeds item completes its closing animation (page transiton on popup open transition) |
| feedsClosed | app | (feeds) | Event will be triggered after Feeds item completes its closing animation (page transiton on popup open transition) |
Feeds plugin fully compatible with Pull To Refresh component, and will automatically refresh feed on pull to refresh. No additional actions or code are required.
Plugin comes with demo example to see how it works and looks. To make demo works you need to run in terminal:
$ npm run prodAll changes should be done only insrc/ folder. This project usesgulp to build a distributable version.
First you need to install all dependencies:
$ npm installThen to build plugin's files for testing run:
$ npm run build:devIf you need a local server while you developing you can run:
$ gulp serveror
$ npm run devAnd working demo will be available athttp://localhost:3000/demo/
About
Framework7 Feeds plugin brings easy RSS feeds integration into Framework7 app.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors2
Uh oh!
There was an error while loading.Please reload this page.
