Skip to content

Commit 3523a00

Browse files
committed
Simplify code and move download and extract to pandas_web
1 parent de291cd commit 3523a00

File tree

6 files changed

+119
-210
lines changed

6 files changed

+119
-210
lines changed

web/pandas/_templates/layout.html

Lines changed: 76 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,82 @@
1515
href="{{ base_url }}{{ stylesheet }}">
1616
{% endfor %}
1717
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.min.css">
18-
<meta id="languages" data-lang="{{ languages }}">
19-
<script src="{{ base_url }}static/js/language_switcher.js"></script>
18+
<script type="text/javascript">
19+
window.addEventListener("DOMContentLoaded", function() {
20+
var absBaseUrl = document.baseURI;
21+
var baseUrl = location.protocol + "//" + location.hostname
22+
if (location.port) {
23+
baseUrl = baseUrl + ":" + location.port
24+
}
25+
var currentLanguage = document.documentElement.lang;
26+
var languages = [
27+
{% for lang, name in translations["languages"].items() -%}
28+
"{{ lang }}",
29+
{% endfor -%}
30+
]
31+
var languageNames = {
32+
{% for lang, name in translations["languages"].items() -%}
33+
{{ lang }}: '{{ name }}',
34+
{% endfor -%}
35+
}
36+
37+
// Handle preview URLs on github
38+
// If preview URL changes, this regex will need to be updated
39+
var re = /preview\/pandas-dev\/pandas\/(?<pr>[0-9]*)\//g;
40+
var previewUrl = '';
41+
for (const match of absBaseUrl.matchAll(re)) {
42+
previewUrl = `/preview/pandas-dev/pandas/${match.groups.pr}`;
43+
}
44+
var pathName = location.pathname.replace(previewUrl, '')
45+
46+
// Create dropdown menu
47+
function makeDropdown(options) {
48+
var dropdown = document.createElement("li");
49+
dropdown.classList.add("nav-item");
50+
dropdown.classList.add("dropdown");
51+
52+
var link = document.createElement("a");
53+
link.classList.add("nav-link");
54+
link.classList.add("dropdown-toggle");
55+
link.setAttribute("data-bs-toggle", "dropdown");
56+
link.setAttribute("href", "#");
57+
link.setAttribute("role", "button");
58+
link.setAttribute("aria-haspopup", "true");
59+
link.setAttribute("aria-expanded", "false");
60+
link.textContent = languageNames[currentLanguage];
61+
62+
var dropdownMenu = document.createElement("div");
63+
dropdownMenu.classList.add("dropdown-menu");
64+
65+
options.forEach(function(i) {
66+
var dropdownItem = document.createElement("a");
67+
dropdownItem.classList.add("dropdown-item");
68+
dropdownItem.textContent = languageNames[i] || i.toUpperCase();
69+
dropdownItem.setAttribute("href", "#");
70+
dropdownItem.addEventListener("click", function() {
71+
var urlLanguage = '';
72+
if (i !== 'en') {
73+
urlLanguage = '/' + i;
74+
}
75+
pathName = pathName.replace('/' + currentLanguage + '/', '/')
76+
var newUrl = baseUrl + previewUrl + urlLanguage + pathName
77+
window.location.href = newUrl;
78+
});
79+
dropdownMenu.appendChild(dropdownItem);
80+
});
81+
82+
dropdown.appendChild(link);
83+
dropdown.appendChild(dropdownMenu);
84+
return dropdown;
85+
}
86+
87+
var container = document.getElementById("language-switcher-container");
88+
if (container) {
89+
var dropdown = makeDropdown(languages);
90+
container.appendChild(dropdown);
91+
}
92+
});
93+
</script>
2094
</head>
2195
<body>
2296
<header>

web/pandas/config.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,5 +177,8 @@ translations:
177177
source_path: pandas-translations-main/web/pandas/
178178
default_language: 'en'
179179
default_prefix: ''
180-
ignore:
181-
- docs/
180+
languages:
181+
en: English
182+
es: Español
183+
pt: Português
184+
# fr: Français

web/pandas/navbar.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ navbar:
1717
target: getting_started.html
1818
- name: "Documentation"
1919
target: docs/
20+
translated: false
2021
- name: "Community"
2122
target:
2223
- name: "Blog"

web/pandas/static/js/language_switcher.js

Lines changed: 0 additions & 71 deletions
This file was deleted.

web/pandas_translations.py

Lines changed: 0 additions & 109 deletions
This file was deleted.

0 commit comments

Comments
 (0)