- *
- *
- */
- function addLanguageSelectorToRtdFlyOutMenu() {
- var flyOutWrapper = $('.rst-other-versions');
- // only relevant on RTD
- if (flyOutWrapper.size() > 0) {
- var observer = new MutationObserver(function (mutations) {
- // since mutation on the target node was triggered we can safely assume the injected RTD div has now been added
- var injectedDiv = $('.rst-other-versions .injected');
- var selectedLanguageCode = determineSelectedLanguageCode();
- var dl = document.createElement('dl');
- var dt = document.createElement('dt');
- dl.appendChild(dt);
- dt.appendChild(document.createTextNode('Languages'));
- for (var languageCode in languageCodeToNameMap) {
- dl.appendChild(createLanguageLinkFor(languageCode, selectedLanguageCode === languageCode));
- }
- injectedDiv.prepend(dl);
- // no need for that observer anymore
- observer.disconnect();
- });
-
- // observed target node is the fly-out wrapper, the only event we care about is when children are modified
- observer.observe(flyOutWrapper[0], {childList: true});
- }
- }
-
/**
* The module doc pages contain relative links to artifacts in the GitHub repository. For those links to work both
* on GitHub (i.e. when the page is viewed on GitHub) and on RTD they are defined with a relative URL. This function
* replaces the relative path with an absolute path based on the selected branch.
*/
function replaceRelativeLinksWithStaticGitHubUrl() {
- var relativePath = "../../../..";
+ var relativePath = "../../..";
var gitHubPath = "https://github.com/nodemcu/nodemcu-firmware/tree/" + determineSelectedBranch();
var gitHubLinks = $("a[href^='" + relativePath + "']").each(function (index) {
var url = $(this).attr('href');
@@ -119,48 +51,6 @@ var nodemcu = nodemcu || {};
});
}
- function createLanguageLinkFor(languageCode, isCurrentlySelected) {
- var strong;
- // split[0] is an '' because the path starts with the separator
- var pathSegments = window.location.pathname.split('/');
- var dd = document.createElement("dd");
- var href = document.createElement("a");
- href.setAttribute('href', '/' + pathSegments[1] + '/' + pathSegments[2] + '/' + languageCode);
- href.appendChild(document.createTextNode(languageCode));
- dd.appendChild(href);
- if (isCurrentlySelected) {
- strong = document.createElement("strong");
- strong.appendChild(dd);
- return strong;
- } else {
- return dd;
- }
- }
-
- /**
- * Analyzes the URL of the current page to find out what the selected language is. It's usually
- * part of the location path. The code needs to distinguish between running MkDocs standalone
- * and docs served from RTD. If no valid language could be determined the default language is
- * returned.
- *
- * @returns 2-char language code
- */
- function determineSelectedLanguageCode() {
- var selectedLanguageCode, path = window.location.pathname;
- if (window.location.origin.indexOf('readthedocs') > -1) {
- // path is like /en///build/ -> extract 'lang'
- // split[0] is an '' because the path starts with the separator
- selectedLanguageCode = path.split('/')[3];
- } else {
- // path is like //build/ -> extract 'lang'
- selectedLanguageCode = path.substr(1, 2);
- }
- if (!selectedLanguageCode || selectedLanguageCode.length > 2) {
- selectedLanguageCode = defaultLanguageCode;
- }
- return selectedLanguageCode;
- }
-
/**
* Analyzes the URL of the current page to find out what the selected GitHub branch is. It's usually
* part of the location path. The code needs to distinguish between running MkDocs standalone
@@ -173,7 +63,11 @@ var nodemcu = nodemcu || {};
if (window.location.origin.indexOf('readthedocs') > -1) {
// path is like /en///build/ -> extract 'lang'
// split[0] is an '' because the path starts with the separator
- branch = path.split('/')[2];
+ var thirdPathSegment = path.split('/')[2];
+ // 'latest' is an alias on RTD for the 'dev' branch - which is the default for 'branch' here
+ if (thirdPathSegment != 'latest') {
+ branch = thirdPathSegment;
+ }
}
return branch;
}
@@ -187,4 +81,4 @@ var nodemcu = nodemcu || {};
}
return values;
}
-}());
\ No newline at end of file
+}());
diff --git a/docs/en/lua-developer-faq.md b/docs/lua-developer-faq.md
similarity index 100%
rename from docs/en/lua-developer-faq.md
rename to docs/lua-developer-faq.md
diff --git a/docs/en/modules/adc.md b/docs/modules/adc.md
similarity index 96%
rename from docs/en/modules/adc.md
rename to docs/modules/adc.md
index b1a854581f..4ac60d68a3 100644
--- a/docs/en/modules/adc.md
+++ b/docs/modules/adc.md
@@ -1,7 +1,7 @@
# ADC Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2017-04-22 | | | [adc.c](../../../components/modules/bthci.c)|
+| 2017-04-22 | | | [adc.c](../../components/modules/bthci.c)|
The ADC module provides access to the in-built ADC1.
diff --git a/docs/en/modules/bit.md b/docs/modules/bit.md
similarity index 97%
rename from docs/en/modules/bit.md
rename to docs/modules/bit.md
index b6dc1af4d0..03f969ab64 100644
--- a/docs/en/modules/bit.md
+++ b/docs/modules/bit.md
@@ -1,7 +1,7 @@
# bit Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2014-12-24 | [https://github.com/LuaDist/bitlib](https://github.com/LuaDist/bitlib), [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [bit.c](../../../app/modules/bit.c)|
+| 2014-12-24 | [https://github.com/LuaDist/bitlib](https://github.com/LuaDist/bitlib), [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [bit.c](../../app/modules/bit.c)|
Bit manipulation support, on 32bit integers.
diff --git a/docs/en/modules/bthci.md b/docs/modules/bthci.md
similarity index 98%
rename from docs/en/modules/bthci.md
rename to docs/modules/bthci.md
index 4f6fc828ae..bc3b8bb634 100644
--- a/docs/en/modules/bthci.md
+++ b/docs/modules/bthci.md
@@ -1,7 +1,7 @@
# BT HCI Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2016-09-29 | [DiUS](https://github.com/DiUS), [Johny Mattsson](https://github.com/jmattsson) | [Johny Mattsson](https://github.com/jmattsson) | [bthci.c](../../../components/modules/bthci.c)|
+| 2016-09-29 | [DiUS](https://github.com/DiUS), [Johny Mattsson](https://github.com/jmattsson) | [Johny Mattsson](https://github.com/jmattsson) | [bthci.c](../../components/modules/bthci.c)|
The BT HCI module provides a minimal HCI-level interface to BlueTooth
adverisements. Via this module you can set up BT LE advertisements and also
diff --git a/docs/en/modules/can.md b/docs/modules/can.md
similarity index 95%
rename from docs/en/modules/can.md
rename to docs/modules/can.md
index 682864087c..90823d5817 100644
--- a/docs/en/modules/can.md
+++ b/docs/modules/can.md
@@ -1,7 +1,7 @@
# CAN Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2017-04-27 | [@ThomasBarth](https://github.com/ThomasBarth/ESP32-CAN-Driver/), zelll | | [can.c](../../../components/modules/can.c)|
+| 2017-04-27 | [@ThomasBarth](https://github.com/ThomasBarth/ESP32-CAN-Driver/), zelll | | [can.c](../../components/modules/can.c)|
The CAN module provides access to the in-built CAN controller.
diff --git a/docs/en/modules/dac.md b/docs/modules/dac.md
similarity index 93%
rename from docs/en/modules/dac.md
rename to docs/modules/dac.md
index f7a730167c..81464da0c1 100644
--- a/docs/en/modules/dac.md
+++ b/docs/modules/dac.md
@@ -1,7 +1,7 @@
# DAC Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2018-10-14 | [Arnim Läuger](https://github.com/devsaurus) | [Arnim Läuger](https://github.com/devsaurus) | [dac.c](../../../components/modules/dac.c)|
+| 2018-10-14 | [Arnim Läuger](https://github.com/devsaurus) | [Arnim Läuger](https://github.com/devsaurus) | [dac.c](../../components/modules/dac.c)|
The DAC module provides access to the two built-in Digital to Analog Converters.
diff --git a/docs/en/modules/dht.md b/docs/modules/dht.md
similarity index 96%
rename from docs/en/modules/dht.md
rename to docs/modules/dht.md
index 8610507825..399beb5db6 100644
--- a/docs/en/modules/dht.md
+++ b/docs/modules/dht.md
@@ -1,7 +1,7 @@
# DHT Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2017-03-30 | [Arnim Läuger](https://github.com/devsaurus) | [Arnim Läuger](https://github.com/devsaurus) | [dht](../../../components/modules/dht.c)|
+| 2017-03-30 | [Arnim Läuger](https://github.com/devsaurus) | [Arnim Läuger](https://github.com/devsaurus) | [dht](../../components/modules/dht.c)|
## Constants
Constants for various functions.
diff --git a/docs/en/modules/encoder.md b/docs/modules/encoder.md
similarity index 95%
rename from docs/en/modules/encoder.md
rename to docs/modules/encoder.md
index a7244d5ca4..d688fa2658 100644
--- a/docs/en/modules/encoder.md
+++ b/docs/modules/encoder.md
@@ -1,7 +1,7 @@
# encoder Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2016-02-26 | [Terry Ellison](https://github.com/TerryE) | [Terry Ellison](https://github.com/TerryE) | [encoder.c](../../../app/modules/encoder.c)|
+| 2016-02-26 | [Terry Ellison](https://github.com/TerryE) | [Terry Ellison](https://github.com/TerryE) | [encoder.c](../../app/modules/encoder.c)|
The encoder modules provides various functions for encoding and decoding byte data.
diff --git a/docs/en/modules/file.md b/docs/modules/file.md
similarity index 99%
rename from docs/en/modules/file.md
rename to docs/modules/file.md
index a197d60504..7fce90babb 100644
--- a/docs/en/modules/file.md
+++ b/docs/modules/file.md
@@ -1,7 +1,7 @@
# file Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2014-12-22 | [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [file.c](../../../components/modules/file.c)|
+| 2014-12-22 | [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [file.c](../../components/modules/file.c)|
The file module provides access to the file system and its individual files.
diff --git a/docs/en/modules/gpio.md b/docs/modules/gpio.md
similarity index 99%
rename from docs/en/modules/gpio.md
rename to docs/modules/gpio.md
index 93bb2331f2..9256831c42 100644
--- a/docs/en/modules/gpio.md
+++ b/docs/modules/gpio.md
@@ -1,7 +1,7 @@
# GPIO Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2016-11-26 | [Johny Mattsson](https://github.com/jmattsson) | [Johny Mattsson](https://github.com/jmattsson) | [gpio.c](../../../components/modules/gpio.c)|
+| 2016-11-26 | [Johny Mattsson](https://github.com/jmattsson) | [Johny Mattsson](https://github.com/jmattsson) | [gpio.c](../../components/modules/gpio.c)|
This module provides access to the [GPIO](https://en.wikipedia.org/wiki/General-purpose_input/output) (General Purpose Input/Output) subsystem.
diff --git a/docs/en/modules/http.md b/docs/modules/http.md
similarity index 99%
rename from docs/en/modules/http.md
rename to docs/modules/http.md
index c5c1fc4d7a..d84eea24d8 100644
--- a/docs/en/modules/http.md
+++ b/docs/modules/http.md
@@ -1,7 +1,7 @@
# HTTP Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2018-10-27 | [Tom Sutcliffe](https://github.com/tomsci) | [Tom Sutcliffe](https://github.com/tomsci) | [http.c](../../../components/modules/http.c)|
+| 2018-10-27 | [Tom Sutcliffe](https://github.com/tomsci) | [Tom Sutcliffe](https://github.com/tomsci) | [http.c](../../components/modules/http.c)|
HTTP *client* module that provides an interface to do GET/POST/PUT/DELETE over HTTP and HTTPS, as well as customized requests. It can support large requests with an API similar to that of the `net` module. Multiple concurrent HTTP requests are supported. Both synchronous and asynchronous modes are supported.
diff --git a/docs/en/modules/i2c.md b/docs/modules/i2c.md
similarity index 98%
rename from docs/en/modules/i2c.md
rename to docs/modules/i2c.md
index f364bef400..1f0b2a50b9 100644
--- a/docs/en/modules/i2c.md
+++ b/docs/modules/i2c.md
@@ -1,7 +1,7 @@
# I²C Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2014-12-22 | [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [i2c.c](../../../app/modules/i2c.c)|
+| 2014-12-22 | [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [i2c.c](../../app/modules/i2c.c)|
This module supports different interfaces for communicating via I²C protocol. All interfaces can be assigned to arbitrary GPIOs for SCL and SDA and can be operated concurrently.
diff --git a/docs/en/modules/i2s.md b/docs/modules/i2s.md
similarity index 98%
rename from docs/en/modules/i2s.md
rename to docs/modules/i2s.md
index d426f058de..84e55a07e9 100644
--- a/docs/en/modules/i2s.md
+++ b/docs/modules/i2s.md
@@ -1,7 +1,7 @@
# I2S Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2017-04-29 | zelll | [Arnim Läuger](https://github.com/devsaurus) | [i2s.c](../../../components/modules/i2s.c)|
+| 2017-04-29 | zelll | [Arnim Läuger](https://github.com/devsaurus) | [i2s.c](../../components/modules/i2s.c)|
The I2S module provides access to the in-built two I2S controllers.
diff --git a/docs/en/modules/ledc.md b/docs/modules/ledc.md
similarity index 99%
rename from docs/en/modules/ledc.md
rename to docs/modules/ledc.md
index a3549e3ee9..3e7389541a 100644
--- a/docs/en/modules/ledc.md
+++ b/docs/modules/ledc.md
@@ -1,7 +1,7 @@
# LEDC Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2017-07-05 | [Lars Stenberg](https://github.com/larsstenberg) | [Lars Stenberg](https://github.com/larsstenberg) | [ledc.c](../../../components/modules/ledc.c)|
+| 2017-07-05 | [Lars Stenberg](https://github.com/larsstenberg) | [Lars Stenberg](https://github.com/larsstenberg) | [ledc.c](../../components/modules/ledc.c)|
This module provides access to the [LEDC](http://esp-idf.readthedocs.io/en/latest/api-reference/peripherals/ledc.html) PWM driver.
diff --git a/docs/en/modules/mqtt.md b/docs/modules/mqtt.md
similarity index 99%
rename from docs/en/modules/mqtt.md
rename to docs/modules/mqtt.md
index 8cf18edfd0..ea4e801f0f 100644
--- a/docs/en/modules/mqtt.md
+++ b/docs/modules/mqtt.md
@@ -1,7 +1,7 @@
# MQTT Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2018-10-08 | [Tuan PM](https://github.com/tuanpmt/esp_mqtt), [Espressif](https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/protocols/mqtt.html) | | [mqtt.c](../../../components/modules/mqtt.c)|
+| 2018-10-08 | [Tuan PM](https://github.com/tuanpmt/esp_mqtt), [Espressif](https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/protocols/mqtt.html) | | [mqtt.c](../../components/modules/mqtt.c)|
The client supports version 3.1 and 3.1.1 of the [MQTT](https://en.wikipedia.org/wiki/MQTT) protocol. Make sure that the correct version is set with `make menuconfig` -> "Component config" -> "ESP-MQTT Configurations" -> "Enable MQTT protocol 3.1.1".
diff --git a/docs/en/modules/net.md b/docs/modules/net.md
similarity index 99%
rename from docs/en/modules/net.md
rename to docs/modules/net.md
index 168093846c..0c3462c572 100644
--- a/docs/en/modules/net.md
+++ b/docs/modules/net.md
@@ -1,7 +1,7 @@
# net Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2014-12-22 | [PhoeniX](https://github.com/djphoenix) | [Johny Mattsson](https://github.com/jmattsson), [Arnim Läuger](https://github.com/devsaurus) | [net.c](../../../components/modules/net.c)|
+| 2014-12-22 | [PhoeniX](https://github.com/djphoenix) | [Johny Mattsson](https://github.com/jmattsson), [Arnim Läuger](https://github.com/devsaurus) | [net.c](../../components/modules/net.c)|
## Constants
Constants to be used in other functions: `net.TCP`, `net.UDP`
diff --git a/docs/en/modules/node.md b/docs/modules/node.md
similarity index 99%
rename from docs/en/modules/node.md
rename to docs/modules/node.md
index 9897882b97..4cf04e8136 100644
--- a/docs/en/modules/node.md
+++ b/docs/modules/node.md
@@ -1,7 +1,7 @@
# node Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2014-12-22 | [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [node.c](../../../app/modules/node.c)|
+| 2014-12-22 | [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [node.c](../../app/modules/node.c)|
The node module provides access to system-level features such as sleep, restart and various info and IDs.
diff --git a/docs/en/modules/ow.md b/docs/modules/ow.md
similarity index 98%
rename from docs/en/modules/ow.md
rename to docs/modules/ow.md
index 3fe8160c50..01910b4a84 100644
--- a/docs/en/modules/ow.md
+++ b/docs/modules/ow.md
@@ -1,7 +1,7 @@
# 1-Wire Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2014-12-22 | [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [ow.c](../../../components/modules/ow.c)|
+| 2014-12-22 | [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [ow.c](../../components/modules/ow.c)|
This module provides functions to work with the [1-Wire](https://en.wikipedia.org/wiki/1-Wire) device communications bus system.
diff --git a/docs/en/modules/qrcodegen.md b/docs/modules/qrcodegen.md
similarity index 96%
rename from docs/en/modules/qrcodegen.md
rename to docs/modules/qrcodegen.md
index 60075bcece..08708967bf 100644
--- a/docs/en/modules/qrcodegen.md
+++ b/docs/modules/qrcodegen.md
@@ -1,7 +1,7 @@
# QR Code Generator Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2018-10-20 | https://github.com/nayuki/QR-Code-generator.git integrated by [Tom Sutcliffe](https://github.com/tomsci) | [Tom Sutcliffe](https://github.com/tomsci) | [qrcodegen.c](../../../components/modules/qrcodegen.c)|
+| 2018-10-20 | https://github.com/nayuki/QR-Code-generator.git integrated by [Tom Sutcliffe](https://github.com/tomsci) | [Tom Sutcliffe](https://github.com/tomsci) | [qrcodegen.c](../../components/modules/qrcodegen.c)|
This module wraps the [QR Code](https://en.wikipedia.org/wiki/QR_code) Generator API written in C by https://github.com/nayuki/QR-Code-generator.git for producing a QR Code.
diff --git a/docs/en/modules/sdmmc.md b/docs/modules/sdmmc.md
similarity index 96%
rename from docs/en/modules/sdmmc.md
rename to docs/modules/sdmmc.md
index ab5ac86f3d..8f345dce40 100644
--- a/docs/en/modules/sdmmc.md
+++ b/docs/modules/sdmmc.md
@@ -1,7 +1,7 @@
# SDMMC Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2017-04-17 | [Arnim Läuger](https://github.com/devsaurus) | [Arnim Läuger](https://github.com/devsaurus) | [sdmmc.c](../../../components/modules/sdmmc.c)|
+| 2017-04-17 | [Arnim Läuger](https://github.com/devsaurus) | [Arnim Läuger](https://github.com/devsaurus) | [sdmmc.c](../../components/modules/sdmmc.c)|
!!! note
@@ -36,7 +36,7 @@ Connections to `CLK`, `CMD`, and `DAT0` are mandatory and enable basic operation
The adapter does not require level shifters since SD and ESP are supposed to be powered with the same voltage. If your specific model contains level shifters then make sure that both sides can be operated at 3V3.
-![1:1 micro-sd adapter](../../img/micro_sd-small.jpg "1:1 micro-sd adapter")
+![1:1 micro-sd adapter](../img/micro_sd-small.jpg "1:1 micro-sd adapter")
## sdmmc.init()
Initialize the SDMMC and probe the attached SD card.
diff --git a/docs/en/modules/sigma-delta.md b/docs/modules/sigma-delta.md
similarity index 98%
rename from docs/en/modules/sigma-delta.md
rename to docs/modules/sigma-delta.md
index 9dedd772b1..786f0d7657 100644
--- a/docs/en/modules/sigma-delta.md
+++ b/docs/modules/sigma-delta.md
@@ -1,7 +1,7 @@
# Sigma-delta Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2017-01-13 | [Arnim Läuger](https://github.com/devsaurus) | [Arnim Läuger](https://github.com/devsaurus) | [sigma_delta.c](../../../app/modules/sigma_delta.c)|
+| 2017-01-13 | [Arnim Läuger](https://github.com/devsaurus) | [Arnim Läuger](https://github.com/devsaurus) | [sigma_delta.c](../../app/modules/sigma_delta.c)|
This module provides access to the [sigma-delta](https://en.wikipedia.org/wiki/Delta-sigma_modulation) component. It's a hardware signal generator that can be routed to any of the output GPIOs.
diff --git a/docs/en/modules/sjson.md b/docs/modules/sjson.md
similarity index 97%
rename from docs/en/modules/sjson.md
rename to docs/modules/sjson.md
index 03da3aff5b..52aa427336 100644
--- a/docs/en/modules/sjson.md
+++ b/docs/modules/sjson.md
@@ -1,7 +1,7 @@
# SJSON Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2017-02-01 | [Philip Gladstone](https://github.com/pjsg) | [Philip Gladstone](https://github.com/pjsg) | [sjson](../../../app/modules/sjson.c) |
+| 2017-02-01 | [Philip Gladstone](https://github.com/pjsg) | [Philip Gladstone](https://github.com/pjsg) | [sjson](../../app/modules/sjson.c) |
The JSON support module. Allows encoding and decoding to/from JSON.
@@ -23,7 +23,7 @@ When encoding a Lua object, if a function is found, then it is invoked (with no
!!! note
- All examples below use in-memory JSON or content read from the SPIFFS file system. However, where a streaming implementation really shines is in fetching large JSON structures from the remote resources and extracting values on-the-fly. An elaborate streaming example can be found in the [`/lua_examples`](../../../lua_examples/sjson-streaming.lua) folder.
+ All examples below use in-memory JSON or content read from the SPIFFS file system. However, where a streaming implementation really shines is in fetching large JSON structures from the remote resources and extracting values on-the-fly. An elaborate streaming example can be found in the [`/lua_examples`](../../lua_examples/sjson-streaming.lua) folder.
## sjson.encoder()
diff --git a/docs/en/modules/sodium.md b/docs/modules/sodium.md
similarity index 98%
rename from docs/en/modules/sodium.md
rename to docs/modules/sodium.md
index 0ce9a7b55a..800315b7e4 100644
--- a/docs/en/modules/sodium.md
+++ b/docs/modules/sodium.md
@@ -1,7 +1,7 @@
# Sodium module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2018-10-27 | [Tom Sutcliffe](https://github.com/tomsci) | [Tom Sutcliffe](https://github.com/tomsci) | [sodium.c](../../../components/modules/sodium.c)|
+| 2018-10-27 | [Tom Sutcliffe](https://github.com/tomsci) | [Tom Sutcliffe](https://github.com/tomsci) | [sodium.c](../../components/modules/sodium.c)|
This module wraps the [LibSodium](https://libsodium.org/) C library. LibSodium is a library for performing Elliptic Curve Cryptography.
diff --git a/docs/en/modules/spi.md b/docs/modules/spi.md
similarity index 97%
rename from docs/en/modules/spi.md
rename to docs/modules/spi.md
index 77a919ff86..1280a11e7c 100644
--- a/docs/en/modules/spi.md
+++ b/docs/modules/spi.md
@@ -1,7 +1,7 @@
# SPI Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2017-05-04 | [Arnim Läuger](https://github.com/devsaurus) | [Arnim Läuger](https://github.com/devsaurus) | [spi.c](../../../components/modules/spi.c)|
+| 2017-05-04 | [Arnim Läuger](https://github.com/devsaurus) | [Arnim Läuger](https://github.com/devsaurus) | [spi.c](../../components/modules/spi.c)|
# SPI Bus
The ESP32 contains 4 SPI bus hosts called `SPI`, `SPI1`, `HSPI`, and `VSPI`. `SPI` is locked to flash communication and is not available for the application. `SPI1` is currently also tied to flash support, but might be available in the future. Applications can currently only use the `HSPI` and `VSPI` hosts.
@@ -10,7 +10,7 @@ The host signals can be mapped to any suitable GPIO pins.
!!! note
- The API on ESP32 differs from the API on ESP8266. For backwards compatibility please refer to [`lua_compat/spi_compat.lua`](../../../lua_compat/spi_compat.lua).
+ The API on ESP32 differs from the API on ESP8266. For backwards compatibility please refer to [`lua_compat/spi_compat.lua`](../../lua_compat/spi_compat.lua).
## spi.master()
diff --git a/docs/en/modules/struct.md b/docs/modules/struct.md
similarity index 99%
rename from docs/en/modules/struct.md
rename to docs/modules/struct.md
index 57aa91917f..0dfbe7bc84 100644
--- a/docs/en/modules/struct.md
+++ b/docs/modules/struct.md
@@ -1,7 +1,7 @@
# Struct Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2015-02-13 | [Roberto Ierusalimschy](http://www.inf.puc-rio.br/~roberto/struct/), [Philip Gladstone](https://github.com/pjsg) | [Philip Gladstone](https://github.com/pjsg) | [struct.c](../../../app/modules/struct.c)|
+| 2015-02-13 | [Roberto Ierusalimschy](http://www.inf.puc-rio.br/~roberto/struct/), [Philip Gladstone](https://github.com/pjsg) | [Philip Gladstone](https://github.com/pjsg) | [struct.c](../../app/modules/struct.c)|
This module offers basic facilities to convert Lua values to and from C structs. Its main functions are `struct.pack`, which packs multiple Lua values into a struct-like string; and `struct.unpack`, which unpacks multiple Lua values from a given struct-like string.
diff --git a/docs/en/modules/time.md b/docs/modules/time.md
similarity index 99%
rename from docs/en/modules/time.md
rename to docs/modules/time.md
index 4c7185ce45..1b46af0982 100644
--- a/docs/en/modules/time.md
+++ b/docs/modules/time.md
@@ -1,7 +1,7 @@
# Timer Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2018-11-25 | [Skirmantas Lauzikas](https://github.com/x-logLT) | [Skirmantas Lauzikas](https://github.com/x-logLT) | [time.c](../../../components/modules/time.c)|
+| 2018-11-25 | [Skirmantas Lauzikas](https://github.com/x-logLT) | [Skirmantas Lauzikas](https://github.com/x-logLT) | [time.c](../../components/modules/time.c)|
This module offers facilities for coverting beteen unix time and calendar, setting/getting system time, locale and controll of NTP client.
diff --git a/docs/en/modules/tmr.md b/docs/modules/tmr.md
similarity index 98%
rename from docs/en/modules/tmr.md
rename to docs/modules/tmr.md
index 1b3d1efd83..d07f64e98c 100644
--- a/docs/en/modules/tmr.md
+++ b/docs/modules/tmr.md
@@ -1,7 +1,7 @@
# Timer Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2014-12-12 | [Zeroday](https://github.com/funshine) | [dnc40085](https://github.com/dnc40085) | [tmr.c](../../../app/modules/tmr.c)|
+| 2014-12-12 | [Zeroday](https://github.com/funshine) | [dnc40085](https://github.com/dnc40085) | [tmr.c](../../app/modules/tmr.c)|
The tmr module allows access to simple timers. It is aimed at setting up regularly occurring tasks and timing out operations.
diff --git a/docs/en/modules/u8g2.md b/docs/modules/u8g2.md
similarity index 97%
rename from docs/en/modules/u8g2.md
rename to docs/modules/u8g2.md
index f7cd7d8715..a87f0083e5 100644
--- a/docs/en/modules/u8g2.md
+++ b/docs/modules/u8g2.md
@@ -1,7 +1,7 @@
# u8g2 Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2017-06-02 | [Oli Kraus](https://github.com/olikraus/u8glib), [Arnim Läuger](https://github.com/devsaurus) | [Arnim Läuger](https://github.com/devsaurus) | [u8g2.c](../../../components/modules/u8g2.c)|
+| 2017-06-02 | [Oli Kraus](https://github.com/olikraus/u8glib), [Arnim Läuger](https://github.com/devsaurus) | [Arnim Läuger](https://github.com/devsaurus) | [u8g2.c](../../components/modules/u8g2.c)|
U8g2 is a graphics library developed at [olikraus/u8g2](https://github.com/olikraus/u8g2) with support for many different displays. It is the successor of [U8glib](https://github.com/olikraus/u8glib) which is not developed any further. Please see [How to port U8g code](https://github.com/olikraus/u8g2/wiki/u8gvsu8g2) for generic porting instructions.
@@ -102,7 +102,7 @@ res = 0 -- RES is optional YMMV
disp = u8g2.ssd1306_128x64_noname(bus, cs, dc, res)
```
-This object provides all of u8g2's methods to control the display. Refer to [graphics_test.lua](../../../lua_examples/u8g2/graphics_test.lua) to get an impression how this is achieved with Lua code. Visit the [u8g2 homepage](https://github.com/olikraus/u8g2) for technical details.
+This object provides all of u8g2's methods to control the display. Refer to [graphics_test.lua](../../lua_examples/u8g2/graphics_test.lua) to get an impression how this is achieved with Lua code. Visit the [u8g2 homepage](https://github.com/olikraus/u8g2) for technical details.
### Displays selection
I²C and HW SPI based displays with support in u8g2 can be enabled.
@@ -110,7 +110,7 @@ I²C and HW SPI based displays with support in u8g2 can be enabled.
The procedure is different for ESP8266 and ESP32 platforms.
#### ESP8266
-Add the desired entries to the I²C or SPI display tables in [app/include/u8g2_displays.h](../../../app/include/u8g2_displays.h):
+Add the desired entries to the I²C or SPI display tables in [app/include/u8g2_displays.h](../../app/include/u8g2_displays.h):
```c
#define U8G2_DISPLAY_TABLE_I2C \
U8G2_DISPLAY_TABLE_ENTRY(u8g2_Setup_ssd1306_i2c_128x64_noname_f, ssd1306_i2c_128x64_noname) \
@@ -135,7 +135,7 @@ U8g2 comes with a wide range of fonts for small displays. Fonts can be supplied
The procedure is different for ESP8266 and ESP32 platforms.
#### ESP8266
-Add the desired fonts to the font table in [app/include/u8g2_fonts.h](../../../app/include/u8g2_fonts.h):
+Add the desired fonts to the font table in [app/include/u8g2_fonts.h](../../app/include/u8g2_fonts.h):
```c
#define U8G2_FONT_TABLE \
U8G2_FONT_TABLE_ENTRY(font_6x10_tf) \
@@ -151,7 +151,7 @@ make EXTRA_CCFLAGS='-include $(TOP_DIR)/my_extras.h'
Add the desired fonts to the font selection sub-entry via `make menuconfig`.
### Bitmaps
-XBM bitmaps are supplied as strings to `drawXBM()` in contrast to the source code based inclusion of XBMs in upstream u8g2 library. This off-loads all data handling from the u8g2 module to generic methods for binary files. See [graphics_test.lua](../../../lua_examples/u8g2/graphics_test.lua).
+XBM bitmaps are supplied as strings to `drawXBM()` in contrast to the source code based inclusion of XBMs in upstream u8g2 library. This off-loads all data handling from the u8g2 module to generic methods for binary files. See [graphics_test.lua](../../lua_examples/u8g2/graphics_test.lua).
Conversion of XBM bitmaps can be performed online with [Online-Utility's Image Converter](http://www.online-utility.org/image_converter.jsp): Convert from XBM to MONO format and upload the binary result.
@@ -482,7 +482,7 @@ Draw a XBM Bitmap.
See [u8g2 drawXBM()](https://github.com/olikraus/u8g2/wiki/u8g2reference#drawxbm).
-XBM bitmaps are supplied as strings to `drawXBM()`. This off-loads all data handling from the u8g2 module to generic methods for binary files. See [graphics_test.lua](../../../lua_examples/u8glib/u8g_graphics_test.lua).
+XBM bitmaps are supplied as strings to `drawXBM()`. This off-loads all data handling from the u8g2 module to generic methods for binary files. See [graphics_test.lua](../../lua_examples/u8glib/u8g_graphics_test.lua).
In contrast to the source code based inclusion of XBMs in upstream u8g2 library, it's required to provide precompiled binary files. This can be performed online with [Online-Utility's Image Converter](http://www.online-utility.org/image_converter.jsp): Convert from XBM to MONO format and upload the binary result.
diff --git a/docs/en/modules/uart.md b/docs/modules/uart.md
similarity index 98%
rename from docs/en/modules/uart.md
rename to docs/modules/uart.md
index ee17ae5567..e3abd79e49 100644
--- a/docs/en/modules/uart.md
+++ b/docs/modules/uart.md
@@ -1,7 +1,7 @@
# UART Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2014-12-22 | [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [uart.c](../../../app/modules/uart.c)|
+| 2014-12-22 | [Zeroday](https://github.com/funshine) | [Zeroday](https://github.com/funshine) | [uart.c](../../app/modules/uart.c)|
The [UART](https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter) (Universal asynchronous receiver/transmitter) module allows configuration of and communication over the UART serial port.
diff --git a/docs/en/modules/ucg.md b/docs/modules/ucg.md
similarity index 99%
rename from docs/en/modules/ucg.md
rename to docs/modules/ucg.md
index 237aef1512..681c35a349 100644
--- a/docs/en/modules/ucg.md
+++ b/docs/modules/ucg.md
@@ -92,7 +92,7 @@ The procedure is different for ESP8266 and ESP32 platforms.
#### ESP8266
-Add the desired entries to the display table in [app/include/ucg_config.h](../../../app/include/ucg_config.h):
+Add the desired entries to the display table in [app/include/ucg_config.h](../../app/include/ucg_config.h):
```c
#define UCG_DISPLAY_TABLE \
UCG_DISPLAY_TABLE_ENTRY(ili9341_18x240x320_hw_spi, ucg_dev_ili9341_18x240x320, ucg_ext_ili9341_18) \
@@ -109,7 +109,7 @@ The procedure is different for ESP8266 and ESP32 platforms.
#### ESP8266
-Add the desired fonts to the font table in [app/include/ucg_config.h](../../../app/include/ucg_config.h):
+Add the desired fonts to the font table in [app/include/ucg_config.h](../../app/include/ucg_config.h):
```c
#define UCG_FONT_TABLE \
UCG_FONT_TABLE_ENTRY(font_7x13B_tr) \
diff --git a/docs/en/modules/wifi.md b/docs/modules/wifi.md
similarity index 99%
rename from docs/en/modules/wifi.md
rename to docs/modules/wifi.md
index 67bcc93382..54b7606f07 100644
--- a/docs/en/modules/wifi.md
+++ b/docs/modules/wifi.md
@@ -1,7 +1,7 @@
# WiFi Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2016-10-03 | [Johny Mattsson](https://github.com/jmattsson) |[Johny Mattsson](https://github.com/jmattsson) | [wifi.c](../../../components/modules/wifi.c)|
+| 2016-10-03 | [Johny Mattsson](https://github.com/jmattsson) |[Johny Mattsson](https://github.com/jmattsson) | [wifi.c](../../components/modules/wifi.c)|
The NodeMCU WiFi control is spread across several tables:
diff --git a/docs/en/modules/ws2812.md b/docs/modules/ws2812.md
similarity index 98%
rename from docs/en/modules/ws2812.md
rename to docs/modules/ws2812.md
index c94ec8d081..c408b096fe 100644
--- a/docs/en/modules/ws2812.md
+++ b/docs/modules/ws2812.md
@@ -1,14 +1,14 @@
# WS2812 Module
| Since | Origin / Contributor | Maintainer | Source |
| :----- | :-------------------- | :---------- | :------ |
-| 2015-02-05 | [Till Klocke](https://github.com/dereulenspiegel), [Thomas Soëte](https://github.com/Alkorin) | [Arnim Läuger](https://github.com/devsaurus) | [ws2812.c](../../../components/modules/ws2812.c)|
+| 2015-02-05 | [Till Klocke](https://github.com/dereulenspiegel), [Thomas Soëte](https://github.com/Alkorin) | [Arnim Läuger](https://github.com/devsaurus) | [ws2812.c](../../components/modules/ws2812.c)|
ws2812 is a library to handle ws2812-like led strips.
It works at least on WS2812, WS2812b, APA104, SK6812 (RGB or RGBW).
!!! note
- The API on ESP32 differs from the API on ESP8266. For backwards compatibility please refer to [`lua_compat/ws2812_compat.lua`](../../../lua_compat/ws2812_compat.lua`).
+ The API on ESP32 differs from the API on ESP8266. For backwards compatibility please refer to [`lua_compat/ws2812_compat.lua`](../../lua_compat/ws2812_compat.lua`).
## ws2812.write()
Send data to up to 8 led strip using its native format which is generally Green,Red,Blue for RGB strips and Green,Red,Blue,White for RGBW strips.
diff --git a/docs/en/sdcard.md b/docs/sdcard.md
similarity index 85%
rename from docs/en/sdcard.md
rename to docs/sdcard.md
index 867c8d8200..4960d417ed 100644
--- a/docs/en/sdcard.md
+++ b/docs/sdcard.md
@@ -40,4 +40,4 @@ Subdirectories are supported on FAT volumes only.
## Multiple partitions / multiple cards
-The mapping from logical volumes (eg. `/SD0`) to partitions on an SD card is defined in [`fatfs_config.h`](../../components/fatfs/fatfs_config.h). More volumes can be added to the `VolToPart` array with any combination of physical drive number (aka SDMMC slots) and partition number. Their names have to be added to `_VOLUME_STRS` in [`ffconf.h`](../../components/fatfs/ffconf.h) as well.
+The mapping from logical volumes (eg. `/SD0`) to partitions on an SD card is defined in [`fatfs_config.h`](../components/fatfs/fatfs_config.h). More volumes can be added to the `VolToPart` array with any combination of physical drive number (aka SDMMC slots) and partition number. Their names have to be added to `_VOLUME_STRS` in [`ffconf.h`](../components/fatfs/ffconf.h) as well.
diff --git a/docs/en/support.md b/docs/support.md
similarity index 97%
rename from docs/en/support.md
rename to docs/support.md
index 4bcf278166..7754b4335e 100644
--- a/docs/en/support.md
+++ b/docs/support.md
@@ -6,4 +6,4 @@ Which ever site you use you need to make sure the description of the problem is
StackOverflow is the perfect place to ask coding questions. Use one or several of the following tags: [esp8266](http://stackoverflow.com/tags/esp8266), [nodemcu](http://stackoverflow.com/tags/nodemcu) or [Lua](http://stackoverflow.com/tags/lua).
## esp8266.com Forums
-esp8266.com has a few [NodeMCU specific forums](http://www.esp8266.com/viewforum.php?f=17) where a number of our active community members tend to hang out.
\ No newline at end of file
+esp8266.com has a few [NodeMCU specific forums](http://www.esp8266.com/viewforum.php?f=17) where a number of our active community members tend to hang out.
diff --git a/docs/en/upload.md b/docs/upload.md
similarity index 98%
rename from docs/en/upload.md
rename to docs/upload.md
index ca83affda6..a12aadcd2c 100644
--- a/docs/en/upload.md
+++ b/docs/upload.md
@@ -15,7 +15,7 @@ The NodeMCU firmware team does not give any recommendations as for which uploade
> The essential multiplatforms tools for any ESP8266 developer from luatool author’s, including Lua for NodeMCU and MicroPython. Also, all AT commands are supported. Requires Java (Standard Edition - SE ver 7 and above) installed.
-![ESPlorer](../img/ESPlorer.jpg "ESPlorer")
+![ESPlorer](img/ESPlorer.jpg "ESPlorer")
Source: [https://github.com/4refr0nt/ESPlorer](https://github.com/4refr0nt/ESPlorer)
diff --git a/mkdocs.yml b/mkdocs.yml
index dcb2bfd236..50b2fdbb8f 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -4,7 +4,7 @@ repo_url: https://github.com/nodemcu/nodemcu-firmware/
theme:
name: "readthedocs"
-strict: true
+strict: false
markdown_extensions:
#http://pythonhosted.org/Markdown/extensions/admonition.html
@@ -21,44 +21,45 @@ extra_javascript:
pages:
- Overview: 'index.md'
-- English:
- - Building the firmware: 'en/build.md'
- - Flashing the firmware: 'en/flash.md'
- - Filesystem on SD card: 'en/sdcard.md'
- - Uploading code: 'en/upload.md'
- - FAQs:
- - Lua Developer FAQ: 'en/lua-developer-faq.md'
- - Extension Developer FAQ: 'en/extn-developer-faq.md'
- - Support: 'en/support.md'
- - Modules:
- - 'adc': 'en/modules/adc.md'
- - 'bit': 'en/modules/bit.md'
- - 'bthci': 'en/modules/bthci.md'
- - 'can': 'en/modules/can.md'
- - 'dac': 'en/modules/dac.md'
- - 'dht': 'en/modules/dht.md'
- - 'encoder': 'en/modules/encoder.md'
- - 'file': 'en/modules/file.md'
- - 'gpio': 'en/modules/gpio.md'
- - 'http': 'en/modules/http.md'
- - 'i2c': 'en/modules/i2c.md'
- - 'i2s': 'en/modules/i2s.md'
- - 'ledc': 'en/modules/ledc.md'
- - 'mqtt': 'en/modules/mqtt.md'
- - 'net': 'en/modules/net.md'
- - 'node': 'en/modules/node.md'
- - 'ow (1-Wire)': 'en/modules/ow.md'
- - 'qrcodegen': 'en/modules/qrcodegen.md'
- - 'sdmmc': 'en/modules/sdmmc.md'
- - 'sigma delta': 'en/modules/sigma-delta.md'
- - 'sjson': 'en/modules/sjson.md'
- - 'sodium': 'en/modules/sodium.md'
- - 'spi': 'en/modules/spi.md'
- - 'struct': 'en/modules/struct.md'
- - 'time': 'en/modules/time.md'
- - 'tmr': 'en/modules/tmr.md'
- - 'u8g2': 'en/modules/u8g2.md'
- - 'uart': 'en/modules/uart.md'
- - 'ucg': 'en/modules/ucg.md'
- - 'wifi': 'en/modules/wifi.md'
- - 'ws2812': 'en/modules/ws2812.md'
+- Basics:
+ - Building the firmware: 'build.md'
+ - Flashing the firmware: 'flash.md'
+ - Uploading code: 'upload.md'
+ - Support: 'support.md'
+- FAQs:
+ - Lua Developer FAQ: 'lua-developer-faq.md'
+ - Extension Developer FAQ: 'extn-developer-faq.md'
+- Whitepapers:
+ - Filesystem on SD card: 'sdcard.md'
+- Lua Modules:
+ - 'adc': 'modules/adc.md'
+ - 'bit': 'modules/bit.md'
+ - 'bthci': 'modules/bthci.md'
+ - 'can': 'modules/can.md'
+ - 'dac': 'modules/dac.md'
+ - 'dht': 'modules/dht.md'
+ - 'encoder': 'modules/encoder.md'
+ - 'file': 'modules/file.md'
+ - 'gpio': 'modules/gpio.md'
+ - 'http': 'modules/http.md'
+ - 'i2c': 'modules/i2c.md'
+ - 'i2s': 'modules/i2s.md'
+ - 'ledc': 'modules/ledc.md'
+ - 'mqtt': 'modules/mqtt.md'
+ - 'net': 'modules/net.md'
+ - 'node': 'modules/node.md'
+ - 'ow (1-Wire)': 'modules/ow.md'
+ - 'qrcodegen': 'modules/qrcodegen.md'
+ - 'sdmmc': 'modules/sdmmc.md'
+ - 'sigma delta': 'modules/sigma-delta.md'
+ - 'sjson': 'modules/sjson.md'
+ - 'sodium': 'modules/sodium.md'
+ - 'spi': 'modules/spi.md'
+ - 'struct': 'modules/struct.md'
+ - 'time': 'modules/time.md'
+ - 'tmr': 'modules/tmr.md'
+ - 'u8g2': 'modules/u8g2.md'
+ - 'uart': 'modules/uart.md'
+ - 'ucg': 'modules/ucg.md'
+ - 'wifi': 'modules/wifi.md'
+ - 'ws2812': 'modules/ws2812.md'