use string find() instead of index().  Fixes #880.

We're expecting a non-match to return -1, which is what find() does,
but index() instead throws a ValueError.
makes Pelican-quickstart debuggable in PyCharm
Add test for the case where we try to read a file with an unhandled extension
Changed meta tag "contents" attribute to "content", to conform to HTML spec. Fixes #918
Remove "clean" task from "make html"; fixes #637

This change removes the "clean" task from the "html" and "regenerate"
tasks in the default Makefile generated by pelican-quickstart. The
previous behavior ignored whether the DELETE_OUTPUT_DIRECTORY
setting was set to True or not and deleted everything in the output
directory every time the "make html" or "make regenerate" task was run.
In addition to violating the Principle of Least Astonishment, there was
also the potential for data loss if the user wasn't careful when
defining the output directory location in the Makefile.

The new behavior therefore relies primarily on the
DELETE_OUTPUT_DIRECTORY setting to control if and when the output
directory is cleaned. The default settings and Makefile generated by the
pelican-quickstart command, for example, no longer clean the output
directory when the "make html" task is run. If the user wants to change
this behavior and have the output directory cleaned on every "make html"
run, the recommended method would be to set DELETE_OUTPUT_DIRECTORY to
True in pelicanconf.py. Alternatively, the user can manually run "make
clean", with the caveat that the output directory and its contents will
be entirely destroyed, including any otherwise to-be-retained files or
folders specified in the OUTPUT_RETENTION setting. It is for that reason
that relying on the DELETE_OUTPUT_DIRECTORY setting is instead
recommended.

As before, DELETE_OUTPUT_DIRECTORY is set to True in the publishconf.py
settings file generated by the pelican-quickstart script. This way, any
potentially old and irrelevant files will be automatically removed
before the latest version of the site is transferred to the production
server environment.

In summary, this change allows for the sanest possible default settings,
while still allowing end users to customize output cleaning to their
preferred behavior with a minimum of confusion.
Revert "make clean" behavior to rm -rf. Fixes #773

The change to the "make clean" task in 764a2cf from "rm -rf" to instead
relying on GNU "find" appears to have broken cross-platform portability,
likely causing problems on *BSD and other platforms. This commit reverts
that change back to the previous "rm -rf" behavior.
Missing -s flag added to command on tips doc page
Add debug target to the template makefile

If the DEBUG variable is set (e.g. DEBUG=1 make target) debugging will
be enabled by using pelicans -D flag.
Add info about debugging to the help output of the makefile
Add more missing -s flags to tips doc page
Merge pull request #948 from justinmayer/make-clean

Remove "clean" task from "make html"; revert "make clean" behavior to "rm -rf"
More explicit settings docs concerning list templates

I think the author list and tag list are so common that they should be
listed explicitly in the settings.
Merge pull request #951 from dbrgn/document_tags_save_as

More explicit settings docs concerning list templates
Adding stackoverflow to social icons
Updating unit tests
Document how to stop generation of certain pages

The documentation doesn't make it very clear how to prevent certain
pages from being generated, such as the Authors, Tags, and Categories
collection pages. This change makes it slightly more obvious how to
prevent these pages from being generated. Fixes #940.
Merge pull request #880 from joeshaw/pre-index-fix

Exception on WP import looking for <pre> tag
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.
add port option to pelican.server
Support importing Tumblr

Try to integrate Tumblr's various post types without using
additonal templates.