mirror of
https://github.com/offen/website.git
synced 2024-12-25 14:20:22 +01:00
Merge pull request #106 from offen/install-plugins
Source decorate content plugin from pypi
This commit is contained in:
commit
85e5765e9b
@ -1,5 +1,6 @@
|
||||
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
|
||||
|
||||
@ -44,7 +45,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': {
|
||||
|
@ -1 +0,0 @@
|
||||
from .decorate_content import *
|
@ -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)
|
@ -2,3 +2,4 @@ pelican==4.0.1
|
||||
markdown==3.1.1
|
||||
git+git://github.com/miracle2k/webassets#d1f3455e383446ca4ab0c644f326ee937e68e809
|
||||
beautifulsoup4==4.8.1
|
||||
pelican-decorate-content==0.1.1
|
||||
|
Loading…
Reference in New Issue
Block a user