@@ -6,7 +6,8 @@ const version_regexs = [
66 '(?:\\d)' ,
77 '(?:\\d\\.\\d[\\w\\d\\.]*)' ,
88 '(?:dev)' ,
9- '(?:release/\\d.\\d[\\x\\d\\.]*)' ] ;
9+ '(?:release/\\d.\\d[\\x\\d\\.]*)' ,
10+ ] ;
1011
1112const all_versions = $VERSIONS ;
1213const all_languages = $LANGUAGES ;
@@ -54,7 +55,7 @@ const _create_language_select = (current_language) => {
5455const _navigate_to_first_existing = ( urls ) => {
5556 // Navigate to the first existing URL in urls.
5657 const url = urls . shift ( ) ;
57- if ( urls . length === 0 || url . startsWith ( " file:///" ) ) {
58+ if ( urls . length === 0 || url . startsWith ( ' file:///' ) ) {
5859 window . location . href = url ;
5960 return ;
6061 }
@@ -77,16 +78,20 @@ const _on_version_switch = () => {
7778 const url = window . location . href ;
7879 const current_language = language_segment_from_url ( ) ;
7980 const current_version = version_segment_from_url ( ) ;
80- const new_url = url . replace ( '/' + current_language + current_version ,
81- '/' + current_language + selected_version ) ;
81+ const new_url = url . replace (
82+ '/' + current_language + current_version ,
83+ '/' + current_language + selected_version ,
84+ ) ;
8285 if ( new_url !== url ) {
8386 _navigate_to_first_existing ( [
8487 new_url ,
85- url . replace ( '/' + current_language + current_version ,
86- '/' + selected_version ) ,
88+ url . replace (
89+ '/' + current_language + current_version ,
90+ '/' + selected_version ,
91+ ) ,
8792 '/' + current_language + selected_version ,
8893 '/' + selected_version ,
89- '/'
94+ '/' ,
9095 ] ) ;
9196 }
9297} ;
@@ -96,26 +101,26 @@ const _on_language_switch = () => {
96101 const url = window . location . href ;
97102 const current_language = language_segment_from_url ( ) ;
98103 const current_version = version_segment_from_url ( ) ;
99- if ( selected_language === 'en/' ) // Special 'default' case for English.
104+ if ( selected_language === 'en/' )
105+ // Special 'default' case for English.
100106 selected_language = '' ;
101- let new_url = url . replace ( '/' + current_language + current_version ,
102- '/' + selected_language + current_version ) ;
107+ let new_url = url . replace (
108+ '/' + current_language + current_version ,
109+ '/' + selected_language + current_version ,
110+ ) ;
103111 if ( new_url !== url ) {
104- _navigate_to_first_existing ( [
105- new_url ,
106- '/'
107- ] ) ;
112+ _navigate_to_first_existing ( [ new_url , '/' ] ) ;
108113 }
109114} ;
110115
111116// Returns the path segment of the language as a string, like 'fr/'
112117// or '' if not found.
113118function language_segment_from_url ( ) {
114119 const path = window . location . pathname ;
115- const language_regexp = '/((?:' + Object . keys ( all_languages ) . join ( "|" ) + ')/)'
120+ const language_regexp =
121+ '/((?:' + Object . keys ( all_languages ) . join ( '|' ) + ')/)' ;
116122 const match = path . match ( language_regexp ) ;
117- if ( match !== null )
118- return match [ 1 ] ;
123+ if ( match !== null ) return match [ 1 ] ;
119124 return '' ;
120125}
121126
@@ -127,9 +132,8 @@ function version_segment_from_url() {
127132 const version_segment = '(?:(?:' + version_regexs . join ( '|' ) + ')/)' ;
128133 const version_regexp = language_segment + '(' + version_segment + ')' ;
129134 const match = path . match ( version_regexp ) ;
130- if ( match !== null )
131- return match [ 1 ] ;
132- return ''
135+ if ( match !== null ) return match [ 1 ] ;
136+ return '' ;
133137}
134138const _initialise_switchers = ( ) => {
135139 const language_segment = language_segment_from_url ( ) ;
0 commit comments