Skip to content

Commit

Permalink
Merge pull request #3026 from getnikola/fix-3022-better-index-html-co…
Browse files Browse the repository at this point in the history
…nflict-errors

Fix #3022 -- Explain index.html conflicts better
  • Loading branch information
Kwpolska committed Apr 15, 2018
2 parents 0e8c7a6 + a9be3c7 commit c5b7b96
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 1 deletion.
1 change: 1 addition & 0 deletions CHANGES.txt
Expand Up @@ -5,6 +5,7 @@ Features
--------

* Add support for fragments in path handlers (Issue #3032)
* Explain index.html conflicts better (Issue #3022)
* Recognize both TEASER_END and (new) END_TEASER (Issue #3010)
* New MARKDOWN_EXTENSION_CONFIGS setting (Issue #2970)
* Replace ``flowr.js`` with ``justified-layout.js`` by Flickr
Expand Down
17 changes: 16 additions & 1 deletion nikola/plugins/task/pages.py
Expand Up @@ -26,8 +26,10 @@

"""Render pages into output."""

import os

from nikola.plugin_categories import Task
from nikola.utils import config_changed
from nikola.utils import config_changed, LOGGER


class RenderPages(Task):
Expand All @@ -46,6 +48,13 @@ def gen_tasks(self):
}
self.site.scan_posts()
yield self.group_task()
index_paths = {}
for lang in kw["translations"]:
index_paths[lang] = False
if not self.site.config["DISABLE_INDEXES_PLUGIN_INDEX_AND_ATOM_FEED"]:
index_paths[lang] = os.path.normpath(os.path.join(self.site.config['OUTPUT_FOLDER'],
self.site.path('index', '', lang=lang)))

for lang in kw["translations"]:
for post in self.site.timeline:
if not kw["show_untranslated_posts"] and not post.is_translation_available(lang):
Expand All @@ -55,6 +64,12 @@ def gen_tasks(self):
else:
context = {'pagekind': ['story_page', 'page_page']}
for task in self.site.generic_page_renderer(lang, post, kw["filters"], context):
if task['name'] == index_paths[lang]:
# Issue 3022
LOGGER.error(
"Post {0!r}: output path ({1}) conflicts with the blog index ({2}). "
"Please change INDEX_PATH or disable index generation.".format(
post.source_path, task['name'], index_paths[lang]))
task['uptodate'] = task['uptodate'] + [config_changed(kw, 'nikola.plugins.task.pages')]
task['basename'] = self.name
task['task_dep'] = ['render_posts']
Expand Down

0 comments on commit c5b7b96

Please sign in to comment.