git merge master

This commit is contained in:
dave mankoff 2012-06-20 19:49:31 -04:00
commit 7b6a97dee0
10 changed files with 62 additions and 18 deletions

1
.gitignore vendored
View file

@ -2,6 +2,7 @@
.*.swp
.*.swo
*.pyc
.DS_Store
docs/_build
docs/fr/_build
build

View file

@ -98,6 +98,9 @@ GITHUB_URL :
GOOGLE_ANALYTICS :
'UA-XXXX-YYYY' pour activer Google analytics ;
GOSQUARED_SITENAME :
'XXX-YYYYYY-X' pour activer GoSquared ;
JINJA_EXTENSIONS :
Liste d'extension Jinja2 que vous souhaitez utiliser ;

View file

@ -91,6 +91,12 @@ Setting name (default value) What doe
index pages for collections of content e.g. tags and
category index pages.
`PAGINATED_DIRECT_TEMPLATES` (``('index',)``) Provides the direct templates that should be paginated.
`SUMMARY_MAX_LENGTH` (``50``) When creating a short summary of an article, this will
be the default length in words of the text created.
This only applies if your content does not otherwise
specify a summary. Setting to None will cause the summary
to be a copy of the original content.
===================================================================== =====================================================================
.. [#] Default is the system locale.
@ -398,6 +404,7 @@ Setting name What does it do ?
`GITHUB_URL` Your GitHub URL (if you have one). It will then
use this information to create a GitHub ribbon.
`GOOGLE_ANALYTICS` 'UA-XXXX-YYYY' to activate Google Analytics.
`GOSQUARED_SITENAME` 'XXX-YYYYYY-X' to activate GoSquared.
`MENUITEMS` A list of tuples (Title, URL) for additional menu
items to appear at the beginning of the main menu.
`PIWIK_URL` URL to your Piwik server - without 'http://' at the

View file

@ -13,11 +13,8 @@ try:
from markdown import Markdown
except ImportError:
Markdown = False # NOQA
import cgi
from HTMLParser import HTMLParser
import re
from pelican.contents import Category, Tag, Author
from pelican.utils import get_date, open

View file

@ -312,6 +312,7 @@ img.left, figure.left {float: right; margin: 0 0 2em 2em;}
.social a[type$='atom+xml'], .social a[type$='rss+xml'] {background-image: url('../images/icons/rss.png');}
.social a[href*='twitter.com'] {background-image: url('../images/icons/twitter.png');}
.social a[href*='linkedin.com'] {background-image: url('../images/icons/linkedin.png');}
.social a[href*='gitorious.org'] {background-image: url('../images/icons/gitorious.org');}
/*
About

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

View file

@ -41,12 +41,12 @@
</div><!-- /.entry-content -->
</article></li>
{% endif %}
{% if loop.last and (articles_page.has_previous()
or not articles_page.has_previous() and loop.length > 1) %}
{% include 'pagination.html' %}
{% endif %}
{% if loop.last %}
</ol><!-- /#posts-list -->
{% if loop.last and (articles_page.has_previous()
or not articles_page.has_previous() and loop.length > 1) %}
{% include 'pagination.html' %}
{% endif %}
</section><!-- /#content -->
{% endif %}
{% endfor %}

View file

@ -0,0 +1,14 @@
{% if GOSQUARED_SITENAME %}
<script type="text/javascript">
var GoSquared={};
GoSquared.acct = "{{ GOSQUARED_SITENAME }}";
(function(w){
function gs(){
w._gstc_lt=+(new Date); var d=document;
var g = d.createElement("script"); g.type = "text/javascript"; g.async = true; g.src = "//d1l6p2sc9645hc.cloudfront.net/tracker.js";
var s = d.getElementsByTagName("script")[0]; s.parentNode.insertBefore(g, s);
}
w.addEventListener?w.addEventListener("load",gs,false):w.attachEvent("onload",gs);
})(window);
</script>
{% endif %}

View file

@ -1,5 +1,4 @@
# -*- coding: utf-8 -*-
import contextlib
import os
import re
import pytz
@ -34,10 +33,10 @@ def get_date(string):
pass
raise ValueError("'%s' is not a valid date" % string)
@contextlib.contextmanager
def open(filename):
"""Open a file and return it's content"""
yield _open(filename, encoding='utf-8').read()
return _open(filename, encoding='utf-8').read()
def slugify(value):

View file

@ -4,6 +4,7 @@ from .support import unittest
from pelican.contents import Page
from pelican.settings import _DEFAULT_CONFIG
from pelican.utils import truncate_html_words
from jinja2.utils import generate_lorem_ipsum
@ -48,6 +49,20 @@ class TestPage(unittest.TestCase):
page = Page(**self.page_kwargs)
self.assertEqual(page.summary, TEST_SUMMARY)
def test_summary_max_length(self):
"""If a :SUMMARY_MAX_LENGTH: is set, and there is no other summary, generated summary
should not exceed the given length."""
page_kwargs = self._copy_page_kwargs()
settings = _DEFAULT_CONFIG.copy()
page_kwargs['settings'] = settings
del page_kwargs['metadata']['summary']
settings['SUMMARY_MAX_LENGTH'] = None
page = Page(**page_kwargs)
self.assertEqual(page.summary, TEST_CONTENT)
settings['SUMMARY_MAX_LENGTH'] = 10
page = Page(**page_kwargs)
self.assertEqual(page.summary, truncate_html_words(TEST_CONTENT, 10))
def test_slug(self):
"""If a title is given, it should be used to generate the slug."""
page = Page(**self.page_kwargs)
@ -83,14 +98,9 @@ class TestPage(unittest.TestCase):
from datetime import datetime
from sys import platform
dt = datetime(2015, 9, 13)
# make a deep copy of page_kawgs
page_kwargs = dict([(key, self.page_kwargs[key]) for key in
self.page_kwargs])
for key in page_kwargs:
if not isinstance(page_kwargs[key], dict):
break
page_kwargs[key] = dict([(subkey, page_kwargs[key][subkey])
for subkey in page_kwargs[key]])
page_kwargs = self._copy_page_kwargs()
# set its date to dt
page_kwargs['metadata']['date'] = dt
page = Page(**page_kwargs)
@ -124,3 +134,15 @@ class TestPage(unittest.TestCase):
# Until we find some other method to test this functionality, we
# will simply skip this test.
unittest.skip("There is no locale %s in this system." % locale)
def _copy_page_kwargs(self):
# make a deep copy of page_kwargs
page_kwargs = dict([(key, self.page_kwargs[key]) for key in
self.page_kwargs])
for key in page_kwargs:
if not isinstance(page_kwargs[key], dict):
break
page_kwargs[key] = dict([(subkey, page_kwargs[key][subkey])
for subkey in page_kwargs[key]])
return page_kwargs