diff --git a/.gitignore b/.gitignore index 9a267f6a..d28d273b 100644 --- a/.gitignore +++ b/.gitignore @@ -227,3 +227,8 @@ pip-log.txt /cache /whitelist.txt DEBUG + +###################### +## VisualStudioCode ## +###################### +.vscode/* \ No newline at end of file diff --git a/CREATE_BRIDGE.md b/CREATE_BRIDGE.md deleted file mode 100644 index 9948050c..00000000 --- a/CREATE_BRIDGE.md +++ /dev/null @@ -1,105 +0,0 @@ -# Howto create a bridge - -A bridge is an interface that allows rss-bridge to create a RSS feed from a website. -The bridge is a PHP file, located in the `bridges/` folder. - -##Specifications - -A rss bridge must extend the `BridgeAbstract` class, and implement the following functions : - -* The `loadMetadatas` function, described below, -* The `getCacheDuration` function, describing the time during which rss-bridge will output cached values instead of re-generating a RSS feed. -* The `collectData` function, also described below. - -##The `collectData` function - -This function takes as a parameter an array called `$param`, that is automatically filled with values from the user, according to the values setted in `loadMetadatas`. -This function is the place where all the website scrapping and the RSS feed generation process will go. - -The RSS elements are stored in the class variable `items[]`. - -Every RSS element is an instance of the `Item` class. - -##The `loadMetadatas` function - -This function is the one used by rss-bridge core to determine the name, maintainer name, website, last updated date... of the bridge, and the user parameters. - -### Basic metadatas. - -The basic metadatas are the following : - -```PHP -$this->maintainer -$this->name -$this->uri -$this->description -$this->update -``` - -The default values are the following : - -```PHP -$this->name = "Unnamed bridge"; -$this->uri = ""; -$this->description = 'No description provided'; -$this->maintainer = 'No maintainer'; -``` - -### Parameters - -Parameters use a JSON-like format, which is parsed and transformed to HTML `
` by rss-bridge. - -These datas goes into the `$this->parameters` array, which is not mandatory if your bridge doesn't take any parameter. - -Every possible usage of a bridge is an array element. - -The array can be a key-based array, but it is not necessary. The following syntaxes are hereby correct : - -```PHP -$this->parameters[] = ... -$this->parameters['First usage of my bridge'] = ... -``` -It is worth mentionning that you can also define a set of parameters that will be applied to every possible utilisation of your bridge. -To do this, just create a parameter array with the `global` key. - -### Format specifications - -Every `$this->parameters` element is a JSON array (`[ ... ]`) containing every input. - -It needs the following elements to be setted : -* name, the input name as displayed to the user -* identifier, which will be the key in the `$param` array for the corresponding data. - -Hence, the most basic parameter definition is the following: - -```PHP - $this->parameters = - '[ - { - "name" : "Username", - "identifier" : "u" - - } - ]'; -``` - -####Optional parameters - -Here is a list of optional parameters for the input : - -Parameter Name | Parameter values | Description ----------------|------------------|------------ -type|text, number, list, checkbox| Type of the input, default is text -required| true | Set this if you want your attribute to be required -values| [ {"name" : option1Name, "value" : "option1Value"}, ...] | Values list, required with the 'list' type -title| text | Will be shown as tooltip when mouse-hovering over the input - -#### Guidelines - - * scripts (eg. Javascript) must be stripped out. Make good use of `strip_tags()` and `preg_replace()` - * bridge must present data within 8 seconds (adjust iterators accordingly) - * cache timeout must be fine-tuned so that each refresh can provide 1 or 2 new elements on busy periods - * `