A sphinx extension for designing beautiful, screen-size responsive web components.

Overview

sphinx-design

Github-CI Coverage Status PyPI

A sphinx extension for designing beautiful, view size responsive web components.

Created with inspiration from Bootstrap (v5), Material Design and Material-UI design frameworks.

Usage

Simply pip install sphinx-design and add the extension to your conf.py:

extensions = ["sphinx_design"]

Supported browsers

  • Chrome >= 60
  • Firefox >= 60
  • Firefox ESR
  • iOS >= 12
  • Safari >= 12
  • Explorer >= 12

(Mirrors: https://github.com/twbs/bootstrap/blob/v5.0.2/.browserslistrc)

Theme support

View the documentation in multiple themes:

Comparison to sphinx-panels

This package is an iteration on sphinx-panels and intends to replace it. See Migrating from sphinx-panels for more information.

Development

It is recommended to use tox to run the tests and document builds. Run tox -va to see all the available tox environments.

To run linting, formatting and SASS compilation, use pre-commit. pre-commit run --all css will run the SASS compiler, for which you will need node and npm installed, or you can directly run npm run css.

TODO

  • note design goal; to be flexible, but limit the amount of directive nesting required. This factors in to
    • card header/footer syntax? (don't really want to have to use separate directives for these, hence ^^^/+++ syntax)
    • auto-wrap grid-item and tab-item, if not already inside grid or tab-set?

grids items cannot contain headers; is this in anyway possible with docutils structure?

naming of directives/roles: standard prefix?

why are cards setup with "word-wrap: break-word;"?

handle latex

Use autoprefixer when compiling SASS (see https://getbootstrap.com/docs/5.0/getting-started/browsers-devices/#supported-browsers)

horizontal card (grid row inside card, picture on left)

subtitle for card (see https://material.io/components/cards#anatomy)

rtd PRs not working

Comments
  • Issue when interacting with furo's light theme

    Issue when interacting with furo's light theme

    Describe the bug

    When I do create only-dark grid items they are not hidden when switching to the light theme. This seems to be because sd-d-flex-row takes precedence over only-dark. The same doesn't happen with only-light as in this case it's only-light that takes precedence over d-flex-row. It doesn't happen either if I set the only- classes to the whole grid.

    I expected grid items to be displayed/hidden like other items with the only- classes.

    I am trying to set up an about website for ArviZ: https://arviz-governance--3.org.readthedocs.build/en/3/, and wanted to use a grid with grid-item-card to display the logos of the sponsors as clickable links, and some need different links between dark and light theme while others don't.

    Is this a bug or something that could be fixed? Am I attempting something that is not supported? I am mostly puzzled as to why the behaviour depends on light/dark, not knowing web things I'd expect symmetry, both working or both failing :sweat_smile:

    cc @pradyunsg

    Note: I can set the whole grid to be show/hidden instead, but as only some sponsors need the change, it would mean extra duplication.

    Reproduce the bug

    You can see it in the PR preview: https://arviz-governance--3.org.readthedocs.build/en/3/#sponsors-and-institutional-partners

    List your environment

    No response

    bug 
    opened by OriolAbril 10
  • Font Awesome Icons are not working

    Font Awesome Icons are not working

    Describe the problem

    image The example showing how to use github icons is not working locally or on the doc site https://sphinx-design.readthedocs.io/en/furo-theme/badges_buttons.html?highlight=icons#inline-icons for the furo theme.

    Link to your repository or website

    No response

    Steps to reproduce

    https://sphinx-design.readthedocs.io/en/furo-theme/badges_buttons.html?highlight=icons#inline-icons

    bug 
    opened by damienrj 10
  • ✨ NEW: Add material design icons roles

    ✨ NEW: Add material design icons roles

    resolves #36

    This PR add 5 new roles for using Google's Material Design Icons as inline text. Each role represents a different material design "flavor":

    • material-regular
    • material-outlined
    • material-sharp
    • material-round
    • material-twotone

    Amongst all these flavors, there is a total of 10662 new icons provided. Instead of displaying them all, I defer users to browse Goggle's Material Design Icons showcase.

    Includes updates to

    • docs
    • CSS (minified and SCSS)
    • tests (pre/post XML files)
      • For some reason the pytests about myst icons-material-design.xml fails. I suspect it has something to do with the bullets in the bullet list in the docs/snippets/myst/icons-material-design.txt or just a difference in LF vs CRLF (I develop in Windows - but also ran pytest in WSL ubuntu) 😕

    Since the feature is working with the JSON files I programmatically generated from the google/material-design-icons repo, I set up a small repo to run a CI job that updates JSON files when needed.

    opened by 2bndy5 9
  • ⬆️ Update Materials Design Icons to v4.0.0-46-gc9e5528

    ⬆️ Update Materials Design Icons to v4.0.0-46-gc9e5528

    This adds 421 icons; some are fresh icons, and some are just different sizes. Threre might be some name changes, but it should be current with what is shown on the https://fonts.google.com/icons (as referenced by this ext's docs).

    opened by 2bndy5 8
  • 👌 IMPROVE: Styling for tabs

    👌 IMPROVE: Styling for tabs

    • Introduce "hover" state styling for tabs. The lifecycle of a tab is now "inactive -> hover -> active".
    • Completely unmix styling for different states of a tab.
    • Use a higher contrast color for inactive tabs.
    • Increase width of overline, to match tab label underlines.
    opened by pradyunsg 7
  • Is there a plan to add material design inline icons?

    Is there a plan to add material design inline icons?

    I thought I'd ask this here since you're moving away from sphinx-panels - this is looking great BTW!

    I see that there are inline icons for FontAwesome and Octicon. I'm helping develop a port of mkdocs-material theme to sphinx, and our docs could use the set of inline icons from the material design set.

    For reference

    1. This is the theme I'm helping: Its called sphinx-immaterial because there was a previous (kind of a "hobbyist" attempt) called sphinx-material.
    2. This is the set of icons supported by all the material design docs themes (in svg form)

    ps - If you're curious to see the sphinx-immaterial theme in action, it is hosted on gh-pages. I've also made sure it works rather well with RTD builds 😉 .

    enhancement 
    opened by 2bndy5 6
  • Sphinx-design stylesheet is not added to the document head

    Sphinx-design stylesheet is not added to the document head

    Describe the bug

    context When I added sphinx-design to my docs and built the site, I saw that sphinx-design classes and HTML layouts are applied to the page, but I the css styles are not loaded.

    expectation I expected styles to load.

    bug When I inspect the stylesheets loaded in the documents head, I don't see any reference to a style sheet made by sphinx design (which I think is of the form design-style.hash.min. That stylesheet is located in _build/html/_sphinx_design_static, but there is no reference to this in the document header.

    problem This is a problem for people using sphinx-doc because sphinx-doc does not add any value when it's stylesheet is not added.

    This occurs with Python 3.9.15 and these versions of installed sphinx packages

    Reproduce the bug

    You can reproduce this on a branch in my repository. Note that in docs/source/index.rst there are some directives to create a grid.

    git clone https://github.com/NCAR/tuv-x.git                                 
    cd tuv-x                                                                    
    git checkout 208-write-a-contributors-document                              
    conda create --name env                                                     
    conda activate env                                                          
    cd docs                                                                     
    conda install --file requirements.txt --name env -y                         
    conda install sphinx-design                                                 
    git clone https://github.com/VACUMM/sphinx-fortran.git                      
    cd sphinx-fortran                                                           
    pip install .                                                               
    cd ../                                                                      
    make html                                                                   
    open _build/html/index.html 
    

    After inspecting the head of that page, you will not find the style file.

    List your environment

    Package | Version | Source ------------- | --------------- | -------- pydata-sphinx-theme | 0.8.1 | pyhd8ed1ab_0 conda-forge sphinx | 4.5.0 | pyh6c4a22f_0 conda-forge sphinx-book-theme | 0.3.3 | pyhd8ed1ab_0 conda-forge sphinx-design | 0.3.0 | pyhd8ed1ab_0 conda-forge sphinx-fortran | 1.1.1 | pypi_0 pypi sphinxcontrib-applehelp | 1.0.2 | py_0 conda-forge sphinxcontrib-devhelp | 1.0.2 | py_0 conda-forge sphinxcontrib-htmlhelp | 2.0.0 | pyhd8ed1ab_0 conda-forge sphinxcontrib-jsmath | 1.0.1 | py_0 conda-forge sphinxcontrib-qthelp | 1.0.3 | py_0 conda-forge sphinxcontrib-serializinghtml |1.1.5 | pyhd8ed1ab_2 conda-forge

    bug 
    opened by K20shores 5
  • Card links do not have a discernible name (accessibility issue)

    Card links do not have a discernible name (accessibility issue)

    Describe the bug

    context When I use cards on a Sphinx site, with Furo theme

    expectation I expected the card link to have a discernible name so people using screen readers can tell what the link leads to

    bug But instead the link has no discernible name Here's the warning from Lighthouse's accessibility checker:

    Links do not have a discernible name
    Link text (and alternate text for images, when used as links) that is discernible, unique, and focusable improves the navigation experience for screen reader users.
    

    problem This is a problem for people using screen readers because they will not be read a name for the link that will help them decide if they should follow the link.

    Reproduce the bug

    Here is a page built using cards. Here is the corresponding accessibility report from Lighthouse.

    List your environment

    MyST-parser: latest (0.18.0)
    Furo theme: latest (2022.06.21)
    Sphinx: 4.5.0
    
    bug 
    opened by bertiewooster 5
  • sphinx replacements render wrong inside button-ref (but not button-link)

    sphinx replacements render wrong inside button-ref (but not button-link)

    Describe the bug

    context If I put a rST substitution (like |wrench|) that expands to raw HTML into the content of a button-ref directive, it gets mis-rendered as a textual version of the HTML (see screenshot below). This doesn't happen for button-link directive.

    expectation I expected button-ref and button-link to behave the same in this regard.

    bug Screenshot 2022-05-25 at 16-17-02 Installing MNE-Python — MNE 1 1 dev0 documentation

    problem This is a problem for people using rST substitutions as shorthand for, e.g., inline icons. I know that sphinx-design provides some support for octicon, font-awesome, etc, but the same thing happens to those! E.g., putting an octicon into the button text of a button-ref yields this:

    Screenshot 2022-05-25 at 16-25-24 Installing MNE-Python — MNE 1 1 dev0 documentation

    Reproduce the bug

    .. |wrench| raw:: html
    
        <i class="fas fa-wrench"></i>
    
    .. grid:: 3
    
        .. grid-item-card::
    
            .. button-link:: https://example.com/
    
                |wrench| works with button-link
    
    
        .. grid-item-card::
    
            .. button-ref:: name-of-target-anchor
                :ref-type: ref
    
                |wrench| fails with button-ref
    
        .. grid-item-card::
    
            .. button-ref:: name-of-target-anchor
                :ref-type: ref
    
                :octicon:`download` Fails with octicons in button-ref too
    

    Screenshot 2022-05-25 at 16-34-10 Installing MNE-Python — MNE 1 1 dev0 documentation

    List your environment

    I'm using sphinx-design via pydata-sphinx-theme, not jupyter-book:

    $ mamba list sphinx
    jupyter_sphinx            0.3.2           py310hff52083_0    conda-forge
    pydata-sphinx-theme       0.8.1                    pypi_0    pypi
    sphinx                    4.5.0              pyh6c4a22f_0    conda-forge
    sphinx-autobuild          2021.3.14          pyhd8ed1ab_0    conda-forge
    sphinx-copybutton         0.5.0                    pypi_0    pypi
    sphinx-design             0.1.0              pyhd8ed1ab_0    conda-forge
    sphinx-gallery            0.11.0.dev0               dev_0    <develop>
    sphinx-sitemap            2.2.0              pyhd8ed1ab_0    conda-forge
    sphinx-theme-builder      0.2.0a14           pyhd8ed1ab_0    conda-forge
    sphinxcontrib-applehelp   1.0.2                      py_0    conda-forge
    sphinxcontrib-bibtex      2.4.2              pyhd8ed1ab_0    conda-forge
    sphinxcontrib-devhelp     1.0.2                      py_0    conda-forge
    sphinxcontrib-htmlhelp    2.0.0              pyhd8ed1ab_0    conda-forge
    sphinxcontrib-jsmath      1.0.1                      py_0    conda-forge
    sphinxcontrib-qthelp      1.0.3                      py_0    conda-forge
    sphinxcontrib-serializinghtml 1.1.5              pyhd8ed1ab_2    conda-forge
    sphinxext-rediraffe       0.2.7              pyhd8ed1ab_0    conda-forge
    
    bug 
    opened by drammock 5
  • i18n: card title is not captured in po-file for translation

    i18n: card title is not captured in po-file for translation

    Describe the problem

    Card title is not captured in po file for translation,

    Link to your repository or website

    https://github.com/awvwgk/fpm-docs/blob/main/pages/index.md

    Steps to reproduce

    Input for minimal sphinx project

    ❯ cat index.md
    # Test
    
    :::{card} Not found in po file
    
    Text appearing in po file
    :::
    ❯ cat conf.py
    project = "test"
    
    extensions = [
        "myst_parser",
        "sphinx_design",
    ]
    myst_enable_extensions = [
        "colon_fence",
        "deflist",
        "substitution",
        "html_image",
    ]
    
    html_theme = "sphinx_book_theme"
    locale_dirs = ["locales/"]
    

    Sphinx build showing the missing text in po file:

    ❯ sphinx-build . _build/html -b html
    Running Sphinx v4.3.0
    loading pickled environment... done
    myst v0.15.2: MdParserConfig(renderer='sphinx', commonmark_only=False, enable_extensions=['colon_fence', 'deflist', 'substitution', 'html_image'], dmath_allow_labels=True, dmath_allow_space=True, dmath_allow_digits=True, dmath_double_inline=False, update_mathjax=True, mathjax_classes='tex2jax_process|mathjax_process|math|output_area', disable_syntax=[], url_schemes=['http', 'https', 'mailto', 'ftp'], heading_anchors=None, heading_slug_func=None, html_meta=[], footnote_transition=True, substitutions=[], sub_delimiters=['{', '}'], words_per_minute=200)
    building [mo]: targets for 0 po files that are out of date
    building [html]: targets for 1 source files that are out of date
    updating environment: [config changed ('locale_dirs')] 1 added, 0 changed, 0 removed
    reading sources... [100%] index                                                               
    looking for now-outdated files... none found
    pickling environment... done
    checking consistency... done
    preparing documents... done
    writing output... [100%] index                                                                
    generating indices... genindex done
    writing additional pages... search done
    copying static files... done
    copying extra files... done
    dumping search index in English (code: en)... done
    dumping object inventory... done
    build succeeded.
    
    The HTML pages are in _build/html.
    ❯ sphinx-build . _build/gettext -b gettext
    Running Sphinx v4.3.0
    loading pickled environment... done
    myst v0.15.2: MdParserConfig(renderer='sphinx', commonmark_only=False, enable_extensions=['colon_fence', 'deflist', 'substitution', 'html_image'], dmath_allow_labels=True, dmath_allow_space=True, dmath_allow_digits=True, dmath_double_inline=False, update_mathjax=True, mathjax_classes='tex2jax_process|mathjax_process|math|output_area', disable_syntax=[], url_schemes=['http', 'https', 'mailto', 'ftp'], heading_anchors=None, heading_slug_func=None, html_meta=[], footnote_transition=True, substitutions=[], sub_delimiters=['{', '}'], words_per_minute=200)
    building [gettext]: targets for 0 template files
    building [gettext]: targets for 1 source files that are out of date
    updating environment: [config changed ('locale_dirs')] 1 added, 0 changed, 0 removed
    reading sources... [100%] index                                                               
    looking for now-outdated files... none found
    pickling environment... done
    checking consistency... done
    preparing documents... done
    writing output... [100%] index                                                                
    writing message catalogs... [100%] index                                                      
    build succeeded.
    
    The message catalogs are in _build/gettext.
    ❯ sphinx-intl update -p _build/gettext -l de
    Create: locales/de/LC_MESSAGES/index.po
    ❯ cat locales/de/LC_MESSAGES/index.po
    # SOME DESCRIPTIVE TITLE.
    # Copyright (C)
    # This file is distributed under the same license as the test package.
    # FIRST AUTHOR <[email protected]>, 2021.
    #
    #, fuzzy
    msgid ""
    msgstr ""
    "Project-Id-Version: test \n"
    "Report-Msgid-Bugs-To: \n"
    "POT-Creation-Date: 2021-11-26 22:21+0100\n"
    "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    "Last-Translator: FULL NAME <[email protected]>\n"
    "Language-Team: LANGUAGE <[email protected]>\n"
    "MIME-Version: 1.0\n"
    "Content-Type: text/plain; charset=utf-8\n"
    "Content-Transfer-Encoding: 8bit\n"
    "Generated-By: Babel 2.9.1\n"
    
    #: ../../index.md:1
    msgid "Test"
    msgstr ""
    
    #: ../../index.md:1
    msgid "Text appearing in po file"
    msgstr ""
    

    The version of Python you're using

    Python 3.9.7

    Your operating system

    Manjaro Linux

    Versions of your packages

    ❯ mamba info
    
                      __    __    __    __
                     /  \  /  \  /  \  /  \
                    /    \/    \/    \/    \
    ███████████████/  /██/  /██/  /██/  /████████████████████████
                  /  / \   / \   / \   / \  \____
                 /  /   \_/   \_/   \_/   \    o \__,
                / _/                       \_____/  `
                |/
            ███╗   ███╗ █████╗ ███╗   ███╗██████╗  █████╗
            ████╗ ████║██╔══██╗████╗ ████║██╔══██╗██╔══██╗
            ██╔████╔██║███████║██╔████╔██║██████╔╝███████║
            ██║╚██╔╝██║██╔══██║██║╚██╔╝██║██╔══██╗██╔══██║
            ██║ ╚═╝ ██║██║  ██║██║ ╚═╝ ██║██████╔╝██║  ██║
            ╚═╝     ╚═╝╚═╝  ╚═╝╚═╝     ╚═╝╚═════╝ ╚═╝  ╚═╝
    
            mamba (0.17.0) supported by @QuantStack
    
            GitHub:  https://github.com/mamba-org/mamba
            Twitter: https://twitter.com/QuantStack
    
    █████████████████████████████████████████████████████████████
    
    
         active environment : sphinx
        active env location : /home/awvwgk/software/opt/conda/envs/sphinx
                shell level : 2
           user config file : /home/awvwgk/.condarc
     populated config files : /home/awvwgk/software/opt/conda/.condarc
              conda version : 4.10.3
        conda-build version : not installed
             python version : 3.9.6.final.0
           virtual packages : __linux=5.10.70=0
                              __glibc=2.33=0
                              __unix=0=0
                              __archspec=1=x86_64
           base environment : /home/awvwgk/software/opt/conda  (writable)
          conda av data dir : /home/awvwgk/software/opt/conda/etc/conda
      conda av metadata url : None
               channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                              https://conda.anaconda.org/conda-forge/noarch
              package cache : /home/awvwgk/software/opt/conda/pkgs
                              /home/awvwgk/.conda/pkgs
           envs directories : /home/awvwgk/software/opt/conda/envs
                              /home/awvwgk/.conda/envs
                   platform : linux-64
                 user-agent : conda/4.10.3 requests/2.26.0 CPython/3.9.6 Linux/5.10.70-1-MANJARO manjaro/21.1.6 glibc/2.33
                    UID:GID : 1000:1000
                 netrc file : None
               offline mode : False
    
    ❯ mamba list
    # packages in environment at /home/awvwgk/software/opt/conda/envs/sphinx:
    #
    # Name                    Version                   Build  Channel
    _libgcc_mutex             0.1                 conda_forge    conda-forge
    _openmp_mutex             4.5                       1_gnu    conda-forge
    ablog                     0.10.20            pyhd8ed1ab_0    conda-forge
    alabaster                 0.7.12                     py_0    conda-forge
    argh                      0.26.2          pyh9f0ad1d_1002    conda-forge
    async_generator           1.10                       py_0    conda-forge
    attrs                     21.2.0             pyhd8ed1ab_0    conda-forge
    babel                     2.9.1              pyh44b312d_0    conda-forge
    beautifulsoup4            4.10.0             pyha770c72_0    conda-forge
    bleach                    4.1.0              pyhd8ed1ab_0    conda-forge
    brotlipy                  0.7.0           py39h3811e60_1003    conda-forge
    ca-certificates           2021.10.8            ha878542_0    conda-forge
    certifi                   2021.10.8        py39hf3d152e_1    conda-forge
    cffi                      1.15.0           py39h4bc2ebd_0    conda-forge
    chardet                   4.0.0            py39hf3d152e_2    conda-forge
    charset-normalizer        2.0.8              pyhd8ed1ab_0    conda-forge
    click                     7.1.2              pyh9f0ad1d_0    conda-forge
    colorama                  0.4.4              pyh9f0ad1d_0    conda-forge
    cryptography              36.0.0           py39h95dcef6_0    conda-forge
    dataclasses               0.8                pyhc8e2a94_3    conda-forge
    defusedxml                0.7.1              pyhd8ed1ab_0    conda-forge
    docutils                  0.16             py39hf3d152e_3    conda-forge
    entrypoints               0.3             py39hde42818_1002    conda-forge
    feedgen                   0.9.0              pyh9f0ad1d_0    conda-forge
    furo                      2021.10.9          pyhd8ed1ab_0    conda-forge
    icu                       69.1                 h9c3ff4c_0    conda-forge
    idna                      3.1                pyhd3deb0d_0    conda-forge
    imagesize                 1.3.0              pyhd8ed1ab_0    conda-forge
    importlib-metadata        4.8.2            py39hf3d152e_0    conda-forge
    importlib_resources       3.3.1            py39hf3d152e_0    conda-forge
    invoke                    1.6.0              pyhd8ed1ab_0    conda-forge
    ipython_genutils          0.2.0                      py_1    conda-forge
    jinja2                    3.0.3              pyhd8ed1ab_0    conda-forge
    jsonschema                4.2.1              pyhd8ed1ab_0    conda-forge
    jupyter_client            7.1.0              pyhd8ed1ab_0    conda-forge
    jupyter_core              4.9.1            py39hf3d152e_1    conda-forge
    jupyterlab_pygments       0.1.2              pyh9f0ad1d_0    conda-forge
    latexcodec                2.0.1              pyh9f0ad1d_0    conda-forge
    ld_impl_linux-64          2.36.1               hea4e1c9_2    conda-forge
    libffi                    3.4.2                h7f98852_5    conda-forge
    libgcc-ng                 11.2.0              h1d223b6_11    conda-forge
    libgomp                   11.2.0              h1d223b6_11    conda-forge
    libiconv                  1.16                 h516909a_0    conda-forge
    libsodium                 1.0.18               h36c2ea0_1    conda-forge
    libstdcxx-ng              11.2.0              he4da1e4_11    conda-forge
    libxml2                   2.9.12               h885dcf4_1    conda-forge
    libxslt                   1.1.33               h0ef7038_3    conda-forge
    libzlib                   1.2.11            h36c2ea0_1013    conda-forge
    lxml                      4.6.4            py39h107f48f_0    conda-forge
    markdown-it-py            1.1.0              pyhd8ed1ab_0    conda-forge
    markupsafe                2.0.1            py39h3811e60_1    conda-forge
    mdit-py-plugins           0.2.8              pyhd8ed1ab_0    conda-forge
    mistune                   0.8.4           py39h3811e60_1005    conda-forge
    myst-parser               0.15.2             pyhd8ed1ab_0    conda-forge
    nbclient                  0.5.9              pyhd8ed1ab_0    conda-forge
    nbconvert                 6.3.0            py39hf3d152e_1    conda-forge
    nbformat                  5.1.3              pyhd8ed1ab_0    conda-forge
    nbsphinx                  0.8.7              pyhd8ed1ab_0    conda-forge
    ncurses                   6.2                  h58526e2_4    conda-forge
    nest-asyncio              1.5.1              pyhd8ed1ab_0    conda-forge
    openssl                   1.1.1l               h7f98852_0    conda-forge
    packaging                 21.3               pyhd8ed1ab_0    conda-forge
    pandoc                    2.16.2               h7f98852_0    conda-forge
    pandocfilters             1.5.0              pyhd8ed1ab_0    conda-forge
    pip                       21.3.1             pyhd8ed1ab_0    conda-forge
    pybtex                    0.24.0           py39hf3d152e_1    conda-forge
    pybtex-docutils           1.0.1            py39hf3d152e_1    conda-forge
    pycparser                 2.21               pyhd8ed1ab_0    conda-forge
    pydata-sphinx-theme       0.7.2              pyhd8ed1ab_0    conda-forge
    pygments                  2.10.0             pyhd8ed1ab_0    conda-forge
    pyopenssl                 21.0.0             pyhd8ed1ab_0    conda-forge
    pyparsing                 3.0.6              pyhd8ed1ab_0    conda-forge
    pyrsistent                0.18.0           py39h3811e60_0    conda-forge
    pysocks                   1.7.1            py39hf3d152e_4    conda-forge
    python                    3.9.7           hb7a2778_3_cpython    conda-forge
    python-dateutil           2.8.2              pyhd8ed1ab_0    conda-forge
    python_abi                3.9                      2_cp39    conda-forge
    pytz                      2021.3             pyhd8ed1ab_0    conda-forge
    pyyaml                    6.0              py39h3811e60_3    conda-forge
    pyzmq                     22.3.0           py39h37b5a0c_1    conda-forge
    readline                  8.1                  h46c0cb4_0    conda-forge
    requests                  2.26.0             pyhd8ed1ab_1    conda-forge
    setuptools                59.2.0           py39hf3d152e_0    conda-forge
    six                       1.16.0             pyh6c4a22f_0    conda-forge
    snowballstemmer           2.2.0              pyhd8ed1ab_0    conda-forge
    soupsieve                 2.3                pyhd8ed1ab_0    conda-forge
    sphinx                    4.3.0              pyh6c4a22f_0    conda-forge
    sphinx-book-theme         0.1.7              pyhd8ed1ab_0    conda-forge
    sphinx-copybutton         0.4.0              pyhd8ed1ab_0    conda-forge
    sphinx-design             0.0.13             pyhd8ed1ab_0    conda-forge
    sphinx-inline-tabs        2021.8.17b10       pyhd8ed1ab_0    conda-forge
    sphinx-intl               2.0.1              pyhd8ed1ab_0    conda-forge
    sphinx-panels             0.6.0              pyhd8ed1ab_0    conda-forge
    sphinx-togglebutton       0.2.3              pyhd3deb0d_0    conda-forge
    sphinx_rtd_theme          1.0.0              pyhd8ed1ab_0    conda-forge
    sphinxcontrib-applehelp   1.0.2                      py_0    conda-forge
    sphinxcontrib-bibtex      2.4.1              pyhd8ed1ab_0    conda-forge
    sphinxcontrib-devhelp     1.0.2                      py_0    conda-forge
    sphinxcontrib-htmlhelp    2.0.0              pyhd8ed1ab_0    conda-forge
    sphinxcontrib-jsmath      1.0.1                      py_0    conda-forge
    sphinxcontrib-qthelp      1.0.3                      py_0    conda-forge
    sphinxcontrib-serializinghtml 1.1.5              pyhd8ed1ab_1    conda-forge
    sqlite                    3.36.0               h9cd32fc_2    conda-forge
    testpath                  0.5.0              pyhd8ed1ab_0    conda-forge
    tk                        8.6.11               h27826a3_1    conda-forge
    tornado                   6.1              py39h3811e60_2    conda-forge
    traitlets                 5.1.1              pyhd8ed1ab_0    conda-forge
    typing_extensions         4.0.0              pyha770c72_0    conda-forge
    tzdata                    2021e                he74cb21_0    conda-forge
    urllib3                   1.26.7             pyhd8ed1ab_0    conda-forge
    watchdog                  2.1.6            py39hf3d152e_1    conda-forge
    webencodings              0.5.1                      py_1    conda-forge
    wheel                     0.37.0             pyhd8ed1ab_1    conda-forge
    xz                        5.2.5                h516909a_1    conda-forge
    yaml                      0.2.5                h516909a_0    conda-forge
    zeromq                    4.3.4                h9c3ff4c_1    conda-forge
    zipp                      3.6.0              pyhd8ed1ab_0    conda-forge
    zlib                      1.2.11            h36c2ea0_1013    conda-forge
    

    Additional context

    No response

    bug 
    opened by awvwgk 5
  • Make the output reproducible

    Make the output reproducible

    Whilst working on the Reproducible Builds effort I noticed that sphinx-design and sphinx-panels does not create reproducible output.

    This is because it uses Python's uuid.uuid4 to generate unique identifiers, but those numbers are random/nondeterminstic by design. This patch will seed these random numbers from SOURCE_DATE_EPOCH if it exists, otherwise it will revert back to random numbers.

    (I originally filed this in Debian as bug #1017475, as well as in sphinx-panels.)

    opened by lamby 4
  • icons not shown correctly in rst toctree

    icons not shown correctly in rst toctree

    Describe the bug

    context When I write icons in rst toctree:

    ..  toctree::
        :caption: Table of content
        :maxdepth: 2
        :titlesonly:
    
        Quick Start :octicon:`rocket;1em` <quick_start/quick_start>
    

    expectation I expected icon to occur in the side bar.

    bug But instead the raw text is shown.

    Reproduce the bug

    write toctree as above

    List your environment

    myst-parser                   0.18.1
    furo                          2022.12.7
    pydata-sphinx-theme           0.8.1
    sphinx-basic-ng               1.0.0b1
    sphinx-book-theme             0.3.3
    sphinx-copybutton             0.5.1
    sphinx_design                 0.3.0
    sphinx-hoverxref              1.3.0
    sphinx-notfound-page          0.8.3
    sphinx-rtd-theme              1.1.1
    sphinxcontrib-applehelp       1.0.2
    sphinxcontrib-devhelp         1.0.2
    sphinxcontrib-htmlhelp        2.0.0
    sphinxcontrib.jquery          3.0.0
    sphinxcontrib-jsmath          1.0.1
    sphinxcontrib-qthelp          1.0.3
    sphinxcontrib-serializinghtml 1.1.5
    
    bug 
    opened by jhj0411jhj 1
  • fix: Add missing width, class-img-top, class-img-bottom options to grid-item-card

    fix: Add missing width, class-img-top, class-img-bottom options to grid-item-card

    closes #109

    Personally I would read from CardDirective.option_spec instead of requiring a maintainer to manually sync option_spec and that other array, but maybe there was a reason for it.

    opened by jpmckinney 0
  • i18n: Spurious (and translatable) alt-text added to cards

    i18n: Spurious (and translatable) alt-text added to cards

    Describe the bug

    Due to lines like:

    https://github.com/executablebooks/sphinx-design/blob/42077cf08756019db3936fbd9a66d68f6ce6d23d/sphinx_design/cards.py#L117

    My POT file contains, in this case:

    msgid "card-img-top"
    msgstr ""
    

    Reproduce the bug

    Run sphinx-build -b gettext docs _build (or whatever paths are appropriate) while using this package and using the img-background, img-top or img-bottom options.

    List your environment

    Not environment dependent.

    bug 
    opened by jpmckinney 1
  • :ref: does not resolve autosectionlabel

    :ref: does not resolve autosectionlabel

    Describe the bug

    With the sphinx.ext.autosectionlabel extension installed, it automatically generates references to sections in pages. You would typically reference this section by the following syntax

    My :ref:`this is a reference </docs/myarticle:my article section>`
    

    However sphinx design fails to resolve this with undefined label: myarticlesection

    Reproduce the bug

    1. Add sphinx.ext.autosectionlabel to your extensions
    .. grid:: 2
    
       .. grid-item-card:: Ref Example
          :link: /docs/myarticle:my section name
          :link-type: ref
    
    

    List your environment

    python = "^3.9"
    doc8 = "==0.11.1"
    docutils = "==0.17.0"
    fonttools = {version = "==4.33.3", extras = ["woff"]}
    furo = "==2022.9.29"
    latex = "==0.7.0"
    packaging = "==20.9"
    sphinx = "==4.5.0"
    sphinx-hoverxref = "==1.0.1"
    sphinx-notfound-page = "==0.8.0"
    sphinx_design = "==0.3.0"
    sphinxcontrib-ghcontributors = "==0.2.3"
    sphinxcontrib-htmlhelp = "==2.0.0"
    sphinxcontrib-serializinghtml = "==1.1.5"
    sphinxcontrib-svg2pdfconverter = "==1.2.0"
    sphinxext-delta = "==0.2.0"
    sphinxext-mimic = "==0.1.1"
    sphinxext-opengraph = "==0.4.1"
    sphinxext-rediraffe = "==0.2.5"
    sphinxext-remoteliteralinclude = "==0.3.0"
    urllib3 = ">=1.26.6, <2.0.0"
    
    bug 
    opened by daltzctr 2
  • Unknown option

    Unknown option "width" for grid-item-card

    Describe the bug

    I am using a grid-item-card like this:

    .. grid-item-card::
        :width: auto
    
       Some text
    

    but I get the message from sphinx:

    ERROR in "grid-item-card" directive: unknown option: "width".

    While in theory width should be supported: https://sphinx-design.readthedocs.io/en/latest/cards.html#card-options .

    Reproduce the bug

    See above for sample.

    List your environment

    This happens with:

    Sphinx==5.3.0
    sphinx_design==0.3.0
    docutils==0.19
    
    bug 
    opened by Legrandin 3
Releases(v0.3.0)
  • v0.3.0(Aug 22, 2022)

    What's Changed

    • ⬆️ Update Materials Design Icons to v4.0.0-46-gc9e5528 by @2bndy5 in https://github.com/executablebooks/sphinx-design/pull/69
    • 📚 DOCS: Update font awesome icons by @2bndy5 in https://github.com/executablebooks/sphinx-design/pull/64
    • 🐛 FIX: Docs build against non-html formats by @chrisjsewell in https://github.com/executablebooks/sphinx-design/pull/88
    • 👌 IMPROVE: Add link-alt to fix card link accessibility by @chrisjsewell in https://github.com/executablebooks/sphinx-design/pull/89
    • 🐛 FIX: dropdown/tab-item :name: options by @chrisjsewell in https://github.com/executablebooks/sphinx-design/pull/91
    • 👌 IMPROVE: Add card options class-img-top/class-img-bottom by @chrisjsewell in https://github.com/executablebooks/sphinx-design/pull/92
    • 👌 IMPROVE: Make tab ids deterministic by @chrisjsewell in https://github.com/executablebooks/sphinx-design/pull/93
    • 🔧 MAINTAIN: Fix docutils PendingDeprecationWarning by @chrisjsewell in https://github.com/executablebooks/sphinx-design/pull/94
    • 🚀 RELEASE: v0.3.0 by @chrisjsewell in https://github.com/executablebooks/sphinx-design/pull/95

    Full Changelog: https://github.com/executablebooks/sphinx-design/compare/v0.2.0...v0.3.0

    Source code(tar.gz)
    Source code(zip)
  • v0.2.0(Jun 14, 2022)

    What's Changed

    • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/executablebooks/sphinx-design/pull/63
    • ⬆️ Add Python 3.10 support by @jarrodmillman in https://github.com/executablebooks/sphinx-design/pull/71
    • ⬆️ Support Sphinx v5, drop v3 by @chrisjsewell in https://github.com/executablebooks/sphinx-design/pull/74
    • 🚀 RELEASE: v0.2.0 by @chrisjsewell in https://github.com/executablebooks/sphinx-design/pull/75

    New Contributors

    • @jarrodmillman made their first contribution in https://github.com/executablebooks/sphinx-design/pull/71

    Full Changelog: https://github.com/executablebooks/sphinx-design/compare/v0.1.0...v0.2.0

    Source code(tar.gz)
    Source code(zip)
  • v0.1.0(Apr 20, 2022)

    What's Changed

    • ⬆️ UPGRADE: octicons to v16.1.1 by @pocek in https://github.com/executablebooks/sphinx-design/pull/43
    • ✨ NEW: Add material design icons roles by @2bndy5 in https://github.com/executablebooks/sphinx-design/pull/41
    • [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/executablebooks/sphinx-design/pull/39
    • 🔧 MAINTAIN: Move from setuptools to flit for package build by @chrisjsewell in https://github.com/executablebooks/sphinx-design/pull/58
    • 🔧 MAINTAIN: Drop furo-specific stylesheet by @pradyunsg in https://github.com/executablebooks/sphinx-design/pull/22
    • 🐛 FIX: Links in card titles by @chrisjsewell in https://github.com/executablebooks/sphinx-design/pull/59
    • 🐛 FIX: Exception on missing card link by @chrisjsewell in https://github.com/executablebooks/sphinx-design/pull/60
    • 🚀 RELEASE: v0.1.0 by @chrisjsewell in https://github.com/executablebooks/sphinx-design/pull/62

    New Contributors

    • @pocek made their first contribution in https://github.com/executablebooks/sphinx-design/pull/43
    • @2bndy5 made their first contribution in https://github.com/executablebooks/sphinx-design/pull/41

    Full Changelog: https://github.com/executablebooks/sphinx-design/compare/v0.0.13...v0.1.0

    Source code(tar.gz)
    Source code(zip)
  • v0.0.13(Oct 27, 2021)

  • v0.0.12(Aug 13, 2021)

Owner
Executable Books
An open collaboration to create executable books with Jupyter
Executable Books
A library for fast parse & import of Windows Prefetch into Elasticsearch.

prefetch2es Fast import of Windows Prefetch(.pf) into Elasticsearch. prefetch2es uses C library libscca. Usage When using from the commandline interfa

S.Nakano 5 Nov 24, 2022
High level Python client for Elasticsearch

Elasticsearch DSL Elasticsearch DSL is a high-level library whose aim is to help with writing and running queries against Elasticsearch. It is built o

elastic 3.6k Dec 30, 2022
An open source, non-profit search engine implemented in python

Mwmbl: No ads, no tracking, no cruft, no profit Mwmbl is a non-profit, ad-free, free-libre and free-lunch search engine with a focus on useability and

639 Jan 04, 2023
Python script for finding duplicate images within a folder.

Python script for finding duplicate images within a folder.

194 Dec 31, 2022
Modular search for Django

Haystack Author: Daniel Lindsley Date: 2013/07/28 Haystack provides modular search for Django. It features a unified, familiar API that allows you to

Haystack Search 3.4k Jan 04, 2023
Reverse-ikea-image-search - A simple image of ikea search using jina.ai

IKEA Reverse Image Search This is a demo project to fetch ikea product images(IK

SOUVIK GHOSH 4 Mar 08, 2022
cve-search - a tool to perform local searches for known vulnerabilities

cve-search cve-search is a tool to import CVE (Common Vulnerabilities and Exposures) and CPE (Common Platform Enumeration) into a MongoDB to facilitat

cve-search 2k Jan 01, 2023
A fast, efficiency python package for searching and getting search results with many different search engines

search A fast, efficiency python package for searching and getting search results with many different search engines. Installation To install the pack

Neurs 0 Oct 06, 2022
This project is a sample demo of Arxiv search related to AI/ML Papers built using Streamlit, sentence-transformers and Faiss.

This project is a sample demo of Arxiv search related to AI/ML Papers built using Streamlit, sentence-transformers and Faiss.

Karn Deb 49 Oct 30, 2022
A Python web searcher library with different search engines

Robert A simple Python web searcher library with different search engines. Install pip install roberthelper Usage from robert import GoogleSearcher

1 Dec 23, 2021
MeiliSearch FastAPI provides FastAPI routes for interacting with MeiliSearch.

MeiliSearch FastAPI MeiliSearch FastAPI provides FastAPI routes for interacting with MeiliSearch. Installation Using a virtual environmnet is recommen

Paul Sanders 29 Nov 18, 2022
Pythonic search engine based on PyLucene.

Lupyne is a search engine based on PyLucene, the Python extension for accessing Java Lucene. Lucene is a relatively low-level toolkit, and PyLucene wr

A. Coady 83 Jan 02, 2023
GitScanner is a script to make it easy to search for Exposed Git through an advanced Google search.

GitScanner Legal disclaimer Usage of GitScanner for attacking targets without prior mutual consent is illegal. It is the end user's responsibility to

Kaio Gomes 3 Oct 28, 2022
txtai executes machine-learning workflows to transform data and build AI-powered semantic search applications.

txtai executes machine-learning workflows to transform data and build AI-powered semantic search applications.

NeuML 3.1k Dec 31, 2022
Google Search Engine Results Pages (SERP) in locally, no API key, no signup required

Local SERP Google Search Engine Results Pages (SERP) in locally, no API key, no signup required Make sure the chromedriver and required package are in

theblackcat102 4 Jun 29, 2021
Home for Elasticsearch examples available to everyone. It's a great way to get started.

Introduction This is a collection of examples to help you get familiar with the Elastic Stack. Each example folder includes a README with detailed ins

elastic 2.5k Jan 03, 2023
Full text search for flask.

flask-msearch Installation To install flask-msearch: pip install flask-msearch # when MSEARCH_BACKEND = "whoosh" pip install whoosh blinker # when MSE

honmaple 197 Dec 29, 2022
PwnWiki Telegram database searching bot

pwtgbot PwnWiki Telegram database searching bot. Screenshots How it looks like in the terminal when running How it looks like in Telegram Run Directly

K4YT3X 3 Jan 25, 2022
A library for fast import of Windows NT Registry(REGF) into Elasticsearch.

A library for fast import of Windows NT Registry(REGF) into Elasticsearch.

S.Nakano 3 Apr 01, 2022
rclip - AI-Powered Command-Line Photo Search Tool

rclip is a command-line photo search tool based on the awesome OpenAI's CLIP neural network.

Yurij Mikhalevich 394 Dec 12, 2022