diff --git a/_includes/layouts/seo.html b/_includes/layouts/seo.html index 0f1abb169..87df12095 100755 --- a/_includes/layouts/seo.html +++ b/_includes/layouts/seo.html @@ -4,7 +4,8 @@ {% capture title %} {% if page.permalink == '/python/' or page.language == '/julia/' or page.language == '/r/' or page.language == '/ggplot2/' or page.language == '/f_sharp/' or page.language == '/matlab/' or page.language == '/javascript/' %}{{page.name}} {% elsif page.name == '404' %} 404 Page Not Found - {% elsif page.permalink == '/api/' or page.permalink == '/graphing-libraries/' %} Plotly Open Source Graphing Libraries + {% elsif page.permalink == '/javascript/' %} Open Source JavaScript Graphing & Chart Library | Plotly + {% elsif page.permalink == '/api/' or page.permalink == '/graphing-libraries/' %} Open-Source Graphing Libraries for Python & JavaScript | Plotly {% elsif page.name %} {{page.name | capitalize}} in {{language}}{% else %} Plotly Open Source Graphing Libraries{% endif %} {% endcapture %} @@ -23,7 +24,7 @@ {% if page.layout == 'langindex' %} {% capture description %}{{page.description}}{% endcapture %} {% elsif page.permalink == '/api/' or page.permalink == '/graphing-libraries/' %} - {% capture description %}"Interactive charts and maps for Python, R, Julia, Javascript, ggplot2, F#, MATLABĀ®, and Dash."{% endcapture %} + {% capture description %}"Access interactive charts and maps for Python, and Javascript, for use with Dash, Streamlit, Hex, Notebooks and LLMs. Graphing libraries for data analytics."{% endcapture %} {% else %} {% assign counter = 0 %} {% for code_block in code_blocks %} @@ -42,26 +43,36 @@ {% endif %} + +{% assign title = title | strip_newlines | strip | replace: '"', '' %} +{% assign description = description | strip_newlines | strip | replace: '"', '' %} + {{title}} - + - + - + - + - + diff --git a/_includes/posts/mainlang_documentation_eg.html b/_includes/posts/mainlang_documentation_eg.html index 0443c98b7..39f721d59 100644 --- a/_includes/posts/mainlang_documentation_eg.html +++ b/_includes/posts/mainlang_documentation_eg.html @@ -58,7 +58,7 @@ {% if file_settings %}
- Fundamentals + Fundamentals {% assign forloop_idx = 0 %} {%- for page in languagelist -%} @@ -96,7 +96,7 @@ {% if chart_type %}
- Basic Charts + Basic Charts {% assign forloop_idx = 0 %} {%- for page in languagelist -%} @@ -135,7 +135,7 @@ {% if statistical %}
- Statistical Charts + Statistical Charts {% assign forloop_idx = 0 %} {%- for page in languagelist -%} @@ -168,7 +168,7 @@ {% if scientific %}
- Scientific Charts + Scientific Charts {% assign forloop_idx = 0 %} {%- for page in languagelist -%} @@ -201,7 +201,7 @@ {% if financial %}
- Financial Charts + Financial Charts {% assign forloop_idx = 0 %} {%- for page in languagelist -%} @@ -234,7 +234,7 @@ {% if maps %}
- Maps + Maps {% assign forloop_idx = 0 %} {%- for page in languagelist -%} @@ -267,7 +267,7 @@ {% if ai_ml %}
- Artificial Intelligence and Machine Learning + Artificial Intelligence and Machine Learning {% assign forloop_idx = 0 %} {%- for page in languagelist -%} @@ -301,7 +301,7 @@ {% if bio %}
-
Bioinformatics +
Bioinformatics More Bioinformatics »
@@ -321,7 +321,7 @@ {% if 3d_charts %}
- 3D Charts + 3D Charts {% assign forloop_idx = 0 %} {%- for page in languagelist -%} @@ -354,7 +354,7 @@ {% if multiple_axes %}
- Subplots + Subplots {% assign forloop_idx = 0 %} {%- for page in languagelist -%} @@ -387,7 +387,7 @@ {% if chart_events and page.language =="python" %}
- Jupyter Widgets Interaction + Jupyter Widgets Interaction {% assign forloop_idx = 0 %} {%- for page in languagelist -%} @@ -420,7 +420,7 @@ {% if chart_events and page.language =="r" %}
- Custom Interaction With JavaScript + Custom Interaction With JavaScript {% assign forloop_idx = 0 %} {%- for page in languagelist -%} @@ -453,7 +453,7 @@ {% if chart_events and page.language == 'plotly_js' %}
- Custom Chart Events + Custom Chart Events {% assign forloop_idx = 0 %} {%- for page in languagelist -%} @@ -486,7 +486,7 @@ {% if controls %}
- Add Custom Controls + Add Custom Controls {% assign forloop_idx = 0 %} {%- for page in languagelist -%} @@ -519,7 +519,7 @@ {% if animations %}
- Animations + Animations {% assign forloop_idx = 0 %} {%- for page in languagelist -%} @@ -552,7 +552,7 @@ {% if financial_analysis %}
- Financial Analysis + Financial Analysis {% assign forloop_idx = 0 %} {%- for page in languagelist -%} @@ -585,7 +585,7 @@ {% if advanced_opt %}
- Advanced + Advanced
    @@ -611,7 +611,7 @@ {% if style_options %}
    - Style Options + Style Options
      @@ -637,7 +637,7 @@ {% if layout_options %}
      - Layout Options + Layout Options
        diff --git a/_posts/plotly_js/2015-04-05-plotly_js-index.html b/_posts/plotly_js/2015-04-05-plotly_js-index.html index 1e7a81041..514f2cd2a 100755 --- a/_posts/plotly_js/2015-04-05-plotly_js-index.html +++ b/_posts/plotly_js/2015-04-05-plotly_js-index.html @@ -1,7 +1,7 @@ --- name: Plotly JavaScript Graphing Library permalink: /javascript/ -description: A free open source interactive javascript graphing library. Plotly.js is built on d3.js and webgl and supports over 20 types of interactive charts. +description: Build interactive JavaScript charts and graphs with Plotly's open-source JavaScript chart library. Explore over 40+ advanced JavaScript data visualizations. language: plotly_js layout: langindex display_as: false @@ -15,10 +15,10 @@
        -

        Plotly JavaScript Open Source Graphing Library

        +

        Open Source JavaScript Graphing & Chart Library

        - Built on top of d3.js and stack.gl, Plotly.js is a high-level, declarative charting library. plotly.js ships with over 40 chart types, including 3D charts, statistical graphs, and SVG maps. -
        plotly.js is free and open source and you can view the source, report issues or contribute on GitHub. + Built on top of d3.js and stack.gl, Plotly.js is a high-level, declarative JavaScript charting library. plotly.js ships with over 40 chart types, including 3D charts, statistical graphs, and SVG maps. +
        plotly.js is free and open source, and you can view the source, report issues, or contribute on GitHub.

        @@ -26,14 +26,14 @@

        Plotly JavaScript Open Source Graphing Library

        {% include layouts/dashplug.html %}
        -
        - Read more about plotly.js features +
        + plotly.js Features
        - Sophisticated chart types + Sophisticated Chart Types
        plotly.js abstracts the types of statistical and scientific charts that you would find in packages like matplotlib, ggplot2, or MATLAB. @@ -41,7 +41,7 @@

        Plotly JavaScript Open Source Graphing Library

        - +
        d3.json('https://plotly.com/~DanielCarrera/13.json', function(figure){
                           var trace = {
        @@ -82,7 +82,7 @@ 

        Plotly JavaScript Open Source Graphing Library

        -
        Fully customizable
        +
        Fully Customizable
        plotly.js charts are described declaratively as JSON objects. Every aspect of the charts, such as colors, grid lines, and the legend, has a corresponding set of JSON attributes.
        @@ -132,15 +132,15 @@

        Plotly JavaScript Open Source Graphing Library

        -
        High performance
        +
        High Performance
        - Most plotly graphs are drawn with SVG. This offers great compatibility across browsers and publication-quality vector image export. Unfortunately, there are inherent performance limitations with the number of SVG elements that you can draw in the DOM.

        - plotly.js uses stack.gl for high performance 2D and 3D charting.

        + Most Plotly graphs are drawn with SVG. This offers great compatibility across browsers and publication-quality vector image export. Unfortunately, there are inherent performance limitations with the number of SVG elements that you can draw in the DOM.

        + plotly.js uses stack.gl for high performance 2D and 3D JavaScript charting.

        - +
        This chart was drawn with the plotly.js chart type scattergl. scattergl charts render an order of magnitude faster than their SVG counterparts.
        @@ -148,19 +148,16 @@

        Plotly JavaScript Open Source Graphing Library

        - -
        All 3D charts in plotly.js are rendered with WebGL, leveraging the power of the GPU for fast interactivity. - view the interactive version
        Universal
        - By abstracting charts to a declarative JSON structure, plotly.js is used as a browser-based charting library for Python, R, MATLAB. + By abstracting charts to a declarative JSON structure, plotly.js is used as a browser-based charting library for Python, R, and MATLAB.
        diff --git a/all_static/css/improve.css b/all_static/css/improve.css index e92cc5a02..311905bd2 100644 --- a/all_static/css/improve.css +++ b/all_static/css/improve.css @@ -308,11 +308,11 @@ aside.\--sidebar-container .\--sidebar-fixed.affix #modal-button { width: 195px; } .langindexlink { - text-decoration: none; - color: #506784; } + text-decoration: underline; + color: #2186f4; } .langindexlink:hover { text-decoration: underline; - color: #2186f4 !important; } + color: #1266c4 !important; } /*********fix dark sidebar*********/ body p a { @@ -445,6 +445,34 @@ aside.\--sidebar-container .\--sidebar-fixed #modal-button { summary::-webkit-details-marker { display: none !important; } +details.js-splash--features > summary { + cursor: pointer; + list-style: none; + padding-left: 22px; + position: relative; } + details.js-splash--features > summary::-webkit-details-marker { + display: none !important; } + details.js-splash--features > summary:before { + content: ""; + position: absolute; + left: 4px; + top: 0.45em; + border: 5px solid transparent; + border-width: 5px 7px; + border-left-color: #506784; + transition: transform 0.15s ease; } + details.js-splash--features > summary .js-splash--features-title { + font-size: 22px; + font-weight: 500; + color: #506784; + text-decoration: underline; } + details.js-splash--features > summary:hover .js-splash--features-title { + color: #2186f4; } + +details.js-splash--features[open] > summary:before { + transform: rotate(90deg); + transform-origin: 30% 50%; } + .\--footer-meta { border-top: none; background: #fff; } @@ -972,7 +1000,7 @@ body header.header-main.\--default nav.--nav-meta > ul > li.languages { color: #a0aaba; } .dark-mode .nav-breadcrumb-container .--fork svg path { fill: #a0aaba; } -.dark-mode .--section-header a { +.dark-mode .--section-header a, .dark-mode .--section-header > span { color: #fff !important; } .dark-mode .\--tutorial-section .\--grid-item { background: transparent !important; } diff --git a/all_static/css/main.css b/all_static/css/main.css index 6a01a9a26..0116f6277 100644 --- a/all_static/css/main.css +++ b/all_static/css/main.css @@ -8382,7 +8382,7 @@ body:not(:-moz-handler-blocked) main.\--page .\--page-body { padding-left: 0; position: relative; } - .\--tutorial-index .\--tutorial-section header.\--section-header a::before { + .\--tutorial-index .\--tutorial-section header.\--section-header a::before, .\--tutorial-index .\--tutorial-section header.\--section-header > span::before { display: none; } .\--tutorial-index .\--tutorial-section header.\--section-header div.icon { margin-top: 4px; diff --git a/scss/_pages/_tutorial-index.scss b/scss/_pages/_tutorial-index.scss index f21d11718..2d42b4f3b 100644 --- a/scss/_pages/_tutorial-index.scss +++ b/scss/_pages/_tutorial-index.scss @@ -160,7 +160,8 @@ body:not(:-moz-handler-blocked) { position: absolute; } - a { + a, + > span { &::before { display: none; } diff --git a/scss/improve.scss b/scss/improve.scss index 9c0de0232..dd3ba4328 100644 --- a/scss/improve.scss +++ b/scss/improve.scss @@ -457,13 +457,16 @@ aside.\--sidebar-container .\--sidebar-fixed.affix #modal-button { width: 195px; } +/* These "More
        >>" links previously had no underline and a muted + slate colour, so they didn't read as clickable until hover. Make the + affordance permanent rather than hover-only. */ .langindexlink { - text-decoration: none; - color: #506784; + text-decoration: underline; + color: #2186f4; &:hover { text-decoration: underline; - color: #2186f4 !important; + color: #1266c4 !important; } } @@ -661,6 +664,51 @@ summary::-webkit-details-marker { display: none !important; } +/* The global rule above hides the native disclosure triangle, and the + replacement arrow is scoped to .--sidebar-fixed only -- so a
        in + page content had no affordance at all and read as static text. Give the + plotly.js features section its own arrow, colour and underline so it's + obviously an expandable control. */ +details.js-splash--features { + > summary { + cursor: pointer; + list-style: none; + padding-left: 22px; + position: relative; + + &::-webkit-details-marker { + display: none !important; + } + + &:before { + content: ""; + position: absolute; + left: 4px; + top: 0.45em; + border: 5px solid transparent; + border-width: 5px 7px; + border-left-color: #506784; + transition: transform 0.15s ease; + } + + .js-splash--features-title { + font-size: 22px; + font-weight: 500; + color: #506784; + text-decoration: underline; + } + + &:hover .js-splash--features-title { + color: #2186f4; + } + } + + &[open] > summary:before { + transform: rotate(90deg); + transform-origin: 30% 50%; + } +} + .\--footer-meta { border-top: none; background: #fff; @@ -1476,7 +1524,10 @@ body header.header-main.\--default nav.--nav-meta { fill: #a0aaba; } - .--section-header a { + /* Section headings are now that their pointless self-links were + removed; keep the darkmode colour applying to both. */ + .--section-header a, + .--section-header > span { color: #fff !important; }