URL:  http://trac.edgewall.org/wiki/CookBook/TracLayoutRecipe

I've followed the instructions listed in the URL above to the best of my 
ability, but I'm obviously not setting something properly in the css 
configuration.

All graphics located in the gfx directory are accessible via <base 
url>/chrome/site/gfx/shadow.gif  - and are one level up from the location 
of the htdocs folder containing projects.css

What am I doing wrong?  I've successfully configured other css and 
site.html in the context of trac in the past.

*Index:*


   1. Present state of trac development site
   2. Trac.ini snippet
   3. site.html (modified to read css from htdocs)
   4. projects.css 
   


Present state of trac development site

<https://lh3.googleusercontent.com/-2wFd1nfQ3co/U-uURT0eAhI/AAAAAAAAASk/_8NpgK4Y9BU/s1600/TracLayoutRecipe_Broken.png>


Trac.ini

[inherit]

plugins_dir = /srv/trac/trac/plugins

templates_dir = /srv/trac/trac/templates


site.html

<html xmlns="http://www.w3.org/1999/xhtml";

      xmlns:xi="http://www.w3.org/2001/XInclude";

      xmlns:py="http://genshi.edgewall.org/";

      py:strip="">


  <!--! Add site-specific style sheet -->

  <head py:match="head" py:attrs="select('@*')">

    ${select('*|comment()|text()')}

    <!--! The following line adds the projects.css,

           assuming it is available via the relative path 
/htdocs/projects.css

           if the css directory is available via a different URL,

           change it here. -->

    <link rel="stylesheet" type="text/css" href="/htdocs/projects.css" />

  </head>


  <py:match path="body" once="true" buffer="false"><body>


    <div id="wrapper">

      <div id="topbar">

        <a id="home-link" href="/trac/">Site Index</a>

      </div>


      <div id="ew-header">

       <div id="topnav">

        <ul>

        <!--! The following block of list items is the top navigation bar,

               that allows quick jumps between the available projects.

               Currently it includes the projects of Edgewall Software, as 
examples.

               You will need to modify the list according to your projects.

               Note that each list item (except for 'Home') has a class 
property

               that is assigned "active" if the current project is the 
active one.

               You will also need to modify the tests for every item to 
check

               against the correct name of each project.

               In addition, each anchor element has a class that allows 
formatting

               each item independently from other items (see projects.css) 
-->

         <li><a href="http://www.edgewall.org/";>Home</a></li>

         <li class="${project.name=='The Trac Project' and 'active' or 
None}">

           <a class="trac" href="http://trac.edgewall.org/";>Trac</a>

         </li>

         <li class="${project.name=='Genshi' and 'active' or None}">

           <a class="genshi" href="http://genshi.edgewall.org/";>Genshi</a>

         </li>

         <li class="${project.name=='Babel' and 'active' or None}">

           <a class="babel" href="http://babel.edgewall.org/";>Babel</a>

         </li>

         <li class="${project.name=='Bitten' and 'active' or None}">

           <a class="bitten" href="http://bitten.edgewall.org/";>Bitten</a>

         </li>

         <li class="${project.name=='Posterity' and 'active' or None}">

           <a class="posterity" 
href="http://posterity.edgewall.org/";>Posterity</a>

         </li>

        </ul>

       </div>

     </div>


     <div id="ew-main">

       <div id="ew-content">


         <!--! The following line adds the "left box" with quick links.

                The site_leftbox.html file is the template for the left box,

                and should be located in the same directory as the 
site.html file.

                Refer to this file for further details. -->

         <xi:include href="site_leftbox.html"><xi:fallback/></xi:include>


         ${select('*|text()')}


        </div><!-- #ew-content -->

      </div>

    </div>

    <div id="ew-footer">

      <!--! This is the page footer, where you can include contact & 
copyright info -->

      <p><a href="mailto:contact@mail";>contact@mail</a></p>

      <p>Copyright &copy; Copyright String. All rights reserved.</p>

    </div>


    <div id="right">


         <!--! The following line adds the "right box".

                The site_rightbox.html file is the template for the right 
box,

                and should be located in the same directory as the 
site.html file.

                An example is not included,

                but the concept is identical to the left box... -->

         <xi:include href="site_rightbox.html"><xi:fallback/></xi:include>


   </div>

  </body></py:match>

</html>


projects.css

body { background: #4b4d4d url(../gfx/bkgnd_pattern.png); margin: 0; 
padding: 0; }


h1 { color: #555; font-size: 26px; margin: 1em 0 .5em 0; }

h1 :link, h1 :visited, h2 :link, h2 :visited, h3 :link, h3 :visited {

  border: none;

}

h2 { margin-top: 2em; font-style: normal; }


#wrapper { background: #4b4d4d url(../gfx/shadow.gif) 100% 0 repeat-y;

  padding: 0 145px 0 0; margin-left: 100px;

}

#topbar { background: #c00; border-left: 1px solid #000; font-size: 
xx-small; height: 1.2em;}

#topbar ul { font-size: xx-small; margin: 0; padding: 0; list-style: none; }

#topbar li { display: inline; padding: 0; }

#topbar li a { background: #c00; border: none; border-left: 1px solid;

  color: #fff; margin: 0; padding: 0 20px;

}

#topbar li.active a { font-weight: bold; }

#topbar li a:hover { background-color: #fff !important; color: #b00; }

#home-link { color: #fff; border: none; font-size: xx-small; }

#home-link:hover { background: #fff; color: #b00; }


#topnav { background: #fff url(../gfx/whtgrad.png) repeat-x;

  border-bottom: 12px solid #000; clear: both;

  float: left; margin: 96px 0 0; padding: 0; position: relative;

  width: 100%;

}

#topnav ul { margin: 0 auto; padding: 0; list-style: none; }

#topnav li { float: left; margin: 0; padding: 0; }

#topnav li.active { color: #fb0; font-weight: bold; }

#topnav a { border-bottom: none; border-right: 1px solid #ddd; color: #555;

  float: left; font-size: 13px; letter-spacing: -1px; margin: 0;

  padding: 4px 15px; text-decoration: none;

}

#topnav a.trac { color: #800;}

#topnav a.blog { color: #760;}

#topnav li.active a { background: #000 url(../gfx/blkgrad.png) repeat-x; 
color: #eee; }

#topnav li a:hover { background: #999; color: #eee; }

#topnav li.active a:hover { color: #eee; }


#ew-header { background: #fff url(../gfx/shredder.png) 100% 0 no-repeat;

  border-left: 1px solid #000; clear: both; font-size: x-small; margin: 0;

  height: 96px;

}

#ew-main { margin-left: -100px; }

#ew-content { background: #fff; border-bottom: 12px solid #000;

  border-left: 1px solid #000; margin-left: 100px; min-height: 560px;

}

* html #ew-content { height: 560px; }

#ew-footer { clear: both; color: #999; font-size: 9px; text-align: center; }

#ew-footer :link, #ew-footer :visited { border: none; color: #c6c6c6; }

#ew-footer :link:hover, #ew-footer :visited:hover { background: transparent;

  text-decoration: underline;

}

#left { position: absolute; top: 205px; left: 0; z-index: 1; width: 100px;

 font-size: x-small; text-align: right;

}

#left ul { list-style: none; margin: 0; padding: 0; }

#left ul li { margin: 5px 0; padding: 0; }

#left :link, #left :visited { color: #c6c6c6; border: none; display: block;

  padding: 3px 10px 3px 5px;

}

#left :link:hover, #left :visited:hover { background: #000; color: #fff; }

#right { position: absolute; top: 50px; right: 10px; z-index: 1; }

#ohloh-badge { margin-bottom: 20px; text-align: center; }

#ohloh-badge :link, #ohloh-badge :visited { border: none; }

#ohloh-badge :link:hover, #ohloh-badge :visited:hover { background: 
transparent; border: none; }


/* Trac overrides */

#header { clear: both; border-top: 1px solid #000; background: #fff; }

#logo { position: absolute; left: 130px; top: 20px; }

#logo img { position: relative; }

#header h1 { position: absolute; left: 120px; top: -30px; font-size: 42px; }

#search { position: absolute; top: 45px; right: 180px; }

#metanav { background: transparent; margin: 0; padding: 0 0 .3em;

  position: absolute; top: 90px; right: 166px; width: 100%;

}

#metanav li { border-color: #999; }

#metanav :link, #metanav :visited { color: #c6c6c6; border: none; }

#metanav a:hover { color: #fff; background: #999; }

#mainnav { border-width: 0 0 1px; height: 1.2em; margin: 0; padding-top: 
1px; }

*+html #mainnav { margin-top: 35px; }

#mainnav :link, #mainnav :visited { padding: .1em 20px .2em !important; }

#mainnav :link.active, #mainnav :visited.active { background: #000 
!important;

  border-left: 1px solid #666; color: #fff;

}

#pagepath { padding: .5em .5em 0; }

#ctxtnav { margin: 0 -16px; padding: .5em .5em 0; }

#main { background: url(../gfx/vertbars.png) repeat-x; padding-left: 16px; 
padding-right: 16px;

}

#footer { display: none; }

#newticketguide { background: #fdc; border: 2px solid #d00; font-style: 
italic;

  margin: 1em 0; padding: 0 .5em;

}


/* Documentation */

div.document img.logo { display: none; }

dl.pydoc h2 code { font-size: 95%; }

dl.pydoc table.field-list th { color: #999; font-size: 90%; font-weight: 
bold; line-height: 1.4em; padding-right: .5em; text-align: right; }

dl.pydoc pre.doctest-block { background: #f7f7f7; border: 1px solid 
#d7d7d7; margin: 1em 1.7em; padding: .25em; }


@media print {

 body { background: #fff; }

 body,p,table,td { font-size: 10pt !important; }

 h1 { font-size: 16pt !important; }

 #topbar, #topnav, #left, #right { display: none; margin: 0;}

 #ew-header { display: none; }

 #ew-content { border-left: none; }

 #ew-footer { background: transparent; border: none; }

 #wrapper { background: transparent; margin: 0; padding: 0; }

 #main { background: transparent; width: 100%; margin: 0; padding: 0;

   border-top: 9px solid #b00; border-left: none;

 }

 input[type=submit] { display: none; }

}






-- 
You received this message because you are subscribed to the Google Groups "Trac 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/trac-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to