diff options
| author | 2021-10-23 13:43:24 +0200 | |
|---|---|---|
| committer | 2021-10-23 13:43:24 +0200 | |
| commit | acbba9adb2e362079ce1fb84be1868b198cc1da0 (patch) | |
| tree | eeeaa9e522f82a9f8f9baaef3b6bd23950eab71a /docs/en | |
| parent | dd02c79092aa25cacff1c831815e9ca02b06b620 (diff) | |
Improved markdownlint (#3918)
* Improved markdownlint
* Relaxed rules slighlty
* `npm run markdownlint` for automatic tests
* `npm run markdownlint_fix` for automatic syntax fixing
* Applied the fixes on all our Markdown files
Diffstat (limited to 'docs/en')
25 files changed, 260 insertions, 248 deletions
diff --git a/docs/en/admins/02_Prerequisites.md b/docs/en/admins/02_Prerequisites.md index 3c53b33c2..41dabc651 100644 --- a/docs/en/admins/02_Prerequisites.md +++ b/docs/en/admins/02_Prerequisites.md @@ -8,12 +8,11 @@ You need to verify that your server can run FreshRSS before installing it. If yo | ------------- | ----------------------- | ----------------------- | | Web server | **Apache 2** | Nginx, lighttpd | | PHP | **PHP 7+** | | -| PHP modules | Required: libxml, cURL, JSON, PDO\_MySQL, PCRE and ctype. <br>Required (32-bit only): GMP <br> Recommended: Zlib, mbstring, iconv, ZipArchive <br> *For the whole modules list see [Dockerfile](https://github.com/FreshRSS/FreshRSS/blob/edge/Docker/Dockerfile-Alpine#L7-L9)* | | +| PHP modules | Required: libxml, cURL, JSON, PDO_MySQL, PCRE and ctype.<br />Required (32-bit only): GMP <br />Recommended: Zlib, mbstring, iconv, ZipArchive<br />*For the whole modules list see [Dockerfile](https://github.com/FreshRSS/FreshRSS/blob/edge/Docker/Dockerfile-Alpine#L7-L9)* | | | Database | **MySQL 5.5.3+** | SQLite 3.7.4+, PostgreSQL 9.5+ | | Browser | **Firefox** | Chrome, Opera, Safari, or Edge | - -# Getting the appropriate version of FreshRSS +## Getting the appropriate version of FreshRSS FreshRSS has two different releases. It is better if you spend some time to understand the purpose of each release. diff --git a/docs/en/admins/03_Installation.md b/docs/en/admins/03_Installation.md index 2a2a886aa..5ef5c62cd 100644 --- a/docs/en/admins/03_Installation.md +++ b/docs/en/admins/03_Installation.md @@ -10,7 +10,7 @@ Before you begin, make sure that you've read the [prerequisites](02_Prerequisite 3. Give ownership of the FreshRSS folder to your web server user (often `www-data`). Give group read permissions to all files in `.`[^2], and group write permissions to `./data/`. -4. Install needed PHP modules. A precise and up-to-date list can be found in [the Dockerfile](https://github.com/FreshRSS/FreshRSS/blob/edge/Docker/Dockerfile#L11-L12). +4. Install needed PHP modules. A precise and up-to-date list can be found in [the Dockerfile](https://github.com/FreshRSS/FreshRSS/blob/edge/Docker/Dockerfile#L11-L12). 5. Create a database for FreshRSS to use. Note the username and password for this database, as it will be needed during installation! diff --git a/docs/en/admins/07_LinuxUpdate.md b/docs/en/admins/07_LinuxUpdate.md index c1b2da5f5..6323c2a1a 100644 --- a/docs/en/admins/07_LinuxUpdate.md +++ b/docs/en/admins/07_LinuxUpdate.md @@ -24,87 +24,76 @@ You may wish to run the cron task or systemd unit (`freshrss.service`) immediate **You must have used git to install FreshRSS to use this update method.** -If your local user doesn't have write access to the FreshRSS folder, use a sudo shell (`sudo -s`), prefix the following commands with `sudo `, or switch to an account that does have write access to the folder. +If your local user doesn't have write access to the FreshRSS folder, use a sudo shell (`sudo -s`), prefix the following commands with `sudo`, or switch to an account that does have write access to the folder. 1. Change to your FreshRSS directory - -```sh -cd /usr/share/FreshRSS/ -``` + ```sh + cd /usr/share/FreshRSS/ + ``` 2. Fetch the most recent code from GitHub - -```sh -git fetch --all -``` + ```sh + git fetch --all + ``` 3. Discard manual changes and delete manual additions + ```sh + git reset --hard + git clean -f -d + ``` -```sh -git reset --hard -git clean -f -d -``` - -Note: If you wish to keep your changes, it's better to [create a pull request](https://github.com/FreshRSS/FreshRSS/compare) or [an extension](../developers/03_Backend/05_Extensions.md). + Note: If you wish to keep your changes, it's better to [create a pull request](https://github.com/FreshRSS/FreshRSS/compare) or [an extension](../developers/03_Backend/05_Extensions.md). 4. Update FreshRSS + ```sh + git checkout edge + git pull + git checkout $(git describe --tags --abbrev=0) + ``` -```sh -git checkout edge -git pull -git checkout $(git describe --tags --abbrev=0) -``` - -Note: If you want to use the rolling release, the last command is optional. + Note: If you want to use the rolling release, the last command is optional. 5. (optional) Make sure you use the correct version + ```sh + git status + ``` -```sh -git status -``` - -The command should tell you the tag that you're using. It must be the same as the one associated with [the latest release on GitHub](https://github.com/FreshRSS/FreshRSS/releases/latest). If you use the rolling release, it should tell you that your `edge` branch is up to date with `origin`. + The command should tell you the tag that you're using. It must be the same as the one associated with [the latest release on GitHub](https://github.com/FreshRSS/FreshRSS/releases/latest). If you use the rolling release, it should tell you that your `edge` branch is up to date with `origin`. 6. Re-set correct permissions so that your web server can access the files - -```sh -chown -R :www-data . && chmod -R g+r . && chmod -R g+w ./data/ -``` + ```sh + chown -R :www-data . && chmod -R g+r . && chmod -R g+w ./data/ + ``` ## Using the Zip archive If your local user doesn't have write access to the FreshRSS folder, use a sudo shell (`sudo -s`), prefix the following commands with `sudo`, or switch to an account that does have write access to the folder. 1. Change to your FreshRSS directory - -```sh -cd /usr/share/FreshRSS/ -``` + ```sh + cd /usr/share/FreshRSS/ + ``` 2. Get the link to the Zip archive for [the latest release](https://github.com/FreshRSS/FreshRSS/releases/latest): [`https://github.com/FreshRSS/FreshRSS/archive/latest.zip`](https://github.com/FreshRSS/FreshRSS/archive/latest.zip). If you want to use the rolling release, the link is [`https://github.com/FreshRSS/FreshRSS/archive/edge.zip`](https://github.com/FreshRSS/FreshRSS/archive/edge.zip). 3. Download and unzip the update file - -```sh -wget -O freshrss.zip https://github.com/FreshRSS/FreshRSS/archive/latest.zip -unzip freshrss.zip -``` - -3. Overwrite all your existing files with the new ones - -```sh -cp -R FreshRSS-*/* . -``` - -4. Re-set permissions - -```sh -chown -R :www-data . && chmod -R g+r . && chmod -R g+w ./data/ -``` - -5. Clean up the FreshRSS directory by deleting the downloaded zip, the file forcing the setup wizard and the temporary directory - -```sh -rm -f freshrss.zip -rm -rf FreshRSS-*/ -``` + ```sh + wget -O freshrss.zip https://github.com/FreshRSS/FreshRSS/archive/latest.zip + unzip freshrss.zip + ``` + +4. Overwrite all your existing files with the new ones + ```sh + cp -R FreshRSS-*/* . + ``` + +5. Re-set permissions + ```sh + chown -R :www-data . && chmod -R g+r . && chmod -R g+w ./data/ + ``` + +6. Clean up the FreshRSS directory by deleting the downloaded zip, the file forcing the setup wizard and the temporary directory + ```sh + rm -f freshrss.zip + rm -rf FreshRSS-*/ + ``` diff --git a/docs/en/admins/08_FeedUpdates.md b/docs/en/admins/08_FeedUpdates.md index ef79d6351..a2e8e7ce6 100644 --- a/docs/en/admins/08_FeedUpdates.md +++ b/docs/en/admins/08_FeedUpdates.md @@ -7,6 +7,7 @@ FreshRSS is updated by the `./app/actualize_script.php` script. Knowing this, we **Note:** the following examples assume that FreshRSS is installed to `/usr/share/FreshRSS`. You'll need to modify the FreshRSS path to reflect your own system. **Note:** If you cannot configure a local Cronjob, [see an alternative using online cron](../users/03_Main_view.md#online-cron). + ## Cron as a trigger You'll need to check the Cron documentation for your specific distribution ([Debian/Ubuntu](https://help.ubuntu.com/community/CronHowto), [Red Hat/Fedora/CentOS](https://fedoraproject.org/wiki/Administration_Guide_Draft/Cron), [Slackware](https://docs.slackware.com/fr:slackbook:process_control?#cron), [Gentoo](https://wiki.gentoo.org/wiki/Cron), [Arch Linux](https://wiki.archlinux.org/index.php/Cron) ...) to make sure you set the Cron job correctly. @@ -14,10 +15,11 @@ You'll need to check the Cron documentation for your specific distribution ([Deb It's advisable that you run the Cron job as your Web server user (often `www-data`). ### Example on Debian/Ubuntu + To run the updater script every hour, and 10 minutes past the hour: Run `sudo crontab -e` and copy the following line into the crontab: -``` +```text 10 * * * * www-data php -f /usr/share/FreshRSS/app/actualize_script.php > /tmp/FreshRSS.log 2>&1 ``` @@ -27,7 +29,7 @@ Some systems can't use a Cron job, but they can use systemd. It's easy to config First you need to add a `freshrss.timer` file in `/etc/systemd/system/` with the following content: -``` +```ini [Unit] Description=FreshRSS get new content @@ -43,7 +45,7 @@ This timer will start 30 seconds after boot and it will trigger the service ever Then you need to add a `freshrss.service` file in the same directory. This will be the description of the service triggered by the aforementioned timer. -``` +```ini [Unit] Description=FreshRSS get new content Wants=freshrss.timer diff --git a/docs/en/admins/09_AccessControl.md b/docs/en/admins/09_AccessControl.md index fabbffdf3..8ee193cea 100644 --- a/docs/en/admins/09_AccessControl.md +++ b/docs/en/admins/09_AccessControl.md @@ -4,7 +4,8 @@ FreshRSS offers three methods of Access control: Form Authentication using JavaS ## Form Authentication -Form Authentication requires the use of JavaScript. It will work on any supported version of PHP, but version 5.5 or newer is recommended (see footnote 1 in [prerequisites](02_Prerequisites.md) for the reason why). +Form Authentication requires the use of JavaScript. It will work on any supported version of PHP, +but version 5.5 or newer is recommended (see footnote 1 in [prerequisites](02_Prerequisites.md) for the reason why). This option requires nothing more than selecting Form Authentication during installation. @@ -22,7 +23,9 @@ When using auto-registration, you can optionally use the `http_auth_auto_registe variable containing the email address of the authenticated user (e.g. `REMOTE_USER_EMAIL`). ## No Authentication -Not using authentication on your server is dangerous, as anyone with access to your server would be able to make changes as an admin. It is never advisable to not use any form of authentication, but **never** chose this option on a server that is able to be accessed outside of your home network. + +Not using authentication on your server is dangerous, as anyone with access to your server would be able to make changes as an admin. +It is never advisable to not use any form of authentication, but **never** chose this option on a server that is able to be accessed outside of your home network. ## Hints diff --git a/docs/en/admins/10_ServerConfig.md b/docs/en/admins/10_ServerConfig.md index 5286023f8..6c5823a2d 100644 --- a/docs/en/admins/10_ServerConfig.md +++ b/docs/en/admins/10_ServerConfig.md @@ -1,9 +1,10 @@ # Apache/Nginx Configuration Files ## Apache configuration + This is an example Apache virtual hosts configuration file. It covers HTTP and HTTPS configuration. -``` +```apache <VirtualHost *:80> DocumentRoot /var/www/html/ @@ -62,7 +63,8 @@ This is an example Apache virtual hosts configuration file. It covers HTTP and H This is an example nginx configuration file. It covers HTTP, HTTPS, and php-fpm configuration. You can find simpler config file but they may be incompatible with FreshRSS API. -``` + +```nginx server { listen 80; listen 443 ssl; diff --git a/docs/en/admins/11_Themes.md b/docs/en/admins/11_Themes.md index 6ee26d955..c4edb841a 100644 --- a/docs/en/admins/11_Themes.md +++ b/docs/en/admins/11_Themes.md @@ -4,14 +4,14 @@ **For small theme changes, the official [CustomCSS extension](https://github.com/FreshRSS/Extensions) is recommended.** -Themes should be installed at `FreshRSS/p/themes/theme-name`. Docker users can use +Themes should be installed at `FreshRSS/p/themes/theme-name`. Docker users can use: +```sh +-v /home/you/my-theme/:/var/www/FreshRSS/p/themes/my-theme/ ``` - -v /home/you/my-theme/:/var/www/FreshRSS/p/themes/my-theme/ -``` -or a similar method to add their theme to their FreshRSS instance. +or a similar method to add their theme to their FreshRSS instance. -# Creating themes +## Creating themes Information on creating themes can be found in [the developer documentation.](../developers/04_Frontend/02_Design.md) diff --git a/docs/en/developers/01_Index.md b/docs/en/developers/01_Index.md index 94339f7cb..28d11a6cc 100644 --- a/docs/en/developers/01_Index.md +++ b/docs/en/developers/01_Index.md @@ -27,4 +27,5 @@ Start by creating your development environment. A guide to setting up FreshRSS's * [Design (Themes/Theming)](04_Frontend/02_Design.md) ## Minz + Minz is the homemade PHP framework used by FreshRSS. More information can be found [here](Minz/index.md). diff --git a/docs/en/developers/02_First_steps.md b/docs/en/developers/02_First_steps.md index 21456fea4..626ee84fc 100644 --- a/docs/en/developers/02_First_steps.md +++ b/docs/en/developers/02_First_steps.md @@ -208,7 +208,7 @@ Please ensure that your code works with the oldest PHP version officially suppor ## Miscellaneous -### Operators +### Operators on multiple lines Operators must be at the end of the line if a condition is split over more than one line. @@ -219,7 +219,7 @@ if ($a == 10 || } ``` -### End of file +### End of PHP file If the file contains only PHP code, the PHP closing tag must be omitted. diff --git a/docs/en/developers/03_Backend/01_Database_schema.md b/docs/en/developers/03_Backend/01_Database_schema.md index 1978eabea..b2206e46a 100644 --- a/docs/en/developers/03_Backend/01_Database_schema.md +++ b/docs/en/developers/03_Backend/01_Database_schema.md @@ -1 +1,3 @@ -# Database Schema
\ No newline at end of file +# Database Schema + +> **TODO** diff --git a/docs/en/developers/03_Backend/04_Changing_source_code.md b/docs/en/developers/03_Backend/04_Changing_source_code.md index e8a5958e4..2f5ed8e14 100644 --- a/docs/en/developers/03_Backend/04_Changing_source_code.md +++ b/docs/en/developers/03_Backend/04_Changing_source_code.md @@ -1,15 +1,17 @@ -# Accessing the database +# Changing the source code -**TODO** +## Accessing the database -# Writing an action and its related view +> **TODO** -**TODO** +## Writing an action and its related view -# Authentication +> **TODO** -**TODO** +## Authentication -# Logs +> **TODO** -**TODO**
\ No newline at end of file +## Logs + +> **TODO** diff --git a/docs/en/developers/03_Backend/05_Extensions.md b/docs/en/developers/03_Backend/05_Extensions.md index e5e2e51e6..81fd13ecb 100644 --- a/docs/en/developers/03_Backend/05_Extensions.md +++ b/docs/en/developers/03_Backend/05_Extensions.md @@ -38,7 +38,8 @@ Minz relies on and imposes an MVC architecture on projects using it. This archit ### Routing -In order to link a URL to a controller, first you have to go through a "routing" phase. In FreshRSS, this is particularly simple because it suffices to specify the name of the controller to load into the URL using a `c` parameter. For example, the address http://exemple.com?c=hello will execute the code contained in the `hello` controller. +In order to link a URL to a controller, first you have to go through a "routing" phase. In FreshRSS, this is particularly simple because it suffices to specify the name of the controller to load into the URL using a `c` parameter. +For example, the address <http://exemple.com?c=hello> will execute the code contained in the `hello` controller. One concept that has not yet been discussed is the "actions" system. An action is executed *on* a controller. Concretely, a controller is represented by a class and its actions by methods. To execute an action, it is necessary to specify an `a` parameter in the URL. @@ -60,9 +61,10 @@ class FreshRSS_hello_Controller extends Minz_ActionController { ?> ``` -When loading the address http://exemple.com?c=hello&a=world, the `world` action is executed on the `hello` controller. +When loading the address <http://exemple.com?c=hello&a=world>, the `world` action is executed on the `hello` controller. -Note: if `c` or `a` is not specified, the default value for each of these variables is `index`. So the address http://exemple.com?c=hello will execute the `index` action of the `hello` controller. +Note: if `c` or `a` is not specified, the default value for each of these variables is `index`. +So the address <http://exemple.com?c=hello> will execute the `index` action of the `hello` controller. From now on, the `hello/world` naming convention will be used to refer to a controller/action pair. @@ -123,7 +125,7 @@ To take full advantage of the Minz routing system, it is strongly discouraged to </p> ``` -If one day it was decided to use a "url rewriting" system to have addresses in a http://exemple.com/controller/action format, all previous addresses would become ineffective! +If one day it was decided to use a "url rewriting" system to have addresses in a <http://exemple.com/controller/action> format, all previous addresses would become ineffective! So use the `Minz_Url` class and its `display()` method instead. `Minz_Url::display()` takes an array of the following form as its argument: @@ -219,7 +221,7 @@ An extension allows you to easily add functionality to FreshRSS without having t ### Make it work in Docker When working on an extension, it's easier to see it working directly in its environment. With Docker, you can leverage the use of the ```volume``` option when starting the container. Hopefully, you can use it without Docker-related knowledge by using the Makefile rule: -``` +```sh make start extensions="/full/path/to/extension/1 /full/path/to/extension/2" ``` @@ -239,13 +241,14 @@ but you should follow our best practice: If you want to write a `HelloWorld` extension, the directory name should be `xExtension-HelloWorld` and the base class name `HelloWorldExtension`. In the file `freshrss/extensions/xExtension-HelloWorld/extension.php` you need the structure: -```html +```php class HelloWorldExtension extends Minz_Extension { public function init() { // your code here } } ``` + There is an example HelloWorld extension that you can download from [our GitHub repo](https://github.com/FreshRSS/xExtension-HelloWorld). You may also need additional files or subdirectories depending on your needs: @@ -254,9 +257,9 @@ You may also need additional files or subdirectories depending on your needs: * A `static/` directory containing CSS and JavaScript files that you will need for your extension (note that if you need to write a lot of CSS it may be more interesting to write a complete theme) * A `Controllers` directory containing additional controllers * An `i18n` directory containing additional translations -* `layout` and` views` directories to define new views or to overwrite the current views +* `layout` and `views` directories to define new views or to overwrite the current views -In addition, it is good to have a `LICENSE` file indicating the license under which your extension is distributed and a` README` file giving a detailed description of it. +In addition, it is good to have a `LICENSE` file indicating the license under which your extension is distributed and a `README` file giving a detailed description of it. ### The metadata.json file @@ -266,10 +269,11 @@ The `metadata.json` file defines your extension through a number of important el * `author`: your name, your e-mail address ... but there is no specific format to adopt * `description`: a description of your extension * `version`: the current version number of the extension -* `entrypoint`: Indicates the entry point of your extension. It must match the name of the class contained in the file `extension.php` without the suffix` Extension` (so if the entry point is `HelloWorld`, your class will be called` HelloWorldExtension`) -* `type`: Defines the type of your extension. There are two types: `system` and` user`. We will study this difference right after. +* `entrypoint`: Indicates the entry point of your extension. It must match the name of the class contained in the file `extension.php` without the suffix `Extension` +(so if the entry point is `HelloWorld`, your class will be called `HelloWorldExtension`) +* `type`: Defines the type of your extension. There are two types: `system` and `user`. We will study this difference right after. -Only the `name` and` entrypoint` fields are required. +Only the `name` and `entrypoint` fields are required. ### Choosing between `system` and `user` @@ -296,7 +300,7 @@ The `Minz_Extension` abstract class defines a set of methods that can be overrid The `Minz_Extension` abstract class defines another set of methods that should not be overridden: * the `getName`, `getEntrypoint`, `getPath`, `getAuthor`, `getDescription`, `getVersion`, and `getType` methods return the extension internal properties. Those properties are extracted from the `metadata.json` file. * the `getFileUrl` returns the URL of the selected file. The file must exist in the `static` folder of the extension. -* the `registerController` method register an extension controller in FreshRSS. The selected controller must be defined in the extension _Controllers_ folder, its file name must be _<name>Controller.php_, and its class name must be *FreshExtension\_<name>\_Controller*. +* the `registerController` method register an extension controller in FreshRSS. The selected controller must be defined in the extension _Controllers_ folder, its file name must be _\<name\>Controller.php_, and its class name must be *FreshExtension_\<name\>_Controller*. * the `registerViews` method registers the extension views in FreshRSS. * the `registerTranslates` method registers the extension translation files in FreshRSS. * the `registerHook` method registers hook actions in different part of the application. @@ -348,4 +352,4 @@ The following events are available: When you want to support user configurations for your extension or simply display some information, you have to create the `configure.phtml` file. -**TODO** +> **TODO** diff --git a/docs/en/developers/04_Frontend/01_View_files.md b/docs/en/developers/04_Frontend/01_View_files.md index 5eb284dde..5a270b5ef 100644 --- a/docs/en/developers/04_Frontend/01_View_files.md +++ b/docs/en/developers/04_Frontend/01_View_files.md @@ -1,15 +1,17 @@ -# The .phtml files +# View files -**TODO** +## The .phtml files -# Writing a URL +> **TODO** -**TODO** +## Writing a URL -# Displaying an icon +> **TODO** -**TODO** +## Displaying an icon -# Internationalisation +> **TODO** -**TODO** +## Internationalisation + +> **TODO** diff --git a/docs/en/developers/04_Frontend/02_Design.md b/docs/en/developers/04_Frontend/02_Design.md index 74b92dee2..4ec8253ad 100644 --- a/docs/en/developers/04_Frontend/02_Design.md +++ b/docs/en/developers/04_Frontend/02_Design.md @@ -19,7 +19,7 @@ RTL (right-to-left) support for languages such as Hebrew and Arabic is handled t ## Overriding icons -To replace the default icons, add an "icons" folder to your theme's folder. Use files with the same name as the default icon to override them. +To replace the default icons, add an "icons" folder to your theme's folder. Use files with the same name as the default icon to override them. ## Template file @@ -27,11 +27,11 @@ To replace the default icons, add an "icons" folder to your theme's folder. Use ```json { - "name": "Theme name", - "author": "Theme author", - "description": "Theme description", - "version": 0.1, - "files": ["_template.css", "file1.css", "file2.css"] + "name": "Theme name", + "author": "Theme author", + "description": "Theme description", + "version": 0.1, + "files": ["_template.css", "file1.css", "file2.css"] } ``` diff --git a/docs/en/developers/05_Release_new_version.md b/docs/en/developers/05_Release_new_version.md index f4e38d0de..918451490 100644 --- a/docs/en/developers/05_Release_new_version.md +++ b/docs/en/developers/05_Release_new_version.md @@ -1,6 +1,7 @@ # Preparing the release -In order to get as much feedback as possible before a release, it's preferable to announce it on GitHub by creating a dedicated ticket ([see examples] (https://github.com/FreshRSS/FreshRSS/search?utf8=%E2%9C%93&q=Call+for+testing&type=Issues)). This should be done **at least one week in advance**. +In order to get as much feedback as possible before a release, it's preferable to announce it on GitHub by creating a dedicated ticket +([see examples](https://github.com/FreshRSS/FreshRSS/search?utf8=%E2%9C%93&q=Call+for+testing&type=Issues)). This should be done **at least one week in advance**. It's also recommended to make the announcement on mailing@freshrss.org. @@ -12,7 +13,7 @@ You must also **make sure that the CHANGELOG file is up to date** with the updat ## Git process -```sh +```console $ git checkout edge $ git pull $ vim constants.php @@ -98,7 +99,7 @@ When everything's working, it's time to announce the release to the world! ## Starting the next development version -```sh +```console $ git checkout edge $ vim constants.php # Update the FRESHRSS_VERSION diff --git a/docs/en/developers/06_Fever_API.md b/docs/en/developers/06_Fever_API.md index bcd9db660..909fd6074 100644 --- a/docs/en/developers/06_Fever_API.md +++ b/docs/en/developers/06_Fever_API.md @@ -50,7 +50,7 @@ The following features are not supported: If this API does not work as expected in your RSS reader, you can test it manually with a tool like [Postman](https://www.getpostman.com/). -Configure a POST request to the URL https://freshrss.example.net/api/fever.php?api which should give you the result: +Configure a POST request to the URL <https://freshrss.example.net/api/fever.php?api> which should give you the result: ```json { "api_version": 3, @@ -84,15 +84,15 @@ Perfect, you're now authenticated and you can start testing the more advanced fe Some basic calls are: -* https://freshrss.example.net/api/fever.php?api&items -* https://freshrss.example.net/api/fever.php?api&feeds -* https://freshrss.example.net/api/fever.php?api&groups -* https://freshrss.example.net/api/fever.php?api&unread_item_ids -* https://freshrss.example.net/api/fever.php?api&saved_item_ids -* https://freshrss.example.net/api/fever.php?api&items&since_id=some_id -* https://freshrss.example.net/api/fever.php?api&items&max_id=some_id -* https://freshrss.example.net/api/fever.php?api&mark=item&as=read&id=some_id -* https://freshrss.example.net/api/fever.php?api&mark=item&as=unread&id=some_id +* <https://freshrss.example.net/api/fever.php?api&items> +* <https://freshrss.example.net/api/fever.php?api&feeds> +* <https://freshrss.example.net/api/fever.php?api&groups> +* <https://freshrss.example.net/api/fever.php?api&unread_item_ids> +* <https://freshrss.example.net/api/fever.php?api&saved_item_ids> +* <https://freshrss.example.net/api/fever.php?api&items&since_id=some_id> +* <https://freshrss.example.net/api/fever.php?api&items&max_id=some_id> +* <https://freshrss.example.net/api/fever.php?api&mark=item&as=read&id=some_id> +* <https://freshrss.example.net/api/fever.php?api&mark=item&as=unread&id=some_id> Replace `some_id` with a real ID from your `freshrss_username_entry` database. diff --git a/docs/en/developers/06_GoogleReader_API.md b/docs/en/developers/06_GoogleReader_API.md index 823b4c8b0..5035ca6cf 100644 --- a/docs/en/developers/06_GoogleReader_API.md +++ b/docs/en/developers/06_GoogleReader_API.md @@ -5,21 +5,21 @@ Additionally [page about our Fever compatible API](06_Fever_API.md) for another ## RSS clients -There are many RSS clients that support the Fever API, but they seem to understand the Fever API a bit differently. +There are many RSS clients that support the Fever API, but they might understand the API a bit differently. If your favourite client doesn't work properly with this API, please create an issue and we'll have a look. But we can **only** do that for free clients. -### Usage & Authentication +## Usage & Authentication Before you can start using this API, you have to enable and setup API access, which is [documented here](../users/06_Mobile_access.md), and then reset the user’s API password. Then point your mobile application to the `greader.php` address (e.g. `https://freshrss.example.net/api/greader.php`). -# Compatible clients +## Compatible clients -6. On the same FreshRSS API page, note the address given under “Your API address”, like `https://freshrss.example.net/api/greader.php` - * Type the API address in a client, together with your FreshRSS username, and the corresponding special API password. +1. On the same FreshRSS API page, note the address given under “Your API address”, like `https://freshrss.example.net/api/greader.php` +2. Type the API address in a client, together with your FreshRSS username, and the corresponding special API password. | App | Platform | License | |:----------------------------------------------------------------------------------:|:-------------------:|:--------------------------------------------------------:| @@ -34,7 +34,7 @@ Then point your mobile application to the `greader.php` address (e.g. `https://f |[Reeder](https://www.reederapp.com/) |MacOS, iOS |Closed Source | |[FreshRSS-Notify](https://addons.mozilla.org/firefox/addon/freshrss-notify-webextension/) |Firefox |Open Source | -# Google Reader compatible API +## Google Reader compatible API Examples of basic queries: diff --git a/docs/en/developers/06_Reporting_Bugs.md b/docs/en/developers/06_Reporting_Bugs.md index 12d3259a6..77b16251f 100644 --- a/docs/en/developers/06_Reporting_Bugs.md +++ b/docs/en/developers/06_Reporting_Bugs.md @@ -8,12 +8,12 @@ If you're convinced that you should be heard, here's how you can go about it. GitHub is the ideal platform to submit your requests. It allows us to discuss a problem or suggestion with others and it often generates new ideas. Let's not neglect this "social" aspect! - 1. [Go to the bug ticket manager](https://github.com/FreshRSS/FreshRSS/issues) - 2. Start by checking if a similar request hasn't already been made. If so, please feel free to add your voice to the request. - 3. If your request is new, [open a new bug ticket](https://github.com/FreshRSS/FreshRSS/issues/new) - 4. Finally, write your request. If you're fluent in English, it's the preferred language because it allows for discussion with the largest number of people. - 5. Please follow the tips below to make it easier to let your ticket be heard. - +1. [Go to the bug ticket manager](https://github.com/FreshRSS/FreshRSS/issues) +2. Start by checking if a similar request hasn't already been made. If so, please feel free to add your voice to the request. +3. If your request is new, [open a new bug ticket](https://github.com/FreshRSS/FreshRSS/issues/new) +4. Finally, write your request. If you're fluent in English, it's the preferred language because it allows for discussion with the largest number of people. +5. Please follow the tips below to make it easier to let your ticket be heard. + ## Informal Not everyone likes or uses GitHub for a variety of legitimate reasons. That is why you can also contact us in a more informal way. @@ -59,8 +59,8 @@ So that we understand what you consider to be the problem. Remember to give the following information if you know it: - 1. Which browser? Which version? - 2. Which server: Apache, Nginx? Which version? - 3. Which version of PHP? - 4. Which database: SQLite, MySQL, MariaDB, PostgreSQL? Which version? - 5. Which distribution runs on the server? And... which version? +1. Which browser? Which version? +2. Which server: Apache, Nginx? Which version? +3. Which version of PHP? +4. Which database: SQLite, MySQL, MariaDB, PostgreSQL? Which version? +5. Which distribution runs on the server? And... which version? diff --git a/docs/en/index.md b/docs/en/index.md index ef0bea7e5..f485ab210 100644 --- a/docs/en/index.md +++ b/docs/en/index.md @@ -37,4 +37,4 @@ Another chance to try out, but not official supported by FreshRSS: The applicati ## Licence -FreshRSS is licensed under the GNU Affero General Public License v3.0.
\ No newline at end of file +FreshRSS is licensed under the GNU Affero General Public License v3.0. diff --git a/docs/en/internationalization.md b/docs/en/internationalization.md index e19348a27..633c28e63 100644 --- a/docs/en/internationalization.md +++ b/docs/en/internationalization.md @@ -48,8 +48,8 @@ You should not have to write the array by yourself and we provide several comman If you want to add support for a language which isn't supported by FreshRSS yet, you can run this command: -```console -$ make i18n-add-language lang=[your language code] +```sh +make i18n-add-language lang=[your language code] ``` You must replace `[your language code]` by the language tag of your language. It must follow the [IETF BCP 47 standard](https://en.wikipedia.org/wiki/IETF_language_tag). For instance, English is `en` and French is `fr`. You can target a specific region with a subtag, for instance `pt-br` for Brazilian Portuguese. If you're not sure of the code, Wikipedia might be a good start to find it or you can ask us for help too. @@ -62,24 +62,24 @@ You might have noticed some strings are not yet translated from English even tho To update a string, you just have to open its file, find the string, and change it (without removing the quotes around it!) You might want to remove the comment at the end of the line, but you should prefer to use the following command: -```console -$ make i18n-format +```sh +make i18n-format ``` It will remove the comments on the lines that you've changed, and will reformat the file correctly. If you've made any mistakes, it will fix them automatically or it will tell you it can't (well… the command will dramatically fail without any damage, don't worry). The strings to translate can be easily found in the translations files thanks to the tag we spoke about at the end of the previous section. Indeed, it indicates to our tools that the strings are not translated yet. This means you can find them with Git. For instance for the Greek language: -```console -$ git grep TODO app/i18n/he +```sh +git grep TODO app/i18n/he ``` ## Acknowledge a false-positive Our tool detects if a string needs to be translated if it equals to the English version. For instance, the word “version” is the same in English and French. Thus, our tool would mark the French word to be translated. This is, in fact, the case for the `index.about.version` key. This case is considered as a false-positive because the word _is_ actually translated. To aknowledge such translations, you can run: -```console -$ make i18n-ignore-key lang=fr key=index.about.version +```sh +make i18n-ignore-key lang=fr key=index.about.version ``` This command adds an entry in the [`cli/i18n/ignore/fr.php` file](/cli/i18n/ignore/fr.php) so the key can be considered as translated. @@ -88,22 +88,22 @@ This command adds an entry in the [`cli/i18n/ignore/fr.php` file](/cli/i18n/igno If you're developping a new part of the application, you might want to declare a new translation key. Your first impulse would be to add the key to each file manually: don't do that, it's very painful. We provide another command: -```console -$ make i18n-add-key key=the.key.to.add value='Your string in English' +```sh +make i18n-add-key key=the.key.to.add value='Your string in English' ``` This adds the key to all the files. It’ll be in English, waiting for other translators. Conversely, you may want to remove a key that is no longer used in the application with: -```console -$ make i18n-remove-key key=the.key.to.remove +```sh +make i18n-remove-key key=the.key.to.remove ``` Finally, if the English version of a string needs to be changed, you need to consider two cases. If the change doesn't impact the meaning of the sentence, and therefore other languages don't need to change (e.g. to fix a typo), you should make the change manually in the file. In any other case, you should use the following command: -```console -$ make i18n-update-key key=the.key.to.change value='The new string in English' +```sh +make i18n-update-key key=the.key.to.change value='The new string in English' ``` The key will simply be removed and added back with the new value. @@ -126,7 +126,7 @@ For instance, the English translation for `gen.auth.keep_logged_in` is `Keep me ```php <label> - <input type="checkbox" name="keep_logged_in" /> - <?= _t('gen.auth.keep_logged_in', 30) ?> + <input type="checkbox" name="keep_logged_in" /> + <?= _t('gen.auth.keep_logged_in', 30) ?> </label> ``` diff --git a/docs/en/users/03_Main_view.md b/docs/en/users/03_Main_view.md index 7cbefd7cd..6bead5118 100644 --- a/docs/en/users/03_Main_view.md +++ b/docs/en/users/03_Main_view.md @@ -2,7 +2,7 @@ FreshRSS has three primary viewing modes: Normal, Global, and Reader view. # Normal view -Normal view will allow you to view articles in a compressed view. They can be separated by category or individual feed, or viewed in the "main stream" containing all feeds. Clicking a feed in the sidebar (mobile users will need to click the folder icon to open it) will open that feed's view. +Normal view will allow you to view articles in a compressed view. They can be separated by category or individual feed, or viewed in the "main stream" containing all feeds. Clicking a feed in the sidebar (mobile users will need to click the folder icon to open it) will open that feed's view. ## Article List @@ -10,13 +10,13 @@ By default, the normal view includes six items per article. From left to right: * **Read status:** An envalope icon to show if the article has been read or not. Closed envalopes are unread, open envalopes are read. Clicking on the icon will toggle the read status. * **Favourite status:** A star icon to show if the article has been favourited or not. Filled stars are favourited, empty stars are not. Clicking on the icon will toggle the favourite status. * **Feed name:** The name of the feed that the article is from. Clicking the feed name will move to that feed's view in normal view. -* **Article title:** The title of the article. Clicking will open the article for viewing within FreshRSS. +* **Article title:** The title of the article. Clicking will open the article for viewing within FreshRSS. * **Article date/time:** The time the article was posted. * **Link to original article:** A globe icon that can be clicked to go to the article on the original website. ## Normal View Sidebar -Clicking the gear icon next to an individual feed will display additional options for that feed. +Clicking the gear icon next to an individual feed will display additional options for that feed. * **Filter:** Run the defined filter to mark articles as read * **Statistics:** View statistics about the feed * **See website:** Open the feed's website in another tab @@ -26,7 +26,7 @@ Clicking the gear icon next to an individual feed will display additional option # Global view -Global view allows quick views of feed's statuses at once. Feeds and categories are shown with the number of unread articles next to them. Clicking a feed's name will open it in a view similar to normal view. +Global view allows quick views of feed's statuses at once. Feeds and categories are shown with the number of unread articles next to them. Clicking a feed's name will open it in a view similar to normal view. # Reader view @@ -54,27 +54,28 @@ Here is an example to trigger article update every hour. Special parameters to configure the script - all parameters can be combined: -- Parameter "force" -https://freshrss.example.net/i/?c=feed&a=actualize&force=1 +* Parameter "force" +<https://freshrss.example.net/i/?c=feed&a=actualize&force=1> If *force* is set to 1 all feeds will be refreshed at once. -- Parameter "ajax" -https://freshrss.example.net/i/?c=feed&a=actualize&ajax=1 +* Parameter "ajax" +<https://freshrss.example.net/i/?c=feed&a=actualize&ajax=1> Only a status site is returned and not a complete website. Example: "OK" -- Parameter "maxFeeds" -https://freshrss.example.net/i/?c=feed&a=actualize&maxFeeds=30 +* Parameter "maxFeeds" +<https://freshrss.example.net/i/?c=feed&a=actualize&maxFeeds=30> If *maxFeeds* is set the configured amount of feeds is refreshed at once. The default setting is "10". -- Parameter "token" -https://freshrss.example.net/i/?c=feed&a=actualize&token=542345872345734 +* Parameter "token" +<https://freshrss.example.net/i/?c=feed&a=actualize&token=542345872345734> Security parameter to prevent unauthorized refreshes. For detailed Documentation see "Form authentication". ### Online cron If you do not have access to the installation server scheduled task, you can still automate the update process. -To do so, you need to create a scheduled task, which need to call a specific URL: https://freshrss.example.net/i/?c=feed&a=actualize (it could be different depending on your installation). Depending on your application authentication method, you need to adapt the scheduled task. +To do so, you need to create a scheduled task, which need to call a specific URL: +<https://freshrss.example.net/i/?c=feed&a=actualize> (it could be different depending on your installation). Depending on your application authentication method, you need to adapt the scheduled task. #### No authentication @@ -139,6 +140,7 @@ This update occurs on the selected feed only. To trigger it, simply click on the # Filtering articles ## Purpose + When the number of articles stored by FreshRSS inevitably grows larger, it's important to use efficient filters to display only a subset of the articles. There are several methods that filter with different criteria. Usually those methods can be combined. ## How-to filter @@ -147,17 +149,17 @@ When the number of articles stored by FreshRSS inevitably grows larger, it's imp This is the easiest method. You only need to click on the category title in the side panel. There are two special categories at the top of the panel: - * *Main feed* displays only articles from feeds marked as available in that category - * *Favourites* displays only articles marked as favourites +* *Main feed* displays only articles from feeds marked as available in that category +* *Favourites* displays only articles marked as favourites ### By feed There are several methods to filter articles by feed: - * by clicking the feed title in the side panel - * by clicking the feed title in the article details - * by filtering in the feed options from the side panel - * by filtering in the feed configuration +* by clicking the feed title in the side panel +* by clicking the feed title in the article details +* by filtering in the feed options from the side panel +* by filtering in the feed configuration  diff --git a/docs/en/users/04_Subscriptions.md b/docs/en/users/04_Subscriptions.md index 881899ce0..93834e354 100644 --- a/docs/en/users/04_Subscriptions.md +++ b/docs/en/users/04_Subscriptions.md @@ -1,23 +1,23 @@ # Adding a feed - 1. To add a feed, copy the URL of its RSS or Atom file (for instance, the Framablog RSS URL is `https://framablog.org/feed/`). FreshRSS is able to automatically find the address of the feed for websites that are declaring it in a standard way. - 2. In FreshRSS, click the "**+**" button next to “Subscriptions management”. - 3. Paste the URL in the “Feed URL” field. - 4. (optional): You can select the category for your feed. By default, it will be in “Uncategorized”. - 5. (optional): If the subscription requires credentials, you can enter them in the "HTTP username" and "HTTP password" fields. - 6. (optional): You can set a timeout for the feed request if the feed requires it. - 7. (optional): You can choose to ignore SSL certificate errors (such as with self-signed certificates) by setting "Verify SSL security" to "No". This is not recommended, and it is better to either add the root certificate to the FreshRSS server or to fix the SSL certificate problems on the feed hosting server. +1. To add a feed, copy the URL of its RSS or Atom file (for instance, the Framablog RSS URL is `https://framablog.org/feed/`). FreshRSS is able to automatically find the address of the feed for websites that are declaring it in a standard way. +2. In FreshRSS, click the "**+**" button next to “Subscriptions management”. +3. Paste the URL in the “Feed URL” field. +4. (optional): You can select the category for your feed. By default, it will be in “Uncategorized”. +5. (optional): If the subscription requires credentials, you can enter them in the "HTTP username" and "HTTP password" fields. +6. (optional): You can set a timeout for the feed request if the feed requires it. +7. (optional): You can choose to ignore SSL certificate errors (such as with self-signed certificates) by setting "Verify SSL security" to "No". This is not recommended, and it is better to either add the root certificate to the FreshRSS server or to fix the SSL certificate problems on the feed hosting server. ## Subscription management -The "Subscription management" submenu allows categories and feeds to be configured. Feeds can be moved between categories by drag-and-drop, or in the individual feed's settings. Hovering over a feed/category will cause a gear icon to appear. Clicking the icon will bring up the settings for that item. +The "Subscription management" submenu allows categories and feeds to be configured. Feeds can be moved between categories by drag-and-drop, or in the individual feed's settings. Hovering over a feed/category will cause a gear icon to appear. Clicking the icon will bring up the settings for that item. ## Category Settings ### Information * **Title:** Name of category - * **Display position:** Defines the order of categories. Lower numbers get priority, non-numbered items come last, and equally numbered items will sort by alphabetical order. +* **Display position:** Defines the order of categories. Lower numbers get priority, non-numbered items come last, and equally numbered items will sort by alphabetical order. ### Archiving @@ -47,16 +47,19 @@ The "Article CSS selector on original website" corresponds to the "path" consis ##### Example: Rue89 -To find this path, you have to go to the address of one of the truncated articles (for example, http://www.rue89.com/2013/10/15/prof-maths-jai-atteint-lextase-dihn-pedagogie-inversee-246635). You look have to look for the "block" of HTML that corresponds to article content (in the source code!). +To find this path, you have to go to the address of one of the truncated articles. +You look have to look for the "block" of HTML that corresponds to article content (in the source code!). Here we find that the block that encompasses nothing but the content of the article is ```<div class="content clearfix">```. We'll only use the `.content` class here. Nevertheless, as said above, it's best to start the path with an id. If we go back to the parent block, we find ```<div id="article">``` and that's perfect! The path will be ```#article .content```. -##### Add the corresponding classes to the article CSS path on the feed configuration page. Examples: +##### Add the corresponding classes to the article CSS path on the feed configuration page -* Rue89: ```#article .content``` -* PCINpact: ```#actu_content``` -* Lesnumériques: ```article#body div.text.clearfix``` -* Phoronix: ```#main .content``` +Examples: + +* Rue89: ```#article .content``` +* PCINpact: ```#actu_content``` +* Lesnumériques: ```article#body div.text.clearfix``` +* Phoronix: ```#main .content``` ##### Combining CSS Classes @@ -94,20 +97,20 @@ See [SQLite export/import]( https://github.com/FreshRSS/FreshRSS/tree/edge/cli) ## Export - 1. To export your list of feeds, go to “Subscriptions management”. - 2. Click on “Import / export” - 3. You can select for your export: - 1. the list of feeds - 2. labelled articles - 3. favourite articles - 4. and finally, you can select feeds you want to export (by default, all feeds are selected) - 4. Click on “export”. +1. To export your list of feeds, go to “Subscriptions management”. +2. Click on “Import / export” +3. You can select for your export: + 1. the list of feeds + 2. labelled articles + 3. favourite articles + 4. and finally, you can select feeds you want to export (by default, all feeds are selected) +4. Click on “export”. ## Import - 1. Go to the page “Import / export”. - 2. Click on “Browse” and select your OPML or archive file on your computer. - 3. Click on “Import” +1. Go to the page “Import / export”. +2. Click on “Browse” and select your OPML or archive file on your computer. +3. Click on “Import” > **Important**: you can not import directly a list of feeds from a text file. > You need to convert it beforehand to _OPML_. @@ -116,11 +119,11 @@ See [SQLite export/import]( https://github.com/FreshRSS/FreshRSS/tree/edge/cli) > * [Pandoc](https://pandoc.org/) available for most systems, > * [OPML generator](https://opml-gen.ovh/) available online, > * [txt2opml](https://alterfiles.com/convert/txt/opml) available online. - + ## Use bookmarklet Bookmarklets are little scripts that you can execute to perform various tasks. FreshRSS offers a bookmarklet for subscribing to newsfeeds. - 1. Open “Subscriptions management”. - 2. Click on “Subscription tools”. - 3. Drag the “Subscribe” button to your bookmark toolbar or right click and choose your browser’s “Bookmark link” action. +1. Open “Subscriptions management”. +2. Click on “Subscription tools”. +3. Drag the “Subscribe” button to your bookmark toolbar or right click and choose your browser’s “Bookmark link” action. diff --git a/docs/en/users/05_Configuration.md b/docs/en/users/05_Configuration.md index a08a9e5fc..2002a18fe 100644 --- a/docs/en/users/05_Configuration.md +++ b/docs/en/users/05_Configuration.md @@ -15,14 +15,14 @@ Available languages are: cz, de, en, es, fr, he, it, ko, nl, oc, pt-br, ru, tr, There's no accounting for tastes, which is why FreshRSS offers eight official themes: - * *Blue Lagoon* by **Mister aiR** - * *Dark* by **AD** - * *Flat design* by **Marien Fressinaud** - * *Origine* by **Marien Fressinaud** - * *Origine-compact* by **Kevin Papst** - * *Pafat* by **Plopoyop** - * *Screwdriver* by **Mister aiR** - * *Swage* by **Patrick Crandol** +* *Blue Lagoon* by **Mister aiR** +* *Dark* by **AD** +* *Flat design* by **Marien Fressinaud** +* *Origine* by **Marien Fressinaud** +* *Origine-compact* by **Kevin Papst** +* *Pafat* by **Plopoyop** +* *Screwdriver* by **Mister aiR** +* *Swage* by **Patrick Crandol** If you can't find any themes you like, it's always possible to [create your own](../developers/04_Frontend/02_Design.md). @@ -32,10 +32,10 @@ To select a theme, simply scroll through the themes and select one that strikes Some people prefer short lines of text, while others prefer to maximize the available screen space. To satisfy the maximum number of people, it's possible to customize the width of the displayed content. There are four settings available: - * **Fine** displays content up to a maximum width of 550 pixels - * **Medium** displays content up to a maximum width of 800 pixels - * **Large** displays content up to a maximum width of 1000 pixels - * **No limit** displays the content on 100% of the available space +* **Fine** displays content up to a maximum width of 550 pixels +* **Medium** displays content up to a maximum width of 800 pixels +* **Large** displays content up to a maximum width of 1000 pixels +* **No limit** displays the content on 100% of the available space ## Article icons @@ -68,11 +68,11 @@ If you don't use those buttons because you never browse on mobile or because you ## Number of articles per page -This setting defines the number of articles to display at once before needing to load more. In normal and reading view, more articles are loaded automatically. In global view, a button will appear at the bottom of the list. +This setting defines the number of articles to display at once before needing to load more. In normal and reading view, more articles are loaded automatically. In global view, a button will appear at the bottom of the list. ## Articles to display -The status of articles to display when loading FreshRSS. "Adjust showing" will display only unread articles by default, but will display all articles when there are no unread articles to show. +The status of articles to display when loading FreshRSS. "Adjust showing" will display only unread articles by default, but will display all articles when there are no unread articles to show. ## Use "lazy load" mode to load images @@ -84,9 +84,9 @@ This will set images to load as they are viewed. This can save data, but will ca These are the global options for fetching and retaining articles from feeds. They can be overwridden by individual feed's settings. -## Maintenance +## Maintenance -This allows for purging/optimizing the current user's articles in the database. +This allows for purging/optimizing the current user's articles in the database. # Sharing @@ -99,16 +99,15 @@ By default, the sharing list is empty. To add a new item to the list, please follow the following simple steps: - 1. Select the desired sharing method in the drop-down list. - 1. Press the ```✚``` button to add it to the list. - 1. Configure the method in the list. All names can be modified in the display. Some methods need the sharing URL to be able to work properly (ex: Shaarli). - 1. Submit your changes. +1. Select the desired sharing method in the drop-down list. +1. Press the ```✚``` button to add it to the list. +1. Configure the method in the list. All names can be modified in the display. Some methods need the sharing URL to be able to work properly (ex: Shaarli). +1. Submit your changes. To remove an item from the list, follow those simple steps: - 1. Press the ```❌``` button next to the share method you want to remove. - 1. Submit your changes. - +1. Press the ```❌``` button next to the share method you want to remove. +1. Submit your changes. # Shortcuts @@ -120,10 +119,10 @@ Of course, if you're not satisfied with the key mapping, you can change you conf There are 4 types of shortcuts: - 1. Views: they allow switching views with ease. - 1. Navigation: they allow navigation through articles, feeds, and categories. - 1. Article actions: they allow interactions with an article, like sharing or opening it on the original web-site. - 1. Other actions: they allow other interactions with the application, like opening the user queries menu or accessing the documentation. +1. Views: they allow switching views with ease. +1. Navigation: they allow navigation through articles, feeds, and categories. +1. Article actions: they allow interactions with an article, like sharing or opening it on the original web-site. +1. Other actions: they allow other interactions with the application, like opening the user queries menu or accessing the documentation. It's worth noting that the share article action has two levels. Once you press the shortcut, a menu containing all the share options opens. To choose one share option, you need to select it by its number. When there is only one option, it's selected automatically though. @@ -142,26 +141,26 @@ At the moment, there is no helper to build a user query from here. # Profile -You can change your email address or password here. The authentication token is required for accessing the aggregated RSS feed for a user. A blank token will disable accessing the RSS feed without being logged in. +You can change your email address or password here. The authentication token is required for accessing the aggregated RSS feed for a user. A blank token will disable accessing the RSS feed without being logged in. # Extensions -Extensions can be managed from this menu. Note that while extensions can be removed from the web interface, they cannot be added from it. +Extensions can be managed from this menu. Note that while extensions can be removed from the web interface, they cannot be added from it. # Users -**TODO** +> **TODO** ## Authentication methods ### HTTP Authentication (Apache) - 1. User control is based on the `.htaccess` file. - 2. It is best practice to place the `.htaccess` file in the `./i/` subdirectory so the API and other third party services can work. - 3. If you want to limit all access to registered users only, place the file in the FreshRSS directory itself or in a parent directory. Note that WebSub and API will not work! - 4. Example `.htaccess` file for a user "marie": +1. User control is based on the `.htaccess` file. +2. It is best practice to place the `.htaccess` file in the `./i/` subdirectory so the API and other third party services can work. +3. If you want to limit all access to registered users only, place the file in the FreshRSS directory itself or in a parent directory. Note that WebSub and API will not work! +4. Example `.htaccess` file for a user "marie": -``` +```apache AuthUserFile /home/marie/repertoire/.htpasswd AuthGroupFile /dev/null AuthName "Chez Marie" diff --git a/docs/en/users/06_Mobile_access.md b/docs/en/users/06_Mobile_access.md index 59b3d6c52..9974fb2bb 100644 --- a/docs/en/users/06_Mobile_access.md +++ b/docs/en/users/06_Mobile_access.md @@ -13,8 +13,8 @@ See the [page about the Fever compatible API](../developers/06_Fever_API.md.md) # Testing -3. Under the section “Profile”, click on the link like `https://rss.example.net/api/` next to the field “API password”. -4. Click on first link “Check full server configuration”: +1. Under the section “Profile”, click on the link like `https://rss.example.net/api/` next to the field “API password”. +2. Click on first link “Check full server configuration”: * If you get *PASS* then you are done, all is good: you may proceed to step 6. * If you get *Bad Request!* or *Not Found*, then your server probably does not accept slashes `/` that are escaped `%2F`. Proceed to step 5. * If you get any other error message, proceed to step 5. @@ -22,7 +22,7 @@ See the [page about the Fever compatible API](../developers/06_Fever_API.md.md) # Fix server configuration -5. Click on the second link “Check partial server configuration (without `%2F` support)”: +* Click on the second link “Check partial server configuration (without `%2F` support)”: * If you get `PASS`, then the problem is indeed that your server does not accept slashes `/` that are escaped `%2F`. * With Apache, remember the directive [`AllowEncodedSlashes On`](http://httpd.apache.org/docs/trunk/mod/core.html#allowencodedslashes) * Or use a client that does not escape slashes (such as EasyRSS), in which case proceed to step 6. diff --git a/docs/en/users/07_Frequently_Asked_Questions.md b/docs/en/users/07_Frequently_Asked_Questions.md index f9b6fcd61..ac04cf5f2 100644 --- a/docs/en/users/07_Frequently_Asked_Questions.md +++ b/docs/en/users/07_Frequently_Asked_Questions.md @@ -13,7 +13,8 @@ Of course, ```/i``` has a purpose! It's used for performance and usability: To increase security, FreshRSS is hosted in two sections. The first section is public (the `./p` folder) and the second section is private (everything else). Therefore the `robots.txt` file is located in the `./p` sub-folder. -As explained in the [security section](../admins/09_AccessControl.html), it's highly recommended to make only the public section available at the domain level. With that configuration, `./p` is the root folder for http://demo.freshrss.org/, thus making `robots.txt` available at the root of the application. +As explained in the [security section](../admins/09_AccessControl.html), it's highly recommended to make only the public section available at the domain level. +With that configuration, `./p` is the root folder for <https://demo.freshrss.org/>, thus making `robots.txt` available at the root of the application. The same principle applies to `favicon.ico` and `.htaccess`. |
