From e6f3126ba6989fcd9d760c86c119ac61d76b0353 Mon Sep 17 00:00:00 2001 From: Deniz Turgut Date: Tue, 26 Mar 2013 01:28:42 -0400 Subject: [PATCH] Fix for issue #219: tags should list only main articles, not translations --- pelican/generators.py | 10 +++--- pelican/tests/output/basic/tag/bar.html | 42 +++++----------------- pelican/tests/output/basic/tag/baz.html | 40 ++++----------------- pelican/tests/output/basic/tag/foo.html | 42 +++++----------------- pelican/tests/output/custom/tag/bar.html | 45 +++++------------------- pelican/tests/output/custom/tag/baz.html | 43 ++++------------------ pelican/tests/output/custom/tag/foo.html | 45 +++++------------------- 7 files changed, 54 insertions(+), 213 deletions(-) diff --git a/pelican/generators.py b/pelican/generators.py index f748766a..02412440 100644 --- a/pelican/generators.py +++ b/pelican/generators.py @@ -417,9 +417,6 @@ class ArticlesGenerator(Generator): self.add_source_path(article) if article.status == "published": - if hasattr(article, 'tags'): - for tag in article.tags: - self.tags[tag].append(article) all_articles.append(article) elif article.status == "draft": self.drafts.append(article) @@ -431,12 +428,17 @@ class ArticlesGenerator(Generator): self.articles, self.translations = process_translations(all_articles) for article in self.articles: - # only main articles are listed in categories, not translations + # only main articles are listed in categories and tags + # not translations self.categories[article.category].append(article) + if hasattr(article, 'tags'): + for tag in article.tags: + self.tags[tag].append(article) # ignore blank authors as well as undefined if hasattr(article, 'author') and article.author.name != '': self.authors[article.author].append(article) + # sort the articles by date self.articles.sort(key=attrgetter('date'), reverse=True) self.dates = list(self.articles) diff --git a/pelican/tests/output/basic/tag/bar.html b/pelican/tests/output/basic/tag/bar.html index 219f0e00..793cf737 100644 --- a/pelican/tests/output/basic/tag/bar.html +++ b/pelican/tests/output/basic/tag/bar.html @@ -35,48 +35,24 @@ -
-

Other articles

-
-
    - - - -
  1. - +

    This is some article, in english

    + + +
    +

    Other articles

    +
    +
      +
    1. diff --git a/pelican/tests/output/basic/tag/baz.html b/pelican/tests/output/basic/tag/baz.html index 97c9f387..5ca0c5de 100644 --- a/pelican/tests/output/basic/tag/baz.html +++ b/pelican/tests/output/basic/tag/baz.html @@ -35,49 +35,21 @@ -
      -

      Other articles

      -
      -
        - - - -
      1. -
      -
      +

      This is some article, in english

      +
      + +
    +