Merge branch 'feature/docs_gh_link_roles' into 'master'

docs: use custom roles to generate GitHub links

This change replaces direct links to GitHub master branch with
auto-generated links using docutils custom roles.
These auto-generated links point to the tree or blob for the git commit
ID (or tag) of the repository. This is needed to ensure that links don’t
become broken when files in master branch are moved around or deleted.

The following roles are introduced:

```
- :idf:`path` - points to directory inside ESP-IDF
- :idf_blob:`path` - points to file inside ESP-IDF
- :idf_raw:`path` - points to raw view of the file inside ESP-IDF
- :component:`path` - points to directory inside ESP-IDF components dir
- :component_blob:`path` - points to file inside ESP-IDF components dir
- :component_raw:`path` - points to raw view of the file inside ESP-IDF
  components dir
- :example:`path` - points to directory inside ESP-IDF examples dir
- :example_blob:`path` - points to file inside ESP-IDF examples dir
- :example_raw:`path` - points to raw view of the file inside ESP-IDF
  examples dir
```

A check is added to the CI build script, which searches RST files for
presence of hard-coded links (identified by tree/master, blob/master,
or raw/master part of the URL).
This check can be run manually: cd docs && make gh-linkcheck

Additionally, Sphinx linkcheck build type is used to create new CI test,
which check for broken links. This test has to be triggered explicitly,
because including it in normal build process (when the commit is not yet
deployed to Github) will not work. It can be triggered in a regular
fashion using a combination of cron and Curl, similar to stress tests.

See merge request !455
This commit is contained in:
Ivan Grokhotkov
2017-01-20 17:47:34 +08:00
52 changed files with 187 additions and 116 deletions

View File

@@ -11,9 +11,9 @@ Overview
Application Example
-------------------
Check `/examples/bluetooth <https://github.com/espressif/esp-idf/tree/master/examples/bluetooth>`_ folder of `espressif/esp-idf <https://github.com/espressif/esp-idf/>`_ repository, that contains the following example:
Check :example:`bluetooth` folder in ESP-IDF examples, which contains the following example:
`ble_adv <https://github.com/espressif/esp-idf/blob/master/examples/bluetooth/ble_adv>`_
:example:`bluetooth/ble_adv`
This is a BLE advertising demo with virtual HCI interface. Send Reset/ADV_PARAM/ADV_DATA/ADV_ENABLE HCI command for BLE advertising.
@@ -23,7 +23,7 @@ API Reference
Header Files
^^^^^^^^^^^^
* `bt/include/bt.h <https://github.com/espressif/esp-idf/blob/master/components/bt/include/bt.h>`_
* :component_file:`bt/include/bt.h`
Type Definitions
^^^^^^^^^^^^^^^^

View File

@@ -11,9 +11,9 @@ Use should concern these things:
Application Example
-------------------
Check `/examples/bluetooth <https://github.com/espressif/esp-idf/tree/master/examples/bluetooth>`_ folder of `espressif/esp-idf <https://github.com/espressif/esp-idf>`_ repository, that contains the following example:
Check :example:`bluetooth` folder in ESP-IDF examples, which contains the following example:
`blufi <https://github.com/espressif/esp-idf/blob/master/examples/bluetooth/blufi>`_
:example:`bluetooth/blufi`
This is a BLUFI demo. This demo can set ESP32's wifi to softap/station/softap&station mode and config wifi connections.
@@ -24,7 +24,7 @@ API Reference
Header Files
^^^^^^^^^^^^
* `bt/bluedroid/api/include/esp_blufi_api.h <https://github.com/espressif/esp-idf/blob/master/components/bt/bluedroid/api/include/esp_blufi_api.h>`_
* :component_file:`bt/bluedroid/api/include/esp_blufi_api.h`
Macros
^^^^^^

View File

@@ -20,7 +20,7 @@ API Reference
Header Files
^^^^^^^^^^^^
* `bt/bluedroid/api/include/esp_bt_defs.h <https://github.com/espressif/esp-idf/blob/master/components/bt/bluedroid/api/include/esp_bt_defs.h>`_
* :component_file:`bt/bluedroid/api/include/esp_bt_defs.h`
Macros

View File

@@ -22,7 +22,7 @@ API Reference
Header Files
^^^^^^^^^^^^
* `bt/bluedroid/api/include/esp_bt_device.h <https://github.com/espressif/esp-idf/blob/master/components/bt/bluedroid/api/include/esp_bt_device.h>`_
* :component_file:`bt/bluedroid/api/include/esp_bt_device.h`
Macros

View File

@@ -20,7 +20,7 @@ API Reference
Header Files
^^^^^^^^^^^^
* `bt/bluedroid/api/include/esp_bt_main.h <https://github.com/espressif/esp-idf/blob/master/components/bt/bluedroid/api/include/esp_bt_main.h>`_
* :component_file:`bt/bluedroid/api/include/esp_bt_main.h`
Macros

View File

@@ -11,11 +11,11 @@ Overview
Application Example
-------------------
Check `/examples/bluetooth <https://github.com/espressif/esp-idf/tree/master/examples/bluetooth>`_ folder of `espressif/esp-idf <https://github.com/espressif/esp-idf>`_ repository, that contains the following examples:
Check :example:`bluetooth` folder in ESP-IDF examples, which contains the following examples:
`gatt_server <https://github.com/espressif/esp-idf/blob/master/examples/bluetooth/gatt_server>`_, `gatt_client <https://github.com/espressif/esp-idf/blob/master/examples/bluetooth/gatt_client>`_
:example:`bluetooth/gatt_server`, :example:`bluetooth/gatt_client`
The two demos use different gap api, such like advertising, scan, set device name and others.
The two demos use different GAP APIs, such like advertising, scan, set device name and others.
API Reference
-------------
@@ -23,7 +23,7 @@ API Reference
Header Files
^^^^^^^^^^^^
* `bt/bluedroid/api/include/esp_gap_ble_api.h <https://github.com/espressif/esp-idf/blob/master/components/bt/bluedroid/api/include/esp_gap_ble_api.h>`_
* :component_file:`bt/bluedroid/api/include/esp_gap_ble_api.h`
Macros

View File

@@ -20,7 +20,7 @@ API Reference
Header Files
^^^^^^^^^^^^
* `bt/bluedroid/api/include/esp_gatt_defs.h <https://github.com/espressif/esp-idf/blob/master/components/bt/bluedroid/api/include/esp_gatt_defs.h>`_
* :component_file:`bt/bluedroid/api/include/esp_gatt_defs.h`
Macros

View File

@@ -11,11 +11,11 @@ Overview
Application Example
-------------------
Check `/examples/bluetooth <https://github.com/espressif/esp-idf/tree/master/examples/bluetooth>`_ folder of `espressif/esp-idf <https://github.com/espressif/esp-idf>`_ repository, that contains the following example:
Check :example:`bluetooth` folder in ESP-IDF examples, which contains the following examples:
`gatt_client <https://github.com/espressif/esp-idf/blob/master/examples/bluetooth/gatt_client>`_
:example:`bluetooth/gatt_client`
This is a gatt client demo. This demo can scan devices, connect to the gatt server and discover the service.
This is a GATT client demo. This demo can scan devices, connect to the GATT server and discover the service.
API Reference
@@ -24,7 +24,7 @@ API Reference
Header Files
^^^^^^^^^^^^
* `bt/bluedroid/api/include/esp_gattc_api.h <https://github.com/espressif/esp-idf/blob/master/components/bt/bluedroid/api/include/esp_gattc_api.h>`_
* :component_file:`bt/bluedroid/api/include/esp_gattc_api.h`
Macros
^^^^^^

View File

@@ -11,11 +11,11 @@ Overview
Application Example
-------------------
Check `/examples/bluetooth <https://github.com/espressif/esp-idf/tree/master/examples/bluetooth>`_ folder of `espressif/esp-idf <https://github.com/espressif/esp-idf>`_ repository, that contains the following example:
Check :example:`bluetooth` folder in ESP-IDF examples, which contains the following example:
`gatt_server <https://github.com/espressif/esp-idf/blob/master/examples/bluetooth/gatt_server>`_
:example:`bluetooth/gatt_server`
This is a gatt server demo. Use gatt api to create a gatt server with send advertising. This gatt server can be connected and the service can be discovery.
This is a GATT server demo. Use GATT API to create a GATT server with send advertising. This GATT server can be connected and the service can be discovery.
API Reference
-------------
@@ -23,7 +23,7 @@ API Reference
Header Files
^^^^^^^^^^^^
* `bt/bluedroid/api/include/esp_gatts_api.h <https://github.com/espressif/esp-idf/blob/master/components/bt/bluedroid/api/include/esp_gatts_api.h>`_
* :component_file:`bt/bluedroid/api/include/esp_gatts_api.h`
Macros
^^^^^^

View File

@@ -9,4 +9,4 @@ Bluetooth API
Bluetooth LE <bt_le>
Example code for this API section is provided in `examples/bluetooth <https://github.com/espressif/esp-idf/tree/master/examples/bluetooth>`_ directory of ESP-IDF repository.
Example code for this API section is provided in :example:`bluetooth` directory of ESP-IDF examples.