Rename DIR to dir and improve JavaScript for RTD
This commit is contained in:
parent
62320819fd
commit
3e68026d7b
|
@ -4,7 +4,7 @@ NodeMCU is an [eLua](http://www.eluaproject.net/) based firmware for the [ESP826
|
|||
|
||||
The firmware is based on the Espressif SDK v1.4 and uses a file system based on [spiffs](https://github.com/pellepl/spiffs).
|
||||
|
||||
[English](EN/index.md)
|
||||
[English](en/index.md)
|
||||
|
||||
[Deutsch](DE/index.md)
|
||||
[Deutsch](de/index.md)
|
||||
|
||||
|
|
|
@ -1,20 +1,17 @@
|
|||
var nodemcu = nodemcu || {};
|
||||
(function () {
|
||||
'use strict';
|
||||
var languageCodeToNameMap = {EN: 'English', DE: 'Deutsch'};
|
||||
var languageCodeToNameMap = {en: 'English', de: 'Deutsch'};
|
||||
var languageNames = values(languageCodeToNameMap);
|
||||
var defaultLanguageCode = 'EN';
|
||||
var defaultLanguageCode = 'en';
|
||||
|
||||
$(document).ready(function () {
|
||||
hideNavigationForAllButSelectedLanguage();
|
||||
addLanguageSelectorToRtdFlyOutMenu();
|
||||
});
|
||||
|
||||
function hideNavigationForAllButSelectedLanguage() {
|
||||
// URL is like http://host/EN/build/ -> extract 'EN'
|
||||
var selectedLanguageCode = window.location.pathname.substr(1, 2);
|
||||
if (!selectedLanguageCode) {
|
||||
selectedLanguageCode = defaultLanguageCode;
|
||||
}
|
||||
var selectedLanguageCode = determineSelectedLanguageCode();
|
||||
var selectedLanguageName = languageCodeToNameMap[selectedLanguageCode];
|
||||
// Finds all subnav elements and hides them if they're /language/ subnavs. Hence, all 'Modules' subnav elements
|
||||
// won't be hidden.
|
||||
|
@ -31,6 +28,63 @@ var nodemcu = nodemcu || {};
|
|||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a language selector to the RTD fly out menu found bottom left. Example
|
||||
* <dl>
|
||||
* <dt>Languages</dt>
|
||||
* <dd><a href="http://nodemcu.readthedocs.org/en/<branch>/de/">de</a></dd>
|
||||
* <strong>
|
||||
* <dd><a href="http://nodemcu.readthedocs.org/en/<branch>/en/">en</a></dd>
|
||||
* </strong>
|
||||
* </dl>
|
||||
*/
|
||||
function addLanguageSelectorToRtdFlyOutMenu() {
|
||||
var flyOutWrapper = $('.rst-other-versions .injected');
|
||||
// only works on RTD
|
||||
if (flyOutWrapper.length > 0) {
|
||||
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));
|
||||
}
|
||||
flyOutWrapper.prepend(dl);
|
||||
}
|
||||
}
|
||||
function createLanguageLinkFor(languageCode, isCurrentlySelected) {
|
||||
var strong;
|
||||
var pathSegments = window.location.pathname.split('/');
|
||||
var dd = document.createElement("dd");
|
||||
var href = document.createElement("href");
|
||||
href.setAttribute('a', '/' + pathSegments[0] + '/' + pathSegments[1] + '/' + languageCode);
|
||||
href.appendChild(document.createTextNode(languageCode));
|
||||
dd.appendChild(href);
|
||||
if (isCurrentlySelected) {
|
||||
strong = document.createElement("strong");
|
||||
strong.appendChild(dd);
|
||||
return strong;
|
||||
} else {
|
||||
return dd;
|
||||
}
|
||||
}
|
||||
|
||||
function determineSelectedLanguageCode() {
|
||||
var selectedLanguageCode, path = window.location.pathname;
|
||||
if (window.location.origin.indexOf('readthedocs') > -1) {
|
||||
// path is like /en/<branch>/<lang>/build/ -> extract 'lang'
|
||||
selectedLanguageCode = path.split('/')[2];
|
||||
} else {
|
||||
// path is like /<lang>/build/ -> extract 'lang'
|
||||
selectedLanguageCode = path.substr(1, 2);
|
||||
}
|
||||
if (!selectedLanguageCode || selectedLanguageCode.length > 2) {
|
||||
selectedLanguageCode = defaultLanguageCode;
|
||||
}
|
||||
return selectedLanguageCode;
|
||||
}
|
||||
|
||||
function values(associativeArray) {
|
||||
var values = [];
|
||||
for (var key in associativeArray) {
|
||||
|
|
14
mkdocs.yml
14
mkdocs.yml
|
@ -23,12 +23,12 @@ site_favicon: img/favicon.png
|
|||
pages:
|
||||
- Overview: 'index.md'
|
||||
- English:
|
||||
- Home: 'EN/index.md'
|
||||
- Building the firmware: 'EN/build.md'
|
||||
- Flashing the firmware: 'EN/flash.md'
|
||||
- FAQ: 'EN/faq.md'
|
||||
- Support: 'EN/support.md'
|
||||
- Home: 'en/index.md'
|
||||
- Building the firmware: 'en/build.md'
|
||||
- Flashing the firmware: 'en/flash.md'
|
||||
- FAQ: 'en/faq.md'
|
||||
- Support: 'en/support.md'
|
||||
- Modules:
|
||||
- 'node': 'EN/modules/node.md'
|
||||
- 'node': 'en/modules/node.md'
|
||||
- Deutsch:
|
||||
- Home: 'DE/index.md'
|
||||
- Home: 'de/index.md'
|
Loading…
Reference in New Issue