@@ -48,3 +48,55 @@ for (i = 0; i < contents.length; i++) {
48
48
}
49
49
}
50
50
}
51
+
52
+ document . addEventListener ( 'DOMContentLoaded' , function ( ) {
53
+ const supportedVersions = [ 'rolling' ] ;
54
+ const versionDropdown = document . createElement ( 'div' ) ;
55
+ versionDropdown . className = 'version-dropdown' ;
56
+
57
+ // Detect current version from URL
58
+ const currentVersion = supportedVersions . find ( version =>
59
+ window . location . pathname . includes ( `/${ version } /` )
60
+ ) || 'rolling' ; // Default to rolling if none found
61
+
62
+ const dropdownBtn = document . createElement ( 'button' ) ;
63
+ dropdownBtn . className = 'version-btn' ;
64
+ dropdownBtn . innerHTML = `${ currentVersion } <span class="version-caret">▼</span>` ;
65
+
66
+ const dropdownContent = document . createElement ( 'div' ) ;
67
+ dropdownContent . className = 'version-dropdown-content' ;
68
+
69
+ supportedVersions . forEach ( version => {
70
+ const link = document . createElement ( 'a' ) ;
71
+
72
+ // Replace current version in path with selected version
73
+ const newPath = window . location . pathname . replace (
74
+ new RegExp ( `/(${ supportedVersions . join ( '|' ) } )/` ) ,
75
+ `/${ version } /`
76
+ ) ;
77
+
78
+ link . href = newPath ;
79
+ link . textContent = version ;
80
+ dropdownContent . appendChild ( link ) ;
81
+ } ) ;
82
+
83
+ versionDropdown . appendChild ( dropdownBtn ) ;
84
+ versionDropdown . appendChild ( dropdownContent ) ;
85
+
86
+ const searchBox = document . querySelector ( '.wy-side-nav-search' ) ;
87
+ const logo = document . querySelector ( '.wy-side-nav-search > a' ) ;
88
+
89
+ if ( searchBox && logo ) {
90
+ searchBox . insertBefore ( versionDropdown , logo . nextSibling ) ;
91
+ }
92
+ // Toggle dropdown
93
+ dropdownBtn . addEventListener ( 'click' , function ( e ) {
94
+ e . stopPropagation ( ) ;
95
+ dropdownContent . classList . toggle ( 'show' ) ;
96
+ } ) ;
97
+
98
+ // Close dropdown when clicking outside
99
+ document . addEventListener ( 'click' , function ( ) {
100
+ dropdownContent . classList . remove ( 'show' ) ;
101
+ } ) ;
102
+ } ) ;
0 commit comments