mb@mb
6 years ago
2 changed files with 28 additions and 0 deletions
@ -0,0 +1 @@ |
|||||
|
from .image_captions import * |
@ -0,0 +1,27 @@ |
|||||
|
""" |
||||
|
Image Captions |
||||
|
-------------- |
||||
|
In converting from MD to html images are wrapped in <p> objects. |
||||
|
This plugin gives those paragraphs the 'img' class for styling enhancements. |
||||
|
|
||||
|
Thanks to Low Tech Mag : https://github.com/lowtechmag/ltm-src/blob/master/pelican-plugins/addressable_paragraphs/addressable_paragraphs.py |
||||
|
""" |
||||
|
|
||||
|
from __future__ import unicode_literals |
||||
|
from pelican import signals |
||||
|
from bs4 import BeautifulSoup |
||||
|
|
||||
|
def content_object_init(instance): |
||||
|
|
||||
|
if instance._content is not None: |
||||
|
content = instance._content |
||||
|
soup = BeautifulSoup(content, 'html.parser') |
||||
|
|
||||
|
for p in soup(['p', 'object']): |
||||
|
if p.findChild('img'): |
||||
|
p.attrs['class'] = 'img' |
||||
|
|
||||
|
instance._content = soup.decode() |
||||
|
|
||||
|
def register(): |
||||
|
signals.content_object_init.connect(content_object_init) |
Loading…
Reference in new issue