Commit graph

992 commits

Author SHA1 Message Date
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
180cf9165f settings: Fix deprecation warning in configure_settings()
The broken code came from my 1d4d86c (settings: Rework the
LESS_GENERATOR removal warning for easy extension, 2013-03-24), where
I put formatting placeholders ({}) into the warning message, but
forgot to fill them in :/.
2013-06-13 21:18:57 -04:00
W. Trevor King
9b42b2a130 generators: get_files() should use paths relative to Generator.path
All paths should be relative to Generator.path unless we're actively
accessing the filesystem.  This makes the argument less ambiguous, so
we have less likelyhood of joining paths multiple times.
2013-06-12 17:37:22 -04:00
W. Trevor King
ce0a9b697e Document path metadata extraction 2013-06-12 17:37:22 -04:00
W. Trevor King
38c22e83b6 readers: Ensure the reader class is enabled before instantiating
Otherwise the MarkdownReader fails with:

  'bool' object is not callable

if Markdown is not installed.

Reported-by: Deniz Turgut <dturgut@gmail.com>
2013-06-12 17:37:21 -04:00
W. Trevor King
4058cfdea4 settings: Add a warning for folks using FILES_TO_COPY. 2013-06-12 17:37:21 -04:00
W. Trevor King
29f0aa39d2 content: Don't update static content 2013-06-12 17:37:21 -04:00
W. Trevor King
fdde17281d contents: Page fallbacks for context and localsiteurl 2013-06-12 17:37:21 -04: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
d43dc1b9d6 Add the EXTRA_PATH_METADATA setting
Useful for altering static output paths when you don't want to encode
extra metadata in the static file's source path.
2013-06-12 15:02:31 -04:00
W. Trevor King
1ca0e06a27 Remove the FILES_TO_COPY setting
We no longer instantiate the Static object in the StaticGenerator, so
we can't set the save_as argument anymore.  If you want to adjust the
output path, use the upcoming EXTRA_PATH_METADATA setting.
2013-06-12 15:02:31 -04:00
W. Trevor King
1bc5b100ec generators: Convert StaticGenerator to use the new read_file 2013-06-12 15:02:31 -04:00
W. Trevor King
7be16dd524 generators: Update PagesGenerator to use new read_file
Also standardize signal names.  If `article_generator_*` is singular,
`page_generator_*` should be as well.  Fix it from the older
`pages_generator_*`.
2013-06-12 15:02:31 -04:00
W. Trevor King
a9c530281e Move Article metadata extraction from generators to readers
There's no reason why this information should be Article-specific.

This commit breaks the other generators for the moment.  I'll fix them
shortly.
2013-06-12 15:02:30 -04:00
W. Trevor King
f2d6f77462 signals: Fix *_generate_* signals -> *_generator_*
For example, article_generate_preread is now article_generator_preread
for consistency with the other preread and context signals.
2013-06-12 15:02:30 -04:00
W. Trevor King
386cd1f3f0 signals: Add missing signals
Note that the `pages_*` names are plural , while the `article_*` names
are singular.  I'll fix this once I update the PagesGenerator.
2013-06-12 15:02:30 -04:00
W. Trevor King
effe7e5e12 signals: Sort signals into categories 2013-06-12 15:02:30 -04:00
W. Trevor King
e38e170656 readers: Log signal sending for read_file() 2013-06-12 15:02:30 -04:00
W. Trevor King
4e118eff01 readers: Add debugging logging to read_file 2013-06-12 15:02:30 -04:00
W. Trevor King
ecf5682930 readers: Instrument read_file to return Content objects
The assorted generators all use read_file() to read in the file
contents and metadata.  Previously, they sometimes parse additional
metadata, fire off signals, and initialize a pelican.contents.Content
subclass on their own.  We can reduce duplicated code and increase
consistency by shifting all that stuff into read_file() itself, and
this commit is a step in that direction.
2013-06-12 15:02:29 -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
Justin Mayer
15606f8dea Merge pull request #905 from Rogdham/pelican-quickstart_encoding
Encoding issue in pelican-quickstart. Fixes #904
2013-06-03 18:12:55 -07: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
8511915294 settings: Cleanup configure_settings() (standardization & types)
This pulls out some general patterns to make it easier to apply
existing processing to new settings.
2013-06-02 13:32:10 -04:00
W. Trevor King
1d4d86c876 settings: Rework the LESS_GENERATOR removal warning for easy extension
Setting migration is something that will happen for multiple settings,
and the more we can standardize the reporting procedure, the easier it
will be to add new warnings.
2013-06-02 13:32:10 -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
Justin Mayer
a81c50ff55 Merge pull request #907 from saimn/py3k
Drop python 3.2 support and move to python 3.3
2013-06-02 09:34:31 -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
Chris Brannon
f8cf685c30 Use the builtin "open" on Python 3. 2013-05-27 14:49:57 +10:00
Rogdham
0ecae1f50d Encoding issue in pelican-quickstart. Fixes #904 2013-05-26 11:38:55 +01:00
mr.Shu
2856f49b3a Updated pelican.server not started error message. 2013-05-18 08:20:50 +02:00
Dominique Plante
7024fe1192 adhere to pep8 2013-05-15 22:18:35 -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
Alexis Metaireau
86d4aac918 Merge pull request #864 from saimn/docutils_options
Add `DOCUTILS_SETTINGS` to allow to customize the docutils Publisher.
2013-05-13 00:21:12 -07:00
Alexis Metaireau
55382dd184 Merge pull request #858 from jmurty/feature/import_wp_pages
Import wordpress pages to pages/ subdir with --dir-page option
2013-05-13 00:18:01 -07:00
Alexis Metaireau
dcc17bbfa4 Merge pull request #848 from Rogdham/no_overwrite
Check URL overwrite. Fixes #446.
2013-05-13 00:17:26 -07:00
Alexis Métaireau
ead50cca62 some cleanup 2013-05-13 13:53:52 +10:00
Alexis Metaireau
bcfd574664 Merge pull request #804 from dowlingw/master
#803 - Include default configuration file if present
2013-05-12 20:50:31 -07:00
Deniz Turgut
75f214103e Markdown summary should not include content footnote
Markdown instance carries state for subsequent uses. Content
and summary parsing is done with the same instance. Since
footnotes are processed with an extension and stored as state,
content footnote is duplicated for summary.

This PR adds a ``.reset()`` call before summary parsing to clear
the state. It also adds a test case with footnotes.
2013-05-10 03:50:33 -04:00
Deniz Turgut
084818b399 Handle critical exception logging correctly in localized systems
Python generates certain exception messages (like IOError) in system
language, if locale is set. This ensures that the message is properly
converted to unicode in Python 2.
2013-05-04 04:55:42 -04:00
Rogdham
91337940d3 Make tags and cats case insensitive. Fixes #704.
More precisely, group tags or categories without considering the case.
This fixes the bug where two categories with just the case as difference were
considered as distinct, but generate the same file: one overwriting the other.

Thanks to @Avaris for helping with the tests.
2013-05-03 17:37:45 +01:00
Deniz Turgut
9af62414db Fixes #708 SUMMARY_MAX_LENGTH=0 should return empty string 2013-04-26 19:37:31 -04:00