1
0
Fork 0
forked from github/pelican
Commit graph

99 commits

Author SHA1 Message Date
Alexis Métaireau
e2ca6d7608 Add categories and tags to the replacement mechanism. 2013-08-17 17:36:13 +02:00
Alexis Métaireau
aae56fee39 exception.message was removed in py 3.X 2013-08-17 01:12:39 +02:00
Alexis Métaireau
73b37989f7 update the readers tests 2013-08-17 01:02:07 +02:00
Alexis Metaireau
2be674c909 Merge pull request #903 from dominiqueplante/readers.read_file-throwsexception
Add unit test for the case for handing unhandled extension
2013-08-16 15:34:49 -07:00
Justin Mayer
5a469dc2e3 Merge pull request #1011 from saimn/readers
Refactor readers and remove MARKUP. Fixes #866
2013-08-07 12:34:22 -07:00
Justin Mayer
0df12e31e2 Merge pull request #974 from dbrgn/tags_authors_setting_fix
Tags/Authors Setting Fix
2013-08-06 16:18:37 -07:00
Simon Conseil
cfe72c2736 Disable asciidoc files for tests 2013-08-06 23:42:41 +02:00
Simon Conseil
4bc4b1500c Refactor readers and remove MARKUP
Add a `Readers` class which contains a dict of file extensions / `Reader`
instances. This dict can be overwritten with a `READERS` settings, for instance
to avoid processing *.html files:

    READERS = {'html': None}

Or to add a custom reader for the `foo` extension:

    READERS = {'foo': FooReader}

This dict is no storing the Reader classes as it was done before with
`EXTENSIONS`. It stores the instances of the Reader classes to avoid instancing
for each file reading.
2013-08-06 23:42:41 +02:00
SDGSDG
ece437f8fd Added more pygments options for code blocks 2013-08-05 22:50:49 -07:00
Danilo Bargen
42f9726ffa Support TAGS_* and AUTHORS_* by default. 2013-08-05 19:16:00 +02:00
Russ Webber
5a8f5cefdd fix py3 support for sourcecode directive
added sourcecode to the functional test so it's tested *somewhere*.
fixes #963
2013-08-05 23:45:48 +08:00
Alexis Metaireau
ea6d0cf5b5 Merge pull request #1007 from saimn/refactor-tests
Refactor test_generators and pelican_open
2013-08-05 08:02:45 -07:00
Simon Conseil
4ffa34544e More refactoring for test_generators
- list comprehensions for distill_articles/pages
- distill articles only once
- pep8
2013-08-04 14:47:03 +02:00
Simon Conseil
577a3d116e Replace get_populated_generator with setUpClass 2013-08-04 14:47:03 +02:00
Rogdham
0999d4d691 Deliberate overriding of an existing file to tests
Deliberate overriding via `save_as` metadata should be allowed, even after the
overwrite detection feature. This commit is to add tests for deliberate
overriding. As a result, the relevant tests *should fail* after this commit.

Added a page and an article, both to override a tag, with very old dates so
it limits the amount of diff in the generated pages.

Overriding feature introduced by d0e9c52410
Overwrite detection introduced by ff7410ce2a
2013-08-04 12:07:40 +01:00
Justin Mayer
72ea20f06a Merge pull request #871 from dknecht/master
Sort author and category pages using same sort as tags
2013-08-03 22:51:30 -07:00
Justin Mayer
122ec39a27 Merge pull request #932 from qdot/master
Change meta tag "contents" attribute to "content" to conform to HTML spec
2013-08-03 22:40:18 -07:00
Dane Knecht
10dc5ef0b7 sort author and category pages same way as tags 2013-08-03 19:17:14 -07:00
Justin Mayer
2aa0c6e24b Merge pull request #968 from russkel/encodingfix
Fix setting default locale and exception encoding
2013-08-03 16:42:37 -07:00
Justin Mayer
76fa457654 Normalize whitespace via lstrip Jinja parameter
This adds the lstrip_blocks Jinja parameter and removes unnecessary
whitespace from a few notmyidea templates.

Note: The lstrip_blocks parameter requires Jinja 2.7+, which has been
noted in Pelican's setup.py.

Credit for this commit goes entirely to Russ Webber, who has earned my
eternal thanks for discovering and applying this useful Jinja parameter.

Refs #969
2013-08-03 16:17:26 -07:00
Justin Mayer
1443131fde Merge pull request #976 from kylewm/notmyidea-active-pages
Modify notmyidea to include class="active" on pages
2013-08-03 15:12:52 -07:00
Justin Mayer
bea03bb4bb Merge pull request #979 from nyergler/pagination_conf
Support flexible pagination configuration
2013-08-03 14:58:47 -07:00
Ross McFarland
c5eecd23eb PAGINATION_URL/PAGINATION_SAVE_AS implementation
allows the use of custom urls for pagination similar to *_URLS
2013-07-29 08:09:44 -04:00
Kyle Mahan
0ddabb95c3 Modify notmyidea to include class="active" on pages 2013-07-27 12:30:24 -07:00
Russ Webber
b527fd594d added testing for default locale setting
removed LOCALE="" from default conf as it looks weird and you
shouldn't need to set a blank LOCALE for the system to work.
2013-07-21 14:12:21 +08:00
Nick Moore
9b7ae20aa9 test for author & category slugification 2013-07-15 00:22:05 +10:00
Alexis Metaireau
5e73b7b40e Merge pull request #954 from ajma/master
Adding stackoverflow to social icons
2013-07-14 03:35:13 -07:00
Andy Pearce
39518e15ef Allow text substitutions when generating slugs
The `slugify()` function used by Pelican is in general very good at
coming up with something both readable and URL-safe. However, there are
a few specific cases where it causes conflicts. One that I've run into
is using the strings `C++` and `C` as tags, both of which transform to
the slug `c`. This commit adds an optional `SLUG_SUBSTITUTIONS` setting
which is a list of 2-tuples of substitutions to be carried out
case-insensitively just prior to stripping out non-alphanumeric
characters. This allows cases like `C++` to be transformed to `CPP` or
similar. This can also improve the readability of slugs.
2013-07-04 12:17:21 +01:00
Andrew Ma
bed53d1c0b Updating unit tests 2013-06-28 15:09:36 -07:00
Justin Mayer
6f36b0a246 Keep certain files when cleaning output; fix #574
If DELETE_OUTPUT_DIRECTORY is set to True, all files and directories are
deleted from the output directory. There are, however, several reasons
one might want to retain certain files/directories and avoid their
deletion from the output directory. One such use case is version control
system data: a versioned output directory can facilitate deployment via
Heroku and/or allow the user to easily revert to a prior version of the
site without having to rely on regeneration via Pelican.

This change introduces the OUTPUT_RETENTION setting, a tuple of
filenames that will be preserved when the clean_output_dir function in
pelican.utils is run. Setting OUTPUT_RETENTION = (".hg", ".git") would,
for example, prevent the relevant VCS data from being deleted when the
output directory is cleaned.
2013-06-25 19:03:32 -07:00
Justin Mayer
2188f4de68 Merge pull request #898 from saimn/fix-markup-cli
Ensure that markup is a tuple.
2013-06-19 06:51:59 -07:00
Kyle Machulis
39dd4a0255 Changed meta tag "contents" attribute to "content", to conform to HTML spec. Fixes #918 2013-06-16 10:56:50 -07:00
W. Trevor King
6e527e7416 test_generators: Use keyword arguments to initialize Generators 2013-06-16 13:30:59 -04:00
W. Trevor King
0dee76f259 samples: Remove EXTRA_PATH_METADATA entries for pictures
I'd added them earlier to test that a configuration edit could
preserve the original output locations.  However, it is likely that
you have quite a number of static files, and we shouldn't recommend
listing explicit paths for all of them.  With this configuration
change, the pictures will be copied into the output directory using
their original relative path (e.g. `pictures/Fat_Cat.jpg` without the
`static`).  Any |filename|-style links will be updated automatically.

If you *want* the pictures to end up in a `static` directory, it's
easier to just organize your source that way.
2013-06-15 20:52:16 -04:00
Justin Mayer
5d9b3d7777 Merge pull request #795 from wking/read-file
Generate context objects in read_file()
2013-06-15 11:54:32 -07:00
Justin Mayer
6fcb6d3766 Merge pull request #928 from wking/iso-8601
utils: Add some ISO 8601 forms to get_date()
2013-06-14 08:27:37 -07:00
W. Trevor King
f63325aa9a test_generators: Replace CUR_DIR with CONTENT_DIR for subdir cat. detection
In situations where I've cleared ARTICLE_DIR, I've done so to ensure
that there are no directories that will override the DEFAULT_CATEGORY
due to USE_FOLDER_AS_CATEGORY.
2013-06-12 17:36:01 -04:00
W. Trevor King
06121eda76 test_readers: Update to new readers.read_file 2013-06-12 15:02:31 -04:00
W. Trevor King
7de7bd0e37 Update sample configurations from FILES_TO_COPY to EXTRA_PATH_METADATA 2013-06-12 15:02:31 -04:00
W. Trevor King
5a61600bc9 tests: Avoid hidden logic with better .assert*() method choices
We'll get better failure messages if we use an assertion method that
understands the comparison we're trying to make.  If you make the
comparison by hand and assertTrue(), you don't get much constructive
feedback ;).
2013-06-12 14:52:23 -04:00
W. Trevor King
1102143c33 utils: Use pytz instead of datetime.timezone for timezones
datetime.timezone is new in Python 3.2 [1], so pytz allows us to keep
support for Python 2.7.

[1]: http://docs.python.org/dev/library/datetime.html#datetime.timezone
2013-06-11 22:54:01 -04:00
W. Trevor King
228fc82fc9 utils: Add some ISO 8601 forms to get_date()
Support the forms listed by the W3C [1].  I also removed the
'%Y-%d-%m' form, which can be confused with the '%Y-%m-%d' ISO form.
The new ISO forms can use 'Z' to designate UTC or '[+-]HHMM' to
specify offsets from UTC.  Other time zone designators are not
supported.

The '%z' directive has only been supported since Python 3.2 [2], so if
you're running Pelican on Python 2.7, you're stuck with 'Z' for UTC.
Conveniently, we get ValueErrors for both invalid directives and
data/format missmatches, so we don't need special handling for the 2.7
case inside get_date().

[1]: http://www.w3.org/TR/NOTE-datetime
[2]: http://bugs.python.org/issue6641
2013-06-11 22:53:21 -04:00
Simon Conseil
3f91165f09 Ensure that markup is a tuple.
`self.markup` is a list when using the `-m|--markup` cli option, but testing the
extension with `endswith` works only with tuples.
2013-06-02 22:49:16 +02:00
W. Trevor King
8ff34e6c5d Replace settings.get(key) with settings[key] for default settings
If a setting exists in DEFAULT_CONFIG, assume it will be there
(instead of checking and/or providing a local default).  The earlier
code was split between the two idioms, which was confusing.
2013-06-02 14:24:27 -04:00
W. Trevor King
c8e7d95b34 tests.support: Use kwargs overrides in get_settings()
This avoids harcoding test-specific overrides, and makes it easy to
setup a settings dictionary based on DEFAULT_CONFIG for testing.
Because you can trust Pelican to use settings based on DEFAULT_CONFIG,
you are free to go about using:

  settings[my_key]

instead of:

  settings.get(my_key, some_fallback)

or:

  if my_key in settings:
      ...

if you know that `my_key` is in DEFAULT_CONFIG.
2013-06-02 14:24:27 -04:00
W. Trevor King
e9dc1dd478 settings: Make DEFAULT_CONFIG public
This dictionary is accessed by plugins (like `summary`) which add new
settings, so it should be public (i.e. no prefixed underscore).

The changed name length would have led to a re-indenting of the
default contents anyway, so I shifted them all to four spaces.
2013-06-02 13:32:10 -04:00
W. Trevor King
c6de4430a0 tests/test_readers.py: Remove redundant 'expected' check in AdReaderTest
AdReaderTest.test_article_with_asc_extension() has had duplicate
checks on the expected metadata since it was created by 49f481e3 (Add
asciidoc reader support, 2013-10-28).  This commit removes the
duplicate entry.
2013-06-02 09:58:27 -07:00
Simon Conseil
fd018d7ceb Update tests output with feedgenerator 1.6
feedgenerator 1.6 includes a change to write feed attributes in a consistent
order between py2.7 and py3.3.
2013-06-02 16:21:10 +02:00
Dominique Plante
7a3bc410d0 Add test for the case where we try to read a file with an unhandled extension 2013-05-23 21:53:46 -07:00
Justin Mayer
71150430a9 Merge pull request #885 from avaris/markdown-summary-footnote
Markdown summary should not include content footnote
2013-05-13 15:36:39 -07:00