From c2882b4cce40c65964be1fd09a05f8000c8467b5 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Thu, 26 Feb 2026 14:51:41 -0500 Subject: [PATCH 01/33] add gh action for build docs --- .github/workflows/build.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..fb3f282a5 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,20 @@ +name: Build and Deploy + +on: + push: + branches: + - update-ci + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '2.7' + bundler-cache: true From b1c100960330f18570f9e3c51602097fe3aa7105 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Thu, 26 Feb 2026 14:58:04 -0500 Subject: [PATCH 02/33] install python --- .github/workflows/build.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fb3f282a5..8ff59d29a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,10 +11,20 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: '2.7' bundler-cache: true + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.x' + + - name: Install Python dependencies + run: | + pip install PyYAML==6.0.1 + pip install python-frontmatter==0.5.0 From b5b9b0fa8e3bac6a078c932208ca67a52a23bdbe Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Fri, 27 Feb 2026 12:47:06 -0500 Subject: [PATCH 03/33] Update build.yml --- .github/workflows/build.yml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8ff59d29a..3e5caf794 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -28,3 +28,33 @@ jobs: run: | pip install PyYAML==6.0.1 pip install python-frontmatter==0.5.0 + + - name: Fetch upstream docs + run: | + rm -rf _posts/python/html _posts/julia/html _posts/fsharp/html _posts/csharp/html _posts/r/md _posts/ggplot2/md _posts/matlab/md + git clone --depth 1 -b built https://github.com/plotly/plotly.py-docs _posts/python/html + git clone --depth 1 -b built https://github.com/plotly/plotlyjs.jl-docs _posts/julia/html + git clone --depth 1 -b built https://github.com/plotly/plotly.net-docs _posts/fsharp/html + git clone --depth 1 -b built https://github.com/plotly/plotly.r-docs _posts/r/md + git clone --depth 1 -b built https://github.com/plotly/plotly.matlab-docs _posts/matlab/md + mv _posts/r/md/ggplot2 _posts/ggplot2/md + mv _posts/fsharp/html/csharp _posts/csharp/html + + - name: Build site + run: | + python front-matter-ci.py _posts + python check-or-enforce-order.py _posts/python + python check-or-enforce-order.py _posts/python-v3 + python check-or-enforce-order.py _posts/r/ + python check-or-enforce-order.py _posts/matlab + python check-or-enforce-order.py _posts/plotly_js + python generate-sitemaps.py + echo $(md5sum all_static/css/main.css | cut -d ' ' -f 1) > _data/cache_bust_css.yml + bundle exec jekyll build + cp python/sitemap.xml _site/python/sitemap.xml + + - name: Upload build artifact + uses: actions/upload-artifact@v4 + with: + name: site-build + path: _site/ From ab04ac8850ba779248befb6aac56364786ef85ea Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Fri, 27 Feb 2026 13:20:26 -0500 Subject: [PATCH 04/33] Update 2020-08-21-dash_apps.md --- _posts/plotly_js/2020-08-21-dash_apps.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/_posts/plotly_js/2020-08-21-dash_apps.md b/_posts/plotly_js/2020-08-21-dash_apps.md index 14773a8cb..b63009641 100644 --- a/_posts/plotly_js/2020-08-21-dash_apps.md +++ b/_posts/plotly_js/2020-08-21-dash_apps.md @@ -1,5 +1,6 @@ --- -permalink: https://dash.plotly.com/?/ +permalink: /javascript/dash-apps/ +redirect_to: https://dash.plotly.com/ description: Analytical Apps with Dash name: Analytical Apps with Dash thumbnail: thumbnail/dash_apps.png From 56a3a32bfd92836d2085f1060f01d4a20dab49fc Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Fri, 27 Feb 2026 13:38:54 -0500 Subject: [PATCH 05/33] remove layout from dash_apps redirect --- _posts/plotly_js/2020-08-21-dash_apps.md | 1 - 1 file changed, 1 deletion(-) diff --git a/_posts/plotly_js/2020-08-21-dash_apps.md b/_posts/plotly_js/2020-08-21-dash_apps.md index b63009641..493fafb48 100644 --- a/_posts/plotly_js/2020-08-21-dash_apps.md +++ b/_posts/plotly_js/2020-08-21-dash_apps.md @@ -4,7 +4,6 @@ redirect_to: https://dash.plotly.com/ description: Analytical Apps with Dash name: Analytical Apps with Dash thumbnail: thumbnail/dash_apps.png -layout: base page_type: example_index language: plotly_js display_as: file_settings From cec65a47888e762e428dfd8c381f82a3c5bc5846 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Fri, 27 Feb 2026 13:45:45 -0500 Subject: [PATCH 06/33] Delete 2020-08-21-dash_apps.md --- _posts/plotly_js/2020-08-21-dash_apps.md | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 _posts/plotly_js/2020-08-21-dash_apps.md diff --git a/_posts/plotly_js/2020-08-21-dash_apps.md b/_posts/plotly_js/2020-08-21-dash_apps.md deleted file mode 100644 index 493fafb48..000000000 --- a/_posts/plotly_js/2020-08-21-dash_apps.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -permalink: /javascript/dash-apps/ -redirect_to: https://dash.plotly.com/ -description: Analytical Apps with Dash -name: Analytical Apps with Dash -thumbnail: thumbnail/dash_apps.png -page_type: example_index -language: plotly_js -display_as: file_settings -order: 5 -sitemap: false ---- From 61bc86d1c5a5d143b50acef179bcec93b64ca1ac Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Fri, 27 Feb 2026 13:49:01 -0500 Subject: [PATCH 07/33] update file order --- .../3d-axes/2015-08-12-3d_axes_plotly_js_index.html | 2 +- .../2018-10-11-3d_hover_options_plotly_js_index.html | 2 +- .../2018-11-21-3d_surface_lighting_plotly_js_index.html | 2 +- .../annotations/2015-04-09-annotations_plotly_js_index.html | 4 ++-- .../fundamentals/axes/2015-04-09-axes_plotly_js_index.html | 2 +- .../2017-08-21-colorscales_new_plotlyjs_index.html | 2 +- .../colorway/2018-10-03-colorway_plotlyjs_index.html | 2 +- .../fundamentals/font/2015-04-09-font_plotly_js_index.html | 2 +- .../2015-04-09-horizontal_legend_js_index.html | 2 +- .../fundamentals/hover/2015-10-08-hover_plotly_js_index.html | 2 +- .../images/2016-06-21-images_plotly_js_index.html | 2 +- .../labels/2015-04-09-labels_plotly_js_index.html | 2 +- .../fundamentals/latex/2015-04-09-latex_plotly_js_index.html | 2 +- .../layout-template/2018-10-18-labels_plotly_js_index.html | 2 +- .../legends/2015-04-09-legends_plotly_js_index.html | 2 +- .../marker-style/2018-03-15-marker-style-plotly-js.html | 2 +- .../plotly-js-3-changes/2024-10-09-plotly-js-3-changes.md | 5 +++-- .../fundamentals/shapes/2015-06-19-shape_plotlyjs_index.html | 2 +- .../sizing/2015-04-09-sizing_plotly_js_index.html | 2 +- .../static-image-export/2016-05-20-static-image.md | 4 ++-- .../2019-10-21-texttemplate_plotly_js_index.html | 2 +- .../tick-format/2018-12-17-how-to-tick-format_index.html | 2 +- 22 files changed, 26 insertions(+), 25 deletions(-) diff --git a/_posts/plotly_js/fundamentals/3d-axes/2015-08-12-3d_axes_plotly_js_index.html b/_posts/plotly_js/fundamentals/3d-axes/2015-08-12-3d_axes_plotly_js_index.html index b7bb4d016..916103aa2 100755 --- a/_posts/plotly_js/fundamentals/3d-axes/2015-08-12-3d_axes_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/3d-axes/2015-08-12-3d_axes_plotly_js_index.html @@ -4,7 +4,7 @@ language: plotly_js layout: base name: 3D Axes -order: 12 +order: 11 page_type: u-guide permalink: javascript/3d-axes/ redirect_from: javascript-graphing-library/3d-axes/ diff --git a/_posts/plotly_js/fundamentals/3d-hover-options/2018-10-11-3d_hover_options_plotly_js_index.html b/_posts/plotly_js/fundamentals/3d-hover-options/2018-10-11-3d_hover_options_plotly_js_index.html index 4ebc04080..47e6e9ab2 100755 --- a/_posts/plotly_js/fundamentals/3d-hover-options/2018-10-11-3d_hover_options_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/3d-hover-options/2018-10-11-3d_hover_options_plotly_js_index.html @@ -4,7 +4,7 @@ language: plotly_js layout: base name: 3D Hover Options -order: 13 +order: 12 page_type: u-guide permalink: javascript/3d-hover/ thumbnail: thumbnail/subplots.jpg diff --git a/_posts/plotly_js/fundamentals/3d-surface-lighting/2018-11-21-3d_surface_lighting_plotly_js_index.html b/_posts/plotly_js/fundamentals/3d-surface-lighting/2018-11-21-3d_surface_lighting_plotly_js_index.html index 22a841fd3..979c34072 100755 --- a/_posts/plotly_js/fundamentals/3d-surface-lighting/2018-11-21-3d_surface_lighting_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/3d-surface-lighting/2018-11-21-3d_surface_lighting_plotly_js_index.html @@ -4,7 +4,7 @@ language: plotly_js layout: base name: 3D Surface Lighting -order: 14 +order: 13 page_type: u-guide permalink: javascript/3d-surface-lighting/ thumbnail: thumbnail/3d-surface.jpg diff --git a/_posts/plotly_js/fundamentals/annotations/2015-04-09-annotations_plotly_js_index.html b/_posts/plotly_js/fundamentals/annotations/2015-04-09-annotations_plotly_js_index.html index 7a1a1a8b7..c610823c0 100755 --- a/_posts/plotly_js/fundamentals/annotations/2015-04-09-annotations_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/annotations/2015-04-09-annotations_plotly_js_index.html @@ -4,7 +4,7 @@ language: plotly_js layout: base name: Text and Annotations -order: 26 +order: 25 page_type: example_index permalink: javascript/text-and-annotations/ redirect_from: javascript-graphing-library/text-and-annotations/ @@ -12,4 +12,4 @@ --- {% assign examples = site.posts | where:"language","plotly_js" | where:"suite","annotations" | sort: "order" %} -{% include posts/auto_examples.html examples=examples %} +{% include posts/auto_examples.html examples=examples %} \ No newline at end of file diff --git a/_posts/plotly_js/fundamentals/axes/2015-04-09-axes_plotly_js_index.html b/_posts/plotly_js/fundamentals/axes/2015-04-09-axes_plotly_js_index.html index 2b2c96adb..48cc7b405 100755 --- a/_posts/plotly_js/fundamentals/axes/2015-04-09-axes_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/axes/2015-04-09-axes_plotly_js_index.html @@ -6,7 +6,7 @@ language: plotly_js layout: base name: Axes -order: 15 +order: 14 page_type: u-guide permalink: javascript/axes/ redirect_from: javascript-graphing-library/axes/ diff --git a/_posts/plotly_js/fundamentals/colorscales/2017-08-21-colorscales_new_plotlyjs_index.html b/_posts/plotly_js/fundamentals/colorscales/2017-08-21-colorscales_new_plotlyjs_index.html index 8d026dfe3..c12549935 100755 --- a/_posts/plotly_js/fundamentals/colorscales/2017-08-21-colorscales_new_plotlyjs_index.html +++ b/_posts/plotly_js/fundamentals/colorscales/2017-08-21-colorscales_new_plotlyjs_index.html @@ -5,7 +5,7 @@ language: plotly_js layout: base name: Colorscales -order: 6 +order: 5 page_type: u-guide permalink: javascript/colorscales/ redirect_from: javascript-graphing-library/heatmap-and-contour-colorscales/ diff --git a/_posts/plotly_js/fundamentals/colorway/2018-10-03-colorway_plotlyjs_index.html b/_posts/plotly_js/fundamentals/colorway/2018-10-03-colorway_plotlyjs_index.html index f2fe2bcef..8754928fd 100755 --- a/_posts/plotly_js/fundamentals/colorway/2018-10-03-colorway_plotlyjs_index.html +++ b/_posts/plotly_js/fundamentals/colorway/2018-10-03-colorway_plotlyjs_index.html @@ -4,7 +4,7 @@ language: plotly_js layout: base name: Colorway -order: 7 +order: 6 page_type: u-guide permalink: javascript/colorway/ thumbnail: thumbnail/colorway.jpg diff --git a/_posts/plotly_js/fundamentals/font/2015-04-09-font_plotly_js_index.html b/_posts/plotly_js/fundamentals/font/2015-04-09-font_plotly_js_index.html index f61776209..02f817b44 100755 --- a/_posts/plotly_js/fundamentals/font/2015-04-09-font_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/font/2015-04-09-font_plotly_js_index.html @@ -3,7 +3,7 @@ display_as: file_settings layout: base name: Text and Font Styling -order: 8 +order: 7 page_type: u-guide permalink: javascript/font/ redirect_from: javascript-graphing-library/font/ diff --git a/_posts/plotly_js/fundamentals/horizontal-legend/2015-04-09-horizontal_legend_js_index.html b/_posts/plotly_js/fundamentals/horizontal-legend/2015-04-09-horizontal_legend_js_index.html index 3cfb8760c..b2d50cdd3 100755 --- a/_posts/plotly_js/fundamentals/horizontal-legend/2015-04-09-horizontal_legend_js_index.html +++ b/_posts/plotly_js/fundamentals/horizontal-legend/2015-04-09-horizontal_legend_js_index.html @@ -4,7 +4,7 @@ language: plotly_js layout: base name: Horizontal Legends -order: 16 +order: 15 page_type: u-guide permalink: javascript/horizontal-legend/ redirect_from: javascript-graphing-library/horizontal-legends/ diff --git a/_posts/plotly_js/fundamentals/hover/2015-10-08-hover_plotly_js_index.html b/_posts/plotly_js/fundamentals/hover/2015-10-08-hover_plotly_js_index.html index 6cf94337c..8f5d6be88 100755 --- a/_posts/plotly_js/fundamentals/hover/2015-10-08-hover_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/hover/2015-10-08-hover_plotly_js_index.html @@ -5,7 +5,7 @@ language: plotly_js layout: base name: Hover Text and Formatting -order: 17 +order: 16 page_type: u-guide permalink: javascript/hover-text-and-formatting/ redirect_from: javascript-graphing-library/hover-text-and-formatting/ diff --git a/_posts/plotly_js/fundamentals/images/2016-06-21-images_plotly_js_index.html b/_posts/plotly_js/fundamentals/images/2016-06-21-images_plotly_js_index.html index b4338646f..dc8255f8c 100755 --- a/_posts/plotly_js/fundamentals/images/2016-06-21-images_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/images/2016-06-21-images_plotly_js_index.html @@ -4,7 +4,7 @@ language: plotly_js layout: base name: Images -order: 9 +order: 8 page_type: u-guide permalink: javascript/images/ redirect_from: javascript-graphing-library/images/ diff --git a/_posts/plotly_js/fundamentals/labels/2015-04-09-labels_plotly_js_index.html b/_posts/plotly_js/fundamentals/labels/2015-04-09-labels_plotly_js_index.html index 3d15b1610..e8679333a 100755 --- a/_posts/plotly_js/fundamentals/labels/2015-04-09-labels_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/labels/2015-04-09-labels_plotly_js_index.html @@ -5,7 +5,7 @@ language: plotly_js layout: base name: Setting the Title, Legend Entries, and Axis Titles -order: 18 +order: 17 page_type: u-guide permalink: javascript/figure-labels/ redirect_from: javascript-graphing-library/figure-labels/ diff --git a/_posts/plotly_js/fundamentals/latex/2015-04-09-latex_plotly_js_index.html b/_posts/plotly_js/fundamentals/latex/2015-04-09-latex_plotly_js_index.html index d4f33c035..70558dda5 100755 --- a/_posts/plotly_js/fundamentals/latex/2015-04-09-latex_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/latex/2015-04-09-latex_plotly_js_index.html @@ -4,7 +4,7 @@ language: plotly_js layout: base name: LaTeX -order: 10 +order: 9 page_type: u-guide permalink: javascript/LaTeX/ redirect_from: javascript-graphing-library/LaTeX/ diff --git a/_posts/plotly_js/fundamentals/layout-template/2018-10-18-labels_plotly_js_index.html b/_posts/plotly_js/fundamentals/layout-template/2018-10-18-labels_plotly_js_index.html index 21ec61837..e7f5f5d32 100755 --- a/_posts/plotly_js/fundamentals/layout-template/2018-10-18-labels_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/layout-template/2018-10-18-labels_plotly_js_index.html @@ -4,7 +4,7 @@ language: plotly_js layout: base name: Layout Template Examples -order: 19 +order: 18 page_type: u-guide permalink: javascript/layout-template/ thumbnail: thumbnail/plotly-express.png diff --git a/_posts/plotly_js/fundamentals/legends/2015-04-09-legends_plotly_js_index.html b/_posts/plotly_js/fundamentals/legends/2015-04-09-legends_plotly_js_index.html index e897633f1..0cb3b82cf 100755 --- a/_posts/plotly_js/fundamentals/legends/2015-04-09-legends_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/legends/2015-04-09-legends_plotly_js_index.html @@ -5,7 +5,7 @@ language: plotly_js layout: base name: Legends -order: 20 +order: 19 page_type: u-guide permalink: javascript/legend/ redirect_from: javascript-graphing-library/legend/ diff --git a/_posts/plotly_js/fundamentals/marker-style/2018-03-15-marker-style-plotly-js.html b/_posts/plotly_js/fundamentals/marker-style/2018-03-15-marker-style-plotly-js.html index beea5f991..05d7bd121 100644 --- a/_posts/plotly_js/fundamentals/marker-style/2018-03-15-marker-style-plotly-js.html +++ b/_posts/plotly_js/fundamentals/marker-style/2018-03-15-marker-style-plotly-js.html @@ -4,7 +4,7 @@ language: plotly_js layout: base name: Styling Markers -order: 11 +order: 10 page_type: u-guide permalink: javascript/marker-style/ thumbnail: thumbnail/marker-style.gif diff --git a/_posts/plotly_js/fundamentals/plotly-js-3-changes/2024-10-09-plotly-js-3-changes.md b/_posts/plotly_js/fundamentals/plotly-js-3-changes/2024-10-09-plotly-js-3-changes.md index 60e4981f4..f68d45e56 100644 --- a/_posts/plotly_js/fundamentals/plotly-js-3-changes/2024-10-09-plotly-js-3-changes.md +++ b/_posts/plotly_js/fundamentals/plotly-js-3-changes/2024-10-09-plotly-js-3-changes.md @@ -4,13 +4,14 @@ display_as: file_settings language: plotly_js layout: base name: Version 3 Changes -order: 27 +order: 26 page_type: u-guide permalink: javascript/version-3-changes/ redirect_from: javascript/pointcloud/ sitemap: false thumbnail: thumbnail/pointcloud.jpg --- + This page outlines the changes in Plotly.js version 3 and cases where you may need to update your charts. ## Removed Features @@ -359,4 +360,4 @@ var data = [{ cmin: 0, cmax: 100 }]; -``` +``` \ No newline at end of file diff --git a/_posts/plotly_js/fundamentals/shapes/2015-06-19-shape_plotlyjs_index.html b/_posts/plotly_js/fundamentals/shapes/2015-06-19-shape_plotlyjs_index.html index 1e6c63f47..d555337b6 100755 --- a/_posts/plotly_js/fundamentals/shapes/2015-06-19-shape_plotlyjs_index.html +++ b/_posts/plotly_js/fundamentals/shapes/2015-06-19-shape_plotlyjs_index.html @@ -5,7 +5,7 @@ language: plotly_js layout: base name: Shapes -order: 23 +order: 22 page_type: u-guide permalink: javascript/shapes/ redirect_from: javascript-graphing-library/shapes/ diff --git a/_posts/plotly_js/fundamentals/sizing/2015-04-09-sizing_plotly_js_index.html b/_posts/plotly_js/fundamentals/sizing/2015-04-09-sizing_plotly_js_index.html index 08130cb59..85110f309 100755 --- a/_posts/plotly_js/fundamentals/sizing/2015-04-09-sizing_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/sizing/2015-04-09-sizing_plotly_js_index.html @@ -4,7 +4,7 @@ language: plotly_js layout: base name: Setting Graph Size -order: 21 +order: 20 page_type: u-guide permalink: javascript/setting-graph-size/ redirect_from: javascript-graphing-library/setting-graph-size/ diff --git a/_posts/plotly_js/fundamentals/static-image-export/2016-05-20-static-image.md b/_posts/plotly_js/fundamentals/static-image-export/2016-05-20-static-image.md index 94282aaad..9abc235a6 100644 --- a/_posts/plotly_js/fundamentals/static-image-export/2016-05-20-static-image.md +++ b/_posts/plotly_js/fundamentals/static-image-export/2016-05-20-static-image.md @@ -6,7 +6,7 @@ display_as: file_settings language: plotly_js layout: base name: Static Image Export -order: 25 +order: 24 page_type: u-guide permalink: javascript/static-image-export/ sitemap: false @@ -68,4 +68,4 @@ The common image formats: 'PNG', 'JPG/JPEG' are supported. In addition, formats ## Saving as SVG ## img_svg.attr("src", url); - Plotly.toImage(gd,{format:'svg',height:800,width:800}); + Plotly.toImage(gd,{format:'svg',height:800,width:800}); \ No newline at end of file diff --git a/_posts/plotly_js/fundamentals/texttemplate/2019-10-21-texttemplate_plotly_js_index.html b/_posts/plotly_js/fundamentals/texttemplate/2019-10-21-texttemplate_plotly_js_index.html index 9b16a1b25..1206172ec 100755 --- a/_posts/plotly_js/fundamentals/texttemplate/2019-10-21-texttemplate_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/texttemplate/2019-10-21-texttemplate_plotly_js_index.html @@ -5,7 +5,7 @@ language: plotly_js layout: base name: Text Template -order: 24 +order: 23 page_type: u-guide permalink: javascript/texttemplate/ thumbnail: thumbnail/texttemplate.jpg diff --git a/_posts/plotly_js/fundamentals/tick-format/2018-12-17-how-to-tick-format_index.html b/_posts/plotly_js/fundamentals/tick-format/2018-12-17-how-to-tick-format_index.html index 2b43f4a7b..fdcb097e8 100644 --- a/_posts/plotly_js/fundamentals/tick-format/2018-12-17-how-to-tick-format_index.html +++ b/_posts/plotly_js/fundamentals/tick-format/2018-12-17-how-to-tick-format_index.html @@ -5,7 +5,7 @@ language: plotly_js layout: base name: Formatting Ticks -order: 22 +order: 21 page_type: u-guide permalink: javascript/tick-formatting/ thumbnail: thumbnail/hover.jpg From 85e4ee3dfcff3594ff02ed761c4b3bebddb77817 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Fri, 27 Feb 2026 13:56:38 -0500 Subject: [PATCH 08/33] Update build.yml --- .github/workflows/build.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3e5caf794..8792a85d0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -53,6 +53,10 @@ jobs: bundle exec jekyll build cp python/sitemap.xml _site/python/sitemap.xml + - name: Clean invalid file paths + run: | + find _site -name "*:*" -delete || true + - name: Upload build artifact uses: actions/upload-artifact@v4 with: From 5e09140a64e0bf17e01f171f7bd488f817913e5d Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Fri, 27 Feb 2026 14:03:10 -0500 Subject: [PATCH 09/33] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8792a85d0..03a99f3af 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -55,7 +55,7 @@ jobs: - name: Clean invalid file paths run: | - find _site -name "*:*" -delete || true + rm -rf "_site/https:" - name: Upload build artifact uses: actions/upload-artifact@v4 From 2a8af0eee9768e247f17bff593503ccebd74dbd2 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Fri, 27 Feb 2026 14:10:41 -0500 Subject: [PATCH 10/33] update build workflow --- .github/workflows/build.yml | 7 +++---- _posts/plotly_js/2020-08-21-dash_apps.md | 12 ++++++++++++ .../3d-axes/2015-08-12-3d_axes_plotly_js_index.html | 2 +- .../2018-10-11-3d_hover_options_plotly_js_index.html | 2 +- ...18-11-21-3d_surface_lighting_plotly_js_index.html | 2 +- .../2015-04-09-annotations_plotly_js_index.html | 2 +- .../axes/2015-04-09-axes_plotly_js_index.html | 2 +- .../2017-08-21-colorscales_new_plotlyjs_index.html | 2 +- .../colorway/2018-10-03-colorway_plotlyjs_index.html | 2 +- .../font/2015-04-09-font_plotly_js_index.html | 2 +- .../2015-04-09-horizontal_legend_js_index.html | 2 +- .../hover/2015-10-08-hover_plotly_js_index.html | 2 +- .../images/2016-06-21-images_plotly_js_index.html | 2 +- .../labels/2015-04-09-labels_plotly_js_index.html | 2 +- .../latex/2015-04-09-latex_plotly_js_index.html | 2 +- .../2018-10-18-labels_plotly_js_index.html | 2 +- .../legends/2015-04-09-legends_plotly_js_index.html | 2 +- .../2018-03-15-marker-style-plotly-js.html | 2 +- .../2024-10-09-plotly-js-3-changes.md | 2 +- .../shapes/2015-06-19-shape_plotlyjs_index.html | 2 +- .../sizing/2015-04-09-sizing_plotly_js_index.html | 2 +- .../static-image-export/2016-05-20-static-image.md | 2 +- .../2019-10-21-texttemplate_plotly_js_index.html | 2 +- .../2018-12-17-how-to-tick-format_index.html | 2 +- 24 files changed, 37 insertions(+), 26 deletions(-) create mode 100644 _posts/plotly_js/2020-08-21-dash_apps.md diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 03a99f3af..4456e492e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -53,12 +53,11 @@ jobs: bundle exec jekyll build cp python/sitemap.xml _site/python/sitemap.xml - - name: Clean invalid file paths - run: | - rm -rf "_site/https:" + - name: Zip site + run: zip -r site-build.zip _site/ - name: Upload build artifact uses: actions/upload-artifact@v4 with: name: site-build - path: _site/ + path: site-build.zip diff --git a/_posts/plotly_js/2020-08-21-dash_apps.md b/_posts/plotly_js/2020-08-21-dash_apps.md new file mode 100644 index 000000000..f083edaf3 --- /dev/null +++ b/_posts/plotly_js/2020-08-21-dash_apps.md @@ -0,0 +1,12 @@ +--- +description: Analytical Apps with Dash +display_as: file_settings +language: plotly_js +layout: base +name: Analytical Apps with Dash +order: 5 +page_type: example_index +permalink: https://dash.plotly.com/?/ +sitemap: false +thumbnail: thumbnail/dash_apps.png +--- \ No newline at end of file diff --git a/_posts/plotly_js/fundamentals/3d-axes/2015-08-12-3d_axes_plotly_js_index.html b/_posts/plotly_js/fundamentals/3d-axes/2015-08-12-3d_axes_plotly_js_index.html index 916103aa2..b7bb4d016 100755 --- a/_posts/plotly_js/fundamentals/3d-axes/2015-08-12-3d_axes_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/3d-axes/2015-08-12-3d_axes_plotly_js_index.html @@ -4,7 +4,7 @@ language: plotly_js layout: base name: 3D Axes -order: 11 +order: 12 page_type: u-guide permalink: javascript/3d-axes/ redirect_from: javascript-graphing-library/3d-axes/ diff --git a/_posts/plotly_js/fundamentals/3d-hover-options/2018-10-11-3d_hover_options_plotly_js_index.html b/_posts/plotly_js/fundamentals/3d-hover-options/2018-10-11-3d_hover_options_plotly_js_index.html index 47e6e9ab2..4ebc04080 100755 --- a/_posts/plotly_js/fundamentals/3d-hover-options/2018-10-11-3d_hover_options_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/3d-hover-options/2018-10-11-3d_hover_options_plotly_js_index.html @@ -4,7 +4,7 @@ language: plotly_js layout: base name: 3D Hover Options -order: 12 +order: 13 page_type: u-guide permalink: javascript/3d-hover/ thumbnail: thumbnail/subplots.jpg diff --git a/_posts/plotly_js/fundamentals/3d-surface-lighting/2018-11-21-3d_surface_lighting_plotly_js_index.html b/_posts/plotly_js/fundamentals/3d-surface-lighting/2018-11-21-3d_surface_lighting_plotly_js_index.html index 979c34072..22a841fd3 100755 --- a/_posts/plotly_js/fundamentals/3d-surface-lighting/2018-11-21-3d_surface_lighting_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/3d-surface-lighting/2018-11-21-3d_surface_lighting_plotly_js_index.html @@ -4,7 +4,7 @@ language: plotly_js layout: base name: 3D Surface Lighting -order: 13 +order: 14 page_type: u-guide permalink: javascript/3d-surface-lighting/ thumbnail: thumbnail/3d-surface.jpg diff --git a/_posts/plotly_js/fundamentals/annotations/2015-04-09-annotations_plotly_js_index.html b/_posts/plotly_js/fundamentals/annotations/2015-04-09-annotations_plotly_js_index.html index c610823c0..6bd595a3f 100755 --- a/_posts/plotly_js/fundamentals/annotations/2015-04-09-annotations_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/annotations/2015-04-09-annotations_plotly_js_index.html @@ -4,7 +4,7 @@ language: plotly_js layout: base name: Text and Annotations -order: 25 +order: 26 page_type: example_index permalink: javascript/text-and-annotations/ redirect_from: javascript-graphing-library/text-and-annotations/ diff --git a/_posts/plotly_js/fundamentals/axes/2015-04-09-axes_plotly_js_index.html b/_posts/plotly_js/fundamentals/axes/2015-04-09-axes_plotly_js_index.html index 48cc7b405..2b2c96adb 100755 --- a/_posts/plotly_js/fundamentals/axes/2015-04-09-axes_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/axes/2015-04-09-axes_plotly_js_index.html @@ -6,7 +6,7 @@ language: plotly_js layout: base name: Axes -order: 14 +order: 15 page_type: u-guide permalink: javascript/axes/ redirect_from: javascript-graphing-library/axes/ diff --git a/_posts/plotly_js/fundamentals/colorscales/2017-08-21-colorscales_new_plotlyjs_index.html b/_posts/plotly_js/fundamentals/colorscales/2017-08-21-colorscales_new_plotlyjs_index.html index c12549935..8d026dfe3 100755 --- a/_posts/plotly_js/fundamentals/colorscales/2017-08-21-colorscales_new_plotlyjs_index.html +++ b/_posts/plotly_js/fundamentals/colorscales/2017-08-21-colorscales_new_plotlyjs_index.html @@ -5,7 +5,7 @@ language: plotly_js layout: base name: Colorscales -order: 5 +order: 6 page_type: u-guide permalink: javascript/colorscales/ redirect_from: javascript-graphing-library/heatmap-and-contour-colorscales/ diff --git a/_posts/plotly_js/fundamentals/colorway/2018-10-03-colorway_plotlyjs_index.html b/_posts/plotly_js/fundamentals/colorway/2018-10-03-colorway_plotlyjs_index.html index 8754928fd..f2fe2bcef 100755 --- a/_posts/plotly_js/fundamentals/colorway/2018-10-03-colorway_plotlyjs_index.html +++ b/_posts/plotly_js/fundamentals/colorway/2018-10-03-colorway_plotlyjs_index.html @@ -4,7 +4,7 @@ language: plotly_js layout: base name: Colorway -order: 6 +order: 7 page_type: u-guide permalink: javascript/colorway/ thumbnail: thumbnail/colorway.jpg diff --git a/_posts/plotly_js/fundamentals/font/2015-04-09-font_plotly_js_index.html b/_posts/plotly_js/fundamentals/font/2015-04-09-font_plotly_js_index.html index 02f817b44..f61776209 100755 --- a/_posts/plotly_js/fundamentals/font/2015-04-09-font_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/font/2015-04-09-font_plotly_js_index.html @@ -3,7 +3,7 @@ display_as: file_settings layout: base name: Text and Font Styling -order: 7 +order: 8 page_type: u-guide permalink: javascript/font/ redirect_from: javascript-graphing-library/font/ diff --git a/_posts/plotly_js/fundamentals/horizontal-legend/2015-04-09-horizontal_legend_js_index.html b/_posts/plotly_js/fundamentals/horizontal-legend/2015-04-09-horizontal_legend_js_index.html index b2d50cdd3..3cfb8760c 100755 --- a/_posts/plotly_js/fundamentals/horizontal-legend/2015-04-09-horizontal_legend_js_index.html +++ b/_posts/plotly_js/fundamentals/horizontal-legend/2015-04-09-horizontal_legend_js_index.html @@ -4,7 +4,7 @@ language: plotly_js layout: base name: Horizontal Legends -order: 15 +order: 16 page_type: u-guide permalink: javascript/horizontal-legend/ redirect_from: javascript-graphing-library/horizontal-legends/ diff --git a/_posts/plotly_js/fundamentals/hover/2015-10-08-hover_plotly_js_index.html b/_posts/plotly_js/fundamentals/hover/2015-10-08-hover_plotly_js_index.html index 8f5d6be88..6cf94337c 100755 --- a/_posts/plotly_js/fundamentals/hover/2015-10-08-hover_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/hover/2015-10-08-hover_plotly_js_index.html @@ -5,7 +5,7 @@ language: plotly_js layout: base name: Hover Text and Formatting -order: 16 +order: 17 page_type: u-guide permalink: javascript/hover-text-and-formatting/ redirect_from: javascript-graphing-library/hover-text-and-formatting/ diff --git a/_posts/plotly_js/fundamentals/images/2016-06-21-images_plotly_js_index.html b/_posts/plotly_js/fundamentals/images/2016-06-21-images_plotly_js_index.html index dc8255f8c..b4338646f 100755 --- a/_posts/plotly_js/fundamentals/images/2016-06-21-images_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/images/2016-06-21-images_plotly_js_index.html @@ -4,7 +4,7 @@ language: plotly_js layout: base name: Images -order: 8 +order: 9 page_type: u-guide permalink: javascript/images/ redirect_from: javascript-graphing-library/images/ diff --git a/_posts/plotly_js/fundamentals/labels/2015-04-09-labels_plotly_js_index.html b/_posts/plotly_js/fundamentals/labels/2015-04-09-labels_plotly_js_index.html index e8679333a..3d15b1610 100755 --- a/_posts/plotly_js/fundamentals/labels/2015-04-09-labels_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/labels/2015-04-09-labels_plotly_js_index.html @@ -5,7 +5,7 @@ language: plotly_js layout: base name: Setting the Title, Legend Entries, and Axis Titles -order: 17 +order: 18 page_type: u-guide permalink: javascript/figure-labels/ redirect_from: javascript-graphing-library/figure-labels/ diff --git a/_posts/plotly_js/fundamentals/latex/2015-04-09-latex_plotly_js_index.html b/_posts/plotly_js/fundamentals/latex/2015-04-09-latex_plotly_js_index.html index 70558dda5..d4f33c035 100755 --- a/_posts/plotly_js/fundamentals/latex/2015-04-09-latex_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/latex/2015-04-09-latex_plotly_js_index.html @@ -4,7 +4,7 @@ language: plotly_js layout: base name: LaTeX -order: 9 +order: 10 page_type: u-guide permalink: javascript/LaTeX/ redirect_from: javascript-graphing-library/LaTeX/ diff --git a/_posts/plotly_js/fundamentals/layout-template/2018-10-18-labels_plotly_js_index.html b/_posts/plotly_js/fundamentals/layout-template/2018-10-18-labels_plotly_js_index.html index e7f5f5d32..21ec61837 100755 --- a/_posts/plotly_js/fundamentals/layout-template/2018-10-18-labels_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/layout-template/2018-10-18-labels_plotly_js_index.html @@ -4,7 +4,7 @@ language: plotly_js layout: base name: Layout Template Examples -order: 18 +order: 19 page_type: u-guide permalink: javascript/layout-template/ thumbnail: thumbnail/plotly-express.png diff --git a/_posts/plotly_js/fundamentals/legends/2015-04-09-legends_plotly_js_index.html b/_posts/plotly_js/fundamentals/legends/2015-04-09-legends_plotly_js_index.html index 0cb3b82cf..e897633f1 100755 --- a/_posts/plotly_js/fundamentals/legends/2015-04-09-legends_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/legends/2015-04-09-legends_plotly_js_index.html @@ -5,7 +5,7 @@ language: plotly_js layout: base name: Legends -order: 19 +order: 20 page_type: u-guide permalink: javascript/legend/ redirect_from: javascript-graphing-library/legend/ diff --git a/_posts/plotly_js/fundamentals/marker-style/2018-03-15-marker-style-plotly-js.html b/_posts/plotly_js/fundamentals/marker-style/2018-03-15-marker-style-plotly-js.html index 05d7bd121..beea5f991 100644 --- a/_posts/plotly_js/fundamentals/marker-style/2018-03-15-marker-style-plotly-js.html +++ b/_posts/plotly_js/fundamentals/marker-style/2018-03-15-marker-style-plotly-js.html @@ -4,7 +4,7 @@ language: plotly_js layout: base name: Styling Markers -order: 10 +order: 11 page_type: u-guide permalink: javascript/marker-style/ thumbnail: thumbnail/marker-style.gif diff --git a/_posts/plotly_js/fundamentals/plotly-js-3-changes/2024-10-09-plotly-js-3-changes.md b/_posts/plotly_js/fundamentals/plotly-js-3-changes/2024-10-09-plotly-js-3-changes.md index f68d45e56..e65f22568 100644 --- a/_posts/plotly_js/fundamentals/plotly-js-3-changes/2024-10-09-plotly-js-3-changes.md +++ b/_posts/plotly_js/fundamentals/plotly-js-3-changes/2024-10-09-plotly-js-3-changes.md @@ -4,7 +4,7 @@ display_as: file_settings language: plotly_js layout: base name: Version 3 Changes -order: 26 +order: 27 page_type: u-guide permalink: javascript/version-3-changes/ redirect_from: javascript/pointcloud/ diff --git a/_posts/plotly_js/fundamentals/shapes/2015-06-19-shape_plotlyjs_index.html b/_posts/plotly_js/fundamentals/shapes/2015-06-19-shape_plotlyjs_index.html index d555337b6..1e6c63f47 100755 --- a/_posts/plotly_js/fundamentals/shapes/2015-06-19-shape_plotlyjs_index.html +++ b/_posts/plotly_js/fundamentals/shapes/2015-06-19-shape_plotlyjs_index.html @@ -5,7 +5,7 @@ language: plotly_js layout: base name: Shapes -order: 22 +order: 23 page_type: u-guide permalink: javascript/shapes/ redirect_from: javascript-graphing-library/shapes/ diff --git a/_posts/plotly_js/fundamentals/sizing/2015-04-09-sizing_plotly_js_index.html b/_posts/plotly_js/fundamentals/sizing/2015-04-09-sizing_plotly_js_index.html index 85110f309..08130cb59 100755 --- a/_posts/plotly_js/fundamentals/sizing/2015-04-09-sizing_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/sizing/2015-04-09-sizing_plotly_js_index.html @@ -4,7 +4,7 @@ language: plotly_js layout: base name: Setting Graph Size -order: 20 +order: 21 page_type: u-guide permalink: javascript/setting-graph-size/ redirect_from: javascript-graphing-library/setting-graph-size/ diff --git a/_posts/plotly_js/fundamentals/static-image-export/2016-05-20-static-image.md b/_posts/plotly_js/fundamentals/static-image-export/2016-05-20-static-image.md index 9abc235a6..cf77e1f0d 100644 --- a/_posts/plotly_js/fundamentals/static-image-export/2016-05-20-static-image.md +++ b/_posts/plotly_js/fundamentals/static-image-export/2016-05-20-static-image.md @@ -6,7 +6,7 @@ display_as: file_settings language: plotly_js layout: base name: Static Image Export -order: 24 +order: 25 page_type: u-guide permalink: javascript/static-image-export/ sitemap: false diff --git a/_posts/plotly_js/fundamentals/texttemplate/2019-10-21-texttemplate_plotly_js_index.html b/_posts/plotly_js/fundamentals/texttemplate/2019-10-21-texttemplate_plotly_js_index.html index 1206172ec..9b16a1b25 100755 --- a/_posts/plotly_js/fundamentals/texttemplate/2019-10-21-texttemplate_plotly_js_index.html +++ b/_posts/plotly_js/fundamentals/texttemplate/2019-10-21-texttemplate_plotly_js_index.html @@ -5,7 +5,7 @@ language: plotly_js layout: base name: Text Template -order: 23 +order: 24 page_type: u-guide permalink: javascript/texttemplate/ thumbnail: thumbnail/texttemplate.jpg diff --git a/_posts/plotly_js/fundamentals/tick-format/2018-12-17-how-to-tick-format_index.html b/_posts/plotly_js/fundamentals/tick-format/2018-12-17-how-to-tick-format_index.html index fdcb097e8..2b43f4a7b 100644 --- a/_posts/plotly_js/fundamentals/tick-format/2018-12-17-how-to-tick-format_index.html +++ b/_posts/plotly_js/fundamentals/tick-format/2018-12-17-how-to-tick-format_index.html @@ -5,7 +5,7 @@ language: plotly_js layout: base name: Formatting Ticks -order: 21 +order: 22 page_type: u-guide permalink: javascript/tick-formatting/ thumbnail: thumbnail/hover.jpg From 921aa8156d91e17425374590d9c5de5d2239c60a Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Fri, 27 Feb 2026 14:31:11 -0500 Subject: [PATCH 11/33] Update config.yml --- .circleci/config.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1ac8fdd4a..5a02ac239 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -127,3 +127,8 @@ jobs: cd .. rm -rf documentation fi + zip -r site-build.zip _site/ + + - store_artifacts: + path: site-build.zip + destination: site-build.zip From 6df84a72c875ccecdccfe3f91bbfe395b17f2c1b Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Fri, 27 Feb 2026 14:51:19 -0500 Subject: [PATCH 12/33] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4456e492e..b32000af6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -49,7 +49,7 @@ jobs: python check-or-enforce-order.py _posts/matlab python check-or-enforce-order.py _posts/plotly_js python generate-sitemaps.py - echo $(md5sum all_static/css/main.css | cut -d ' ' -f 1) > _data/cache_bust_css.yml + md5sum all_static/css/main.css | cut -d ' ' -f 1 > _data/cache_bust_css.yml bundle exec jekyll build cp python/sitemap.xml _site/python/sitemap.xml From 0551989b35a1484e448dea86783e66f6c8fea07c Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Fri, 27 Feb 2026 15:22:01 -0500 Subject: [PATCH 13/33] rename files --- .circleci/config.yml | 6 +++--- .github/workflows/build.yml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5a02ac239..b740cb890 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -127,8 +127,8 @@ jobs: cd .. rm -rf documentation fi - zip -r site-build.zip _site/ + zip -r site-build-circleci.zip _site/ - store_artifacts: - path: site-build.zip - destination: site-build.zip + path: site-build-circleci.zip + destination: site-build-circleci.zip diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b32000af6..d4f3f221e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -54,10 +54,10 @@ jobs: cp python/sitemap.xml _site/python/sitemap.xml - name: Zip site - run: zip -r site-build.zip _site/ + run: zip -r site-build-github-actions.zip _site/ - name: Upload build artifact uses: actions/upload-artifact@v4 with: - name: site-build - path: site-build.zip + name: site-build-github-actions + path: site-build-github-actions.zip From 0d9451dcfa33c354695da38360819736a35e642a Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Mon, 2 Mar 2026 10:34:06 -0500 Subject: [PATCH 14/33] fix redirects --- .github/workflows/build.yml | 3 +++ fix-case-redirects.py | 28 ++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 fix-case-redirects.py diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d4f3f221e..202bb4b33 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -40,6 +40,9 @@ jobs: mv _posts/r/md/ggplot2 _posts/ggplot2/md mv _posts/fsharp/html/csharp _posts/csharp/html + - name: Fix case-sensitive redirect issues + run: python fix-case-redirects.py _posts/julia/html + - name: Build site run: | python front-matter-ci.py _posts diff --git a/fix-case-redirects.py b/fix-case-redirects.py new file mode 100644 index 000000000..536a3e2bc --- /dev/null +++ b/fix-case-redirects.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python3 +import frontmatter +from pathlib import Path +import sys + +for path in sys.argv[1:]: + for f in Path(path).glob("**/*.html"): + try: + post = frontmatter.load(f) + except: + continue + + permalink = post.get('permalink', '').lower() + redirects = post.get('redirect_from', []) + if isinstance(redirects, str): + redirects = [redirects] + + fixed = [r for r in redirects if r.lower() != permalink] + + if len(fixed) < len(redirects): + removed = [r for r in redirects if r.lower() == permalink] + print(f"{f}: removed {removed}") + if fixed: + post['redirect_from'] = fixed + else: + del post['redirect_from'] + with open(f, 'w') as out: + out.write(frontmatter.dumps(post)) From 0bde4083988240cf14e7c6dea5e7ec81f95482ac Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Mon, 2 Mar 2026 11:01:57 -0500 Subject: [PATCH 15/33] add snapshots --- .circleci/config.yml | 35 --------------------------------- .github/workflows/build.yml | 39 +++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 35 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index b740cb890..629e0341f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -80,41 +80,6 @@ jobs: bundle exec jekyll build cp python/sitemap.xml _site/python/sitemap.xml rm _data/mapbox_token.yml - mkdir snapshots - cd _site - cp -r 'all_static' '../snapshots' - cp 'api/index.html' '../snapshots' - cp --parents 'python/index.html' '../snapshots' - cp --parents 'python/getting-started/index.html' '../snapshots' - cp --parents 'python/plotly-fundamentals/index.html' '../snapshots' - cp --parents 'python/line-and-scatter/index.html' '../snapshots' - cp --parents 'r/index.html' '../snapshots' - cp --parents 'r/getting-started/index.html' '../snapshots' - cp --parents 'r/plotly-fundamentals/index.html' '../snapshots' - cp --parents 'r/line-and-scatter/index.html' '../snapshots' - cp --parents 'javascript/index.html' '../snapshots' - cp --parents 'javascript/plotly-fundamentals/index.html' '../snapshots' - cp --parents 'javascript/getting-started/index.html' '../snapshots' - cp --parents 'javascript/line-and-scatter/index.html' '../snapshots' - cp --parents 'ggplot2/index.html' '../snapshots' - cp --parents 'ggplot2/getting-started/index.html' '../snapshots' - cp --parents 'ggplot2/histograms/index.html' '../snapshots' - cp --parents 'matlab/index.html' '../snapshots' - cp --parents 'matlab/getting-started/index.html' '../snapshots' - cp --parents 'matlab/graphing-multiple-chart-types/index.html' '../snapshots' - cp --parents 'matlab/histograms/index.html' '../snapshots' - cp --parents 'csharp/index.html' '../snapshots' - cp --parents 'csharp/getting-started/index.html' '../snapshots' - cd .. - rm -f 'snapshots/all_static/javascripts/jquery-knob/index.html' - rm -f 'snapshots/all_static/images/Plotly-feed2.html' - rm -f 'snapshots/all_static/images/Plotly.html' - rm -f 'snapshots/all_static/images/Plotly-Feed.html' - rm -f snapshots/*.bkp - rm -f snapshots/*/*.bkp - rm -f snapshots/*/*/*.bkp - bundle exec percy snapshot snapshots --enable_javascript - rm -rf 'snapshots/' if [ "${CIRCLE_BRANCH}" == "master" ]; then git clone --depth=1 --branch=gh-pages https://github.com/plotly/documentation.git git config user.name plotlydocbot diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 202bb4b33..5692ca636 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -56,6 +56,45 @@ jobs: bundle exec jekyll build cp python/sitemap.xml _site/python/sitemap.xml + - name: Create Percy snapshots + run: | + mkdir snapshots + cd _site + cp -r 'all_static' '../snapshots' + cp 'api/index.html' '../snapshots' + cp --parents 'python/index.html' '../snapshots' + cp --parents 'python/getting-started/index.html' '../snapshots' + cp --parents 'python/plotly-fundamentals/index.html' '../snapshots' + cp --parents 'python/line-and-scatter/index.html' '../snapshots' + cp --parents 'r/index.html' '../snapshots' + cp --parents 'r/getting-started/index.html' '../snapshots' + cp --parents 'r/plotly-fundamentals/index.html' '../snapshots' + cp --parents 'r/line-and-scatter/index.html' '../snapshots' + cp --parents 'javascript/index.html' '../snapshots' + cp --parents 'javascript/plotly-fundamentals/index.html' '../snapshots' + cp --parents 'javascript/getting-started/index.html' '../snapshots' + cp --parents 'javascript/line-and-scatter/index.html' '../snapshots' + cp --parents 'ggplot2/index.html' '../snapshots' + cp --parents 'ggplot2/getting-started/index.html' '../snapshots' + cp --parents 'ggplot2/histograms/index.html' '../snapshots' + cp --parents 'matlab/index.html' '../snapshots' + cp --parents 'matlab/getting-started/index.html' '../snapshots' + cp --parents 'matlab/graphing-multiple-chart-types/index.html' '../snapshots' + cp --parents 'matlab/histograms/index.html' '../snapshots' + cp --parents 'csharp/index.html' '../snapshots' + cp --parents 'csharp/getting-started/index.html' '../snapshots' + cd .. + rm -f 'snapshots/all_static/javascripts/jquery-knob/index.html' + rm -f 'snapshots/all_static/images/Plotly-feed2.html' + rm -f 'snapshots/all_static/images/Plotly.html' + rm -f 'snapshots/all_static/images/Plotly-Feed.html' + rm -f snapshots/*.bkp snapshots/*/*.bkp snapshots/*/*/*.bkp + + - name: Percy snapshot + run: bundle exec percy snapshot snapshots --enable_javascript + env: + PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }} + - name: Zip site run: zip -r site-build-github-actions.zip _site/ From 6ead7db32806c5e9794e1701659f0709de41c706 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Mon, 2 Mar 2026 11:55:52 -0500 Subject: [PATCH 16/33] add mapbox and fetch upstream docs --- .github/workflows/build.yml | 13 ++++--------- makefile | 10 +++++----- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5692ca636..bfd6da32b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -30,19 +30,14 @@ jobs: pip install python-frontmatter==0.5.0 - name: Fetch upstream docs - run: | - rm -rf _posts/python/html _posts/julia/html _posts/fsharp/html _posts/csharp/html _posts/r/md _posts/ggplot2/md _posts/matlab/md - git clone --depth 1 -b built https://github.com/plotly/plotly.py-docs _posts/python/html - git clone --depth 1 -b built https://github.com/plotly/plotlyjs.jl-docs _posts/julia/html - git clone --depth 1 -b built https://github.com/plotly/plotly.net-docs _posts/fsharp/html - git clone --depth 1 -b built https://github.com/plotly/plotly.r-docs _posts/r/md - git clone --depth 1 -b built https://github.com/plotly/plotly.matlab-docs _posts/matlab/md - mv _posts/r/md/ggplot2 _posts/ggplot2/md - mv _posts/fsharp/html/csharp _posts/csharp/html + run: make fetch_upstream_files - name: Fix case-sensitive redirect issues run: python fix-case-redirects.py _posts/julia/html + - name: Set up Mapbox token + run: echo "token: ${{ secrets.MAPBOX_TOKEN }}" > _data/mapbox_token.yml + - name: Build site run: | python front-matter-ci.py _posts diff --git a/makefile b/makefile index 621cc60d3..e75298687 100644 --- a/makefile +++ b/makefile @@ -37,11 +37,11 @@ fetch_adjacent_python_files: cp -r ../plotly.py/doc/build/html _posts/python/html fetch_upstream_files: clean - git clone --depth 1 -b built git@github.com:plotly/plotly.py-docs _posts/python/html - git clone --depth 1 -b built git@github.com:plotly/plotlyjs.jl-docs _posts/julia/html - git clone --depth 1 -b built git@github.com:plotly/plotly.net-docs _posts/fsharp/html - git clone --depth 1 -b built git@github.com:plotly/plotly.r-docs _posts/r/md - git clone --depth 1 -b built git@github.com:plotly/plotly.matlab-docs _posts/matlab/md + git clone --depth 1 -b built https://github.com/plotly/plotly.py-docs _posts/python/html + git clone --depth 1 -b built https://github.com/plotly/plotlyjs.jl-docs _posts/julia/html + git clone --depth 1 -b built https://github.com/plotly/plotly.net-docs _posts/fsharp/html + git clone --depth 1 -b built https://github.com/plotly/plotly.r-docs _posts/r/md + git clone --depth 1 -b built https://github.com/plotly/plotly.matlab-docs _posts/matlab/md mv _posts/r/md/ggplot2 _posts/ggplot2/md mv _posts/fsharp/html/csharp _posts/csharp/html From b3e02ee89527cea3b0653d4d214016ee1550f128 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Mon, 2 Mar 2026 11:57:26 -0500 Subject: [PATCH 17/33] Update build.yml --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bfd6da32b..7e9285866 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -36,7 +36,8 @@ jobs: run: python fix-case-redirects.py _posts/julia/html - name: Set up Mapbox token - run: echo "token: ${{ secrets.MAPBOX_TOKEN }}" > _data/mapbox_token.yml + run: | + echo "token: ${{ secrets.MAPBOX_TOKEN }}" > _data/mapbox_token.yml - name: Build site run: | From c4a242eccac468b791c124d70942e156885488b9 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Mon, 2 Mar 2026 11:59:31 -0500 Subject: [PATCH 18/33] use uv --- .github/workflows/build.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7e9285866..212efea0f 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,15 +19,13 @@ jobs: ruby-version: '2.7' bundler-cache: true - - name: Set up Python - uses: actions/setup-python@v5 + - name: Install uv + uses: astral-sh/setup-uv@v5 with: python-version: '3.x' - name: Install Python dependencies - run: | - pip install PyYAML==6.0.1 - pip install python-frontmatter==0.5.0 + run: uv pip install --system PyYAML==6.0.1 python-frontmatter==0.5.0 - name: Fetch upstream docs run: make fetch_upstream_files From 68aa1ca36d28f107a6abc129853452f3875cf0fd Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Mon, 2 Mar 2026 12:02:34 -0500 Subject: [PATCH 19/33] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 212efea0f..488501764 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,7 +22,7 @@ jobs: - name: Install uv uses: astral-sh/setup-uv@v5 with: - python-version: '3.x' + python-version: '3.12' - name: Install Python dependencies run: uv pip install --system PyYAML==6.0.1 python-frontmatter==0.5.0 From ac4f72baa395cea4401f3d7fbc0e2bc352f350a2 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Mon, 2 Mar 2026 12:04:18 -0500 Subject: [PATCH 20/33] Update build.yml --- .github/workflows/build.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 488501764..9cd6bc4c9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -19,11 +19,14 @@ jobs: ruby-version: '2.7' bundler-cache: true - - name: Install uv - uses: astral-sh/setup-uv@v5 + - name: Set up Python + uses: actions/setup-python@v5 with: python-version: '3.12' + - name: Install uv + uses: astral-sh/setup-uv@v5 + - name: Install Python dependencies run: uv pip install --system PyYAML==6.0.1 python-frontmatter==0.5.0 From 0c9844056151a24674f020f99f46978d823f4f2b Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Mon, 2 Mar 2026 12:22:58 -0500 Subject: [PATCH 21/33] Update build.yml --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9cd6bc4c9..d45407a61 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,8 +2,8 @@ name: Build and Deploy on: push: - branches: - - update-ci + branches-ignore: + - gh-pages jobs: build: From 9f129c4ec0c4af0504eeccb2dddb1d4e60e659ab Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Mon, 2 Mar 2026 12:24:25 -0500 Subject: [PATCH 22/33] Update build.yml --- .github/workflows/build.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d45407a61..78a52406b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -92,11 +92,8 @@ jobs: env: PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }} - - name: Zip site - run: zip -r site-build-github-actions.zip _site/ - - name: Upload build artifact uses: actions/upload-artifact@v4 with: - name: site-build-github-actions - path: site-build-github-actions.zip + name: site-build + path: _site/ From c7cc8e25fc9e70a15d4f4af3c9668e8a1b7743db Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Mon, 2 Mar 2026 12:53:37 -0500 Subject: [PATCH 23/33] Update 2020-08-21-dash_apps.md --- _posts/plotly_js/2020-08-21-dash_apps.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/_posts/plotly_js/2020-08-21-dash_apps.md b/_posts/plotly_js/2020-08-21-dash_apps.md index f083edaf3..aee8dd81c 100644 --- a/_posts/plotly_js/2020-08-21-dash_apps.md +++ b/_posts/plotly_js/2020-08-21-dash_apps.md @@ -6,7 +6,8 @@ layout: base name: Analytical Apps with Dash order: 5 page_type: example_index -permalink: https://dash.plotly.com/?/ +permalink: /javascript/dash-apps/ +redirect_to: https://dash.plotly.com/ sitemap: false thumbnail: thumbnail/dash_apps.png --- \ No newline at end of file From 4100266aa81c82870adcbf388f78602e527443d2 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Mon, 2 Mar 2026 14:24:08 -0500 Subject: [PATCH 24/33] Update build.yml --- .github/workflows/build.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 78a52406b..e076f10be 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -92,6 +92,9 @@ jobs: env: PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }} + - name: Remove files with invalid characters + run: find _site -name '*:*' -delete 2>/dev/null || true + - name: Upload build artifact uses: actions/upload-artifact@v4 with: From 85f49015dd3fb8257256172dd30226e16cc69032 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Mon, 2 Mar 2026 14:32:33 -0500 Subject: [PATCH 25/33] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e076f10be..489344220 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -93,7 +93,7 @@ jobs: PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }} - name: Remove files with invalid characters - run: find _site -name '*:*' -delete 2>/dev/null || true + run: rm -rf _site/https:* 2>/dev/null || true - name: Upload build artifact uses: actions/upload-artifact@v4 From c86a1ed57b01bed6badb29baf4f1ec65d7f82397 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Tue, 3 Mar 2026 12:43:17 -0500 Subject: [PATCH 26/33] Update build.yml --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 489344220..2c7e15644 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -52,6 +52,7 @@ jobs: md5sum all_static/css/main.css | cut -d ' ' -f 1 > _data/cache_bust_css.yml bundle exec jekyll build cp python/sitemap.xml _site/python/sitemap.xml + rm _data/mapbox_token.yml - name: Create Percy snapshots run: | From ea83d7e1453504394e29c741499b89ec5b902a11 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Mon, 9 Mar 2026 10:53:57 -0400 Subject: [PATCH 27/33] Update build.yml --- .github/workflows/build.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2c7e15644..579b536a1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -101,3 +101,32 @@ jobs: with: name: site-build path: _site/ + + - name: Create GitHub App token + if: github.ref_name == 'update-ci' && github.repository == 'plotly/graphing-library-docs' + uses: actions/create-github-app-token@v2 + id: app-token + with: + app-id: ${{ vars.DE_CI_GHAPP_ID }} + private-key: ${{ secrets.DE_CI_GHAPP_PRIVATE_KEY }} + owner: ${{ github.repository_owner }} + + - name: Checkout documentation repo + if: github.ref_name == 'update-ci' && github.repository == 'plotly/graphing-library-docs' + uses: actions/checkout@v4 + with: + repository: plotly/documentation + ref: test-pages + token: ${{ steps.app-token.outputs.token }} + path: documentation + + - name: Deploy to test branch + if: github.ref_name == 'update-ci' && github.repository == 'plotly/graphing-library-docs' + run: | + git config --global user.email "accounts@plot.ly" + git config --global user.name "plotlydocbot" + cp -r _site/* documentation/ + cd documentation + git add . + git commit -m "deploying https://github.com/plotly/graphing-library-docs/commit/${{ github.sha }}" || echo "No changes to commit" + git push From 9e319c7f4a40c9a74b60ca33e1a17291fb65b4fa Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Mon, 9 Mar 2026 12:28:57 -0400 Subject: [PATCH 28/33] Update build.yml --- .github/workflows/build.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 579b536a1..65bfa0638 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -107,9 +107,10 @@ jobs: uses: actions/create-github-app-token@v2 id: app-token with: - app-id: ${{ vars.DE_CI_GHAPP_ID }} - private-key: ${{ secrets.DE_CI_GHAPP_PRIVATE_KEY }} + app-id: ${{ vars.GRAPHING_LIBRARIES_CI_GHAPP_ID }} + private-key: ${{ secrets.GRAPHING_LIBRARIES_CI_GHAPP_PRIVATE_KEY }} owner: ${{ github.repository_owner }} + repositories: documentation - name: Checkout documentation repo if: github.ref_name == 'update-ci' && github.repository == 'plotly/graphing-library-docs' From 3469cd112df0eaddb12be4f5ea4735a09aa17c6e Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Mon, 9 Mar 2026 12:41:48 -0400 Subject: [PATCH 29/33] Update build.yml --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 65bfa0638..50b3011f2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -131,3 +131,4 @@ jobs: git add . git commit -m "deploying https://github.com/plotly/graphing-library-docs/commit/${{ github.sha }}" || echo "No changes to commit" git push + From 81834e060b5b4b8993bd65f654628b77b17f3ea9 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Mon, 9 Mar 2026 13:09:33 -0400 Subject: [PATCH 30/33] Revert "Update build.yml" This reverts commit 3469cd112df0eaddb12be4f5ea4735a09aa17c6e. --- .github/workflows/build.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 50b3011f2..65bfa0638 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -131,4 +131,3 @@ jobs: git add . git commit -m "deploying https://github.com/plotly/graphing-library-docs/commit/${{ github.sha }}" || echo "No changes to commit" git push - From 47f1e7553fb412023dec7e89f8e0cc59e0239a7f Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Mon, 9 Mar 2026 13:46:36 -0400 Subject: [PATCH 31/33] remove workarounds --- .github/workflows/build.yml | 12 ---------- _posts/plotly_js/2020-08-21-dash_apps.md | 15 ++++++------- fix-case-redirects.py | 28 ------------------------ 3 files changed, 7 insertions(+), 48 deletions(-) delete mode 100644 fix-case-redirects.py diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 65bfa0638..b11cd77f1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,9 +33,6 @@ jobs: - name: Fetch upstream docs run: make fetch_upstream_files - - name: Fix case-sensitive redirect issues - run: python fix-case-redirects.py _posts/julia/html - - name: Set up Mapbox token run: | echo "token: ${{ secrets.MAPBOX_TOKEN }}" > _data/mapbox_token.yml @@ -93,15 +90,6 @@ jobs: env: PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }} - - name: Remove files with invalid characters - run: rm -rf _site/https:* 2>/dev/null || true - - - name: Upload build artifact - uses: actions/upload-artifact@v4 - with: - name: site-build - path: _site/ - - name: Create GitHub App token if: github.ref_name == 'update-ci' && github.repository == 'plotly/graphing-library-docs' uses: actions/create-github-app-token@v2 diff --git a/_posts/plotly_js/2020-08-21-dash_apps.md b/_posts/plotly_js/2020-08-21-dash_apps.md index aee8dd81c..14773a8cb 100644 --- a/_posts/plotly_js/2020-08-21-dash_apps.md +++ b/_posts/plotly_js/2020-08-21-dash_apps.md @@ -1,13 +1,12 @@ --- +permalink: https://dash.plotly.com/?/ description: Analytical Apps with Dash -display_as: file_settings -language: plotly_js -layout: base name: Analytical Apps with Dash -order: 5 +thumbnail: thumbnail/dash_apps.png +layout: base page_type: example_index -permalink: /javascript/dash-apps/ -redirect_to: https://dash.plotly.com/ +language: plotly_js +display_as: file_settings +order: 5 sitemap: false -thumbnail: thumbnail/dash_apps.png ---- \ No newline at end of file +--- diff --git a/fix-case-redirects.py b/fix-case-redirects.py deleted file mode 100644 index 536a3e2bc..000000000 --- a/fix-case-redirects.py +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env python3 -import frontmatter -from pathlib import Path -import sys - -for path in sys.argv[1:]: - for f in Path(path).glob("**/*.html"): - try: - post = frontmatter.load(f) - except: - continue - - permalink = post.get('permalink', '').lower() - redirects = post.get('redirect_from', []) - if isinstance(redirects, str): - redirects = [redirects] - - fixed = [r for r in redirects if r.lower() != permalink] - - if len(fixed) < len(redirects): - removed = [r for r in redirects if r.lower() == permalink] - print(f"{f}: removed {removed}") - if fixed: - post['redirect_from'] = fixed - else: - del post['redirect_from'] - with open(f, 'w') as out: - out.write(frontmatter.dumps(post)) From fd271ea91bbd2530abb65058564275c723a935f7 Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Mon, 9 Mar 2026 14:07:55 -0400 Subject: [PATCH 32/33] Update build.yml --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b11cd77f1..6273bf2f7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -105,7 +105,7 @@ jobs: uses: actions/checkout@v4 with: repository: plotly/documentation - ref: test-pages + ref: test-pages-2 token: ${{ steps.app-token.outputs.token }} path: documentation From a4b91965bbd9fd3884855418d7c39a7b8b7285eb Mon Sep 17 00:00:00 2001 From: Liam Connors Date: Mon, 9 Mar 2026 14:25:34 -0400 Subject: [PATCH 33/33] update branches and remove circleci --- .circleci/config.yml | 99 ------------------------------------- .github/workflows/build.yml | 10 ++-- 2 files changed, 5 insertions(+), 104 deletions(-) delete mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 629e0341f..000000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,99 +0,0 @@ -version: 2 -jobs: - build: - branches: - ignore: - - gh-pages - - docker: - # a packaged system that has the instructions for creating a running container. - - image: circleci/ruby:2.7.4 - - # actions that need to be taken to perform your job - steps: - - add_ssh_keys: - fingerprints: - - "dc:5f:39:48:00:b4:72:34:e1:d2:c4:e1:1f:d1:e2:ce" #plotlydocbot - - - restore_cache: - keys: - - source-v1- #one time, not every time! - - # checks out the source code for a job over SSH - - checkout - - - save_cache: - key: source-v1-1 # Sept 7, 2019 - paths: - - ".git" - - - restore_cache: - keys: - - gem-cache-v1-{{ arch }}-{{ .Branch }}-{{ checksum "Gemfile.lock" }} - - gem-cache-v1-{{ arch }}-{{ .Branch }} - - gem-cache-v1 - - - run: - name: install dependencies - command: | - sudo apt-get update - sudo apt-get install --allow-unauthenticated debian-archive-keyring - gem install bundler:2.4.22 - bundle install --path vendor/bundle - sudo rm /etc/apt/sources.list - echo "deb http://ftp.us.debian.org/debian/ bookworm main contrib non-free" | sudo tee -a /etc/apt/sources.list - echo "deb-src http://ftp.us.debian.org/debian/ bookworm main contrib non-free" | sudo tee -a /etc/apt/sources.list - echo "Acquire::Check-Valid-Until false;" | sudo tee -a /etc/apt/apt.conf.d/10-nocheckvalid - echo '# Package: *\nPin: origin "archive.debian.org"\nPin-Priority: 500' | sudo tee -a /etc/apt/preferences.d/10-archive-pin - sudo apt-get update - sudo apt-get install python3-full python3-pip - python3 -m venv venv - source venv/bin/activate - pip install PyYAML==6.0.1 - pip install python-frontmatter==0.5.0 - pip install pathlib - - - save_cache: - key: gem-cache-v1-{{ arch }}-{{ .Branch }}-{{ checksum "Gemfile.lock" }} - paths: - - vendor/bundle - - - run: - name: deployment - command: | - source venv/bin/activate - git config --global user.email "accounts@plot.ly" - git config --global user.name "plotlydocbot" - echo - echo "token: ${mapbox_token}" > _data/mapbox_token.yml - make fetch_upstream_files - python front-matter-ci.py _posts - python check-or-enforce-order.py _posts/python - python check-or-enforce-order.py _posts/python-v3 - python check-or-enforce-order.py _posts/r/ - python check-or-enforce-order.py _posts/matlab - python check-or-enforce-order.py _posts/plotly_js - python generate-sitemaps.py - echo `md5 -q all_static/css/main.css` > _data/cache_bust_css.yml - deactivate - rm -rf venv - bundle exec jekyll build - cp python/sitemap.xml _site/python/sitemap.xml - rm _data/mapbox_token.yml - if [ "${CIRCLE_BRANCH}" == "master" ]; then - git clone --depth=1 --branch=gh-pages https://github.com/plotly/documentation.git - git config user.name plotlydocbot - git config user.email accounts@plot.ly - cp -r _site/* documentation - cd documentation - git add . - git commit -m "deploying https://github.com/plotly/graphing-library-docs/commit/${CIRCLE_SHA1}" - git push - cd .. - rm -rf documentation - fi - zip -r site-build-circleci.zip _site/ - - - store_artifacts: - path: site-build-circleci.zip - destination: site-build-circleci.zip diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6273bf2f7..0666bad95 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -91,7 +91,7 @@ jobs: PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }} - name: Create GitHub App token - if: github.ref_name == 'update-ci' && github.repository == 'plotly/graphing-library-docs' + if: github.ref_name == 'master' && github.repository == 'plotly/graphing-library-docs' uses: actions/create-github-app-token@v2 id: app-token with: @@ -101,16 +101,16 @@ jobs: repositories: documentation - name: Checkout documentation repo - if: github.ref_name == 'update-ci' && github.repository == 'plotly/graphing-library-docs' + if: github.ref_name == 'master' && github.repository == 'plotly/graphing-library-docs' uses: actions/checkout@v4 with: repository: plotly/documentation - ref: test-pages-2 + ref: gh-pages token: ${{ steps.app-token.outputs.token }} path: documentation - - name: Deploy to test branch - if: github.ref_name == 'update-ci' && github.repository == 'plotly/graphing-library-docs' + - name: Deploy docs + if: github.ref_name == 'master' && github.repository == 'plotly/graphing-library-docs' run: | git config --global user.email "accounts@plot.ly" git config --global user.name "plotlydocbot"