appy.pod: bugfix in html2odt: in some situations, while using stylesMappings, some empty tags were present in the result, producing a superflous empty paragraph; bugfix while importing PNG files under Windows; appy.gen: began to implement a new global Appy-specific page template and styles.
This commit is contained in:
		
							parent
							
								
									ddec7cd62c
								
							
						
					
					
						commit
						7514eb31a9
					
				
					 9 changed files with 114 additions and 21 deletions
				
			
		| 
						 | 
				
			
			@ -159,8 +159,7 @@ class Generator(AbstractGenerator):
 | 
			
		|||
        self.generateTool()
 | 
			
		||||
        self.generateInit()
 | 
			
		||||
        self.generateTests()
 | 
			
		||||
        if self.config.frontPage:
 | 
			
		||||
            self.generateFrontPage()
 | 
			
		||||
        if self.config.frontPage: self.generateFrontPage()
 | 
			
		||||
        self.copyFile('Install.py', self.repls, destFolder='Extensions')
 | 
			
		||||
        self.generateConfigureZcml()
 | 
			
		||||
        self.copyFile('import_steps.xml', self.repls,
 | 
			
		||||
| 
						 | 
				
			
			@ -566,6 +565,8 @@ class Generator(AbstractGenerator):
 | 
			
		|||
    def generateFrontPage(self):
 | 
			
		||||
        fp = self.config.frontPage
 | 
			
		||||
        repls = self.repls.copy()
 | 
			
		||||
        template = 'frontPage.pt'
 | 
			
		||||
        if self.config.frontPageTemplate== 'appy': template = 'frontPageAppy.pt'
 | 
			
		||||
        if fp == True:
 | 
			
		||||
            # We need a front page, but no specific one has been given.
 | 
			
		||||
            # So we will create a basic one that will simply display
 | 
			
		||||
| 
						 | 
				
			
			@ -582,7 +583,7 @@ class Generator(AbstractGenerator):
 | 
			
		|||
            page, macro = fp.split('/')
 | 
			
		||||
            repls['pageContent'] = '<metal:call use-macro=' \
 | 
			
		||||
                                   '"context/%s/macros/%s"/>' % (page, macro)
 | 
			
		||||
        self.copyFile('frontPage.pt', repls, destFolder=self.skinsFolder,
 | 
			
		||||
        self.copyFile(template, repls, destFolder=self.skinsFolder,
 | 
			
		||||
                      destName='%sFrontPage.pt' % self.applicationName)
 | 
			
		||||
 | 
			
		||||
    def generateTool(self):
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										21
									
								
								gen/plone25/skin/appy.css
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								gen/plone25/skin/appy.css
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,21 @@
 | 
			
		|||
body {
 | 
			
		||||
  font: 75% Lucida,Helvetica,Arial,sans-serif;
 | 
			
		||||
  background-color: #EAEAEA;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
a {text-decoration: none; color: #747171;}
 | 
			
		||||
a:visited {color: #840107;}
 | 
			
		||||
table { font-size: 100%; border-spacing: 0px; }
 | 
			
		||||
 | 
			
		||||
.main {
 | 
			
		||||
  width: 900px;
 | 
			
		||||
  background-color: white;
 | 
			
		||||
  border-style: solid;
 | 
			
		||||
  border-width: 1px;
 | 
			
		||||
  border-color: grey;
 | 
			
		||||
  box-shadow: 3px 3px 3px #A9A9A9;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.top { height: 80px; margin-left: 3em; vertical-align: top;}
 | 
			
		||||
.lang { margin-right: 3px; }
 | 
			
		||||
.auth { background-color: grey;}
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								gen/plone25/skin/logo.jpg
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								gen/plone25/skin/logo.jpg
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 5.2 KiB  | 
							
								
								
									
										78
									
								
								gen/plone25/skin/template.pt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								gen/plone25/skin/template.pt
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,78 @@
 | 
			
		|||
<html metal:define-macro="main"
 | 
			
		||||
      tal:define="user context/portal_membership/getAuthenticatedMember;
 | 
			
		||||
                  isAnon python: user.getUserName() == 'Anonymous User';
 | 
			
		||||
                  app python: tool.getParentNode();
 | 
			
		||||
                  appUrl app/absolute_url;
 | 
			
		||||
                  _ python: tool.translate;
 | 
			
		||||
                  req python: request;
 | 
			
		||||
                  resp req/RESPONSE;
 | 
			
		||||
                  x python: resp.setHeader('Content-Type', 'text/html;;charset=utf-8');
 | 
			
		||||
                  x python: resp.setHeader('Expires', 'Thu, 11 Dec 1975 12:05:00 GMT+2');
 | 
			
		||||
                  x python: resp.setHeader('Content-Language', request.get('language', 'en'))">
 | 
			
		||||
 | 
			
		||||
<head>
 | 
			
		||||
  <title tal:content="tool/getAppName"></title>
 | 
			
		||||
  <link rel="stylesheet" tal:attributes="href string:$appUrl/skyn/appy.css" type="text/css">
 | 
			
		||||
</head>
 | 
			
		||||
 | 
			
		||||
<body>
 | 
			
		||||
<table class="main" align="center">
 | 
			
		||||
 <tal:comment replace="nothing">Top banner</tal:comment>
 | 
			
		||||
 <tr class="top" metal:define-slot="top">
 | 
			
		||||
  <td>
 | 
			
		||||
   <table width="100%">
 | 
			
		||||
    <tr valign="top">
 | 
			
		||||
     <tal:comment replace="nothing">Logo</tal:comment>
 | 
			
		||||
     <td><img src="skyn/logo.jpg"/></td>
 | 
			
		||||
     <tal:comment replace="nothing">Language selector (links or listbox)</tal:comment>
 | 
			
		||||
     <td align="right"
 | 
			
		||||
         tal:define="appLangs app/portal_languages/listSupportedLanguages;
 | 
			
		||||
                     defLang python: app.portal_languages.getLanguageBindings()[0];
 | 
			
		||||
                     suffix python: req.get('ACTUAL_URL').split('/')[-1];
 | 
			
		||||
                     asLinks python: len(appLangs) <= 5"
 | 
			
		||||
         tal:condition="python: len(appLangs) >= 2 and (suffix not in ('edit', 'query', 'search'))">
 | 
			
		||||
      <table tal:condition="asLinks">
 | 
			
		||||
       <tr>
 | 
			
		||||
        <td tal:repeat="lang appLangs">
 | 
			
		||||
          <a class="lang"
 | 
			
		||||
             tal:attributes="href python: req.get('ACTUAL_URL')+'/switchLanguage?set_language=%s' % lang[0];
 | 
			
		||||
                             title python: app.portal_languages.getNameForLanguageCode(lang[1])"
 | 
			
		||||
             tal:content="python: lang[0]"></a>
 | 
			
		||||
         </td>
 | 
			
		||||
        </tr>
 | 
			
		||||
      </table>
 | 
			
		||||
      <select tal:condition="not: asLinks"
 | 
			
		||||
              tal:attributes="onchange string:window.location='${context/absolute_url}/switchLanguage?set_language=' + this.options[this.selectedIndex].value">
 | 
			
		||||
       <option tal:repeat="lang appLangs"
 | 
			
		||||
               tal:content="python:app.portal_languages.getNameForLanguageCode(lang[0]) or lang[1]"
 | 
			
		||||
               tal:attributes="selected python:defLanguage == lang[0];
 | 
			
		||||
                               value python:lang[0]">
 | 
			
		||||
       </option>
 | 
			
		||||
      </select>
 | 
			
		||||
     </td>
 | 
			
		||||
    </tr>
 | 
			
		||||
   </table>
 | 
			
		||||
  </td>
 | 
			
		||||
 </tr>
 | 
			
		||||
 <tal:comment replace="nothing">The login strip</tal:comment>
 | 
			
		||||
 <tr class="auth">
 | 
			
		||||
  <td>
 | 
			
		||||
   <table witdh="100%">
 | 
			
		||||
    <tr>
 | 
			
		||||
     <td>a  </td>
 | 
			
		||||
    </tr>
 | 
			
		||||
   </table>
 | 
			
		||||
  </td>
 | 
			
		||||
 </tr>
 | 
			
		||||
 <tr>
 | 
			
		||||
   <td><span metal:define-slot="content"><span tal:content="isAnon"></span></span></td>
 | 
			
		||||
 </tr>
 | 
			
		||||
</table>
 | 
			
		||||
 | 
			
		||||
<br/>
 | 
			
		||||
<h1>Appy</h1>
 | 
			
		||||
<h2>Sub appy</h2>
 | 
			
		||||
<h3>Sub sub appy</h3>
 | 
			
		||||
<p>Hello</p>
 | 
			
		||||
</body>
 | 
			
		||||
</html>
 | 
			
		||||
							
								
								
									
										5
									
								
								gen/plone25/templates/frontPageAppy.pt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								gen/plone25/templates/frontPageAppy.pt
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,5 @@
 | 
			
		|||
<tal:main define="tool python: context.<!toolInstanceName!>">
 | 
			
		||||
<html metal:use-macro="context/skyn/template/macros/main">
 | 
			
		||||
  <div metal:fill-slot="content"><!pageContent!></div>
 | 
			
		||||
</html>
 | 
			
		||||
</tal:main>
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue