This is an automated email from the ASF dual-hosted git repository.

rusackas pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git


The following commit(s) were added to refs/heads/master by this push:
     new 76d897eaa2 docs(maps): jupyter notebook now auto-updates docs site 
(#27003)
76d897eaa2 is described below

commit 76d897eaa2f9e137102bc194c2e3109c29d0348f
Author: Evan Rusackas <[email protected]>
AuthorDate: Sat Apr 27 14:33:12 2024 -0600

    docs(maps): jupyter notebook now auto-updates docs site (#27003)
---
 .github/workflows/superset-frontend.yml            |   1 +
 docs/data/countries.json                           | 102 ++++++++++++++++++++
 docs/docs/configuration/country-map-tools.mdx      | 103 ++-------------------
 .../scripts/Country Map GeoJSON Generator.ipynb    |  44 +++++++--
 4 files changed, 144 insertions(+), 106 deletions(-)

diff --git a/.github/workflows/superset-frontend.yml 
b/.github/workflows/superset-frontend.yml
index 20add61f7e..016c082a60 100644
--- a/.github/workflows/superset-frontend.yml
+++ b/.github/workflows/superset-frontend.yml
@@ -20,6 +20,7 @@ jobs:
       - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
         uses: actions/checkout@v4
         with:
+          fetch-depth: 0 # Fetch all history
           persist-credentials: false
           submodules: recursive
       - name: Check npm lock file version
diff --git a/docs/data/countries.json b/docs/data/countries.json
new file mode 100644
index 0000000000..a0807a9a12
--- /dev/null
+++ b/docs/data/countries.json
@@ -0,0 +1,102 @@
+{
+  "countries": [
+    "Afghanistan",
+    "Albania",
+    "Algeria",
+    "Argentina",
+    "Australia",
+    "Austria",
+    "Belgium",
+    "Bolivia",
+    "Brazil",
+    "Bulgaria",
+    "Burundi",
+    "Canada",
+    "Chile",
+    "China",
+    "Colombia",
+    "Costa Rica",
+    "Cuba",
+    "Cyprus",
+    "Czech Republic",
+    "Denmark",
+    "Dominican Republic",
+    "Ecuador",
+    "Egypt",
+    "El Salvador",
+    "Estonia",
+    "Ethiopia",
+    "France",
+    "France (regions)",
+    "Finland",
+    "Germany",
+    "Guatemala",
+    "Haiti",
+    "Honduras",
+    "Iceland",
+    "India",
+    "Indonesia",
+    "Iran",
+    "Italy",
+    "Italy (regions)",
+    "Japan",
+    "Jordan",
+    "Kazakhstan",
+    "Kenya",
+    "Korea",
+    "Kuwait",
+    "Kyrgyzstan",
+    "Latvia",
+    "Liechtenstein",
+    "Lithuania",
+    "Malaysia",
+    "Mexico",
+    "Morocco",
+    "Myanmar",
+    "Netherlands",
+    "Nicaragua",
+    "Nigeria",
+    "Norway",
+    "Oman",
+    "Pakistan",
+    "Panama",
+    "Papua New Guinea",
+    "Paraguay",
+    "Peru",
+    "Philippines",
+    "Philippines (regions)",
+    "Portugal",
+    "Poland",
+    "Puerto Rico",
+    "Qatar",
+    "Russia",
+    "Rwanda",
+    "Saint Barthelemy",
+    "Saint Martin",
+    "Saudi Arabia",
+    "Singapore",
+    "Slovenia",
+    "Spain",
+    "Sri Lanka",
+    "Sweden",
+    "Switzerland",
+    "Syria",
+    "Tajikistan",
+    "Tanzania",
+    "Thailand",
+    "Timorleste",
+    "Turkey",
+    "Turkey (regions)",
+    "Turkmenistan",
+    "Uganda",
+    "UK",
+    "Ukraine",
+    "United Arab Emirates",
+    "Uruguay",
+    "USA",
+    "Uzbekistan",
+    "Venezuela",
+    "Vietnam",
+    "Zambia"
+  ]
+}
diff --git a/docs/docs/configuration/country-map-tools.mdx 
b/docs/docs/configuration/country-map-tools.mdx
index 9795f973f1..691f1fa1db 100644
--- a/docs/docs/configuration/country-map-tools.mdx
+++ b/docs/docs/configuration/country-map-tools.mdx
@@ -5,6 +5,8 @@ sidebar_position: 10
 version: 1
 ---
 
+import countriesData from '../../data/countries.json';
+
 ## The Country Map Visualization
 
 The Country Map visualization allows you to plot lightweight choropleth maps of
@@ -21,102 +23,11 @@ The current list of countries can be found in the src
 
 The Country Maps visualization already ships with the maps for the following 
countries:
 
--  Afghanistan
--  Albania
--  Algeria
--  Argentina
--  Australia
--  Austria
--  Belgium
--  Bolivia
--  Brazil
--  Bulgaria
--  Burundi
--  Canada
--  Chile
--  China
--  Colombia
--  Costa Rica
--  Cuba
--  Cyprus
--  Denmark
--  Dominican Republic
--  Ecuador
--  Egypt
--  El_salvador
--  Estonia
--  Ethiopia
--  France
--  France Regions
--  Finland
--  Germany
--  Guatemala
--  Haiti
--  Honduras
--  Iceland
--  India
--  Indonesia
--  Iran
--  Italy
--  Italy Regions
--  Japan
--  Jordan
--  Kazakhstan
--  Kenya
--  Korea
--  Kuwait
--  Kyrgyzstan
--  Latvia
--  Liechtenstein
--  Lithuania
--  Malaysia
--  Mexico
--  Morocco
--  Myanmar
--  Netherlands
--  Nicaragua
--  Nigeria
--  Norway
--  Oman
--  Pakistan
--  Panama
--  Papua New Guinea
--  Paraguay
--  Peru
--  Philippines
--  Portugal
--  Poland
--  Puerto_rico
--  Qatar
--  Russia
--  Rwanda
--  Saint Barthelemy
--  Saint Martin
--  Saudi Arabia
--  Singapore
--  Slovenia
--  Spain
--  Sri Lanka
--  Sweden
--  Switzerland
--  Syria
--  Tajikistan
--  Tanzania
--  Thailand
--  Timorleste
--  Turkey
--  Turkey Regions
--  Turkmenistan
--  Uganda
--  Uk
--  Ukraine
--  United Arab Emirates
--  Uruguay
--  USA
--  Uzbekistan
--  Venezuela
--  Vietnam
--  Zambia
+<ul style={{columns: 3}}>
+{countriesData.countries.map((country, index) => (
+  <li key={index}>{country}</li>
+))}
+</ul>
 
 ## Adding a New Country
 
diff --git 
a/superset-frontend/plugins/legacy-plugin-chart-country-map/scripts/Country Map 
GeoJSON Generator.ipynb 
b/superset-frontend/plugins/legacy-plugin-chart-country-map/scripts/Country Map 
GeoJSON Generator.ipynb
index 248414309a..adef756f13 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-country-map/scripts/Country 
Map GeoJSON Generator.ipynb     
+++ b/superset-frontend/plugins/legacy-plugin-chart-country-map/scripts/Country 
Map GeoJSON Generator.ipynb     
@@ -51,13 +51,14 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 1,
+   "execution_count": 77,
    "metadata": {},
    "outputs": [],
    "source": [
     "# Dependencies\n",
     "\n",
     "import os\n",
+    "import json\n",
     "import requests\n",
     "import geopandas as gpd\n",
     "import matplotlib.pyplot as plt\n",
@@ -2590,28 +2591,26 @@
     "id": "Fb58eGlIt1LW"
    },
    "source": [
-    "## Output Typescript"
+    "## Output Typescript & JSON for Docs Site"
    ]
   },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": []
-  },
   {
    "cell_type": "code",
-   "execution_count": 51,
+   "execution_count": 80,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "TypeScript code written to src/countries.ts\n"
+      "TypeScript code written to src/countries.ts\n",
+      "JSON written to docs/data/countries.json\n"
      ]
     }
    ],
    "source": [
+    "\n",
+    "\n",
     "# Function to convert country name to a valid JavaScript identifier\n",
     "def to_js_identifier(name):\n",
     "    return name.replace(' ', '_').replace('-', '_')\n",
@@ -2677,8 +2676,33 @@
     "with open(\"../src/countries.ts\", \"w\") as file:\n",
     "    file.write(typescript_code)\n",
     "\n",
-    "print(\"TypeScript code written to src/countries.ts\")"
+    "print(\"TypeScript code written to src/countries.ts\")\n",
+    "\n",
+    "# DOCS JSON:\n",
+    "# Replace underscores with spaces and title-case each country name\n",
+    "formatted_countries = [country.replace(\"_\", \" \") for country in 
countries]\n",
+    "formatted_countries = [country.upper() if country in {\"usa\", \"uk\"} 
else country.title() for country in formatted_countries]\n",
+    "formatted_countries = [country.replace(\" Regions\",\" (regions)\") for 
country in formatted_countries]\n",
+    "\n",
+    "\n",
+    "# Create a dictionary in the desired format\n",
+    "data = {\"countries\": formatted_countries}\n",
+    "# Convert the dictionary to a JSON string with proper formatting\n",
+    "json_data = json.dumps(data, indent=2) + \"\\n\"\n",
+    "\n",
+    "# Write to a file\n",
+    "with open(\"../../../../docs/data/countries.json\", \"w\") as file:\n",
+    "    file.write(json_data)\n",
+    "\n",
+    "print(\"JSON written to docs/data/countries.json\")"
    ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "metadata": {},
+   "outputs": [],
+   "source": []
   }
  ],
  "metadata": {

Reply via email to