summaryrefslogtreecommitdiffstats
path: root/vendor/fguillot/picofeed/docs/config.markdown
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/fguillot/picofeed/docs/config.markdown')
m---------vendor/fguillot/picofeed0
-rw-r--r--vendor/fguillot/picofeed/docs/config.markdown286
2 files changed, 286 insertions, 0 deletions
diff --git a/vendor/fguillot/picofeed b/vendor/fguillot/picofeed
deleted file mode 160000
-Subproject 0a1d0d3950f7f047dc8fb1d80aa6296e15f306d
diff --git a/vendor/fguillot/picofeed/docs/config.markdown b/vendor/fguillot/picofeed/docs/config.markdown
new file mode 100644
index 000000000..75546abd1
--- /dev/null
+++ b/vendor/fguillot/picofeed/docs/config.markdown
@@ -0,0 +1,286 @@
+Configuration
+=============
+
+How to use the Config object
+----------------------------
+
+To change the default parameters, you have to use the Config class.
+Create a new instance and pass it to the Reader object like that:
+
+```php
+use PicoFeed\Reader\Reader;
+use PicoFeed\Config\Config;
+
+$config = new Config;
+$config->setClientUserAgent('My custom RSS Reader')
+ ->setProxyHostname('127.0.0.1')
+ ->setProxyPort(8118);
+
+$reader = new Reader($config);
+...
+```
+
+HTTP Client parameters
+----------------------
+
+### Connection timeout
+
+- Method name: `setClientTimeout()`
+- Default value: 10 seconds
+- Argument value: number of seconds (integer)
+
+```php
+$config->setClientTimeout(20); // 20 seconds
+```
+
+### User Agent
+
+- Method name: `setClientUserAgent()`
+- Default value: `PicoFeed (https://github.com/fguillot/picoFeed)`
+- Argument value: string
+
+```php
+$config->setClientUserAgent('My RSS reader');
+```
+
+### Maximum HTTP redirections
+
+- Method name: `setMaxRedirections()`
+- Default value: 5
+- Argument value: integer
+
+```php
+$config->setMaxRedirections(10);
+```
+
+### Maximum HTTP body response size
+
+- Method name: `setMaxBodySize()`
+- Default value: 2097152 (2MB)
+- Argument value: value in bytes (integer)
+
+```php
+$config->setMaxBodySize(10485760); // 10MB
+```
+
+### Proxy hostname
+
+- Method name: `setProxyHostname()`
+- Default value: empty
+- Argument value: string
+
+```php
+$config->setProxyHostname('proxy.example.org');
+```
+
+### Proxy port
+
+- Method name: `setProxyPort()`
+- Default value: 3128
+- Argument value: port number (integer)
+
+```php
+$config->setProxyPort(8118);
+```
+
+### Proxy username
+
+- Method name: `setProxyUsername()`
+- Default value: empty
+- Argument value: string
+
+```php
+$config->setProxyUsername('myuser');
+```
+
+### Proxy password
+
+- Method name: `setProxyPassword()`
+- Default value: empty
+- Argument value: string
+
+```php
+$config->setProxyPassword('mysecret');
+```
+
+Content grabber
+---------------
+
+### Connection timeout
+
+- Method name: `setGrabberTimeout()`
+- Default value: 10 seconds
+- Argument value: number of seconds (integer)
+
+```php
+$config->setGrabberTimeout(20); // 20 seconds
+```
+
+### User Agent
+
+- Method name: `setGrabberUserAgent()`
+- Default value: `PicoFeed (https://github.com/fguillot/picoFeed)`
+- Argument value: string
+
+```php
+$config->setGrabberUserAgent('My content scraper');
+```
+
+Parser
+------
+
+### Hash algorithm used for item id generation
+
+- Method name: `setParserHashAlgo()`
+- Default value: `sha256`
+- Argument value: any value returned by the function `hash_algos()` (string)
+- See: http://php.net/hash_algos
+
+```php
+$config->setParserHashAlgo('sha1');
+```
+
+### Disable item content filtering
+
+- Method name: `setContentFiltering()`
+- Default value: true (filtering is enabled by default)
+- Argument value: boolean
+
+```php
+$config->setContentFiltering(false);
+```
+
+### Timezone
+
+- Method name: `setTimezone()`
+- Default value: UTC
+- Argument value: See https://php.net/manual/en/timezones.php (string)
+- Note: define the timezone for items/feeds
+
+```php
+$config->setTimezone('Europe/Paris');
+```
+
+Logging
+-------
+
+### Timezone
+
+- Method name: `setTimezone()`
+- Default value: UTC
+- Argument value: See https://php.net/manual/en/timezones.php (string)
+- Note: define the timezone for the logging class
+
+```php
+$config->setTimezone('Europe/Paris');
+```
+
+Filter
+------
+
+### Set the iframe whitelist (allowed iframe sources)
+
+- Method name: `setFilterIframeWhitelist()`
+- Default value: See the Filter class source code
+- Argument value: array
+
+```php
+$config->setFilterIframeWhitelist(['http://www.youtube.com', 'http://www.vimeo.com']);
+```
+
+### Define HTML integer attributes
+
+- Method name: `setFilterIntegerAttributes()`
+- Default value: See the Filter class source code
+- Argument value: array
+
+```php
+$config->setFilterIntegerAttributes(['width', 'height']);
+```
+
+### Add HTML attributes automatically
+
+- Method name: `setFilterAttributeOverrides()`
+- Default value: See the Filter class source code
+- Argument value: array
+
+```php
+$config->setFilterAttributeOverrides(['a' => ['target' => '_blank']);
+```
+
+### Set the list of required attributes for tags
+
+- Method name: `setFilterRequiredAttributes()`
+- Default value: See the Filter class source code
+- Argument value: array
+- Note: If the required attributes are not there, the tag is stripped
+
+```php
+$config->setFilterRequiredAttributes(['a' => 'href', 'img' => 'src']);
+```
+
+### Set the resource blacklist (Ads blocker)
+
+- Method name: `setFilterMediaBlacklist()`
+- Default value: See the Filter class source code
+- Argument value: array
+- Note: Tags are stripped if they have those URLs
+
+```php
+$config->setFilterMediaBlacklist(['feeds.feedburner.com', 'share.feedsportal.com']);
+```
+
+### Define which attributes are used for external resources
+
+- Method name: `setFilterMediaAttributes()`
+- Default value: See the Filter class source code
+- Argument value: array
+
+```php
+$config->setFilterMediaAttributes(['src', 'href']);
+```
+
+### Define the scheme whitelist
+
+- Method name: `setFilterSchemeWhitelist()`
+- Default value: See the Filter class source code
+- Argument value: array
+- See: http://en.wikipedia.org/wiki/URI_scheme
+
+```php
+$config->setFilterSchemeWhitelist(['http://', 'ftp://']);
+```
+
+### Define the tags and attributes whitelist
+
+- Method name: `setFilterWhitelistedTags()`
+- Default value: See the Filter class source code
+- Argument value: array
+- Note: Only those tags are allowed everything else is stripped
+
+```php
+$config->setFilterWhitelistedTags(['a' => ['href'], 'img' => ['src', 'title']]);
+```
+
+### Define a image proxy url
+
+- Method name: `setFilterImageProxyUrl()`
+- Default value: Empty
+- Argument value: string
+
+```php
+$config->setFilterImageProxyUrl('http://myproxy.example.org/?url=%s');
+```
+
+### Define a image proxy callback
+
+- Method name: `setFilterImageProxyCallback()`
+- Default value: null
+- Argument value: Closure
+
+```php
+$config->setFilterImageProxyCallback(function ($image_url) {
+ $key = hash_hmac('sha1', $image_url, 'secret');
+ return 'https://mypublicproxy/'.$key.'/'.urlencode($image_url);
+});
+``` \ No newline at end of file