from zope.cachedescriptors.property import CachedProperty # Silva from silva.core.views import views as silvaviews from silva.core.layout.porto import porto from silva.core import conf as silvaconf from silva.core.interfaces.content import IContainer from Products.RwLayout import rw_layout from Products.KarthagoLayout.configuration import infrastructure from Products.KarthagoLayout.skin import IKarthago portlets_id = "portlets" silvaconf.layer(IKarthago) class MainLayout(rw_layout.MainLayout): pass class KarthagoInserts(silvaviews.Viewlet): grok.viewletmanager(porto.HTMLHeadInsert) def render(self): return u''' <link rel="shortcut icon" type="image/x-icon" href="%s" />''' %self.static['favicon.ico']() class Favicon(silvaviews.Viewlet): grok.viewletmanager(porto.HTMLHeadInsert) def render(self): return ''
""" silvaconf.resource("html5reset.css") silvaconf.resource("modernizr-1.7.min.js") silvaconf.resource("typography.css") silvaconf.resource("default.css") class ISilvaDocsSkin(ISilvaDocs, ISilvaSkin): """Skin for silva docs theme """ silvaconf.skin("Silva Docs") silvaconf.layer(ISilvaDocs) class Navigation(porto.Navigation): max_depth = 1 class Layout(porto.Layout): @Lazy def publication_title(self): return self.context.get_publication().get_title() @Lazy def publication_url(self): return self.context.get_publication().absolute_url()
from five import grok from zope.cachedescriptors.property import CachedProperty from zope.component import getMultiAdapter, getAdapter from Products.Five.component.interfaces import IObjectManagerSite from silva.core import conf as silvaconf from silva.core.layout.porto import porto from silva.core.views.interfaces import IVirtualSite from Products.RwLayout.skin import IRelationWare from Products.RwLayout.interfaces import IRwCustomRoot silvaconf.layer(IRelationWare) class MainLayout(porto.MainLayout): @CachedProperty def get_custom_root(self): ''' @return: the custom root, i.e. the nearest container marked with 'IRwCustomRoot' or the site root. ''' model = self.context site_root = _getSilvaRoot(self.request) while True: if IRwCustomRoot.providedBy(model) or model == site_root: return model model = model.aq_inner.aq_parent return model
# -*- coding: utf-8 -*- # Copyright (c) 2011 RelationWare, Benno Luthiger. All rights reserved. # See also LICENSE.txt from zope.cachedescriptors.property import CachedProperty from silva.core.views import views as silvaviews from silva.core.layout.interfaces import IMetadata from silva.core.layout.porto import porto from silva.core import conf as silvaconf from Products.RwLayout import rw_layout from Products.RelationsLayout.skin import IRelations silvaconf.layer(IRelations) metadata_id = "relations-layout" class Layout(rw_layout.Layout): def showSFLogo(self): context = self.context localSite = rw_layout.getLocalSite(self.context.get_publication(), self.request) metadata = IMetadata(localSite) try: value = metadata(metadata_id, "plain_layout") return not value and 1 or 0 except: pass return 0 class MainMenu(porto.Layout):
# -*- coding: utf-8 -*- # Copyright (c) 2011 RelationWare, Benno Luthiger. All rights reserved. # See also LICENSE.txt from zope.cachedescriptors.property import CachedProperty from silva.core.views import views as silvaviews from silva.core import conf as silvaconf from Products.RwLayout import rw_layout from Products.RelationsLayout import relations from Products.VIFLayout.skin import IVif silvaconf.layer(IVif) class MainLayout(rw_layout.MainLayout): @CachedProperty def get_page_title(self): doctitle = self.context.get_title_or_id() prefix = '' if not doctitle.startswith('VIF:'): prefix = 'VIF: ' return prefix + doctitle class Navigation(rw_layout.Navigation): pass class Breadcrumbs(rw_layout.Breadcrumbs): pass
from zeam.form.silva import IPublicFormResources class IStandardIssue(IPorto, IPublicFormResources): """Layer for standard issue theme """ silvaconf.resource('default.css') class IStandardIssueSkin(IStandardIssue, ISilvaSkin): """Skin for standard issue theme """ silvaconf.skin('Standard Issue') silvaconf.layer(IStandardIssue) class Navigation(porto.Navigation): max_depth = 1 class Layout(porto.Layout): @Lazy def publication_title(self): return self.context.get_publication().get_title() @Lazy def publication_url(self): return self.context.get_publication().absolute_url()
from silva.core import conf as silvaconf from silva.core.views import views as silvaviews class IMultiflex(IPorto): """Multiflex layer to include CSS """ silvaconf.resource('layout_setup.css') silvaconf.resource('layout_text.css') class IMultiflexSkin(IMultiflex, ISilvaSkin): """Skin Multiflex. """ silvaconf.skin('Multiflex') silvaconf.layer(IMultiflex) class Layout(silvaviews.ContentProvider): @CachedProperty def publication_title(self): return self.context.get_publication().get_title() @CachedProperty def publication_url(self): return self.context.get_publication().absolute_url()
class IESoliatheme(IPorto): """Skin for ESoliatheme """ silvaconf.resource('default.css') class IESoliathemeSkin(IESoliatheme, ISilvaSkin): """Skin for ESoliatheme """ silvaconf.skin('ESoliatheme') silvaconf.layer(IESoliatheme) class Navigation(porto.Navigation): max_depth = 1 class Layout(porto.Layout): @CachedProperty def publication_title(self): return self.context.get_publication().get_title() @CachedProperty def publication_url(self): return self.context.get_publication().absolute_url()
# -*- coding: utf-8 -*- # Copyright (c) 2012 RelationWare, Benno Luthiger. All rights reserved. # See also LICENSE.txt from zope.cachedescriptors.property import CachedProperty from silva.core.views import views as silvaviews from silva.core.layout.porto import porto from silva.core import conf as silvaconf from Products.RwLayout import rw_layout from Products.RiplaLayout.skin import IRipla silvaconf.layer(IRipla) class MainLayout(porto.MainLayout): @CachedProperty def get_site_title(self): return rw_layout.getLocalSite(self.context.get_publication(), self.request).get_title() class Layout(rw_layout.Layout): pass class Breadcrumbs(rw_layout.Breadcrumbs): pass class Footer(silvaviews.ContentProvider): pass
# Silva from silva.core.interfaces import IGhost from Products.SilvaDocument.interfaces import IDocument from Products.RwLayout import rw_layout from Products.HipLayout.skin import IHip from Products.HipLayout.configuration import infrastructure from Products.Silva.Publication import Publication from Products.Silva.Folder import Folder from Products.Silva.Link import Link _menu_objects = [Publication.meta_type, Folder.meta_type, Link.meta_type] silvaconf.layer(IHip) class MainLayout(rw_layout.MainLayout): pass class Layout(rw_layout.Layout): pass class HipInserts(silvaviews.Viewlet): grok.viewletmanager(porto.HTMLHeadInsert) def render(self): return u''' <meta name="copyright" content="Code: Benno Luthiger, RelationWare" /> <meta name="copyright" content="Design: Vit Dlouhy [Nuvio - www.nuvio.cz]" /> <link rel="shortcut icon" type="image/x-icon" href="%s" />''' %self.static['favicon.png']()