diff --git a/homepage/pelicanconf.py b/homepage/pelicanconf.py index 96d0ec8..772f98d 100644 --- a/homepage/pelicanconf.py +++ b/homepage/pelicanconf.py @@ -1,5 +1,7 @@ import os from datetime import datetime +from pelican_decorate_content import decorate_content + # If your site is available via HTTPS, make sure SITEURL begins with https:// RELATIVE_URLS = False @@ -45,7 +47,7 @@ PAGE_SAVE_AS = '{slug}/index.html' ARTICLE_SAVE_AS = 'blog/{slug}/index.html' PLUGIN_PATHS = ['./plugins'] -PLUGINS = ['decorate_content', 'assets'] +PLUGINS = [decorate_content, 'assets'] MARKDOWN = { 'extension_configs': { diff --git a/homepage/plugins/decorate_content/__init__.py b/homepage/plugins/decorate_content/__init__.py deleted file mode 100644 index 1dd5d68..0000000 --- a/homepage/plugins/decorate_content/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .decorate_content import * diff --git a/homepage/plugins/decorate_content/decorate_content.py b/homepage/plugins/decorate_content/decorate_content.py deleted file mode 100644 index 11ebd65..0000000 --- a/homepage/plugins/decorate_content/decorate_content.py +++ /dev/null @@ -1,33 +0,0 @@ -from json import loads - -from pelican import signals -from pelican.contents import Article, Page, Static -from bs4 import BeautifulSoup - - -def content_object_init(instance): - if isinstance(instance, (Article, Page, Static)): - plugin_settings = instance.settings.get("DECORATE_CONTENT", {}) - content_overrides = ( - instance.metadata.get("decorate_content", None) - if instance.metadata is not None - else None - ) - - settings = plugin_settings.copy() - settings.update( - loads(content_overrides) if content_overrides is not None else {} - ) - - soup = BeautifulSoup(instance._content, "html.parser") - - for selector, class_names in settings.items(): - elems = soup.select(selector) - for elem in elems: - elem["class"] = elem.get("class", []) + class_names - - instance._content = soup.decode() - - -def register(): - signals.content_object_init.connect(content_object_init) diff --git a/homepage/requirements.txt b/homepage/requirements.txt index 9a0c0e2..f02a2b6 100644 --- a/homepage/requirements.txt +++ b/homepage/requirements.txt @@ -1,4 +1,4 @@ -pelican==4.5.3 +pelican==4.5.4 markdown==3.1.1 git+git://github.com/miracle2k/webassets#d1f3455e383446ca4ab0c644f326ee937e68e809 -beautifulsoup4==4.8.1 +pelican-decorate-content==0.1.1