--- a/.hgtags Thu Jul 19 18:28:28 2018 +0200
+++ b/.hgtags Tue Sep 04 15:20:52 2018 +0200
@@ -5,3 +5,4 @@
10d9fbc9908f3bcfdd1cb28cfec3d20175a0feb3 0.1.4
b2c3949bb5b8c7bcdf77a6d417cb1e84771db830 0.1.5
c1e5ec49def40a740580aec8c7fc2ead2266ded3 0.1.6
+ca0bd32ae2f16385e77d9eb913a8af16e7614464 0.1.7
--- a/docs/HISTORY.txt Thu Jul 19 18:28:28 2018 +0200
+++ b/docs/HISTORY.txt Tue Sep 04 15:20:52 2018 +0200
@@ -1,6 +1,11 @@
History
=======
+0.1.7
+-----
+ - updated renderers
+ - added Opengraph prefix in main layout head
+
0.1.6
-----
- use shared content renderer interface
--- a/src/pyams_default_theme.egg-info/PKG-INFO Thu Jul 19 18:28:28 2018 +0200
+++ b/src/pyams_default_theme.egg-info/PKG-INFO Tue Sep 04 15:20:52 2018 +0200
@@ -12,6 +12,11 @@
History
=======
+ 0.1.7
+ -----
+ - updated renderers
+ - added Opengraph prefix in main layout head
+
0.1.6
-----
- use shared content renderer interface
--- a/src/pyams_default_theme.egg-info/SOURCES.txt Thu Jul 19 18:28:28 2018 +0200
+++ b/src/pyams_default_theme.egg-info/SOURCES.txt Tue Sep 04 15:20:52 2018 +0200
@@ -8,6 +8,7 @@
src/pyams_default_theme/page.py
src/pyams_default_theme/skin.py
src/pyams_default_theme.egg-info/PKG-INFO
+src/pyams_default_theme.egg-info/SOURCES (Copie en conflit de xsup98-004 2018-03-10).txt
src/pyams_default_theme.egg-info/SOURCES.txt
src/pyams_default_theme.egg-info/dependency_links.txt
src/pyams_default_theme.egg-info/entry_points.txt
@@ -21,7 +22,6 @@
src/pyams_default_theme/component/gallery/__init__.py
src/pyams_default_theme/component/gallery/templates/renderer-default.pt
src/pyams_default_theme/component/illustration/__init__.py
-src/pyams_default_theme/component/illustration/__init__.py.orig
src/pyams_default_theme/component/illustration/interfaces/__init__.py
src/pyams_default_theme/component/illustration/templates/illustration-default.pt
src/pyams_default_theme/component/illustration/templates/illustration-left.pt
@@ -31,35 +31,51 @@
src/pyams_default_theme/component/keynumber/portlet/templates/horizontal-render.pt
src/pyams_default_theme/component/keynumber/portlet/templates/vertical-render.pt
src/pyams_default_theme/component/paragraph/__init__.py
+src/pyams_default_theme/component/paragraph/audio.py
src/pyams_default_theme/component/paragraph/contact.py
src/pyams_default_theme/component/paragraph/frame.py
src/pyams_default_theme/component/paragraph/header.py
src/pyams_default_theme/component/paragraph/html.py
+src/pyams_default_theme/component/paragraph/keynumber.py
src/pyams_default_theme/component/paragraph/keypoint.py
+src/pyams_default_theme/component/paragraph/map.py
+src/pyams_default_theme/component/paragraph/milestone.py
+src/pyams_default_theme/component/paragraph/pictogram.py
src/pyams_default_theme/component/paragraph/verbatim.py
src/pyams_default_theme/component/paragraph/video.py
src/pyams_default_theme/component/paragraph/interfaces/__init__.py
src/pyams_default_theme/component/paragraph/interfaces/contact.py
src/pyams_default_theme/component/paragraph/interfaces/frame.py
+src/pyams_default_theme/component/paragraph/interfaces/map.py
src/pyams_default_theme/component/paragraph/interfaces/verbatim.py
+src/pyams_default_theme/component/paragraph/templates/audio-default.pt
src/pyams_default_theme/component/paragraph/templates/contact-default.pt
-src/pyams_default_theme/component/paragraph/templates/contact-default.pt.orig
src/pyams_default_theme/component/paragraph/templates/frame-default.pt
src/pyams_default_theme/component/paragraph/templates/frame-left.pt
src/pyams_default_theme/component/paragraph/templates/frame-right.pt
src/pyams_default_theme/component/paragraph/templates/header-default.pt
src/pyams_default_theme/component/paragraph/templates/html-default.pt
+src/pyams_default_theme/component/paragraph/templates/keynumber-default.pt
src/pyams_default_theme/component/paragraph/templates/keypoints-default.pt
+src/pyams_default_theme/component/paragraph/templates/map-default.pt
+src/pyams_default_theme/component/paragraph/templates/milestone-default.pt
+src/pyams_default_theme/component/paragraph/templates/pictogram-default.pt
src/pyams_default_theme/component/paragraph/templates/raw-default.pt
src/pyams_default_theme/component/paragraph/templates/verbatim-default.pt
src/pyams_default_theme/component/paragraph/templates/verbatim-left.pt
src/pyams_default_theme/component/paragraph/templates/verbatim-right.pt
src/pyams_default_theme/component/paragraph/templates/video-default.pt
+src/pyams_default_theme/component/paragraph/zmi/__init__.py
+src/pyams_default_theme/component/paragraph/zmi/map.py
src/pyams_default_theme/component/video/__init__.py
-src/pyams_default_theme/component/video/templates/video-default.pt
+src/pyams_default_theme/component/video/templates/external-video-default.pt
src/pyams_default_theme/doctests/README.txt
src/pyams_default_theme/features/__init__.py
src/pyams_default_theme/features/footer/__init__.py
+src/pyams_default_theme/features/footer/interfaces.py
+src/pyams_default_theme/features/footer/skin/__init__.py
+src/pyams_default_theme/features/footer/skin/templates/simple-footer.pt
+src/pyams_default_theme/features/footer/zmi/__init__.py
src/pyams_default_theme/features/header/__init__.py
src/pyams_default_theme/features/header/interfaces.py
src/pyams_default_theme/features/header/skin/__init__.py
@@ -71,13 +87,11 @@
src/pyams_default_theme/features/menu/portlet/navigation/interfaces.py
src/pyams_default_theme/features/menu/portlet/navigation/templates/double-select.pt
src/pyams_default_theme/features/menu/portlet/navigation/templates/double-vertical.pt
-src/pyams_default_theme/features/menu/portlet/navigation/templates/onf.pt
src/pyams_default_theme/features/menu/portlet/navigation/templates/simple-horizontal-tabs.pt
src/pyams_default_theme/features/menu/portlet/navigation/templates/simple-horizontal.pt
src/pyams_default_theme/interfaces/__init__.py
src/pyams_default_theme/locales/pyams_default_theme.pot
src/pyams_default_theme/locales/fr/LC_MESSAGES/pyams_default_theme.mo
-src/pyams_default_theme/locales/fr/LC_MESSAGES/pyams_default_theme.mo.orig
src/pyams_default_theme/locales/fr/LC_MESSAGES/pyams_default_theme.po
src/pyams_default_theme/resources/css/pyams-default.css
src/pyams_default_theme/resources/css/pyams-default.css.map
--- a/src/pyams_default_theme/component/association/__init__.py Thu Jul 19 18:28:28 2018 +0200
+++ b/src/pyams_default_theme/component/association/__init__.py Tue Sep 04 15:20:52 2018 +0200
@@ -18,13 +18,20 @@
# import interfaces
from pyams_content.component.association.interfaces import IAssociationParagraph, IAssociationInfo, \
IAssociationContainer
+from pyams_content.component.links.interfaces import IInternalLink
+from pyams_content.component.paragraph.interfaces import IParagraphContainerTarget, IParagraphContainer
from pyams_content.features.renderer.interfaces import IContentRenderer
+from pyams_default_theme.component.association.interfaces import IAssociationParagraphRemoteContentRendererSettings
from pyams_skin.layer import IPyAMSLayer
# import packages
+from persistent import Persistent
from pyams_content.features.renderer.skin import BaseContentRenderer
from pyams_template.template import template_config
-from pyams_utils.adapter import adapter_config
+from pyams_utils.adapter import adapter_config, get_annotation_adapter
+from zope.interface import implementer
+from zope.location import Location
+from zope.schema.fieldproperty import FieldProperty
from pyams_default_theme import _
@@ -39,6 +46,7 @@
"""Associations paragraph default renderer"""
label = _("Default associations renderer")
+ associations = ()
i18n_context_attrs = ('title', )
@@ -46,4 +54,52 @@
super(AssociationParagraphDefaultRenderer, self).update()
self.associations = [{'url': item.get_url(self.request),
'title': IAssociationInfo(item).user_title}
- for item in IAssociationContainer(self.context).values() if item.visible]
+ for item in IAssociationContainer(self.context).get_visible_items(self.request)]
+
+
+#
+# Associations paragraph remote content renderer
+#
+
+ASSOCIATION_PARAGRAPH_REMOTE_CONTENT_RENDERER_SETTINGS_KEY = 'pyams_content.association.renderer:remote-content'
+
+
+@implementer(IAssociationParagraphRemoteContentRendererSettings)
+class AssociationParagraphRemoteContentRendererSettings(Persistent, Location):
+ """Associations paragraph remote content renderer settings"""
+
+ display_title = FieldProperty(IAssociationParagraphRemoteContentRendererSettings['display_title'])
+ display_header = FieldProperty(IAssociationParagraphRemoteContentRendererSettings['display_header'])
+ anchors_only = FieldProperty(IAssociationParagraphRemoteContentRendererSettings['anchors_only'])
+ factories = FieldProperty(IAssociationParagraphRemoteContentRendererSettings['factories'])
+
+
+@adapter_config(context=IAssociationParagraph, provides=IAssociationParagraphRemoteContentRendererSettings)
+def association_paragraph_remote_content_renderer_settings_factory(context):
+ """Associations paragraph remote content renderer settings factory"""
+ return get_annotation_adapter(context, ASSOCIATION_PARAGRAPH_REMOTE_CONTENT_RENDERER_SETTINGS_KEY,
+ AssociationParagraphRemoteContentRendererSettings)
+
+
+@adapter_config(name='remote-content', context=(IAssociationParagraph, IPyAMSLayer), provides=IContentRenderer)
+@template_config(template='templates/association-remote-content.pt', layer=IPyAMSLayer)
+class AssociationParagraphRemoteContentRenderer(BaseContentRenderer):
+ """Associations container remote content renderer"""
+
+ label = _("Include remote content")
+
+ i18n_context_attrs = ('title', )
+ links = ()
+
+ settings_interface = IAssociationParagraphRemoteContentRendererSettings
+
+ def update(self):
+ super(AssociationParagraphRemoteContentRenderer, self).update()
+ self.links = [item for item in IAssociationContainer(self.context).get_visible_items(self.request)
+ if IInternalLink.providedBy(item) and IParagraphContainerTarget.providedBy(item.target)]
+
+ def get_paragraphs(self, target):
+ container = IParagraphContainer(target, None)
+ if container is not None:
+ settings = self.settings
+ yield from container.get_visible_paragraphs(settings.anchors_only, settings.factories)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/pyams_default_theme/component/association/interfaces/__init__.py Tue Sep 04 15:20:52 2018 +0200
@@ -0,0 +1,50 @@
+#
+# Copyright (c) 2008-2018 Thierry Florac <tflorac AT ulthar.net>
+# 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.
+#
+
+__docformat__ = 'restructuredtext'
+
+
+# import standard library
+
+# import interfaces
+from pyams_content.component.paragraph.interfaces import PARAGRAPH_FACTORIES_VOCABULARY
+
+# import packages
+from zope.interface import Interface
+from zope.schema import Bool, Set, Choice
+
+from pyams_default_theme import _
+
+
+class IAssociationParagraphRemoteContentRendererSettings(Interface):
+ """Associations paragraph remote content renderer settings interface"""
+
+ display_title = Bool(title=_("Display title?"),
+ description=_("Choose 'yes' to display remote content's title"),
+ required=True,
+ default=False)
+
+ display_header = Bool(title=_("Display header?"),
+ description=_("Choose 'yes' to display remote content's header"),
+ required=True,
+ default=False)
+
+ anchors_only = Bool(title=_("Anchors only?"),
+ description=_("If 'yes', only paragraphs set as 'anchors' will be selected"),
+ required=True,
+ default=True)
+
+ factories = Set(title=_("Paragraph types"),
+ description=_("Select list of paragraph types you want to include; an empty "
+ "selection means that all paragraphs will be selected"),
+ required=False,
+ value_type=Choice(vocabulary=PARAGRAPH_FACTORIES_VOCABULARY))
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/pyams_default_theme/component/association/templates/association-remote-content.pt Tue Sep 04 15:20:52 2018 +0200
@@ -0,0 +1,17 @@
+<tal:var i18n:domain="pyams_default_theme"
+ define="settings view.settings">
+ <tal:loop repeat="link view.links">
+ <tal:var define="target link.target"
+ condition="target is not None">
+ <h2 tal:condition="settings.display_title">${i18n:target.title}</h2>
+ <div class="chapo"
+ tal:define="header i18n:target.header"
+ tal:condition="settings.display_header">${structure:tales:html(header)}</div>
+ <tal:loop repeat="paragraph view.get_paragraphs(target)">
+ <tal:var define="renderer paragraph.get_renderer(request);
+ ignore renderer.update() if renderer is not None else None;"
+ condition="renderer is not None">${structure:renderer.render()}</tal:var>
+ </tal:loop>
+ </tal:var>
+ </tal:loop>
+</tal:var>
--- a/src/pyams_default_theme/component/gallery/templates/renderer-default.pt Thu Jul 19 18:28:28 2018 +0200
+++ b/src/pyams_default_theme/component/gallery/templates/renderer-default.pt Tue Sep 04 15:20:52 2018 +0200
@@ -2,23 +2,36 @@
<tal:loop repeat="image context.get_visible_medias()">
<picture tal:define="image_data i18n:image.data;
image_url tales:absolute_url(image_data);
- base_width 100 / 12;
- width 12;">
- <source media="(min-width: 1200px)"
- tal:attributes="srcset string:${image_url}/++thumb++lg:w1200 1200w, ${image_url}/++thumb++lg:w512 512w, ${image_url}/++thumb++lg:w256 256w, ${image_url}/++thumb++lg:w128 128w;
- sizes string:${round(base_width * width)}vw" />
- <source media="(min-width: 992px)"
- tal:attributes="srcset string:${image_url}/++thumb++md:w992 992w, ${image_url}/++thumb++md:w512 512w, ${image_url}/++thumb++md:w256 256w, ${image_url}/++thumb++md:w128 128w;
- sizes string:${round(base_width * width)}vw" />
- <source media="(min-width: 768px)"
- tal:condition="width"
- tal:attributes="srcset string:${image_url}/++thumb++sm:w768 768w, ${image_url}/++thumb++sm:w512 512w, ${image_url}/++thumb++sm:w256 256w, ${image_url}/++thumb++sm:w128 128w;
- sizes string:${round(base_width * width)}vw" />
- <source media="(max-width: 767px)"
- tal:condition="width"
- tal:attributes="srcset string:${image_url}/++thumb++xs:w768 768w, ${image_url}/++thumb++xs:w512 512w, ${image_url}/++thumb++xs:w256 256w, ${image_url}/++thumb++xs:w128 128w;
- sizes string:${round(base_width * width)}vw" />
- <img style="width: 100%;" tal:attributes="src image_url" />
+ timestamp tales:timestamp(image);
+ base_width 100 / 12;">
+ <!-- lg source -->
+ <source media="(min-width: 1200px)" sizes="12vw, 25vw, 50vw, 100vw"
+ tal:attributes="srcset string:${image_url}/++thumb++lg:w128?_=${timestamp} 128w,
+ ${image_url}/++thumb++lg:w256?_=${timestamp} 256w,
+ ${image_url}/++thumb++lg:w512?_=${timestamp} 512w,
+ ${image_url}/++thumb++lg:w1200?_=${timestamp} 1200w" />
+ <!-- md source -->
+ <source media="(min-width: 992px)" sizes="12vw, 25vw, 50vw, 100vw"
+ tal:attributes="srcset string:${image_url}/++thumb++md:w128?_=${timestamp} 128w,
+ ${image_url}/++thumb++md:w256?_=${timestamp} 256w,
+ ${image_url}/++thumb++md:w512?_=${timestamp} 512w,
+ ${image_url}/++thumb++md:w992?_=${timestamp} 992w" />
+ <!-- sm source -->
+ <source media="(min-width: 768px)" sizes="12vw, 25vw, 50vw, 100vw"
+ tal:attributes="srcset string:${image_url}/++thumb++sm:w128?_=${timestamp} 128w,
+ ${image_url}/++thumb++sm:w256?_=${timestamp} 256w,
+ ${image_url}/++thumb++sm:w512?_=${timestamp} 512w,
+ ${image_url}/++thumb++sm:w768?_=${timestamp} 768w,
+ " />
+ <!-- xs source -->
+ <source media="(max-width: 767px)" sizes="12vw, 25vw, 50vw, 100vw"
+ tal:attributes="srcset string:${image_url}/++thumb++xs:w128?_=${timestamp} 128w,
+ ${image_url}/++thumb++xs:w256?_=${timestamp} 256w,
+ ${image_url}/++thumb++xs:w512?_=${timestamp} 512w,
+ ${image_url}/++thumb++xs:w768?_=${timestamp} 768w" />
+ <!-- fallback image -->
+ <img style="width: 100%;"
+ tal:attributes="alt i18n:image.alt_title; src image_url" />
</picture>
</tal:loop>
</div>
--- a/src/pyams_default_theme/component/illustration/__init__.py Thu Jul 19 18:28:28 2018 +0200
+++ b/src/pyams_default_theme/component/illustration/__init__.py Tue Sep 04 15:20:52 2018 +0200
@@ -19,7 +19,8 @@
# import interfaces
from pyams_content.component.illustration.interfaces import IIllustration
from pyams_content.features.renderer.interfaces import IContentRenderer
-from pyams_default_theme.component.illustration.interfaces import IIllustrationWithZoomSettings
+from pyams_default_theme.component.illustration.interfaces import IIllustrationWithZoomSettings, IIllustrationRenderer, \
+ ILLUSTRATION_AFTER_BODY, ILLUSTRATION_BEFORE_BODY
from pyams_skin.layer import IPyAMSLayer
# import packages
@@ -57,21 +58,26 @@
# Illustration renderers
#
+@implementer(IIllustrationRenderer)
class BaseIllustrationRenderer(BaseContentRenderer):
"""Base illustration renderer"""
context_attrs = ('author', )
i18n_context_attrs = ('title', 'alt_title', 'description', 'data')
+ position = None
-@adapter_config(name='default', context=(IIllustration, IPyAMSLayer), provides=IContentRenderer)
+
+@adapter_config(name='centered-before-body', context=(IIllustration, IPyAMSLayer), provides=IContentRenderer)
@template_config(template='templates/illustration-default.pt', layer=IPyAMSLayer)
class DefaultIllustrationRenderer(BaseIllustrationRenderer):
"""Default illustration renderer"""
- label = _("Centered illustration")
+ label = _("Centered illustration before text")
weight = 1
+ position = ILLUSTRATION_BEFORE_BODY
+
@adapter_config(name='left+zoom', context=(IIllustration, IPyAMSLayer), provides=IContentRenderer)
@template_config(template='templates/illustration-left.pt', layer=IPyAMSLayer)
@@ -81,6 +87,7 @@
label = _("Small illustration on the left")
weight = 2
+ position = ILLUSTRATION_BEFORE_BODY
settings_interface = IIllustrationWithZoomSettings
@@ -92,4 +99,16 @@
label = _("Small illustration on the right")
weight = 3
+ position = ILLUSTRATION_BEFORE_BODY
settings_interface = IIllustrationWithZoomSettings
+
+
+@adapter_config(name='default', context=(IIllustration, IPyAMSLayer), provides=IContentRenderer)
+@template_config(template='templates/illustration-default.pt', layer=IPyAMSLayer)
+class DefaultIllustrationRenderer(BaseIllustrationRenderer):
+ """Default illustration renderer"""
+
+ label = _("Centered illustration after text")
+ weight = 4
+
+ position = ILLUSTRATION_AFTER_BODY
--- a/src/pyams_default_theme/component/illustration/interfaces/__init__.py Thu Jul 19 18:28:28 2018 +0200
+++ b/src/pyams_default_theme/component/illustration/interfaces/__init__.py Tue Sep 04 15:20:52 2018 +0200
@@ -18,16 +18,27 @@
# import interfaces
# import packages
-from zope.interface import Interface
-from zope.schema import Bool
+from zope.interface import Interface, Attribute
+from zope.schema import Bool, Choice
from pyams_default_theme import _
+ILLUSTRATION_BEFORE_TITLE = 'before-title'
+ILLUSTRATION_BEFORE_BODY = 'before-body'
+ILLUSTRATION_AFTER_BODY = 'after-body'
+
+
+class IIllustrationRenderer(Interface):
+ """Illustration renderer interface"""
+
+ position = Attribute("Illustration position related to it's attached content")
+
+
class IIllustrationWithZoomSettings(Interface):
"""Illustration with zoom interface"""
zoom_on_click = Bool(title=_("Zoom on click?"),
description=_("If 'yes', a click on illustration thumbnail is required to zoom"),
required=True,
- default=True)
\ No newline at end of file
+ default=True)
--- a/src/pyams_default_theme/component/illustration/templates/illustration-default.pt Thu Jul 19 18:28:28 2018 +0200
+++ b/src/pyams_default_theme/component/illustration/templates/illustration-default.pt Tue Sep 04 15:20:52 2018 +0200
@@ -1,20 +1,36 @@
<div class="text-center margin-y-5">
- <picture tal:define="image_url tales:absolute_url(view.data);
- base_width 100 / 12;
- width 12;">
- <source media="(min-width: 1200px)"
- tal:attributes="srcset string:${image_url}/++thumb++lg:w1200 1200w, ${image_url}/++thumb++lg:w512 512w, ${image_url}/++thumb++lg:w256 256w, ${image_url}/++thumb++lg:w128 128w;
- sizes string:${round(base_width * width)}vw" />
- <source media="(min-width: 992px)"
- tal:attributes="srcset string:${image_url}/++thumb++md:w992 992w, ${image_url}/++thumb++md:w512 512w, ${image_url}/++thumb++md:w256 256w, ${image_url}/++thumb++md:w128 128w;
- sizes string:${round(base_width * width)}vw" />
- <source media="(min-width: 768px)"
- tal:attributes="srcset string:${image_url}/++thumb++sm:w768 768w, ${image_url}/++thumb++sm:w512 512w, ${image_url}/++thumb++sm:w256 256w, ${image_url}/++thumb++sm:w128 128w;
- sizes string:${round(base_width * width)}vw" />
- <source media="(max-width: 767px)"
- tal:attributes="srcset string:${image_url}/++thumb++xs:w768 768w, ${image_url}/++thumb++xs:w512 512w, ${image_url}/++thumb++xs:w256 256w, ${image_url}/++thumb++xs:w128 128w;
- sizes string:${round(base_width * width)}vw" />
- <img style="width: 100%;" tal:attributes="src image_url; alt view.alt_title;" />
+ <picture tal:define="image view.data;
+ image_url tales:absolute_url(image);
+ timestamp tales:timestamp(image);
+ base_width 100 / 12;">
+ <!-- lg source -->
+ <source media="(min-width: 1200px)" sizes="12vw, 25vw, 50vw, 100vw"
+ tal:attributes="srcset string:${image_url}/++thumb++lg:w128?_=${timestamp} 128w,
+ ${image_url}/++thumb++lg:w256?_=${timestamp} 256w,
+ ${image_url}/++thumb++lg:w512?_=${timestamp} 512w,
+ ${image_url}/++thumb++lg:w1200?_=${timestamp} 1200w" />
+ <!-- md source -->
+ <source media="(min-width: 992px)" sizes="12vw, 25vw, 50vw, 100vw"
+ tal:attributes="srcset string:${image_url}/++thumb++md:w128?_=${timestamp} 128w,
+ ${image_url}/++thumb++md:w256?_=${timestamp} 256w,
+ ${image_url}/++thumb++md:w512?_=${timestamp} 512w,
+ ${image_url}/++thumb++md:w992?_=${timestamp} 992w" />
+ <!-- sm source -->
+ <source media="(min-width: 768px)" sizes="12vw, 25vw, 50vw, 100vw"
+ tal:attributes="srcset string:${image_url}/++thumb++sm:w128?_=${timestamp} 128w,
+ ${image_url}/++thumb++sm:w256?_=${timestamp} 256w,
+ ${image_url}/++thumb++sm:w512?_=${timestamp} 512w,
+ ${image_url}/++thumb++sm:w768?_=${timestamp} 768w,
+ " />
+ <!-- xs source -->
+ <source media="(max-width: 767px)" sizes="12vw, 25vw, 50vw, 100vw"
+ tal:attributes="srcset string:${image_url}/++thumb++xs:w128?_=${timestamp} 128w,
+ ${image_url}/++thumb++xs:w256?_=${timestamp} 256w,
+ ${image_url}/++thumb++xs:w512?_=${timestamp} 512w,
+ ${image_url}/++thumb++xs:w768?_=${timestamp} 768w" />
+ <!-- fallback image -->
+ <img style="width: 100%;"
+ tal:attributes="alt alt; src image_url" />
</picture>
<span tal:content="view.title">legend</span>
</div>
--- a/src/pyams_default_theme/component/keynumber/__init__.py Thu Jul 19 18:28:28 2018 +0200
+++ b/src/pyams_default_theme/component/keynumber/__init__.py Tue Sep 04 15:20:52 2018 +0200
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2008-2018 Thierry Florac <tflorac AT ulthar.net>
+# Copyright (c) 2008-2015 Thierry Florac <tflorac AT ulthar.net>
# All Rights Reserved.
#
# This software is subject to the provisions of the Zope Public License,
@@ -12,9 +12,43 @@
__docformat__ = 'restructuredtext'
-
# import standard library
# import interfaces
+from pyams_content.component.keynumber.interfaces import IKeyNumberContainer, IKeyNumberParagraph
+from pyams_content.features.renderer.interfaces import IContentRenderer
+from pyams_skin.layer import IPyAMSLayer
# import packages
+from pyams_content.features.renderer.skin import BaseContentRenderer
+from pyams_template.template import template_config
+from pyams_utils.adapter import adapter_config
+
+from pyams_default_theme import _
+
+
+#
+# Base Key numbers paragraph renderer
+#
+
+class BaseKeyNumberParagraphRenderer(BaseContentRenderer):
+ """Default Key Numbers renderer"""
+
+ i18n_context_attrs = ('title', )
+
+ @property
+ def keynumbers(self):
+ return IKeyNumberContainer(self.context)
+
+
+#
+# Key numbers paragraph default renderer
+#
+
+@adapter_config(name='default', context=(IKeyNumberParagraph, IPyAMSLayer), provides=IContentRenderer)
+@template_config(template='templates/keynumber-default.pt', layer=IPyAMSLayer)
+class DefaultKeyNumberParagraphRenderer(BaseKeyNumberParagraphRenderer):
+ """Default Key Numbers renderer"""
+
+ label = _("Default key numbers renderer")
+ weight = 1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/pyams_default_theme/component/keynumber/templates/keynumber-default.pt Tue Sep 04 15:20:52 2018 +0200
@@ -0,0 +1,19 @@
+<tal:var i18n:domain="pyams_default_theme"
+ define="numbers list(view.keynumbers.get_visible_items())">
+ <h3>${i18n:view.title}</h3>
+ <div class="col-md-3 col-lg-3"
+ tal:repeat="number numbers">
+ <div class="panel panel-default">
+ <div class="panel-heading">
+ <span class="lead">${i18n:number.label}</span>
+ </div>
+ <div class="panel-body text-align-center">
+ <span class="h4 text-success">${i18n:number.number}</span>
+ <span class="h5">${i18n:number.unit}</span>
+ </div>
+ <div class="panel-footer">
+ <p>${i18n:number.text}</p>
+ </div>
+ </div>
+ </div>
+</tal:var>
--- a/src/pyams_default_theme/component/paragraph/__init__.py Thu Jul 19 18:28:28 2018 +0200
+++ b/src/pyams_default_theme/component/paragraph/__init__.py Tue Sep 04 15:20:52 2018 +0200
@@ -40,8 +40,12 @@
def update(self):
super(ParagraphPreviewPage, self).update()
- self.renderer.language = self.language
- self.renderer.update()
+ if self.renderer is not None:
+ self.renderer.language = self.language
+ self.renderer.update()
def render(self):
- return self.renderer.render()
+ if self.renderer is not None:
+ return self.renderer.render()
+ else:
+ return ''
--- a/src/pyams_default_theme/component/paragraph/header.py Thu Jul 19 18:28:28 2018 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-#
-# Copyright (c) 2008-2017 Thierry Florac <tflorac AT ulthar.net>
-# 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.
-#
-
-__docformat__ = 'restructuredtext'
-
-
-# import standard library
-
-# import interfaces
-from pyams_content.component.paragraph.interfaces.header import IHeaderParagraph
-from pyams_content.features.renderer.interfaces import IContentRenderer
-from pyams_skin.layer import IPyAMSLayer
-
-# import packages
-from pyams_content.features.renderer.skin import BaseContentRenderer
-from pyams_template.template import template_config
-from pyams_utils.adapter import adapter_config
-
-from pyams_default_theme import _
-
-
-#
-# Header paragraph default renderer
-#
-
-@adapter_config(name='default', context=(IHeaderParagraph, IPyAMSLayer), provides=IContentRenderer)
-@template_config(template='templates/header-default.pt', layer=IPyAMSLayer)
-class HeaderParagraphDefaultRenderer(BaseContentRenderer):
- """Header paragraph default renderer"""
-
- label = _("Default header renderer")
-
- i18n_context_attrs = ('header', )
--- a/src/pyams_default_theme/component/paragraph/keynumber.py Thu Jul 19 18:28:28 2018 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-#
-# Copyright (c) 2008-2015 Thierry Florac <tflorac AT ulthar.net>
-# 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.
-#
-
-__docformat__ = 'restructuredtext'
-
-# import standard library
-
-# import interfaces
-from pyams_content.component.paragraph.interfaces.keynumber import IKeyNumberParagraph
-from pyams_content.component.keynumber import IKeyNumberContainer
-from pyams_content.features.renderer import IContentRenderer
-from pyams_skin.layer import IPyAMSLayer
-
-# import packages
-from pyams_content.features.renderer.skin import BaseContentRenderer
-from pyams_default_theme import _
-from pyams_template.template import template_config
-from pyams_utils.adapter import adapter_config
-
-
-
-#
-# Base Key numbers paragraph renderer
-#
-
-class BaseKeyNumberParagraphRenderer(BaseContentRenderer):
- """Default Key Numbers renderer"""
-
- i18n_context_attrs = ('title',)
-
- @property
- def keynumbers(self):
- return IKeyNumberContainer(self.context)
-
-
-#
-# Key numbers paragraph default renderer
-#
-
-@adapter_config(name='default', context=(IKeyNumberParagraph, IPyAMSLayer), provides=IContentRenderer)
-@template_config(template='templates/keynumber-default.pt', layer=IPyAMSLayer)
-class DefaultKeyNumberParagraphRenderer(BaseKeyNumberParagraphRenderer):
- """Default Key Numbers renderer"""
-
- label = _("Default key numbers renderer")
- weight = 1
--- a/src/pyams_default_theme/component/paragraph/keypoint.py Thu Jul 19 18:28:28 2018 +0200
+++ b/src/pyams_default_theme/component/paragraph/keypoint.py Tue Sep 04 15:20:52 2018 +0200
@@ -39,7 +39,7 @@
label = _("Default key points renderer")
- i18n_context_attrs = ('body', )
+ i18n_context_attrs = ('title', 'body', )
@property
def keypoints(self):
--- a/src/pyams_default_theme/component/paragraph/templates/header-default.pt Thu Jul 19 18:28:28 2018 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-<div class="strong margin-bottom-10"
- tal:content="structure tales:html(view.header)">header</div>
--- a/src/pyams_default_theme/component/paragraph/templates/html-default.pt Thu Jul 19 18:28:28 2018 +0200
+++ b/src/pyams_default_theme/component/paragraph/templates/html-default.pt Tue Sep 04 15:20:52 2018 +0200
@@ -1,3 +1,9 @@
-<h3 tal:content="view.title">title</h3>
-<div tal:content="structure tales:html(view.body, 'oid_to_href')">body</div>
-<tal:var content="structure view.render_illustration()">Illustration</tal:var>
+<tal:var define="renderer view.illustration_renderer;
+ position renderer.position if renderer is not None else None;"
+ switch="position">
+ <tal:var case="'before-title'">${structure:view.render_illustration()}</tal:var>
+ <h2 tal:condition="position != 'before-title'">${view.title}</h2>
+ <tal:var case="'before-body'">${structure:view.render_illustration()}</tal:var>
+ <div>${structure:tales:html(view.body, 'oid_to_href')}</div>
+ <tal:var case="'after-body'">${structure:view.render_illustration()}</tal:var>
+</tal:var>
--- a/src/pyams_default_theme/component/paragraph/templates/keynumber-default.pt Thu Jul 19 18:28:28 2018 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<tal:var i18n:domain="pyams_default_theme"
- define="numbers list(view.keynumbers.get_visible_items())">
- <h3>${i18n:view.title}</h3>
- <div class="col-md-3 col-lg-3 " tal:repeat="number numbers">
- <div class="panel panel-default">
- <div class="panel-heading">
- <span class="lead" tal:content="i18n:number.label">label</span>
- </div>
- <div class="panel-body text-align-center">
- <span class="h4 text-success" tal:content="i18n:number.number">Number</span>
- <span class="h5" tal:content="i18n:number.unit">Unit</span>
- </div>
- <div class="panel-footer">
- <p tal:content="i18n:number.text">Text</p>
- </div>
- </div>
- </div>
-</tal:var>
--- a/src/pyams_default_theme/features/footer/skin/__init__.py Thu Jul 19 18:28:28 2018 +0200
+++ b/src/pyams_default_theme/features/footer/skin/__init__.py Tue Sep 04 15:20:52 2018 +0200
@@ -31,7 +31,7 @@
from pyams_default_theme import _
-SIMPLE_FOOTER_RENDERER_NAME = 'PyAMS simple header'
+SIMPLE_FOOTER_RENDERER_NAME = 'PyAMS simple footer'
#
--- a/src/pyams_default_theme/features/footer/skin/templates/simple-footer.pt Thu Jul 19 18:28:28 2018 +0200
+++ b/src/pyams_default_theme/features/footer/skin/templates/simple-footer.pt Tue Sep 04 15:20:52 2018 +0200
@@ -10,6 +10,8 @@
</li>
</tal:loop>
<li role="presentation"
- tal:condition="settings.copyright">${settings.copyright}</li>
+ tal:condition="settings.copyright">
+ <a>${settings.copyright}</a>
+ </li>
</ul>
</div>
--- a/src/pyams_default_theme/features/header/__init__.py Thu Jul 19 18:28:28 2018 +0200
+++ b/src/pyams_default_theme/features/header/__init__.py Tue Sep 04 15:20:52 2018 +0200
@@ -82,7 +82,7 @@
return context.tabs
-@adapter_config(name='links', context=ISimpleHeaderRendererSettings, provides=ISublocations)
+@adapter_config(name='tabs', context=ISimpleHeaderRendererSettings, provides=ISublocations)
class SimpleHeaderRendererSettingsSublocations(ContextAdapter):
"""Simple header renderer settings sub-locations adapter"""
--- a/src/pyams_default_theme/features/header/skin/templates/simple-header.pt Thu Jul 19 18:28:28 2018 +0200
+++ b/src/pyams_default_theme/features/header/skin/templates/simple-header.pt Tue Sep 04 15:20:52 2018 +0200
@@ -1,5 +1,6 @@
<div class="header header-simple"
- tal:define="settings view.settings" i18n:domain="pyams_default_theme">
+ tal:define="settings view.settings"
+ tal:condition="settings is not None" i18n:domain="pyams_default_theme">
<tal:var replace="structure provider:pyams.banner" />
<ul class="nav nav-pills margin-bottom-20" role="tablist">
<tal:loop repeat="link settings.tabs.get_visible_items(request)">
@@ -8,8 +9,7 @@
<a tal:define="info view.get_link_info(link);
href link.get_url(request);"
tal:condition="href"
- tal:content="info.user_title"
- tal:attributes="href href">Link</a>
+ href="${href}">${info.user_title}</a>
</li>
</tal:loop>
</ul>
Binary file src/pyams_default_theme/locales/fr/LC_MESSAGES/pyams_default_theme.mo has changed
--- a/src/pyams_default_theme/locales/fr/LC_MESSAGES/pyams_default_theme.po Thu Jul 19 18:28:28 2018 +0200
+++ b/src/pyams_default_theme/locales/fr/LC_MESSAGES/pyams_default_theme.po Tue Sep 04 15:20:52 2018 +0200
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE 1.0\n"
-"POT-Creation-Date: 2018-07-19 17:00+0200\n"
+"POT-Creation-Date: 2018-09-03 15:38+0200\n"
"PO-Revision-Date: 2017-06-07 12:41+0200\n"
"Last-Translator: Thierry Florac <tflorac@ulthar.net>\n"
"Language-Team: French\n"
@@ -24,6 +24,10 @@
msgid "Default gallery renderer"
msgstr "Par défaut"
+#: src/pyams_default_theme/component/keynumber/__init__.py:53
+msgid "Default key numbers renderer"
+msgstr "Par défaut"
+
#: src/pyams_default_theme/component/keynumber/portlet/__init__.py:55
msgid "Horizontal list with carousel"
msgstr "Liste horizontale (par défaut)"
@@ -32,23 +36,27 @@
msgid "Vertical list"
msgstr "Liste verticale"
-#: src/pyams_default_theme/component/illustration/__init__.py:72
-msgid "Centered illustration"
-msgstr "Illustration centrée (par défaut)"
+#: src/pyams_default_theme/component/illustration/__init__.py:76
+msgid "Centered illustration before text"
+msgstr "Illustration centrée avant le texte"
-#: src/pyams_default_theme/component/illustration/__init__.py:81
+#: src/pyams_default_theme/component/illustration/__init__.py:87
msgid "Small illustration on the left"
msgstr "Illustration sur la gauche"
-#: src/pyams_default_theme/component/illustration/__init__.py:92
+#: src/pyams_default_theme/component/illustration/__init__.py:99
msgid "Small illustration on the right"
msgstr "Illustration sur la droite"
-#: src/pyams_default_theme/component/illustration/interfaces/__init__.py:30
+#: src/pyams_default_theme/component/illustration/__init__.py:111
+msgid "Centered illustration after text"
+msgstr "Illustration centrée après le texte"
+
+#: src/pyams_default_theme/component/illustration/interfaces/__init__.py:41
msgid "Zoom on click?"
msgstr "Zoom sur clic ?"
-#: src/pyams_default_theme/component/illustration/interfaces/__init__.py:31
+#: src/pyams_default_theme/component/illustration/interfaces/__init__.py:42
msgid "If 'yes', a click on illustration thumbnail is required to zoom"
msgstr ""
"Si 'oui', un clic sur la vignette de l'illustration est nécessaire pour "
@@ -79,10 +87,6 @@
msgid "Default audio renderer"
msgstr "Par défaut"
-#: src/pyams_default_theme/component/paragraph/keynumber.py:50
-msgid "Default key numbers renderer"
-msgstr "Par défaut"
-
#: src/pyams_default_theme/component/paragraph/frame.py:123
msgid "Default frame renderer"
msgstr "Encadré en pleine largeur (par défaut)"
@@ -113,10 +117,6 @@
msgid "Default contact renderer"
msgstr "Encadré en pleine largeur (par défaut)"
-#: src/pyams_default_theme/component/paragraph/header.py:40
-msgid "Default header renderer"
-msgstr "Par défaut"
-
#: src/pyams_default_theme/component/paragraph/zmi/map.py:62
msgid "Don't use default map configuration"
msgstr "Ne pas utiliser la configuration de carte par défaut"
@@ -218,10 +218,50 @@
msgid "Map position"
msgstr "Position de la carte"
-#: src/pyams_default_theme/component/association/__init__.py:41
+#: src/pyams_default_theme/component/association/__init__.py:48
msgid "Default associations renderer"
msgstr "Par défaut"
+#: src/pyams_default_theme/component/association/__init__.py:89
+msgid "Include remote content"
+msgstr "Include les blocs de contenu distants"
+
+#: src/pyams_default_theme/component/association/interfaces/__init__.py:31
+msgid "Display title?"
+msgstr "Afficher le titre ?"
+
+#: src/pyams_default_theme/component/association/interfaces/__init__.py:32
+msgid "Choose 'yes' to display remote content's title"
+msgstr "Choisissez 'oui' pour afficher le titre des contenus liés"
+
+#: src/pyams_default_theme/component/association/interfaces/__init__.py:36
+msgid "Display header?"
+msgstr "Afficher le chapô ?"
+
+#: src/pyams_default_theme/component/association/interfaces/__init__.py:37
+msgid "Choose 'yes' to display remote content's header"
+msgstr "Choisissez 'oui' pour afficher le chapô des contenus liés"
+
+#: src/pyams_default_theme/component/association/interfaces/__init__.py:41
+msgid "Anchors only?"
+msgstr "Ancres seulement ?"
+
+#: src/pyams_default_theme/component/association/interfaces/__init__.py:42
+msgid "If 'yes', only paragraphs set as 'anchors' will be selected"
+msgstr "Si 'oui', seuls les blocs de contenu désignés comme ancres seront sélectionnés"
+
+#: src/pyams_default_theme/component/association/interfaces/__init__.py:46
+msgid "Paragraph types"
+msgstr "Types de blocs"
+
+#: src/pyams_default_theme/component/association/interfaces/__init__.py:47
+msgid ""
+"Select list of paragraph types you want to include; an empty selection means "
+"that all paragraphs will be selected"
+msgstr ""
+"Sélectionnez le type des blocs de contenu que vous souhaitez intégrer ; si vous laissez "
+"la sélection vide, tous les types de blocs seront pris en compte"
+
#: src/pyams_default_theme/shared/view/templates/render.pt:2
msgid "View result items"
msgstr "Aperçu du contenu de la vue"
@@ -324,6 +364,9 @@
msgid "PyAMS simple header with banner and tabs"
msgstr "PyAMS: en-tête simple avec bandeau et onglets de navigation"
+#~ msgid "Default header renderer"
+#~ msgstr "Par défaut"
+
#~ msgid "Search..."
#~ msgstr "Chercher..."
--- a/src/pyams_default_theme/locales/pyams_default_theme.pot Thu Jul 19 18:28:28 2018 +0200
+++ b/src/pyams_default_theme/locales/pyams_default_theme.pot Tue Sep 04 15:20:52 2018 +0200
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE 1.0\n"
-"POT-Creation-Date: 2018-07-19 17:00+0200\n"
+"POT-Creation-Date: 2018-09-03 15:38+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -24,6 +24,10 @@
msgid "Default gallery renderer"
msgstr ""
+#: ./src/pyams_default_theme/component/keynumber/__init__.py:53
+msgid "Default key numbers renderer"
+msgstr ""
+
#: ./src/pyams_default_theme/component/keynumber/portlet/__init__.py:55
msgid "Horizontal list with carousel"
msgstr ""
@@ -32,23 +36,27 @@
msgid "Vertical list"
msgstr ""
-#: ./src/pyams_default_theme/component/illustration/__init__.py:72
-msgid "Centered illustration"
+#: ./src/pyams_default_theme/component/illustration/__init__.py:76
+msgid "Centered illustration before text"
msgstr ""
-#: ./src/pyams_default_theme/component/illustration/__init__.py:81
+#: ./src/pyams_default_theme/component/illustration/__init__.py:87
msgid "Small illustration on the left"
msgstr ""
-#: ./src/pyams_default_theme/component/illustration/__init__.py:92
+#: ./src/pyams_default_theme/component/illustration/__init__.py:99
msgid "Small illustration on the right"
msgstr ""
-#: ./src/pyams_default_theme/component/illustration/interfaces/__init__.py:30
+#: ./src/pyams_default_theme/component/illustration/__init__.py:111
+msgid "Centered illustration after text"
+msgstr ""
+
+#: ./src/pyams_default_theme/component/illustration/interfaces/__init__.py:41
msgid "Zoom on click?"
msgstr ""
-#: ./src/pyams_default_theme/component/illustration/interfaces/__init__.py:31
+#: ./src/pyams_default_theme/component/illustration/interfaces/__init__.py:42
msgid "If 'yes', a click on illustration thumbnail is required to zoom"
msgstr ""
@@ -77,10 +85,6 @@
msgid "Default audio renderer"
msgstr ""
-#: ./src/pyams_default_theme/component/paragraph/keynumber.py:50
-msgid "Default key numbers renderer"
-msgstr ""
-
#: ./src/pyams_default_theme/component/paragraph/frame.py:123
msgid "Default frame renderer"
msgstr ""
@@ -111,10 +115,6 @@
msgid "Default contact renderer"
msgstr ""
-#: ./src/pyams_default_theme/component/paragraph/header.py:40
-msgid "Default header renderer"
-msgstr ""
-
#: ./src/pyams_default_theme/component/paragraph/zmi/map.py:62
msgid "Don't use default map configuration"
msgstr ""
@@ -203,10 +203,48 @@
msgid "Map position"
msgstr ""
-#: ./src/pyams_default_theme/component/association/__init__.py:41
+#: ./src/pyams_default_theme/component/association/__init__.py:48
msgid "Default associations renderer"
msgstr ""
+#: ./src/pyams_default_theme/component/association/__init__.py:89
+msgid "Include remote content"
+msgstr ""
+
+#: ./src/pyams_default_theme/component/association/interfaces/__init__.py:31
+msgid "Display title?"
+msgstr ""
+
+#: ./src/pyams_default_theme/component/association/interfaces/__init__.py:32
+msgid "Choose 'yes' to display remote content's title"
+msgstr ""
+
+#: ./src/pyams_default_theme/component/association/interfaces/__init__.py:36
+msgid "Display header?"
+msgstr ""
+
+#: ./src/pyams_default_theme/component/association/interfaces/__init__.py:37
+msgid "Choose 'yes' to display remote content's header"
+msgstr ""
+
+#: ./src/pyams_default_theme/component/association/interfaces/__init__.py:41
+msgid "Anchors only?"
+msgstr ""
+
+#: ./src/pyams_default_theme/component/association/interfaces/__init__.py:42
+msgid "If 'yes', only paragraphs set as 'anchors' will be selected"
+msgstr ""
+
+#: ./src/pyams_default_theme/component/association/interfaces/__init__.py:46
+msgid "Paragraph types"
+msgstr ""
+
+#: ./src/pyams_default_theme/component/association/interfaces/__init__.py:47
+msgid ""
+"Select list of paragraph types you want to include; an empty selection means "
+"that all paragraphs will be selected"
+msgstr ""
+
#: ./src/pyams_default_theme/shared/view/templates/render.pt:2
msgid "View result items"
msgstr ""
--- a/src/pyams_default_theme/resources/css/pyams-default.css.map Thu Jul 19 18:28:28 2018 +0200
+++ b/src/pyams_default_theme/resources/css/pyams-default.css.map Tue Sep 04 15:20:52 2018 +0200
@@ -1,1 +1,1 @@
-{"version":3,"sources":["../less/pyams-default.less"],"names":[],"mappings":"AAAA;EACC,cAAA;;AADD,IAGC,eACC;EACC,kBAAA;;AAIC,IANH,eACC,eAGC,QAEE;AAAD,IANH,eACC,eAIC,IACE;EACA,WAAA;;AAED,IATH,eACC,eAGC,QAKE;AAAD,IATH,eACC,eAIC,IAIE;EACA,kBAAA;EACA,SAAA;EACA,UAAA;EACA,YAAY,SAAZ;;AAUH,wBAA2C;EAC1C,YAFF,MAEG;IACA,aAAA;;;AAGF,wBAA0C,uBAAwB;EACjE,YAPF,MAOG;IACA,aAAA;;;AAGF,wBAA0C,uBAAuB;EAChE,YAZF,MAYG;IACA,aAAA;;;AAGF,wBAA0C;EACzC,YAjBF,MAiBG;IACA,aAAA;;;AAQH,cAAC;EACA,mBAAA;;AAED,cAAC;EACA,mBAAA","file":"pyams-default.css"}
\ No newline at end of file
+{"version":3,"sources":["../../../../../../../../../home/tflorac/Dropbox/src/PyAMS/pyams_default_theme/src/pyams_default_theme/resources/less/pyams-default.less"],"names":[],"mappings":"AAAA;EACC,cAAA;;AADD,IAGC,eACC;EACC,kBAAA;;AAIC,IANH,eACC,eAGC,QAEE;AAAD,IANH,eACC,eAIC,IACE;EACA,WAAA;;AAED,IATH,eACC,eAGC,QAKE;AAAD,IATH,eACC,eAIC,IAIE;EACA,kBAAA;EACA,SAAA;EACA,UAAA;EACA,YAAY,SAAZ;;AAUH,wBAA2C;EAC1C,YAFF,MAEG;IACA,aAAA;;;AAGF,wBAA0C,uBAAwB;EACjE,YAPF,MAOG;IACA,aAAA;;;AAGF,wBAA0C,uBAAuB;EAChE,YAZF,MAYG;IACA,aAAA;;;AAGF,wBAA0C;EACzC,YAjBF,MAiBG;IACA,aAAA;;;AAQH,cAAC;EACA,mBAAA;;AAED,cAAC;EACA,mBAAA","file":"pyams-default.css"}
\ No newline at end of file
--- a/src/pyams_default_theme/shared/common/__init__.py Thu Jul 19 18:28:28 2018 +0200
+++ b/src/pyams_default_theme/shared/common/__init__.py Tue Sep 04 15:20:52 2018 +0200
@@ -16,7 +16,7 @@
# import standard library
# import interfaces
-from pyams_content.component.illustration import ILinkIllustration, IIllustration
+from pyams_content.component.illustration import ILinkIllustration, IIllustration, IBasicIllustrationTarget
from pyams_content.interfaces import IBaseContent
from pyams_content.shared.common.interfaces import IWfSharedContent
from pyams_default_theme.interfaces import IContentNavigationTitle, IContentTag, IContentDate, \
@@ -91,6 +91,7 @@
@adapter_config(context=(IBaseContent, IPyAMSLayer), provides=IContentNavigationIllustration)
+@adapter_config(context=(IBasicIllustrationTarget, IPyAMSLayer), provides=IContentNavigationIllustration)
def base_content_navigation_illustration_adapter(context, request):
"""Default content navigation illustration adapter"""
illustration = ILinkIllustration(context, None)
--- a/src/pyams_default_theme/templates/layout.pt Thu Jul 19 18:28:28 2018 +0200
+++ b/src/pyams_default_theme/templates/layout.pt Tue Sep 04 15:20:52 2018 +0200
@@ -32,7 +32,7 @@
<div id="main" class="no-margin" role="main">
<!-- Content -->
- <div id="content" style="opacity: 1;">
+ <div id="content" class="container" style="opacity: 1;">
<!--[if lt IE 9]>
<h1 i18n:translate="">Your browser is too old. Please install version 9 or higher of Internet Explorer.</h1>
<![endif]-->
--- a/src/pyams_default_theme/templates/preview-layout.pt Thu Jul 19 18:28:28 2018 +0200
+++ b/src/pyams_default_theme/templates/preview-layout.pt Tue Sep 04 15:20:52 2018 +0200
@@ -29,7 +29,7 @@
<div id="main" class="no-margin" role="main">
<!-- Content -->
- <div id="content" style="opacity: 1;">
+ <div id="content" class="container" style="opacity: 1;">
<!--[if lt IE 9]>
<h1 i18n:translate="">Your browser is too old. Please install version 9 or higher of Internet Explorer.</h1>
<![endif]-->