- |
+
+
+ August 16, 2001 at 23:35:59
+
+ |
-
-
+
+
Item Title
@@ -84,7 +90,7 @@
diff --git a/src/collective/jekyll/browser/configure.zcml b/src/collective/jekyll/browser/configure.zcml
index c43c754..4cefc00 100644
--- a/src/collective/jekyll/browser/configure.zcml
+++ b/src/collective/jekyll/browser/configure.zcml
@@ -6,8 +6,6 @@
xmlns:browser="http://namespaces.zope.org/browser"
i18n_domain="collective.jekyll">
-
-
-
+
+
+
diff --git a/src/collective/jekyll/ignored.py b/src/collective/jekyll/ignored.py
index 04d09a4..2f3f516 100644
--- a/src/collective/jekyll/ignored.py
+++ b/src/collective/jekyll/ignored.py
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
from collective.jekyll.interfaces import IIgnoredSymptomNames
from persistent.dict import PersistentDict
+from plone.protect.auto import safeWrite
from zope.annotation.interfaces import IAnnotations
from zope.interface import implements
from zope.component import ComponentLookupError
@@ -20,6 +21,10 @@ def _getNamesDict(self):
annotations = IAnnotations(self.context)
except ComponentLookupError:
return {}
+ try:
+ safeWrite(annotations.obj.__annotations__)
+ except AttributeError:
+ pass
return annotations.setdefault(
JEKYLL_IGNORED_SYMPTOMS, PersistentDict())
diff --git a/src/collective/jekyll/locales/collective.jekyll.pot b/src/collective/jekyll/locales/collective.jekyll.pot
index e6e9994..ac6065e 100644
--- a/src/collective/jekyll/locales/collective.jekyll.pot
+++ b/src/collective/jekyll/locales/collective.jekyll.pot
@@ -4,7 +4,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2013-09-03 14:23+0000\n"
+"POT-Creation-Date: 2019-03-29 20:18+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI +ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -17,192 +17,191 @@ msgstr ""
"Preferred-Encodings: utf-8 latin1\n"
"Domain: collective.jekyll\n"
-#: collective/jekyll/interfaces.py:40
+#: ../interfaces.py:46
msgid "Active Symptoms"
msgstr ""
-#: collective/jekyll/symptoms.py:244
+#: ../symptoms.py:236
msgid "Body text"
msgstr ""
-#: collective/jekyll/symptoms.py:250
+#: ../symptoms.py:243
msgid "Body text does not have content."
msgstr ""
-#: collective/jekyll/symptoms.py:272
+#: ../symptoms.py:266
msgid "Body text ends with empty tags or BR."
msgstr ""
-#: collective/jekyll/symptoms.py:245
+#: ../symptoms.py:237
msgid "Body text should have content."
msgstr ""
-#: collective/jekyll/symptoms.py:256
+#: ../symptoms.py:249
msgid "Body text should not start or end with empty tags or BR."
msgstr ""
-#: collective/jekyll/symptoms.py:267
+#: ../symptoms.py:261
msgid "Body text starts with empty tags or BR."
msgstr ""
-#: collective/jekyll/browser/controlpanel.py:50
-#: collective/jekyll/profiles/default/controlpanel.xml
+#: ../browser/diagnosis.py:102
+msgid "Consider"
+msgstr ""
+
+#: ../browser/controlpanel.py:11
+#: ../profiles/default/controlpanel.xml
msgid "Content quality"
msgstr ""
-#: collective/jekyll/symptoms.py:170
+#: ../testing.zcml:16
+msgid "Content to ease tests"
+msgstr ""
+
+#: ../symptoms.py:174
msgid "Description does not begin with uppercase letter."
msgstr ""
-#: collective/jekyll/symptoms.py:206
+#: ../symptoms.py:203
msgid "Description does not have content."
msgstr ""
-#: collective/jekyll/symptoms.py:94
+#: ../symptoms.py:168
+msgid "Description format"
+msgstr ""
+
+#: ../symptoms.py:185
+msgid "Description length"
+msgstr ""
+
+#: ../symptoms.py:99
msgid "Id format"
msgstr ""
-#: collective/jekyll/symptoms.py:95
+#: ../symptoms.py:100
msgid "Id should not start with 'copy_of'."
msgstr ""
-#: collective/jekyll/symptoms.py:103
+#: ../symptoms.py:108
msgid "Id starts with '${start}'."
msgstr ""
-#: collective/jekyll/browser/diagnosis.py:102
+#: ../browser/diagnosis.py:105
msgid "Ignore"
msgstr ""
-#: collective/jekyll/browser/symptom.pt:4
+#: ../browser/symptom.pt:4
msgid "Ignored"
msgstr ""
-#: collective/jekyll/symptoms.py:347
+#: ../symptoms.py:341
msgid "Image field content has correct size."
msgstr ""
-#: collective/jekyll/symptoms.py:326
+#: ../symptoms.py:321
msgid "Image field does not have content."
msgstr ""
-#: collective/jekyll/symptoms.py:324
+#: ../symptoms.py:319
msgid "Image field has content."
msgstr ""
-#: collective/jekyll/symptoms.py:319
+#: ../symptoms.py:314
msgid "Image field should have content."
msgstr ""
-#: collective/jekyll/symptoms.py:332
+#: ../symptoms.py:327
msgid "Image field should have correct size."
msgstr ""
-#: collective/jekyll/symptoms.py:318
+#: ../symptoms.py:313
msgid "Image present"
msgstr ""
-#: collective/jekyll/symptoms.py:331
+#: ../symptoms.py:326
msgid "Image size"
msgstr ""
-#: collective/jekyll/symptoms.py:283
-msgid "Links In Body"
+#: ../configure.zcml:28
+msgid "Installs the collective.jekyll package"
msgstr ""
-#: collective/jekyll/browser/diagnosis.py:99
-msgid "Consider"
+#: ../symptoms.py:277
+msgid "Links In Body"
msgstr ""
-#: collective/jekyll/interfaces.py:41
+#: ../interfaces.py:47
msgid "Select which symptoms will be taken in account when diagnosing content quality."
msgstr ""
-#: collective/jekyll/symptoms.py:255
+#: ../symptoms.py:248
msgid "Spaces In Body"
msgstr ""
-#: collective/jekyll/symptoms.py:171
-msgid "Summary does not begin with uppercase letter."
-msgstr ""
-
-#: collective/jekyll/symptoms.py:207
-msgid "Summary does not have content."
-msgstr ""
-
-#: collective/jekyll/symptoms.py:163
-msgid "Summary format"
-msgstr ""
-
-#: collective/jekyll/symptoms.py:187
-msgid "Summary length"
-msgstr ""
-
-#: collective/jekyll/browser/controlpanel.py:52
-msgid "Symptoms activation"
-msgstr ""
-
-#: collective/jekyll/symptoms.py:307
+#: ../symptoms.py:302
msgid "The body text has less than ${minimum} links to other pages."
msgstr ""
-#: collective/jekyll/symptoms.py:291
+#: ../symptoms.py:285
msgid "The body text should have at least ${minimum} links to other pages. "
msgstr ""
-#: collective/jekyll/symptoms.py:211
+#: ../symptoms.py:205
msgid "The description counts ${word_count} significant words (longer than 3 letters). It should have at most ${maximum} significant words."
msgstr ""
-#: collective/jekyll/symptoms.py:164
-msgid "The summary (or description) should begin with uppercase letter."
+#: ../symptoms.py:169
+msgid "The description should begin with uppercase letter."
msgstr ""
-#: collective/jekyll/symptoms.py:195
+#: ../symptoms.py:193
msgid "The summary (or description) should not be empty and should have at most ${maximum} significant words (longer than 3 letters). "
msgstr ""
-#: collective/jekyll/symptoms.py:216
-msgid "The summary counts ${word_count} significant words (longer than 3 letters). It should have at most ${maximum} significant words."
-msgstr ""
-
-#: collective/jekyll/symptoms.py:134
+#: ../symptoms.py:139
msgid "The title counts ${word_count} significant words (longer than 3 letters). It should have at most ${maximum} significant words."
msgstr ""
-#: collective/jekyll/symptoms.py:120
+#: ../symptoms.py:125
msgid "The title should have at most ${maximum} significant words (longer than 3 letters). "
msgstr ""
-#: collective/jekyll/symptoms.py:158
+#: ../symptoms.py:163
msgid "Title does not begin with uppercase letter."
msgstr ""
-#: collective/jekyll/symptoms.py:151
+#: ../symptoms.py:156
msgid "Title format"
msgstr ""
-#: collective/jekyll/symptoms.py:112
+#: ../symptoms.py:117
msgid "Title length"
msgstr ""
-#: collective/jekyll/symptoms.py:152
+#: ../symptoms.py:157
msgid "Title should begin with uppercase letter."
msgstr ""
-#: collective/jekyll/symptoms.py:349
+#: ../symptoms.py:343
msgid "Wrong size : image is ${actual_width} by ${actual_height} pixels. It should be ${width} by ${height} pixels."
msgstr ""
-#: collective/jekyll/browser/controlpanel.py:51
+#: ../browser/controlpanel.py:12
msgid "You can activate / deactivate symptoms using this form."
msgstr ""
-#: collective/jekyll/__init__.py:7
+#: ../configure.zcml:28
+msgid "collective.jekyll"
+msgstr ""
+
+#: ../testing.zcml:16
+msgid "collective.jekyll tests"
+msgstr ""
+
+#: ../__init__.py:7
msgid "ok"
msgstr ""
-#: collective/jekyll/__init__.py:8
+#: ../__init__.py:8
msgid "warning"
msgstr ""
-
diff --git a/src/collective/jekyll/locales/en/LC_MESSAGES/collective.jekyll.po b/src/collective/jekyll/locales/en/LC_MESSAGES/collective.jekyll.po
index 41eeff1..af27a4c 100644
--- a/src/collective/jekyll/locales/en/LC_MESSAGES/collective.jekyll.po
+++ b/src/collective/jekyll/locales/en/LC_MESSAGES/collective.jekyll.po
@@ -1,20 +1,20 @@
# #############################################################################
-#
+#
# Copyright (c) 2003-2004 Zope Foundation and Contributors.
# All Rights Reserved.
-#
+#
# This software is subject to the provisions of the Zope Public License,
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
-#
+#
# #############################################################################
msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
-"POT-Creation-Date: 2013-09-03 14:23+0000\n"
+"POT-Creation-Date: 2019-03-29 20:18+0000\n"
"PO-Revision-Date: 2012-05-11 15:55+0200\n"
"Last-Translator: bsuttor \n"
"Language-Team: English\n"
@@ -29,193 +29,192 @@ msgstr ""
"Language: en\n"
"Generated-By: zope/app/locales/extract.py\n"
-#: collective/jekyll/interfaces.py:40
+#: ../interfaces.py:46
msgid "Active Symptoms"
msgstr ""
-#: collective/jekyll/symptoms.py:244
+#: ../symptoms.py:236
msgid "Body text"
msgstr "Body text present"
-#: collective/jekyll/symptoms.py:250
+#: ../symptoms.py:243
msgid "Body text does not have content."
msgstr ""
-#: collective/jekyll/symptoms.py:272
+#: ../symptoms.py:266
msgid "Body text ends with empty tags or BR."
msgstr ""
-#: collective/jekyll/symptoms.py:245
+#: ../symptoms.py:237
msgid "Body text should have content."
msgstr ""
-#: collective/jekyll/symptoms.py:256
+#: ../symptoms.py:249
msgid "Body text should not start or end with empty tags or BR."
msgstr ""
-#: collective/jekyll/symptoms.py:267
+#: ../symptoms.py:261
msgid "Body text starts with empty tags or BR."
msgstr ""
-#: collective/jekyll/browser/controlpanel.py:50
-#: collective/jekyll/profiles/default/controlpanel.xml
+#: ../browser/diagnosis.py:102
+msgid "Consider"
+msgstr "Consider"
+
+#: ../browser/controlpanel.py:11
+#: ../profiles/default/controlpanel.xml
msgid "Content quality"
msgstr ""
-#: collective/jekyll/symptoms.py:170
+#: ../testing.zcml:16
+msgid "Content to ease tests"
+msgstr ""
+
+#: ../symptoms.py:174
msgid "Description does not begin with uppercase letter."
msgstr ""
-#: collective/jekyll/symptoms.py:206
+#: ../symptoms.py:203
msgid "Description does not have content."
msgstr ""
-#: collective/jekyll/symptoms.py:94
+#: ../symptoms.py:168
+msgid "Description format"
+msgstr ""
+
+#: ../symptoms.py:185
+msgid "Description length"
+msgstr ""
+
+#: ../symptoms.py:99
msgid "Id format"
msgstr "Short Name format"
-#: collective/jekyll/symptoms.py:95
+#: ../symptoms.py:100
msgid "Id should not start with 'copy_of'."
msgstr "Short Name should not start with 'copy_of'."
-#: collective/jekyll/symptoms.py:103
+#: ../symptoms.py:108
msgid "Id starts with '${start}'."
msgstr "Short Name starts with '${start}'."
-#: collective/jekyll/browser/diagnosis.py:102
+#: ../browser/diagnosis.py:105
msgid "Ignore"
msgstr ""
-#: collective/jekyll/browser/symptom.pt:4
+#: ../browser/symptom.pt:4
msgid "Ignored"
msgstr ""
-#: collective/jekyll/symptoms.py:347
+#: ../symptoms.py:341
msgid "Image field content has correct size."
msgstr ""
-#: collective/jekyll/symptoms.py:326
+#: ../symptoms.py:321
msgid "Image field does not have content."
msgstr ""
-#: collective/jekyll/symptoms.py:324
+#: ../symptoms.py:319
msgid "Image field has content."
msgstr ""
-#: collective/jekyll/symptoms.py:319
+#: ../symptoms.py:314
msgid "Image field should have content."
msgstr ""
-#: collective/jekyll/symptoms.py:332
+#: ../symptoms.py:327
msgid "Image field should have correct size."
msgstr ""
-#: collective/jekyll/symptoms.py:318
+#: ../symptoms.py:313
msgid "Image present"
msgstr ""
-#: collective/jekyll/symptoms.py:331
+#: ../symptoms.py:326
msgid "Image size"
msgstr ""
-#: collective/jekyll/symptoms.py:283
+#: ../configure.zcml:28
+msgid "Installs the collective.jekyll package"
+msgstr ""
+
+#: ../symptoms.py:277
msgid "Links In Body"
msgstr "Links In Body Text"
-#: collective/jekyll/browser/diagnosis.py:99
-msgid "Consider"
-msgstr "Consider"
-
-#: collective/jekyll/interfaces.py:41
+#: ../interfaces.py:47
msgid "Select which symptoms will be taken in account when diagnosing content quality."
msgstr ""
-#: collective/jekyll/symptoms.py:255
+#: ../symptoms.py:248
msgid "Spaces In Body"
msgstr "Spaces In Body Text"
-#: collective/jekyll/symptoms.py:171
-msgid "Summary does not begin with uppercase letter."
-msgstr ""
-
-#: collective/jekyll/symptoms.py:207
-msgid "Summary does not have content."
-msgstr ""
-
-#: collective/jekyll/symptoms.py:163
-msgid "Summary format"
-msgstr ""
-
-#: collective/jekyll/symptoms.py:187
-msgid "Summary length"
-msgstr ""
-
-#: collective/jekyll/browser/controlpanel.py:52
-msgid "Symptoms activation"
-msgstr ""
-
-#: collective/jekyll/symptoms.py:307
+#: ../symptoms.py:302
msgid "The body text has less than ${minimum} links to other pages."
msgstr ""
-#: collective/jekyll/symptoms.py:291
+#: ../symptoms.py:285
msgid "The body text should have at least ${minimum} links to other pages. "
msgstr ""
-#: collective/jekyll/symptoms.py:211
+#: ../symptoms.py:205
msgid "The description counts ${word_count} significant words (longer than 3 letters). It should have at most ${maximum} significant words."
msgstr ""
-#: collective/jekyll/symptoms.py:164
-msgid "The summary (or description) should begin with uppercase letter."
+#: ../symptoms.py:169
+msgid "The description should begin with uppercase letter."
msgstr ""
-#: collective/jekyll/symptoms.py:195
+#: ../symptoms.py:193
msgid "The summary (or description) should not be empty and should have at most ${maximum} significant words (longer than 3 letters). "
msgstr ""
-#: collective/jekyll/symptoms.py:216
-msgid "The summary counts ${word_count} significant words (longer than 3 letters). It should have at most ${maximum} significant words."
-msgstr ""
-
-#: collective/jekyll/symptoms.py:134
+#: ../symptoms.py:139
msgid "The title counts ${word_count} significant words (longer than 3 letters). It should have at most ${maximum} significant words."
msgstr ""
-#: collective/jekyll/symptoms.py:120
+#: ../symptoms.py:125
msgid "The title should have at most ${maximum} significant words (longer than 3 letters). "
msgstr ""
-#: collective/jekyll/symptoms.py:158
+#: ../symptoms.py:163
msgid "Title does not begin with uppercase letter."
msgstr ""
-#: collective/jekyll/symptoms.py:151
+#: ../symptoms.py:156
msgid "Title format"
msgstr ""
-#: collective/jekyll/symptoms.py:112
+#: ../symptoms.py:117
msgid "Title length"
msgstr ""
-#: collective/jekyll/symptoms.py:152
+#: ../symptoms.py:157
msgid "Title should begin with uppercase letter."
msgstr ""
-#: collective/jekyll/symptoms.py:349
+#: ../symptoms.py:343
msgid "Wrong size : image is ${actual_width} by ${actual_height} pixels. It should be ${width} by ${height} pixels."
msgstr ""
-#: collective/jekyll/browser/controlpanel.py:51
+#: ../browser/controlpanel.py:12
msgid "You can activate / deactivate symptoms using this form."
msgstr ""
+#: ../configure.zcml:28
+msgid "collective.jekyll"
+msgstr ""
+
+#: ../testing.zcml:16
+msgid "collective.jekyll tests"
+msgstr ""
+
# values for status
-#: collective/jekyll/__init__.py:7
+#: ../__init__.py:7
msgid "ok"
msgstr ""
-#: collective/jekyll/__init__.py:8
+#: ../__init__.py:8
msgid "warning"
msgstr ""
-
diff --git a/src/collective/jekyll/locales/fr/LC_MESSAGES/collective.jekyll.po b/src/collective/jekyll/locales/fr/LC_MESSAGES/collective.jekyll.po
index a8e4ca6..3bf6ec8 100644
--- a/src/collective/jekyll/locales/fr/LC_MESSAGES/collective.jekyll.po
+++ b/src/collective/jekyll/locales/fr/LC_MESSAGES/collective.jekyll.po
@@ -1,20 +1,20 @@
# #############################################################################
-#
+#
# Copyright (c) 2003-2004 Zope Foundation and Contributors.
# All Rights Reserved.
-#
+#
# This software is subject to the provisions of the Zope Public License,
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
-#
+#
# #############################################################################
msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
-"POT-Creation-Date: 2013-09-03 14:19+0000\n"
+"POT-Creation-Date: 2019-03-29 20:18+0000\n"
"PO-Revision-Date: 2012-05-11 15:55+0200\n"
"Last-Translator: bsuttor \n"
"Language-Team: French\n"
@@ -29,193 +29,192 @@ msgstr ""
"Language: fr\n"
"Generated-By: zope/app/locales/extract.py\n"
-#: collective/jekyll/interfaces.py:40
+#: ../interfaces.py:46
msgid "Active Symptoms"
msgstr "Symptomes actifs"
-#: collective/jekyll/symptoms.py:244
+#: ../symptoms.py:236
msgid "Body text"
msgstr "Corps du texte requis"
-#: collective/jekyll/symptoms.py:250
+#: ../symptoms.py:243
msgid "Body text does not have content."
msgstr "Le corps du texte n'a pas de contenu."
-#: collective/jekyll/symptoms.py:272
+#: ../symptoms.py:266
msgid "Body text ends with empty tags or BR."
msgstr "Le corps du texte se termine avec des balises vides ou des retours à la ligne."
-#: collective/jekyll/symptoms.py:245
+#: ../symptoms.py:237
msgid "Body text should have content."
msgstr "Le corps de texte doit avoir du contenu."
-#: collective/jekyll/symptoms.py:256
+#: ../symptoms.py:249
msgid "Body text should not start or end with empty tags or BR."
msgstr "Le corps de texte ne doit pas commencer ou terminer avec des balises vides ou des retours à la ligne."
-#: collective/jekyll/symptoms.py:267
+#: ../symptoms.py:261
msgid "Body text starts with empty tags or BR."
msgstr "Le corps de texte commence avec des balises vides ou des retours à la ligne."
-#: collective/jekyll/browser/controlpanel.py:50
-#: collective/jekyll/profiles/default/controlpanel.xml
+#: ../browser/diagnosis.py:102
+msgid "Consider"
+msgstr "Rétablir"
+
+#: ../browser/controlpanel.py:11
+#: ../profiles/default/controlpanel.xml
msgid "Content quality"
msgstr "Qualité du contenu"
-#: collective/jekyll/symptoms.py:170
+#: ../testing.zcml:16
+msgid "Content to ease tests"
+msgstr ""
+
+#: ../symptoms.py:174
msgid "Description does not begin with uppercase letter."
msgstr "La description ne commence pas par une lettre majuscule."
-#: collective/jekyll/symptoms.py:206
+#: ../symptoms.py:203
msgid "Description does not have content."
msgstr "La description n'a pas de contenu."
-#: collective/jekyll/symptoms.py:94
+#: ../symptoms.py:168
+msgid "Description format"
+msgstr "Format de la description"
+
+#: ../symptoms.py:185
+msgid "Description length"
+msgstr "Longueur de la description"
+
+#: ../symptoms.py:99
msgid "Id format"
msgstr "Format du nom court"
-#: collective/jekyll/symptoms.py:95
+#: ../symptoms.py:100
msgid "Id should not start with 'copy_of'."
msgstr "Le nom court ne doit pas commencer par 'copy_of'."
-#: collective/jekyll/symptoms.py:103
+#: ../symptoms.py:108
msgid "Id starts with '${start}'."
msgstr "Le nom court commence par '${start}'."
# values for ignore
-#: collective/jekyll/browser/diagnosis.py:102
+#: ../browser/diagnosis.py:105
msgid "Ignore"
msgstr "Ignorer"
-#: collective/jekyll/browser/symptom.pt:4
+#: ../browser/symptom.pt:4
msgid "Ignored"
msgstr "Ignoré"
-#: collective/jekyll/symptoms.py:347
+#: ../symptoms.py:341
msgid "Image field content has correct size."
msgstr "Le contenu du champs image a une taille correcte."
-#: collective/jekyll/symptoms.py:326
+#: ../symptoms.py:321
msgid "Image field does not have content."
msgstr "Le champs image n'a pas de contenu."
-#: collective/jekyll/symptoms.py:324
+#: ../symptoms.py:319
msgid "Image field has content."
msgstr "Le champs image a du contenu."
-#: collective/jekyll/symptoms.py:319
+#: ../symptoms.py:314
msgid "Image field should have content."
msgstr "Le champs image doit avoir du contenu."
-#: collective/jekyll/symptoms.py:332
+#: ../symptoms.py:327
msgid "Image field should have correct size."
msgstr "La taille de l'image doit être correcte."
-#: collective/jekyll/symptoms.py:318
+#: ../symptoms.py:313
msgid "Image present"
msgstr "Image requise"
-#: collective/jekyll/symptoms.py:331
+#: ../symptoms.py:326
msgid "Image size"
msgstr "Taille de l'image"
-#: collective/jekyll/symptoms.py:283
+#: ../configure.zcml:28
+msgid "Installs the collective.jekyll package"
+msgstr ""
+
+#: ../symptoms.py:277
msgid "Links In Body"
msgstr "Liens dans le corps du texte"
-#: collective/jekyll/browser/diagnosis.py:99
-msgid "Consider"
-msgstr "Rétablir"
-
-#: collective/jekyll/interfaces.py:41
+#: ../interfaces.py:47
msgid "Select which symptoms will be taken in account when diagnosing content quality."
msgstr "Sélectionnez les symptomes pris en compte lors du diagnostic de la qualité du contenu."
-#: collective/jekyll/symptoms.py:255
+#: ../symptoms.py:248
msgid "Spaces In Body"
msgstr "Espaces dans le corps"
-#: collective/jekyll/symptoms.py:171
-msgid "Summary does not begin with uppercase letter."
-msgstr "Le résumé ne commence pas par une majuscule."
-
-#: collective/jekyll/symptoms.py:207
-msgid "Summary does not have content."
-msgstr "Le résumé n'a pas de contenu."
-
-#: collective/jekyll/symptoms.py:163
-msgid "Summary format"
-msgstr "Format du résumé"
-
-#: collective/jekyll/symptoms.py:187
-msgid "Summary length"
-msgstr "Longueur du résumé"
-
-#: collective/jekyll/browser/controlpanel.py:52
-msgid "Symptoms activation"
-msgstr "Activation des symptomes"
-
-#: collective/jekyll/symptoms.py:307
+#: ../symptoms.py:302
msgid "The body text has less than ${minimum} links to other pages."
msgstr "Le corps du texte a moins de ${minimum} liens vers d'autres pages."
-#: collective/jekyll/symptoms.py:291
+#: ../symptoms.py:285
msgid "The body text should have at least ${minimum} links to other pages. "
msgstr "Le corps du texte doit avoir au moins ${minimum} liens vers d'autres pages."
-#: collective/jekyll/symptoms.py:211
+#: ../symptoms.py:205
msgid "The description counts ${word_count} significant words (longer than 3 letters). It should have at most ${maximum} significant words."
msgstr "La description a ${word_count} mots significatifs (de plus de 3 lettres). Elle doit avoir au plus ${maximum} mots significatifs."
-#: collective/jekyll/symptoms.py:164
-msgid "The summary (or description) should begin with uppercase letter."
+#: ../symptoms.py:169
+msgid "The description should begin with uppercase letter."
msgstr "Le résumé (ou la description) doit commencer par une majuscule."
-#: collective/jekyll/symptoms.py:195
+#: ../symptoms.py:193
msgid "The summary (or description) should not be empty and should have at most ${maximum} significant words (longer than 3 letters). "
msgstr "Le résumé (ou la description) ne doit pas être vide et doit avoir au plus ${maximum} mots significatifs (de plus de 3 lettres)."
-#: collective/jekyll/symptoms.py:216
-msgid "The summary counts ${word_count} significant words (longer than 3 letters). It should have at most ${maximum} significant words."
-msgstr "Le résumé a plus de ${word_count} mots significatifs (de plus de 3 lettres). Il doit avoir au plus ${maximum} mots significatifs."
-
-#: collective/jekyll/symptoms.py:134
+#: ../symptoms.py:139
msgid "The title counts ${word_count} significant words (longer than 3 letters). It should have at most ${maximum} significant words."
msgstr "Le titre a ${word_count} mots significatifs (de plus de 3 lettres). Il doit avoir au plus ${maximum} mots significatifs."
-#: collective/jekyll/symptoms.py:120
+#: ../symptoms.py:125
msgid "The title should have at most ${maximum} significant words (longer than 3 letters). "
msgstr "Le titre doit avoir au plus ${maximum} mots significatifs (de plus de 3 lettres)."
-#: collective/jekyll/symptoms.py:158
+#: ../symptoms.py:163
msgid "Title does not begin with uppercase letter."
msgstr "Le titre ne commence pas avec une lettre majuscule."
-#: collective/jekyll/symptoms.py:151
+#: ../symptoms.py:156
msgid "Title format"
msgstr "Format du titre"
-#: collective/jekyll/symptoms.py:112
+#: ../symptoms.py:117
msgid "Title length"
msgstr "Longueur du titre"
-#: collective/jekyll/symptoms.py:152
+#: ../symptoms.py:157
msgid "Title should begin with uppercase letter."
msgstr "Le titre doit commencer avec une lettre majuscule."
-#: collective/jekyll/symptoms.py:349
+#: ../symptoms.py:343
msgid "Wrong size : image is ${actual_width} by ${actual_height} pixels. It should be ${width} by ${height} pixels."
msgstr "Taille incorrecte: l'image est de ${actual_width} par ${actual_height} pixels. Elle doit être de ${width} par ${height} pixels."
-#: collective/jekyll/browser/controlpanel.py:51
+#: ../browser/controlpanel.py:12
msgid "You can activate / deactivate symptoms using this form."
msgstr "Vous pouvez (dés)activer les symptomes."
-#: collective/jekyll/__init__.py:7
+#: ../configure.zcml:28
+msgid "collective.jekyll"
+msgstr ""
+
+#: ../testing.zcml:16
+msgid "collective.jekyll tests"
+msgstr ""
+
+#: ../__init__.py:7
msgid "ok"
msgstr "ok"
-#: collective/jekyll/__init__.py:8
+#: ../__init__.py:8
msgid "warning"
msgstr "alerte"
-
diff --git a/src/collective/jekyll/locales/it/LC_MESSAGES/collective.jekyll.po b/src/collective/jekyll/locales/it/LC_MESSAGES/collective.jekyll.po
index 51283e5..c4e026e 100644
--- a/src/collective/jekyll/locales/it/LC_MESSAGES/collective.jekyll.po
+++ b/src/collective/jekyll/locales/it/LC_MESSAGES/collective.jekyll.po
@@ -14,7 +14,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2014-04-12 14:23+0000\n"
+"POT-Creation-Date: 2019-03-29 20:18+0000\n"
"PO-Revision-Date: 2014-04-12 14:23+0000\n"
"Last-Translator: Maurizio Delmonte \n"
"Language-Team: Italiano\n"
@@ -27,191 +27,191 @@ msgstr ""
"Preferred-Encodings: utf-8 latin1\n"
"Domain: collective.jekyll\n"
-#: collective/jekyll/interfaces.py:40
+#: ../interfaces.py:46
msgid "Active Symptoms"
msgstr "Sintomi Attivi"
-#: collective/jekyll/symptoms.py:244
+#: ../symptoms.py:236
msgid "Body text"
msgstr "Testo del documento"
-#: collective/jekyll/symptoms.py:250
+#: ../symptoms.py:243
msgid "Body text does not have content."
msgstr "Testo del documento senza contenuto."
-#: collective/jekyll/symptoms.py:272
+#: ../symptoms.py:266
msgid "Body text ends with empty tags or BR."
msgstr "Il testo del documento finisce con tag HTML vuoti o BR."
-#: collective/jekyll/symptoms.py:245
+#: ../symptoms.py:237
msgid "Body text should have content."
msgstr "Il testo del documento dovrebbe contenere qualcosa."
-#: collective/jekyll/symptoms.py:256
+#: ../symptoms.py:249
msgid "Body text should not start or end with empty tags or BR."
msgstr "Testo del documento non dovrebbe iniziare con tag HTML vuoti o BR."
-#: collective/jekyll/symptoms.py:267
+#: ../symptoms.py:261
msgid "Body text starts with empty tags or BR."
msgstr "Il testo del documento inizia con tag HTML vuoti o BR."
-#: collective/jekyll/browser/controlpanel.py:50
-#: collective/jekyll/profiles/default/controlpanel.xml
+#: ../browser/diagnosis.py:102
+msgid "Consider"
+msgstr "Ripristina"
+
+#: ../browser/controlpanel.py:11
+#: ../profiles/default/controlpanel.xml
msgid "Content quality"
msgstr "Qualità del contenuto"
-#: collective/jekyll/symptoms.py:170
+#: ../testing.zcml:16
+msgid "Content to ease tests"
+msgstr ""
+
+#: ../symptoms.py:174
msgid "Description does not begin with uppercase letter."
msgstr "La descrizione non inizia con una lettera maiuscola."
-#: collective/jekyll/symptoms.py:206
+#: ../symptoms.py:203
msgid "Description does not have content."
msgstr "La descrizione non ha contenuto."
-#: collective/jekyll/symptoms.py:94
+#: ../symptoms.py:168
+msgid "Description format"
+msgstr "Format della descrizione"
+
+#: ../symptoms.py:185
+msgid "Description length"
+msgstr "Lunghezza della descrizione"
+
+#: ../symptoms.py:99
msgid "Id format"
msgstr "Format dell'id"
-#: collective/jekyll/symptoms.py:95
+#: ../symptoms.py:100
msgid "Id should not start with 'copy_of'."
msgstr "L'id non dovrebbe iniziare con 'copy_of'."
-#: collective/jekyll/symptoms.py:103
+#: ../symptoms.py:108
msgid "Id starts with '${start}'."
msgstr "L'id inizia con '${start}'."
-#: collective/jekyll/browser/diagnosis.py:102
+#: ../browser/diagnosis.py:105
msgid "Ignore"
msgstr "Ignora"
-#: collective/jekyll/browser/symptom.pt:4
+#: ../browser/symptom.pt:4
msgid "Ignored"
msgstr "Ignorato"
-#: collective/jekyll/symptoms.py:347
+#: ../symptoms.py:341
msgid "Image field content has correct size."
msgstr "Il contenuto del campo immagine ha dimensione corretta."
-#: collective/jekyll/symptoms.py:326
+#: ../symptoms.py:321
msgid "Image field does not have content."
msgstr "Il campo immagine non ha contenuto."
-#: collective/jekyll/symptoms.py:324
+#: ../symptoms.py:319
msgid "Image field has content."
msgstr "Il campo immagine ha contenuto."
-#: collective/jekyll/symptoms.py:319
+#: ../symptoms.py:314
msgid "Image field should have content."
msgstr "Il campo immagine dovrebbe avere contenuto."
-#: collective/jekyll/symptoms.py:332
+#: ../symptoms.py:327
msgid "Image field should have correct size."
msgstr "Il campo immagine dovrebbe avere una dimensione corretta."
-#: collective/jekyll/symptoms.py:318
+#: ../symptoms.py:313
msgid "Image present"
msgstr "Immagine presente"
-#: collective/jekyll/symptoms.py:331
+#: ../symptoms.py:326
msgid "Image size"
msgstr "Dimensione immagine"
-#: collective/jekyll/symptoms.py:283
+#: ../configure.zcml:28
+msgid "Installs the collective.jekyll package"
+msgstr ""
+
+#: ../symptoms.py:277
msgid "Links In Body"
msgstr "Link nel testo del documento"
-#: collective/jekyll/browser/diagnosis.py:99
-msgid "Consider"
-msgstr "Ripristina"
-
-#: collective/jekyll/interfaces.py:41
+#: ../interfaces.py:47
msgid "Select which symptoms will be taken in account when diagnosing content quality."
msgstr "Seleziona i sintomi di cui tenere conto quando si valuta la qualità del contenuto."
-#: collective/jekyll/symptoms.py:255
+#: ../symptoms.py:248
msgid "Spaces In Body"
msgstr "Spazi nel testo del documento"
-#: collective/jekyll/symptoms.py:171
-msgid "Summary does not begin with uppercase letter."
-msgstr "La descrizione non inizia con una lettera maiuscola."
-
-#: collective/jekyll/symptoms.py:207
-msgid "Summary does not have content."
-msgstr "La descrizione non ha contenuto."
-
-#: collective/jekyll/symptoms.py:163
-msgid "Summary format"
-msgstr "Format della descrizione"
-
-#: collective/jekyll/symptoms.py:187
-msgid "Summary length"
-msgstr "Lunghezza della descrizione"
-
-#: collective/jekyll/browser/controlpanel.py:52
-msgid "Symptoms activation"
-msgstr "Attivazione dei sintomi."
-
-#: collective/jekyll/symptoms.py:307
+#: ../symptoms.py:302
msgid "The body text has less than ${minimum} links to other pages."
msgstr "Il testo del documento ha meno di ${minimum} link ad altre pagine."
-#: collective/jekyll/symptoms.py:291
+#: ../symptoms.py:285
msgid "The body text should have at least ${minimum} links to other pages. "
msgstr "Il testo del documento dovrebbe avere almeno ${minimum} link ad altre pagine."
-#: collective/jekyll/symptoms.py:211
+#: ../symptoms.py:205
msgid "The description counts ${word_count} significant words (longer than 3 letters). It should have at most ${maximum} significant words."
msgstr "La descrizione conta ${word_count} parole significative (più lunghe di 3 lettere). Dovrebbe avere al massimo ${maximum} parole significative."
-#: collective/jekyll/symptoms.py:164
-msgid "The summary (or description) should begin with uppercase letter."
+#: ../symptoms.py:169
+msgid "The description should begin with uppercase letter."
msgstr "La descrizione dovrebbe iniziare con una lettera maiuscola."
-#: collective/jekyll/symptoms.py:195
+#: ../symptoms.py:193
msgid "The summary (or description) should not be empty and should have at most ${maximum} significant words (longer than 3 letters). "
msgstr "La descrizione non dovrebbe essere vuota e dovrebbe avere al massimo ${maximum} parole significative (più lunghe di 3 lettere)."
-#: collective/jekyll/symptoms.py:216
-msgid "The summary counts ${word_count} significant words (longer than 3 letters). It should have at most ${maximum} significant words."
-msgstr "La descrizione conta ${word_count} parole significative (più lunghe di 3 lettere). Dovrebbe avere al massimo ${maximum} parole significative."
-
-#: collective/jekyll/symptoms.py:134
+#: ../symptoms.py:139
msgid "The title counts ${word_count} significant words (longer than 3 letters). It should have at most ${maximum} significant words."
msgstr "Il titolo conta ${word_count} parole significative (più lunghe di 3 lettere). Dovrebbe avere al massimo ${maximum} parole significative."
-#: collective/jekyll/symptoms.py:120
+#: ../symptoms.py:125
msgid "The title should have at most ${maximum} significant words (longer than 3 letters). "
msgstr "Il titolo dovrebbe avere al massimo ${maximum} parole significative (più lunghe di 3 lettere)."
-#: collective/jekyll/symptoms.py:158
+#: ../symptoms.py:163
msgid "Title does not begin with uppercase letter."
msgstr "Il titolo non inizia con una lettera maiuscola."
-#: collective/jekyll/symptoms.py:151
+#: ../symptoms.py:156
msgid "Title format"
msgstr "Format del titolo"
-#: collective/jekyll/symptoms.py:112
+#: ../symptoms.py:117
msgid "Title length"
msgstr "Lunghezza del titolo"
-#: collective/jekyll/symptoms.py:152
+#: ../symptoms.py:157
msgid "Title should begin with uppercase letter."
msgstr "Il titolo dovrebbe iniziare con una lettera maiuscola."
-#: collective/jekyll/symptoms.py:349
+#: ../symptoms.py:343
msgid "Wrong size : image is ${actual_width} by ${actual_height} pixels. It should be ${width} by ${height} pixels."
msgstr "Dimensione errata: l'Immagine è ${actual_width} per ${actual_height} pixel. Dovrebbe essere ${width} per ${height} pixel."
-#: collective/jekyll/browser/controlpanel.py:51
+#: ../browser/controlpanel.py:12
msgid "You can activate / deactivate symptoms using this form."
msgstr "Puoi attivare / disattivare i sintomi usando questa form."
-#: collective/jekyll/__init__.py:7
+#: ../configure.zcml:28
+msgid "collective.jekyll"
+msgstr ""
+
+#: ../testing.zcml:16
+msgid "collective.jekyll tests"
+msgstr ""
+
+#: ../__init__.py:7
msgid "ok"
msgstr "ok"
-#: collective/jekyll/__init__.py:8
+#: ../__init__.py:8
msgid "warning"
msgstr "attenzione"
diff --git a/src/collective/jekyll/locales/nl/LC_MESSAGES/collective.jekyll.po b/src/collective/jekyll/locales/nl/LC_MESSAGES/collective.jekyll.po
index 90a6e5b..875d5ba 100644
--- a/src/collective/jekyll/locales/nl/LC_MESSAGES/collective.jekyll.po
+++ b/src/collective/jekyll/locales/nl/LC_MESSAGES/collective.jekyll.po
@@ -1,20 +1,20 @@
# #############################################################################
-#
+#
# Copyright (c) 2003-2004 Zope Foundation and Contributors.
# All Rights Reserved.
-#
+#
# This software is subject to the provisions of the Zope Public License,
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
-#
+#
# #############################################################################
msgid ""
msgstr ""
"Project-Id-Version: 1.0\n"
-"POT-Creation-Date: 2013-09-03 14:23+0000\n"
+"POT-Creation-Date: 2019-03-29 20:18+0000\n"
"PO-Revision-Date: 2012-05-11 15:55+0200\n"
"Last-Translator: bsuttor \n"
"Language-Team: Dutch\n"
@@ -29,194 +29,193 @@ msgstr ""
"Language: nl\n"
"Generated-By: zope/app/locales/extract.py\n"
-#: collective/jekyll/interfaces.py:40
+#: ../interfaces.py:46
msgid "Active Symptoms"
msgstr "Actieve criteria"
-#: collective/jekyll/symptoms.py:244
+#: ../symptoms.py:236
msgid "Body text"
msgstr "Hoofdtekst aanwezig"
-#: collective/jekyll/symptoms.py:250
+#: ../symptoms.py:243
msgid "Body text does not have content."
msgstr "De hoofdtekst is leeg."
-#: collective/jekyll/symptoms.py:272
+#: ../symptoms.py:266
msgid "Body text ends with empty tags or BR."
msgstr "De hoofdtekst eindigt met lege tags of BR."
-#: collective/jekyll/symptoms.py:245
+#: ../symptoms.py:237
msgid "Body text should have content."
msgstr "De hoofdtekst moet inhoud hebben."
-#: collective/jekyll/symptoms.py:256
+#: ../symptoms.py:249
msgid "Body text should not start or end with empty tags or BR."
msgstr "Hoofdtekst mag niet starten of eindigen met lege tags of BR."
-#: collective/jekyll/symptoms.py:267
+#: ../symptoms.py:261
msgid "Body text starts with empty tags or BR."
msgstr "De hoofdtekst start met lege tags of BR."
-#: collective/jekyll/browser/controlpanel.py:50
-#: collective/jekyll/profiles/default/controlpanel.xml
+#: ../browser/diagnosis.py:102
+msgid "Consider"
+msgstr "Herstellen"
+
+#: ../browser/controlpanel.py:11
+#: ../profiles/default/controlpanel.xml
msgid "Content quality"
msgstr "Kwaliteit van de inhoud"
-#: collective/jekyll/symptoms.py:170
+#: ../testing.zcml:16
+msgid "Content to ease tests"
+msgstr ""
+
+#: ../symptoms.py:174
msgid "Description does not begin with uppercase letter."
msgstr "De beschrijving begint niet met een hoofdletter."
-#: collective/jekyll/symptoms.py:206
+#: ../symptoms.py:203
msgid "Description does not have content."
msgstr "De beschrijving is leeg."
-#: collective/jekyll/symptoms.py:94
+#: ../symptoms.py:168
+msgid "Description format"
+msgstr ""
+
+#: ../symptoms.py:185
+msgid "Description length"
+msgstr ""
+
+#: ../symptoms.py:99
msgid "Id format"
msgstr "Formaat van de verkorte naam"
-#: collective/jekyll/symptoms.py:95
+#: ../symptoms.py:100
msgid "Id should not start with 'copy_of'."
msgstr "Verkorte naam mag niet starten met 'copy_of'."
-#: collective/jekyll/symptoms.py:103
+#: ../symptoms.py:108
msgid "Id starts with '${start}'."
msgstr "Verkorte naam start met '${start}'."
# values for ignore
-#: collective/jekyll/browser/diagnosis.py:102
+#: ../browser/diagnosis.py:105
msgid "Ignore"
msgstr "Negeren"
-#: collective/jekyll/browser/symptom.pt:4
+#: ../browser/symptom.pt:4
msgid "Ignored"
msgstr "Genegeerd"
-#: collective/jekyll/symptoms.py:347
+#: ../symptoms.py:341
msgid "Image field content has correct size."
msgstr "Het veld afbeelding heeft een correcte grootte."
-#: collective/jekyll/symptoms.py:326
+#: ../symptoms.py:321
msgid "Image field does not have content."
msgstr "Het veld afbeelding is niet ingevuld."
-#: collective/jekyll/symptoms.py:324
+#: ../symptoms.py:319
msgid "Image field has content."
msgstr "Het veld afbeelding is ingevuld."
-#: collective/jekyll/symptoms.py:319
+#: ../symptoms.py:314
msgid "Image field should have content."
msgstr "Het veld afbeelding moet ingevuld zijn."
-#: collective/jekyll/symptoms.py:332
+#: ../symptoms.py:327
msgid "Image field should have correct size."
msgstr "Het veld afbeelding moet een correcte grootte hebben."
-#: collective/jekyll/symptoms.py:318
+#: ../symptoms.py:313
msgid "Image present"
msgstr "Afbeelding aanwezig"
-#: collective/jekyll/symptoms.py:331
+#: ../symptoms.py:326
msgid "Image size"
msgstr "Grootte van de afbeelding"
-#: collective/jekyll/symptoms.py:283
+#: ../configure.zcml:28
+msgid "Installs the collective.jekyll package"
+msgstr ""
+
+#: ../symptoms.py:277
msgid "Links In Body"
msgstr "Links in hoofdtekst"
-#: collective/jekyll/browser/diagnosis.py:99
-msgid "Consider"
-msgstr "Herstellen"
-
-#: collective/jekyll/interfaces.py:41
+#: ../interfaces.py:47
msgid "Select which symptoms will be taken in account when diagnosing content quality."
msgstr "Selecteer de criteria die gebruikt zullen worden tijdens de diagnose van de kwaliteit van de inhoud."
-#: collective/jekyll/symptoms.py:255
+#: ../symptoms.py:248
msgid "Spaces In Body"
msgstr "Spaties in hoofdtekst"
-#: collective/jekyll/symptoms.py:171
-msgid "Summary does not begin with uppercase letter."
-msgstr ""
-
-#: collective/jekyll/symptoms.py:207
-msgid "Summary does not have content."
-msgstr ""
-
-#: collective/jekyll/symptoms.py:163
-msgid "Summary format"
-msgstr ""
-
-#: collective/jekyll/symptoms.py:187
-msgid "Summary length"
-msgstr ""
-
-#: collective/jekyll/browser/controlpanel.py:52
-msgid "Symptoms activation"
-msgstr "Criteria activeren"
-
-#: collective/jekyll/symptoms.py:307
+#: ../symptoms.py:302
msgid "The body text has less than ${minimum} links to other pages."
msgstr ""
-#: collective/jekyll/symptoms.py:291
+#: ../symptoms.py:285
msgid "The body text should have at least ${minimum} links to other pages. "
msgstr ""
-#: collective/jekyll/symptoms.py:211
+#: ../symptoms.py:205
msgid "The description counts ${word_count} significant words (longer than 3 letters). It should have at most ${maximum} significant words."
msgstr "De beschrijving telt ${word_count} significante woorden (langer dan 3 letters). Ze zou hoogstens ${maximum} significante woorden mogen bevatten."
-#: collective/jekyll/symptoms.py:164
-msgid "The summary (or description) should begin with uppercase letter."
+#: ../symptoms.py:169
+msgid "The description should begin with uppercase letter."
msgstr ""
-#: collective/jekyll/symptoms.py:195
+#: ../symptoms.py:193
msgid "The summary (or description) should not be empty and should have at most ${maximum} significant words (longer than 3 letters). "
msgstr ""
-#: collective/jekyll/symptoms.py:216
-msgid "The summary counts ${word_count} significant words (longer than 3 letters). It should have at most ${maximum} significant words."
-msgstr ""
-
-#: collective/jekyll/symptoms.py:134
+#: ../symptoms.py:139
msgid "The title counts ${word_count} significant words (longer than 3 letters). It should have at most ${maximum} significant words."
msgstr "De titel bevat ${word_count} significante woorden (langer dan 3 letters). Hij zou hoogstens ${maximum} significante woorden mogen bevatten."
-#: collective/jekyll/symptoms.py:120
+#: ../symptoms.py:125
msgid "The title should have at most ${maximum} significant words (longer than 3 letters). "
msgstr "De title zou hoogstens ${maximum} significante woorden (langer dan 3 letters) bevatten."
-#: collective/jekyll/symptoms.py:158
+#: ../symptoms.py:163
msgid "Title does not begin with uppercase letter."
msgstr "De titel begint niet met een hoofdletter."
-#: collective/jekyll/symptoms.py:151
+#: ../symptoms.py:156
msgid "Title format"
msgstr "Formaat van de titel"
-#: collective/jekyll/symptoms.py:112
+#: ../symptoms.py:117
msgid "Title length"
msgstr "Lengte van de titel"
-#: collective/jekyll/symptoms.py:152
+#: ../symptoms.py:157
msgid "Title should begin with uppercase letter."
msgstr "De titel moet beginnen met een hoofdletter."
-#: collective/jekyll/symptoms.py:349
+#: ../symptoms.py:343
msgid "Wrong size : image is ${actual_width} by ${actual_height} pixels. It should be ${width} by ${height} pixels."
msgstr "Verkeerde grootte: de afbeelding is ${actual_width} op ${actual_height} pixels groot. Ze zou ${width} op ${height} pixels groot moeten zijn."
-#: collective/jekyll/browser/controlpanel.py:51
+#: ../browser/controlpanel.py:12
msgid "You can activate / deactivate symptoms using this form."
msgstr "U kan met dit formulier criteria activeren of desactiveren."
+#: ../configure.zcml:28
+msgid "collective.jekyll"
+msgstr ""
+
+#: ../testing.zcml:16
+msgid "collective.jekyll tests"
+msgstr ""
+
# values for status
-#: collective/jekyll/__init__.py:7
+#: ../__init__.py:7
msgid "ok"
msgstr ""
-#: collective/jekyll/__init__.py:8
+#: ../__init__.py:8
msgid "warning"
msgstr "niet ok"
-
diff --git a/src/collective/jekyll/profiles/default/metadata.xml b/src/collective/jekyll/profiles/default/metadata.xml
index 22dfd43..03237e2 100644
--- a/src/collective/jekyll/profiles/default/metadata.xml
+++ b/src/collective/jekyll/profiles/default/metadata.xml
@@ -3,5 +3,6 @@
0001
profile-plone.app.registry:default
+ profile-plone.app.contenttypes:default
diff --git a/src/collective/jekyll/profiles/testing/metadata.xml b/src/collective/jekyll/profiles/testing/metadata.xml
index c4314e3..029bc8c 100644
--- a/src/collective/jekyll/profiles/testing/metadata.xml
+++ b/src/collective/jekyll/profiles/testing/metadata.xml
@@ -2,6 +2,7 @@
0001
+ profile-plone.app.contenttypes:default
profile-collective.jekyll:default
diff --git a/src/collective/jekyll/symptoms.py b/src/collective/jekyll/symptoms.py
index 79938df..29b0e12 100644
--- a/src/collective/jekyll/symptoms.py
+++ b/src/collective/jekyll/symptoms.py
@@ -6,9 +6,15 @@
from zope.i18nmessageid import Message
from zope.component import queryUtility
from zope.component import getGlobalSiteManager
+from zope.globalrequest import getRequest
from zope.schema.interfaces import IVocabularyFactory
from zope.schema.vocabulary import SimpleVocabulary
from zope.schema.vocabulary import SimpleTerm
+try:
+ from plone.protect.auto import safeWrite
+except ImportError:
+ def safeWrite(*args):
+ pass
from plone.registry.interfaces import IRegistry
@@ -36,6 +42,7 @@ def __init__(self, context):
self.status = True
self.description = ''
self._registry = queryUtility(IRegistry, default={})
+ safeWrite(self.context, getRequest())
def _update(self):
raise NotImplementedError(u"")
@@ -165,31 +172,24 @@ def _update(self):
class DescriptionFormatSymptom(SymptomBase):
- title = _(u"Summary format")
+ title = _(u"Description format")
help = _(
- u"The summary (or description) should begin with "
+ u"The description should begin with "
u"uppercase letter."
)
- FORMAT = dict(
- description=_(u"Description does not begin with uppercase letter."),
- summary=_(u"Summary does not begin with uppercase letter."),
- )
+ FORMAT = _(u"Description does not begin with uppercase letter.")
def _update(self):
description = self.context.Description()
- if 'summary' in self.context.Schema()['description'].widget.label:
- key = 'summary'
- else:
- key = 'description'
if len(description):
self.status = description[0].isupper()
- self.description = self.FORMAT[key]
+ self.description = self.FORMAT
class DescriptionLengthSymptom(SymptomBase):
- title = _(u"Summary length")
+ title = _(u"Description length")
@property
def maximum(self):
@@ -207,51 +207,45 @@ def help(self):
mapping={'maximum': self.maximum}
)
- EMPTY = dict(
- description=_(u"Description does not have content."),
- summary=_(u"Summary does not have content."),
- )
+ EMPTY = _(u"Description does not have content.")
- TOO_LONG = dict(
- description=_(
+ TOO_LONG = _(
u"The description counts ${word_count} significant words "
u"(longer than 3 letters). "
u"It should have at most ${maximum} significant words."
- ),
- summary=_(
- u"The summary counts ${word_count} significant words "
- u"(longer than 3 letters). "
- u"It should have at most ${maximum} significant words."
- ),
- )
+ )
def _update(self):
maximum = self.maximum
word_count = countWords(self.context.Description())
- if 'summary' in self.context.Schema()['description'].widget.label:
- key = 'summary'
- else:
- key = 'description'
if not len(self.context.Description()):
self.status = False
- self.description = self.EMPTY[key]
+ self.description = self.EMPTY
else:
self.status = (word_count <= maximum)
- symptom_description = self.TOO_LONG[key]
+ symptom_description = self.TOO_LONG
self.description = Message(
symptom_description,
mapping={'word_count': word_count, 'maximum': maximum}
)
+def get_text(context):
+ text = context.text
+ if text:
+ return text.output.strip()
+ else:
+ return ''
+
+
class BodyTextPresentSymptom(SymptomBaseWithCache):
title = _(u"Body text")
help = _(u"Body text should have content.")
def _update(self):
- cooked = self.cache.setdefault('cooked_body', self.context.CookedBody(stx_level=2).strip())
- self.status = len(cooked)
+ text = self.cache.setdefault('body', get_text(self.context))
+ self.status = len(text)
if not self.status:
self.description = _(u"Body text does not have content.")
@@ -263,10 +257,9 @@ class SpacesInBodySymptom(SymptomBaseWithCache):
def _update(self):
self.status = True
- cooked = self.cache.setdefault('cooked_body',
- self.context.CookedBody(stx_level=2).strip())
- soup = self.cache.setdefault('cooked_body_soup',
- BeautifulSoup(cooked.decode('utf-8')))
+ text = self.cache.setdefault('body', get_text(self.context))
+ soup = self.cache.setdefault('body_soup',
+ BeautifulSoup(text, features='lxml'))
child_count = 0
for child in soup.children:
child_count += 1
@@ -307,10 +300,9 @@ def help(self):
def _update(self):
minimum = self.minimum
- cooked = self.cache.setdefault('cooked_body',
- self.context.CookedBody(stx_level=2).strip())
- soup = self.cache.setdefault('cooked_body_soup',
- BeautifulSoup(cooked.decode('utf-8')))
+ text = self.cache.setdefault('body', get_text(self.context))
+ soup = self.cache.setdefault('body_soup',
+ BeautifulSoup(text, features='lxml'))
links = soup.find_all('a')
self.status = len(links) >= minimum
if not self.status:
@@ -329,7 +321,7 @@ class ImagePresentSymptom(SymptomBase):
help = _(u"Image field should have content.")
def _update(self):
- self.status = hasImage(self.context)
+ self.status = bool(self.context.image)
if self.status:
self.description = _(u"Image field has content.")
else:
@@ -346,9 +338,8 @@ def _update(self):
width = int(self._registry.get('%s.width' % self.name, 675))
height = int(self._registry.get('%s.height' % self.name, 380))
- if hasImage(context):
- imageField = context.Schema()['image']
- size = imageField.getSize(context)
+ if self.context.image:
+ size = self.context.image.getImageSize()
self.status = size == (width, height)
else:
self.status = False
@@ -370,9 +361,3 @@ def _update(self):
'height': height
}
)
-
-
-def hasImage(value):
- imageField = value.Schema()['image']
- status = imageField.get_size(value)
- return status
diff --git a/src/collective/jekyll/tests/functional.txt b/src/collective/jekyll/tests/functional.txt
deleted file mode 100644
index 353c8d5..0000000
--- a/src/collective/jekyll/tests/functional.txt
+++ /dev/null
@@ -1,90 +0,0 @@
-Jekyll control panel
-====================
-
-First some initial setup code:
-
- >>> from plone.testing.z2 import Browser
- >>> browser = Browser(layer['app'])
- >>> browser.handleErrors = False
- >>> browser.addHeader('Authorization', 'Basic admin:secret')
-
-Viewing the jekyll control panel
---------------------------------
-
- >>> browser.open('http://nohost/plone/@@jekyll-controlpanel')
- >>> browser.url.endswith('jekyll-controlpanel')
- True
-
-Click the save button without making any changes:
-
- >>> browser.getControl(name="form.actions.save").click()
- >>> browser.url.endswith('jekyll-controlpanel')
- True
-
-Activating just 2 symptoms
---------------------------
-
- >>> browser.open('http://nohost/plone/@@jekyll-controlpanel')
- >>> browser.url.endswith('jekyll-controlpanel')
- True
-
- >>> browser.getControl(name='form.activeSymptoms').value = \
- ... ['collective.jekyll.symptoms.IdFormatSymptom',
- ... 'collective.jekyll.symptoms.TitleLengthSymptom']
-
-Click the save button:
-
- >>> browser.getControl(name="form.actions.save").click()
- >>> browser.url.endswith('jekyll-controlpanel')
- True
-
-We should be informed that something has changed:
-
- >>> 'Changes saved.' in browser.contents
- True
-
-Make sure the changes have been applied correctly to the registry:
-
- >>> portal = layer['portal']
- >>> records = portal.portal_registry.records
- >>> active = records['collective.jekyll.interfaces.IJekyllSettings.activeSymptoms']
- >>> 'collective.jekyll.symptoms.IdFormatSymptom' in active.value
- True
- >>> 'collective.jekyll.symptoms.TitleLengthSymptom' in active.value
- True
- >>> len(active.value)
- 2
-
-The viewlet should be available:
-
- >>> browser.open('http://nohost/plone/')
- >>> 'ok' in browser.contents
- True
-
-Deactivating all symptoms
--------------------------
-
- >>> browser.open('http://nohost/plone/@@jekyll-controlpanel')
- >>> browser.url.endswith('jekyll-controlpanel')
- True
-
- >>> browser.getControl(name='form.activeSymptoms').value = []
-
-Click the save button:
-
- >>> browser.getControl(name="form.actions.save").click()
- >>> browser.url.endswith('jekyll-controlpanel')
- True
-
-Make sure the changes have been applied correctly to the registry:
-
- >>> records = portal.portal_registry.records
- >>> active = records['collective.jekyll.interfaces.IJekyllSettings.activeSymptoms']
- >>> len(active.value)
- 0
-
-The viewlet shouldn't be available anymore:
-
- >>> browser.open('http://nohost/plone/')
- >>> 'ok' in browser.contents
- False
diff --git a/src/collective/jekyll/tests/robot/controlpanel.robot b/src/collective/jekyll/tests/robot/controlpanel.robot
new file mode 100644
index 0000000..f64b32a
--- /dev/null
+++ b/src/collective/jekyll/tests/robot/controlpanel.robot
@@ -0,0 +1,43 @@
+*** Settings ***
+Resource plone/app/robotframework/keywords.robot
+Resource plone/app/robotframework/selenium.robot
+
+Library Remote ${PLONE_URL}/RobotRemote
+Library plone.app.robotframework.keywords.Debugging
+
+Suite Setup Suite Setup
+Suite Teardown Close all browsers
+
+*** Test cases ***
+
+Viewing the jekyll control panel
+ [tags] testing
+ Go to ${PLONE_URL}/@@jekyll-controlpanel
+ Location should contain jekyll-controlpanel
+ Click button Save
+ Wait until page contains Changes saved.
+ Location should contain jekyll-controlpanel
+
+Deactivating all symptoms, then activating just 2
+ [tags] testing
+ Go to ${PLONE_URL}/@@jekyll-controlpanel
+ Select all from list name=form.widgets.activeSymptoms.to
+ Click button name=to2fromButton
+ Click button Save
+ Wait until page contains Changes saved.
+ ${to}= Get List Items name=form.widgets.activeSymptoms.to
+ Should Be Empty ${to}
+ Select from list name=form.widgets.activeSymptoms.from Short Name format
+ Click button name=from2toButton
+ Select from list name=form.widgets.activeSymptoms.from Title length
+ Click button name=from2toButton
+ Click button Save
+ Wait until page contains Changes saved.
+ ${to}= Get List Items name=form.widgets.activeSymptoms.to
+ ${expected}= Create List Short Name format Title length
+ Should be equal ${to} ${expected}
+
+*** Keywords ***
+Suite Setup
+ Open test browser
+ Enable autologin as Manager
diff --git a/src/collective/jekyll/tests/test_functional_doctest.py b/src/collective/jekyll/tests/test_functional_doctest.py
deleted file mode 100644
index c97fc18..0000000
--- a/src/collective/jekyll/tests/test_functional_doctest.py
+++ /dev/null
@@ -1,29 +0,0 @@
-import doctest
-from unittest import TestSuite
-
-from plone.app.controlpanel.tests.cptc import ControlPanelTestCase
-
-from collective.jekyll.testing import COLLECTIVE_JEKYLL_FUNCTIONAL
-from plone.testing import layered
-
-
-class JekyllControlPanelTestCase(ControlPanelTestCase):
-
- layer = COLLECTIVE_JEKYLL_FUNCTIONAL
-
-
-def test_suite():
- suite = TestSuite()
-
- OPTIONFLAGS = (doctest.ELLIPSIS | doctest.NORMALIZE_WHITESPACE)
-
- suite.addTests([
- layered(
- doctest.DocFileSuite(
- 'functional.txt',
- optionflags=OPTIONFLAGS,
- ),
- layer=COLLECTIVE_JEKYLL_FUNCTIONAL
- ),
- ])
- return suite
diff --git a/src/collective/jekyll/tests/test_robot.py b/src/collective/jekyll/tests/test_robot.py
index c6f2a14..bbd7b6d 100644
--- a/src/collective/jekyll/tests/test_robot.py
+++ b/src/collective/jekyll/tests/test_robot.py
@@ -1,10 +1,22 @@
from plone.testing import layered
import robotsuite
+import unittest
from collective.jekyll.testing import COLLECTIVE_JEKYLL_ROBOT_TESTING
def test_suite():
- return layered(robotsuite.RobotTestSuite('robot/symptom.robot'),
- layer=COLLECTIVE_JEKYLL_ROBOT_TESTING)
+ suite = unittest.TestSuite()
+ suite.addTests(
+ [
+ layered(
+ robotsuite.RobotTestSuite("robot/symptom.robot"),
+ layer=COLLECTIVE_JEKYLL_ROBOT_TESTING,
+ ),
+ layered(
+ robotsuite.RobotTestSuite("robot/controlpanel.robot"),
+ layer=COLLECTIVE_JEKYLL_ROBOT_TESTING,
+ ),
+ ])
+ return suite
diff --git a/travis.cfg b/travis.cfg
index 389bc66..3adfb0e 100644
--- a/travis.cfg
+++ b/travis.cfg
@@ -1,6 +1,6 @@
[buildout]
extends =
- https://raw.github.com/collective/buildout.plonetest/master/travis-4.3.x.cfg
+ https://raw.github.com/collective/buildout.plonetest/master/travis-5.1.x.cfg
varnish.cfg
versions.cfg
coverage.cfg
diff --git a/versions.cfg b/versions.cfg
index 7cd9f69..e468ccf 100644
--- a/versions.cfg
+++ b/versions.cfg
@@ -1,6 +1,3 @@
-[buildout]
-extends = http://dist.plone.org/release/4.3.17/versions.cfg
-
[versions]
zc.buildout = 2.11.5
setuptools = 39.2.0
|