Upgrade to Spring Asciidoctor Extensions 0.4.0.RELEASE

0.4.0 provides built-in support for remembering a user's selections
using local storage. This replaces the custom switch language
JavaScript.

The selection is stored using a key derived from the
options that were available. Concretely, when the options are Java or
Kotlin, the local storage key is java-kotlin. Similarly, if the
choices were Java, Kotlin, and XML, the key would be java-kotlin-xml.

Given local storage's domain and protocol scoping, the nature of the
key that's used for storage will allow a user's selections to be
applied across all documentation hosted on https://docs.spring.io that
offer the same options.

Closes gh-24481
This commit is contained in:
Andy Wilkinson 2020-02-07 11:16:02 +00:00 committed by GitHub
parent c640d28a82
commit 02e90a8645
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 45 deletions

View File

@ -3,7 +3,16 @@ configurations {
} }
dependencies { dependencies {
asciidoctorExt("io.spring.asciidoctor:spring-asciidoctor-extensions:0.2.0.RELEASE") asciidoctorExt("io.spring.asciidoctor:spring-asciidoctor-extensions-block-switch:0.4.0.RELEASE")
}
repositories {
maven {
url "https://repo.spring.io/release"
mavenContent {
group "io.spring.asciidoctor"
}
}
} }
/** /**

View File

@ -1,3 +1,2 @@
<script type="text/javascript" src="js/tocbot/tocbot.min.js"></script> <script type="text/javascript" src="js/tocbot/tocbot.min.js"></script>
<script type="text/javascript" src="js/toc.js"></script> <script type="text/javascript" src="js/toc.js"></script>
<script type="text/javascript" src="js/switch-language.js"></script>

View File

@ -1,43 +0,0 @@
function globalSwitch() {
var SPRING_LANGUAGES = ["Java", "Kotlin"];
var preferredLanguage = initPreferredLanguage();
function initPreferredLanguage() {
var lang = window.localStorage.getItem("preferred-spring-language");
if (SPRING_LANGUAGES.indexOf(lang) === -1) {
window.localStorage.setItem("preferred-spring-language", SPRING_LANGUAGES[0]);
lang = SPRING_LANGUAGES[0];
}
return lang;
}
function switchItem(text, index) {
if (SPRING_LANGUAGES.indexOf(text) !== -1) {
window.localStorage.setItem("preferred-spring-language", text);
}
$(".switch--item").filter(function() { return ($(this).text() === text) }).each(function() {
$(this).addClass('selected');
$(this).siblings().removeClass('selected');
var selectedContent = $(this).parent().siblings(".content").eq(index)
selectedContent.removeClass('hidden');
selectedContent.siblings().addClass('hidden');
});
}
$('.switch--item').each(function() {
$(this).off('click');
$(this).on('click', function() {
var selectedText = $(this).text()
var selectedIndex = $(this).index()
switchItem(selectedText, selectedIndex);
});
});
var languageIndex = SPRING_LANGUAGES.indexOf(preferredLanguage);
if (languageIndex != 0) {
switchItem(preferredLanguage, languageIndex);
}
}
$(globalSwitch);