Skip to main content

Markdown extension to wrap images in lightbox/lightgallery

Project description

Lightgallery markdown Extension

Markdown extension to wrap images in a lightbox.

Will only wrap images by adding "!" right after the opening "[" bracket of the image.

![!Description](/img/pic1.png)

This will Output :

<p>
  <div class="lightgallery">
    <a href="../img/pic1.png" data-sub-html="Description">
      <img alt="Description" src="../img/pic1.png" />
    </a>
  </div>
</p>

The extension is made to work with lightgallery.js a full featured JavaScript lightgallery/lightbox with no dependencies.

Extension inspired by : mardown-lightbox

To test the extension:

import markdown
from lightgallery import LightGalleryExtension

print(markdown.markdown('![!description](/img/pic1.png)', extensions=[LightGalleryExtension()]))

Install

$ pip install lightgallery

How to make it works with Mkdocs

1. Create a theme folder will the following structure in your Mkdocs folder

theme/
|_ css/
|_ fonts/
|_ img/
|_ js/

2. Go to lightgallery.js GitHub or JSDELIVR to download the following files to the theme sub-folders as listed below

  • dist/js/lightgallery.min.js -> theme/js/
  • dist/css/lightgallery.min.css -> theme/css/
  • dist/fonts/lg.* -> theme/fonts/
  • dist/img/loading.gif -> theme/img/

3. Create a theme/main.hml file and add the following code to the file

{% extends "base.html" %}

{% block styles %}
    {{ super() }}
    <link rel="stylesheet" href="{{ base_url }}/css/lightgallery.min.css">
{% endblock styles %}

{% block libs %}
    {{ super() }}
    <script src="{{ base_url }}/js/lightgallery.min.js"></script>
{% endblock libs %}

{% block scripts %}
    {{ super() }}
    <script>
    var elements = document.getElementsByClassName("lightgallery");
    for(var i=0; i<elements.length; i++) {
       lightGallery(elements[i]);
    }
    </script>
{% endblock scripts %}

4. Modify the mkdocs.yml file to add the following settings

# Documentation and theme
theme:
  custom_dir: 'theme'
# Extensions
markdown_extensions:
  - lightgallery

5. Change extension settings in mkdocs.yml

All settings of the extension are optional and can be omitted.

# Extensions
markdown_extensions:
  - lightgallery:
      show_description_in_lightgallery: true | false
      show_description_as_inline_caption: true | false
      custom_inline_caption_css_class: 'my-caption-class'
Setting Description Default Value
show_description_in_lightgallery Adds the description as caption in lightgallery dialog. true
show_description_as_inline_caption Adds the description as inline caption below the image. false
custom_inline_caption_css_class Custom CSS classes which are applied to the inline caption paragraph. Multiple classes are separated via space. Empty

License

MIT License

Project details


Release history Release notifications | RSS feed

This version

0.5

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lightgallery-0.5.tar.gz (3.6 kB view details)

Uploaded Source

Built Distribution

lightgallery-0.5-py2.py3-none-any.whl (4.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file lightgallery-0.5.tar.gz.

File metadata

  • Download URL: lightgallery-0.5.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.9.1

File hashes

Hashes for lightgallery-0.5.tar.gz
Algorithm Hash digest
SHA256 3063ba855fc96fe6b9c978845052d3e837095a55277fe1982be5748f7cb4085c
MD5 01b1cddedbb76631d31fac1a1dba047b
BLAKE2b-256 0918f7be28c54f7271dd81a6ef04ea17bc5192d6c4edb65b1d7ef21ac49b9380

See more details on using hashes here.

File details

Details for the file lightgallery-0.5-py2.py3-none-any.whl.

File metadata

  • Download URL: lightgallery-0.5-py2.py3-none-any.whl
  • Upload date:
  • Size: 4.3 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.9.1

File hashes

Hashes for lightgallery-0.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9f14d5986aff5c4e0ef17d85f85488b9f2295b904556c71f1db99e3378a6cbc6
MD5 d28208552247c0d4f27293f77607cdab
BLAKE2b-256 8036f44678cd1e876770db2ceb744a820c270d0cb03eed439d8390b8cc1788e2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page