1
1
window . addEventListener ( "DOMContentLoaded" , function ( ) {
2
+ var absBaseUrl = document . baseURI ;
2
3
var baseUrl = location . protocol + "//" + location . hostname
3
4
if ( location . port ) {
4
5
baseUrl = baseUrl + ":" + location . port
@@ -12,6 +13,15 @@ window.addEventListener("DOMContentLoaded", function() {
12
13
'pt' : 'Português'
13
14
}
14
15
16
+ // Handle preview URLs on github
17
+ // If preview URL changes, this regex will need to be updated
18
+ const re = / p r e v i e w \/ p a n d a s - d e v \/ p a n d a s \/ (?< pr > [ 0 - 9 ] * ) \/ / g;
19
+ var previewUrl = '' ;
20
+ for ( const match of absBaseUrl . matchAll ( re ) ) {
21
+ previewUrl = `/preview/pandas-dev/pandas/${ match . groups . pr } ` ;
22
+ }
23
+ var pathName = location . pathname . replace ( previewUrl , '' )
24
+
15
25
// Create dropdown menu
16
26
function makeDropdown ( options ) {
17
27
var dropdown = document . createElement ( "li" ) ;
@@ -41,8 +51,8 @@ window.addEventListener("DOMContentLoaded", function() {
41
51
if ( i !== 'en' ) {
42
52
urlLanguage = '/' + i ;
43
53
}
44
- var pathName = location . pathname . replace ( '/' + currentLanguage + '/' , '/' )
45
- var newUrl = baseUrl + urlLanguage + pathName
54
+ pathName = pathName . replace ( '/' + currentLanguage + '/' , '/' )
55
+ var newUrl = baseUrl + previewUrl + urlLanguage + pathName
46
56
window . location . href = newUrl ;
47
57
} ) ;
48
58
dropdownMenu . appendChild ( dropdownItem ) ;
0 commit comments