Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
blocks:app-note:rss-feed [2024-03-14 09:52]
mattias [Installation]
blocks:app-note:rss-feed [2024-03-14 13:07]
mattias [Installation]
Line 6: Line 6:
 ====Installation==== ====Installation====
  
-  * Make sure you have the latest script dependencies from https://github.com/pixilab/blocks-script merged in to the /script directory in the PIXILAB-Blocks-root. +  * Make sure you have the latest script dependencies from https://github.com/pixilab/blocks-script merged in to the /script directory in the PIXILAB-Blocks-root. [[blocks:drivers:tools#install_the_scripts|Instructions here]] 
-  * Enable the script by copy the RSS.ts and RSS.js from the script/feed-archive into script/feed directory.+  * Enable the script by copying the RSS.ts and RSS.js from the script/feed-archive into script/feed directory. 
   * Restart blocks. This will enable the script and the script will write an example configuration file in scripts/files/   * Restart blocks. This will enable the script and the script will write an example configuration file in scripts/files/
   * Rename the example file Rss.config.example.json to Rss.config.json (this file it written when the script is used)   * Rename the example file Rss.config.example.json to Rss.config.json (this file it written when the script is used)
-  * Create a task with a do statement bound the scripts callable: Script.feed.RSS.reInitialize+  * Create a task with a do statement bound the scripts Script.feed.RSS.reInitialize callable.
   * Run the task to restart the script and use the sample settings.    * Run the task to restart the script and use the sample settings. 
   * Download the example block from here: {{ :blocks:app-note:rss:rss_block.zip |}}   * Download the example block from here: {{ :blocks:app-note:rss:rss_block.zip |}}
Line 16: Line 16:
   * Test by open the block in for editing and use the Edit/Show editor preview feature.   * Test by open the block in for editing and use the Edit/Show editor preview feature.
  
-You should expect something like this: +You should expect something like this in the preview
 {{:blocks:app-note:rss:rssblock.png?600|}} {{:blocks:app-note:rss:rssblock.png?600|}}
  
 +:!: Please note, if working with feeds on spots, it is the spot that downloads any images, not the server, hence the spot must be able to access any images. 
  
  
Line 42: Line 43:
 ====Configure the script==== ====Configure the script====
 ===Configuration file=== ===Configuration file===
-This feedscript can use configuration file //Rss.config.json// that is stored in /script/files/, the script generate an exampe file //Rss.config.example.json// that can be renamed and used as a template. The text must be valid JSON format.+This feedscript can use an optional configuration file //Rss.config.json// stored in /script/files/, the script generate an exampe file //Rss.config.example.json// that can be renamed and used as a template. The text must be valid JSON format.
  
 In the example configuration we can see an entry where a preferred image size has been indicated. This setting only works for feeds that contain what's in RSS called a <media:group> containing several <media:content> because such groups can only contain different versions of the same image according to the RSS standard. The script will find the image that has the best matched the wanted size. In the example configuration we can see an entry where a preferred image size has been indicated. This setting only works for feeds that contain what's in RSS called a <media:group> containing several <media:content> because such groups can only contain different versions of the same image according to the RSS standard. The script will find the image that has the best matched the wanted size.
Line 74: Line 75:
  
  
-===Configure with task===+===Configure feeds with tasks===
  
-As an option we can configure feeds in runtime using a callable on the script as in this example:+Feeds can be configured in runtime using a callable on the script as in this example:
  
 {{:blocks:app-note:rss:rsscallable.png?600|}} {{:blocks:app-note:rss:rsscallable.png?600|}}
  
-The options are basically the same but will only be added if a task has been setup to be triggered at startup if in a production setup+The options are basically the same as with the config file method but feeds  will only be added if a config task has been setup to be triggered at startup. 
-If using task to configure feeds one may want to remove the config file.+If using task to configure feeds one may want to remove the config file if present.
  
 ===Reinitialize the script=== ===Reinitialize the script===
  
-The feed script exposes a second callable that merely reset the script, removes any run-time added feeds and read the configure file again. +The feed script exposes a second callable that merely resets the script, removes any run-time added feeds and reads the configure file again if present
  
 ====Styling==== ====Styling====
-In the example block we use a CSS trick to be able to add ellipsis [...] to indicate that we cannot show all text available from the feed. It is a bit tricky to use because one must also limit the text-block manually in the way that it is just capable to show as many lines as specified in the css, else the line with the ellipsis will appear on the correct line but lines can still appear after the ellipsis. +In the example block we use a CSS trick to be able to add ellipsis [...] to indicate that we cannot show the full text available from the feed items description. It is a bit tricky to use because one must also limit the text-block manually in the way that it is just capable to show as many lines as specified in the css rule , else the line with the ellipsis will appear on the correct line but lines can still appear after the ellipsis. 
-The ellipsis css rule:+The ellipsis css rule used here:
 <code> <code>
 .rss .multi-line-ellipsis { .rss .multi-line-ellipsis {
Line 97: Line 98:
 } }
 </code> </code>
 +