11window . addEventListener ( "DOMContentLoaded" , function ( ) {
2+ var absBaseUrl = document . baseURI ;
23 var baseUrl = location . protocol + "//" + location . hostname
34 if ( location . port ) {
45 baseUrl = baseUrl + ":" + location . port
@@ -12,6 +13,15 @@ window.addEventListener("DOMContentLoaded", function() {
1213 'pt' : 'Português'
1314 }
1415
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+
1525 // Create dropdown menu
1626 function makeDropdown ( options ) {
1727 var dropdown = document . createElement ( "li" ) ;
@@ -41,8 +51,8 @@ window.addEventListener("DOMContentLoaded", function() {
4151 if ( i !== 'en' ) {
4252 urlLanguage = '/' + i ;
4353 }
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
4656 window . location . href = newUrl ;
4757 } ) ;
4858 dropdownMenu . appendChild ( dropdownItem ) ;
0 commit comments