forked from github/pelican
Plugins doc + minor design changes.
This commit is contained in:
parent
c5a63c953a
commit
28c0644eb6
10 changed files with 97 additions and 18 deletions
|
|
@ -2,7 +2,7 @@ import argparse
|
|||
import os
|
||||
import time
|
||||
|
||||
from blinker import signal
|
||||
from pelican import signals
|
||||
|
||||
from pelican.generators import (ArticlesGenerator, PagesGenerator,
|
||||
StaticGenerator, PdfGenerator)
|
||||
|
|
@ -46,7 +46,7 @@ class Pelican(object):
|
|||
raise Exception("Impossible to find the theme %s" % theme)
|
||||
|
||||
self.init_plugins()
|
||||
signal('pelican_initialized').send(self)
|
||||
signals.initialized.send(self)
|
||||
|
||||
def init_plugins(self):
|
||||
self.plugins = self.settings['PLUGINS']
|
||||
|
|
|
|||
|
|
@ -8,8 +8,6 @@ import os
|
|||
import math
|
||||
import random
|
||||
|
||||
from blinker import signal
|
||||
|
||||
from jinja2 import Environment, FileSystemLoader
|
||||
from jinja2.exceptions import TemplateNotFound
|
||||
|
||||
|
|
@ -17,6 +15,7 @@ from pelican.utils import copy, get_relative_path, process_translations, open
|
|||
from pelican.contents import Article, Page, is_valid_content
|
||||
from pelican.readers import read_file
|
||||
from pelican.log import *
|
||||
from pelican import signals
|
||||
|
||||
|
||||
class Generator(object):
|
||||
|
|
@ -100,7 +99,6 @@ class ArticlesGenerator(Generator):
|
|||
self.dates = {}
|
||||
self.tags = defaultdict(list)
|
||||
self.categories = defaultdict(list)
|
||||
self.signal = {'pelican_article_generate_context' : signal('pelican_article_generate_context')}
|
||||
super(ArticlesGenerator, self).__init__(*args, **kwargs)
|
||||
self.drafts = []
|
||||
|
||||
|
|
@ -214,7 +212,7 @@ class ArticlesGenerator(Generator):
|
|||
and self.settings['FALLBACK_ON_FS_DATE']:
|
||||
metadata['date'] = datetime.fromtimestamp(os.stat(f).st_ctime)
|
||||
|
||||
self.signal['pelican_article_generate_context'].send(self, metadata=metadata)
|
||||
signals.article_generate_context.send(self, metadata=metadata)
|
||||
article = Article(content, metadata, settings=self.settings,
|
||||
filename=f)
|
||||
if not is_valid_content(article, f):
|
||||
|
|
@ -318,7 +316,7 @@ class StaticGenerator(Generator):
|
|||
final_path=None):
|
||||
"""Copy all the paths from source to destination"""
|
||||
for path in paths:
|
||||
copy(path, source, os.path.join(output_path, destination), final_path,
|
||||
copy(path, source, os.path.join(output_path, destination), final_path,
|
||||
overwrite=True)
|
||||
|
||||
def generate_output(self, writer):
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from blinker import signal
|
||||
from pelican import signals
|
||||
|
||||
"""
|
||||
License plugin for Pelican
|
||||
|
|
@ -19,5 +19,5 @@ def add_license(generator, metadata):
|
|||
and 'LICENSE' in generator.settings.keys():
|
||||
metadata['license'] = generator.settings['LICENSE']
|
||||
|
||||
|
||||
signal('pelican_article_generate_context').connect(add_license)
|
||||
def register():
|
||||
signals.article_generate_context.connect(add_license)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import hashlib
|
||||
|
||||
from blinker import signal
|
||||
from pelican import signals
|
||||
"""
|
||||
Gravata plugin for Pelican
|
||||
==========================
|
||||
|
|
@ -37,4 +37,4 @@ def add_gravatar(generator, metadata):
|
|||
|
||||
|
||||
def register():
|
||||
signal('pelican_article_generate_context').connect(add_gravatar)
|
||||
signals.article_generate_context.connect(add_gravatar)
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
from blinker import signal
|
||||
|
||||
from pelican import signals
|
||||
|
||||
def test(sender):
|
||||
print "%s initialized !!" % sender
|
||||
|
||||
def register():
|
||||
signal('pelican_initialized').connect(test)
|
||||
signals.initialized.connect(test)
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ _DEFAULT_CONFIG = {'PATH': None,
|
|||
'DEFAULT_METADATA': (),
|
||||
'FILES_TO_COPY': (),
|
||||
'DEFAULT_STATUS': 'published',
|
||||
'PLUGINS_PATH': None,
|
||||
'PLUGINS': [],
|
||||
}
|
||||
|
||||
def read_settings(filename):
|
||||
|
|
|
|||
4
pelican/signals.py
Normal file
4
pelican/signals.py
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
from blinker import signal
|
||||
|
||||
initialized = signal('pelican_initialized')
|
||||
article_generate_context = signal('article_generate_context')
|
||||
Loading…
Add table
Add a link
Reference in a new issue