forked from github/share-post
share_post: fire on all_generators_finalized so that links resolve
Fixes #577. Closes #598. Ref: * https://github.com/getpelican/pelican-plugins/issues/577 * https://github.com/getpelican/pelican-plugins/pull/556#issuecomment-140250725
This commit is contained in:
parent
c4351fe453
commit
8209565864
1 changed files with 19 additions and 4 deletions
|
|
@ -12,6 +12,7 @@ try:
|
|||
except ImportError:
|
||||
from urllib import quote
|
||||
from pelican import signals, contents
|
||||
from pelican.generators import ArticlesGenerator, PagesGenerator
|
||||
|
||||
|
||||
def article_title(content):
|
||||
|
|
@ -40,7 +41,7 @@ def share_post(content):
|
|||
|
||||
tweet = ('%s%s%s' % (title, quote(' '), url)).encode('utf-8')
|
||||
diaspora_link = 'https://sharetodiaspora.github.io/?title=%s&url=%s' % (title, url)
|
||||
facebook_link = 'http://www.facebook.com/sharer/sharer.php?s=100&p%%5Burl%%5D=%s' % url
|
||||
facebook_link = 'http://www.facebook.com/sharer/sharer.php?u=%s' % url
|
||||
gplus_link = 'https://plus.google.com/share?url=%s' % url
|
||||
twitter_link = 'http://twitter.com/home?status=%s' % tweet
|
||||
linkedin_link = 'https://www.linkedin.com/shareArticle?mini=true&url=%s&title=%s&summary=%s&source=%s' % (
|
||||
|
|
@ -54,13 +55,27 @@ def share_post(content):
|
|||
'twitter': twitter_link,
|
||||
'facebook': facebook_link,
|
||||
'google-plus': gplus_link,
|
||||
'linkedin': linkedin_link,
|
||||
'linkedin': linkedin_link,
|
||||
'email': mail_link
|
||||
}
|
||||
content.share_post = share_links
|
||||
|
||||
|
||||
def run_plugin(generators):
|
||||
for generator in generators:
|
||||
if isinstance(generator, ArticlesGenerator):
|
||||
for article in generator.articles:
|
||||
share_post(article)
|
||||
elif isinstance(generator, PagesGenerator):
|
||||
for page in generator.pages:
|
||||
share_post(page)
|
||||
|
||||
|
||||
def register():
|
||||
signals.content_object_init.connect(share_post)
|
||||
|
||||
try:
|
||||
signals.all_generators_finalized.connect(run_plugin)
|
||||
except AttributeError:
|
||||
# NOTE: This results in #314 so shouldn't really be relied on
|
||||
# https://github.com/getpelican/pelican-plugins/issues/314
|
||||
signals.content_object_init.connect(share_post)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue