Only when those actually get used from Pelican.
import argparse
import copy
import docutils
+import docutils.core
import docutils.utils
import enum
import urllib.parse
import os
import logging
-from pelican import signals
from urllib.parse import urljoin
logger = logging.getLogger(__name__)
def register_mcss(**kwargs):
assert not "This plugin is Pelican-only" # pragma: no cover
+# Below is only Pelican-specific functionality. If Pelican is not found, these
+# do nothing.
+
def _pelican_get_generators(generators): return AliasGenerator
def register(): # for Pelican
- signals.get_generators.connect(_pelican_get_generators)
+ import pelican.signals
+
+ pelican.signals.get_generators.connect(_pelican_get_generators)
rst.directives.register_directive('include', Include)
rst.roles.register_canonical_role('code', code)
+# Below is only Pelican-specific functionality. If Pelican is not found, these
+# do nothing.
+
register = register_mcss # for Pelican
rst.roles.register_canonical_role('label-flat-info', label_flat_info)
rst.roles.register_canonical_role('label-flat-dim', label_flat_dim)
+# Below is only Pelican-specific functionality. If Pelican is not found, these
+# do nothing.
+
register = register_mcss # for Pelican
# DEALINGS IN THE SOFTWARE.
#
-import pelican
import re
import subprocess
rst.directives.register_directive('graph', Graph)
rst.directives.register_directive('strict-graph', StrictGraph)
+# Below is only Pelican-specific functionality. If Pelican is not found, these
+# do nothing.
+
def _pelican_configure(pelicanobj):
register_mcss(mcss_settings=pelicanobj.settings)
def register(): # for Pelican
+ import pelican.signals
+
pelican.signals.initialized.connect(_pelican_configure)
from docutils.parsers import rst
from docutils.parsers.rst.roles import set_classes
-from pelican import signals
import xml.etree.ElementTree as ET
import os
import re
init(input=mcss_settings['INPUT'],
tagfiles=mcss_settings.get('M_DOX_TAGFILES', []))
+# Below is only Pelican-specific functionality. If Pelican is not found, these
+# do nothing.
+
def _pelican_configure(pelicanobj):
settings = {
# For backwards compatibility, the input directory is pelican's CWD
register_mcss(mcss_settings=settings)
def register(): # for Pelican
- signals.initialized.connect(_pelican_configure)
+ import pelican.signals
+
+ pelican.signals.initialized.connect(_pelican_configure)
from docutils import nodes
from docutils.parsers import rst
from docutils.parsers.rst.roles import set_classes
-from pelican import signals
settings = {}
rst.roles.register_local_role('filesize', filesize)
rst.roles.register_local_role('filesize-gz', filesize_gz)
+# Below is only Pelican-specific functionality. If Pelican is not found, these
+# do nothing.
+
def _pelican_configure(pelicanobj):
settings = {
'INPUT': os.path.join(os.getcwd(), pelicanobj.settings['PATH'])
register_mcss(mcss_settings=settings)
def register(): # for Pelican
- signals.initialized.connect(_pelican_configure)
+ import pelican.signals
+
+ pelican.signals.initialized.connect(_pelican_configure)
def register_mcss(**kwargs):
rst.roles.register_local_role('gh', gh)
+# Below is only Pelican-specific functionality. If Pelican is not found, these
+# do nothing.
+
register = register_mcss # for Pelican
rst.roles.register_local_role('glfn', glfn)
rst.roles.register_local_role('glfnext', glfnext)
+# Below is only Pelican-specific functionality. If Pelican is not found, these
+# do nothing.
+
register = register_mcss # for Pelican
jinja_environment.filters['hyphenate'] = hyphenate
jinja_environment.filters['dehyphenate'] = dehyphenate
-# Below is only Pelican-specific functionality and plugin registration
+# Below is only Pelican-specific functionality. If Pelican is not found, these
+# do nothing.
try:
import pelican.signals
from pelican.readers import RstReader
+
+ class PelicanSaneRstReader(RstReader):
+ writer_class = SaneHtmlWriter
+ field_body_translator_class = _SaneFieldBodyTranslator
+
except ImportError:
pass
-class PelicanSaneRstReader(RstReader):
- writer_class = SaneHtmlWriter
- field_body_translator_class = _SaneFieldBodyTranslator
-
pelican_settings = {}
def pelican_expand_link(link, content):
from docutils.nodes import fully_normalize_name, whitespace_normalize_name
from docutils.parsers.rst.roles import set_classes
from docutils import nodes
-from pelican import signals
-from pelican import StaticGenerator
# If Pillow is not available, it's not an error unless one uses the image grid
# functionality (or :scale: option for Image)
rst.directives.register_directive('figure', Figure)
rst.directives.register_directive('image-grid', ImageGrid)
+# Below is only Pelican-specific functionality. If Pelican is not found, these
+# do nothing.
+
def _pelican_configure(pelicanobj):
settings = {
'INPUT': pelicanobj.settings['PATH'],
register_mcss(mcss_settings=settings)
def register(): # for Pelican
- signals.initialized.connect(_pelican_configure)
+ import pelican.signals
+
+ pelican.signals.initialized.connect(_pelican_configure)
def register_mcss(**kwargs):
rst.roles.register_local_role('link', link)
+# Below is only Pelican-specific functionality. If Pelican is not found, these
+# do nothing.
+
register = register_mcss # for Pelican
from docutils.parsers.rst import directives
from docutils.parsers.rst.roles import set_classes
-import pelican.signals
-
import latex2svg
import latex2svgextra
rst.directives.register_directive('math', Math)
rst.roles.register_canonical_role('math', math)
+# Below is only Pelican-specific functionality. If Pelican is not found, these
+# do nothing.
+
def _configure_pelican(pelicanobj):
register_mcss(mcss_settings=pelicanobj.settings, hooks_pre_page=[], hooks_post_run=[])
def register():
+ import pelican.signals
+
pelican.signals.initialized.connect(_configure_pelican)
pelican.signals.finalized.connect(save_cache)
pelican.signals.content_object_init.connect(new_page)
import numpy as np
import io
-import pelican.signals
-
mpl.rcParams['font.size'] = '11'
mpl.rcParams['axes.titlesize'] = '13'
rst.directives.register_directive('plot', Plot)
+# Below is only Pelican-specific functionality. If Pelican is not found, these
+# do nothing.
+
def _pelican_configure(pelicanobj):
register_mcss(mcss_settings=pelicanobj.settings, hooks_pre_page=[])
def register(): # for Pelican
+ import pelican.signals
+
pelican.signals.initialized.connect(_pelican_configure)
pelican.signals.content_object_init.connect(new_page)
def register_mcss(**kwargs):
rst.directives.register_directive('qr', Qr)
+# Below is only Pelican-specific functionality. If Pelican is not found, these
+# do nothing.
+
register = register_mcss # for Pelican
inventories=pelicanobj.settings.get('M_SPHINX_INVENTORIES', []))
def register(): # for Pelican
- from pelican import signals
+ import pelican.signals
rst.roles.register_local_role('ref', ref)
- signals.initialized.connect(_pelican_configure)
+ pelican.signals.initialized.connect(_pelican_configure)
def pretty_print_intersphinx_inventory(file):
return ''.join([
rst.roles.register_local_role('vkfn', vkfn)
rst.roles.register_local_role('vktype', vktype)
+# Below is only Pelican-specific functionality. If Pelican is not found, these
+# do nothing.
+
register = register_mcss # for Pelican