Main macros for kelpi

[ permalink ] [ download ]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:tal="http://xml.zope.org/namespaces/tal"
      metal:define-macro="html" >
  <head>
    <title><span metal:define-slot="title"></span> - kelpi</title>
    <link rel="stylesheet" type="text/css" media="screen,projection" tal:attributes="href context/++resource++kelpi.css" />
    <link rel="stylesheet" type="text/css" media="screen,projection" tal:attributes="href context/++resource++pieceofcode.css" />
    <link rel="stylesheet" type="text/css" media="screen,projection" tal:attributes="href context/++resource++edit.css" />
    <tal:if condition="views/main-macros/isLoginPath" >
      <link rel="stylesheet" type="text/css" media="screen,projection" tal:attributes="href context/++resource++login.css" />
    </tal:if>
    <tal:if condition="views/main-macros/isPostPath" >
      <link rel="stylesheet" type="text/css" media="screen,projection" tal:attributes="href context/++resource++post.css" />
    </tal:if>
    <link rel="shortcut icon" tal:attributes="href context/++resource++favicon.ico" type="image/x-icon" />
    <script type="text/javascript" tal:attributes="src context/++resource++kelpi.js"></script>
  </head>
  <body>
    
    <div id="header">
      <div metal:use-macro="views/main-macros/logobox"></div>
      <div metal:use-macro="views/main-macros/loginbox"></div>
      <div metal:use-macro="views/main-macros/searchbox"></div>
      <div metal:use-macro="views/main-macros/mainmenu"></div>
    </div>

    <div metal:define-slot="contents"></div>

    <div metal:use-macro="views/main-macros/footer"></div>

  </body>
</html>

<!----------------------------------------------------------------------------------------------------------->

<div id="logobox" metal:define-macro="logobox">
  <tal:if condition="views/main-macros/isRootPath" >
    <img src="/++resource++logo.png" alt="kelpi - logo"/>
  </tal:if>
  <tal:if condition="not:views/main-macros/isRootPath" >
    <a href="/"><img src="/++resource++logo.png" alt="kelpi - logo"/></a>
  </tal:if>
</div>

<!----------------------------------------------------------------------------------------------------------->

<div id="loginbox" metal:define-macro="loginbox">
  <tal:if condition="python:not(views['main-macros'].logged()) and not (views['main-macros'].isLoginPath())" >
    <a href="/login">sign in</a>
  </tal:if>
  <tal:if condition="python:not(views['main-macros'].logged()) and views['main-macros'].isLoginPath()" >
    <span>sign in</span>
  </tal:if>
  <span tal:condition="views/main-macros/logged" tal:replace="request/principal/id"/>
  <a tal:condition="views/main-macros/logged" href="/logout" >exit</a>
</div>

<!----------------------------------------------------------------------------------------------------------->

<div id="searchbox" metal:define-macro="searchbox">
  <form action="/search" id="search" onsubmit="return handleSubmit(event)">
    <input tal:define="termvalue views/main-macros/searchTerm"
           tal:attributes="value termvalue"
           onkeydown="return handleKeyDown(event);"
           id="q" name="term" type="text" />
    <input type="submit" onclick="return handleClick(event)" value="Search" />
  </form>
</div>

<!----------------------------------------------------------------------------------------------------------->

<div id="mainmenubox" metal:define-macro="mainmenu">

  <tal:if condition="views/main-macros/isAboutPath" >
    <div>about</div>
  </tal:if>
  <tal:if condition="not:views/main-macros/isAboutPath" >
    <a href="/about">about</a>
  </tal:if>

  <tal:if condition="views/main-macros/isPostPath" >
    <div>post</div>
  </tal:if>
  <tal:if condition="not:views/main-macros/isPostPath" >
    <a href="/post">post</a>
  </tal:if>

  <tal:if condition="views/main-macros/logged">
    <a tal:attributes="href string:/${request/principal/id}">my code</a>
  </tal:if>

  <tal:if condition="python:not(views['main-macros'].logged()) and not (views['main-macros'].isLoginPath())" >
    <a href="/login/first-time" >register</a>
  </tal:if>
  <tal:if condition="python:not(views['main-macros'].logged()) and views['main-macros'].isLoginPath()" >
    <div>register</div>
  </tal:if>

  <tal:if condition="not:views/main-macros/isRootPath" ><a href="/">home</a></tal:if>
  <tal:if condition="views/main-macros/isRootPath" ><div>home</div></tal:if>

</div>

<!----------------------------------------------------------------------------------------------------------->

<div metal:define-macro="footer" tal:omit-tag="">

    <div id="footer"><center>The <a href="http://www.kelpi.com/">Kelpi</a> project.</center></div>
    <span tal:omit-tag="" tal:define="t python:view.request.response.setHeader('content-type', 'text/html')"></span>

    <tal:comment replace="nothing">

    <!-- Start of StatCounter Code -->
    <script type="text/javascript">
    <!-- 
      var sc_project=2316211; 
      var sc_invisible=1; 
      var sc_partition=21; 
      var sc_security="3499f486"; 
    //-->
    </script>

    <script type="text/javascript" src="http://www.statcounter.com/counter/counter_xhtml.js"></script>
    <noscript><div class="statcounter">
      <a class="statcounter" href="http://www.statcounter.com/">
        <img class="statcounter" 
             src="http://c22.statcounter.com/counter.php?sc_project=2316211&java=0&security=3499f486&invisible=1" 
             alt="website statistics" />
      </a>
    </div></noscript>
    <!-- End of StatCounter Code -->

    </tal:comment >

</div>

<!----------------------------------------------------------------------------------------------------------->

<div metal:define-macro="listofpieces" id="listofpieces" >
  <div class="pieceonthelist" tal:condition="pieces" tal:repeat="piece pieces" >

    <tal:define define="index_view nocall:piece/@@index.html">

    <span class="title"><h2><a tal:attributes="href index_view/view_url" tal:content="piece/title"></a></h2></span>

    <div tal:define="termvalue views/main-macros/searchTerm" id="shortPreview"
         tal:content="structure python:index_view.short_preview_found_src(term=termvalue)"></div>

    <span class="tags">
      <a tal:repeat="tag index_view/tags"
         tal:attributes="href string:/tag/${tag}"
         tal:content="tag"></a>
    </span>
      
    <span class="user"> by
      <a tal:define="user index_view/user"
         tal:attributes="href string:/${user}" >

        <tal:if condition="python:user=='kelpi'">
          <tal:replace replace="string:anonymous"></tal:replace>
        </tal:if>
        <tal:if condition="python:user!='kelpi'">
          <tal:if condition="python:view.request.principal.id == user" replace="string:myself" />
          <tal:if condition="not:python:view.request.principal.id == user" replace="user" />
        </tal:if>

      </a>
    </span>

    </tal:define>

  </div>
</div>

<!----------------------------------------------------------------------------------------------------------->
hits counter