- Revision
- 155
- Author
- paul
- Date
- 2007-06-19 00:31:19 -0500 (Tue, 19 Jun 2007)
Log Message
start of xsite version of doco
Added Paths
- trunk/distribution2/
- trunk/distribution2/pom.xml
- trunk/distribution2/src/
- trunk/distribution2/src/assembly/
- trunk/distribution2/src/assembly/assembly-bin.xml
- trunk/distribution2/src/assembly/assembly-src.xml
- trunk/distribution2/src/content/
- trunk/distribution2/src/content/index.html
- trunk/distribution2/src/content/list-dev.html
- trunk/distribution2/src/content/repository.html
- trunk/distribution2/src/content/team.html
- trunk/distribution2/src/content/website.xml
- trunk/distribution2/src/templates/
- trunk/distribution2/src/templates/ParaNamer.jpg
- trunk/distribution2/src/templates/norights-a.png
- trunk/distribution2/src/templates/show_ads.js
- trunk/distribution2/src/templates/skin.html
- trunk/distribution2/src/templates/style.css
Diff
Added: trunk/distribution2/pom.xml (0 => 155)
--- trunk/distribution2/pom.xml (rev 0) +++ trunk/distribution2/pom.xml 2007-06-19 05:31:19 UTC (rev 155) @@ -0,0 +1,162 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>com.thoughtworks.paranamer</groupId> + <artifactId>paranamer-parent</artifactId> + <version>1.0-RC-3-SNAPSHOT</version> + </parent> + <artifactId>paranamer-distribution</artifactId> + <packaging>pom</packaging> + <name>Paranamer Distribution</name> + + <dependencies> + <dependency> + <groupId>${pom.groupId}</groupId> + <artifactId>paranamer</artifactId> + <version>${pom.version}</version> + </dependency> + <dependency> + <groupId>${pom.groupId}</groupId> + <artifactId>paranamer-generator</artifactId> + <version>${pom.version}</version> + </dependency> + <dependency> + <groupId>${pom.groupId}</groupId> + <artifactId>paranamer-ant</artifactId> + <version>${pom.version}</version> + </dependency> + <dependency> + <groupId>${pom.groupId}</groupId> + <artifactId>paranamer-asm</artifactId> + <version>${pom.version}</version> + </dependency> + <dependency> + <groupId>${pom.groupId}</groupId> + <artifactId>paranamer-maven-plugin</artifactId> + <version>${pom.version}</version> + </dependency> + </dependencies> + <build> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>dependency-maven-plugin</artifactId> + <version>1.0</version> + <executions> + <execution> + <id>unpack</id> + <phase>install</phase> + <goals> + <goal>unpack</goal> + </goals> + <configuration> + <outputDirectory>${project.build.directory}/xsite/javadoc</outputDirectory> + <overWriteReleases>false</overWriteReleases> + <overWriteSnapshots>true</overWriteSnapshots> + <artifactItems> + <artifactItem> + <groupId>${pom.groupId}</groupId> + <artifactId>paranamer</artifactId> + <version>${pom.version}</version> + <classifier>javadoc</classifier> + </artifactItem> + <artifactItem> + <groupId>${pom.groupId}</groupId> + <artifactId>paranamer-generator</artifactId> + <version>${pom.version}</version> + <classifier>javadoc</classifier> + </artifactItem> + </artifactItems> + </configuration> + </execution> + </executions> + </plugin> + <!-- FIXME: does not seem to find the assembly descriptor + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <version>2.1</version> + <executions> + <execution> + <id>bin</id> + <phase>install</phase> + <goals> + <goal>single</goal> + </goals> + <configuration> + <descriptors> + <descriptor>${basedir}/src/assembly/assembly-bin.xml</descriptor> + </descriptors> + <finalName>paranamer-${pom.version}</finalName> + <workDirectory>${project.build.directory}/assembly/bin</workDirectory> + </configuration> + </execution> + <execution> + <id>src</id> + <phase>install</phase> + <goals> + <goal>single</goal> + </goals> + <configuration> + <descriptors> + <descriptor>${basedir}/src/assembly/assembly-src.xml</descriptor> + </descriptors> + <finalName>paranamer-${pom.version}</finalName> + <workDirectory>${project.build.directory}/assembly/src</workDirectory> + </configuration> + </execution> + </executions> + </plugin> + --> + <!-- XSite fails to validate links - Need to configure it to be optional? --> + <plugin> + <groupId>org.codehaus.xsite</groupId> + <artifactId>xsite-maven-plugin</artifactId> + <configuration> + <siteMapPath>${basedir}/src/content/website.xml</siteMapPath> + <skinPath>${basedir}/src/templates/skin.html</skinPath> + <outputDirectoryPath>${project.build.directory}/xsite</outputDirectoryPath> + </configuration> + <executions> + <execution> + <phase>install</phase> + <goals> + <goal>run</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-antrun-plugin</artifactId> + <executions> + <execution> + <phase>install</phase> + <goals> + <goal>run</goal> + </goals> + <configuration> + <tasks> + <delete includeEmptyDirs="true"> + <fileset dir="${project.build.directory}/xsite" includes="**/META-INF/*" /> + <fileset dir="${project.build.directory}/xsite" includes="**/META-INF" /> + </delete> + <mkdir dir="${project.build.directory}/docs" /> + <copy todir="${project.build.directory}/docs" overwrite="true" failonerror="false"> + <fileset dir="${basedir}"> + <include name="target/xsite/**" /> + <exclude name="target/xsite" /> + </fileset> + <filtermapper> + <replacestring from="target${file.separator}xsite${file.separator}" to="${file.separator}" /> + </filtermapper> + </copy> + </tasks> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + +</project> \ No newline at end of file
Added: trunk/distribution2/src/assembly/assembly-bin.xml (0 => 155)
--- trunk/distribution2/src/assembly/assembly-bin.xml (rev 0) +++ trunk/distribution2/src/assembly/assembly-bin.xml 2007-06-19 05:31:19 UTC (rev 155) @@ -0,0 +1,26 @@ +<assembly> + <id>bin</id> + <formats> + <format>zip</format> + </formats> + <fileSets> + <fileSet> + <directory>..</directory> + <outputDirectory>/</outputDirectory> + <includes> + <include>LICENSE.txt</include> + </includes> + </fileSet> + <fileSet> + <directory>target/docs</directory> + <outputDirectory>docs</outputDirectory> + </fileSet> + </fileSets> + <dependencySets> + <dependencySet> + <outputDirectory>/lib</outputDirectory> + <unpack>false</unpack> + <scope>runtime</scope> + </dependencySet> + </dependencySets> +</assembly> \ No newline at end of file
Added: trunk/distribution2/src/assembly/assembly-src.xml (0 => 155)
--- trunk/distribution2/src/assembly/assembly-src.xml (rev 0) +++ trunk/distribution2/src/assembly/assembly-src.xml 2007-06-19 05:31:19 UTC (rev 155) @@ -0,0 +1,24 @@ +<assembly> + <id>src</id> + <formats> + <format>zip</format> + </formats> + <fileSets> + <fileSet> + <directory>..</directory> + <outputDirectory>/</outputDirectory> + <excludes> + <exclude>**/build/**</exclude> + <exclude>**/target/**</exclude> + <exclude>**/.*/**</exclude> + <exclude>**/.*</exclude> + <exclude>**/cobertura.ser</exclude> + <exclude>**/release.properties</exclude> + <exclude>**/surefire*.properties</exclude> + <exclude>**/*~</exclude> + <exclude>**/*.bak</exclude> + <exclude>**/*.classpath</exclude> + </excludes> + </fileSet> + </fileSets> +</assembly>
Added: trunk/distribution2/src/content/index.html (0 => 155)
--- trunk/distribution2/src/content/index.html (rev 0) +++ trunk/distribution2/src/content/index.html 2007-06-19 05:31:19 UTC (rev 155) @@ -0,0 +1,150 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head> + <title>Introduction</title></head> + <body> + +<div class="section_1"> +<h1>What is it?</h1> +<p>It is a mechamism for accessing the parameter names of methods of +Java classes compiled into jars. Normally the javac compiler drops +parameter names +making a method like '<span style="font-family: monospace;">doSometing(mypkg.Person +toMe)</span>' look like '<span style="font-family: monospace;">doSomething(mypkg.Person +arg0)</span>' to people using Java's reflection to inspect +methods. To date this has not been very useful to Java +application developers, but +with the advent of advanced scripting languages and web action +frameworks for the JVM it is of increasing importance to be able to +leverage a method's parameter names. Scripting languages like <a href="" & <a href="" web action frameworks +like <a href="" and <a href="" title="http://www.vraptor.org/">VRaptor</a> (that verge +on the tranparent) and the compelling <a href="" +</p> +<p>ParaNamer allows you to generate and use parameter name info for +versions of Java prior to Java 7.0 (when Java <span style="font-style: italic;">may</span> get parameter name +access). +Generation and use are two quite separate things.<br> +</p> +<h1>Quick Start</h1> +<div class="section_2"> +<h2>Generating Parameter +Name +Meta-data with Ant<br> +</h2> +<p>You need to download: </p><ul> + <li><a href="" paranamer jar</a></li> + <li><a href="" paranamer-generator jar</a></li> + <li><a href="" paranamer-ant jar</a></li> + <li><a href="" qdox jar</a> (1.6 or above)</li> +</ul> +and declare in your Ant script the following after <javac/> (remember to add to the taskdef classpath all the above jars):<br> +<div class="code"> +<div class="codeContent"> +<pre class="code-java"><taskdef name="paranamer" <br> classname="com.thoughtworks.paranamer.ant.ParanamerGeneratorTask"/><br><paranamer sourceDirectory="src/java" outputDirectory="target/classes"/><br></pre> +</div> +</div> +<p>Then, when you're making your jar, ensure that +META-INF/ParameterNames.txt does not get omitted<br> +</p> +<h2>Generating Parameter +Name +Meta-data with Maven 2<br> +</h2> +For Maven, it is simpler. Just add this to the +<build><plugins> section of your pom.xml:<br> +<br> +<div class="code"> +<div class="codeContent"> +<pre style="margin-left: 40px;"><plugin><br> <groupId>com.thoughtworks.paranamer</groupId><br> <artifactId>paranamer-maven-plugin</artifactId><br> <executions><br> <execution><br> <id>run</id> <!-- id is optional --><br> <configuration><br> <sourceDirectory><span style="font-weight: bold;">${basedir}/src/java</span></sourceDirectory><br> <outputDirectory>${basedir}/target/classes</outputDirectory><br> </configuration> <br> <goals><br> <goal>run</goal><br> </goals><br> </execution><br> </executions><br></plugin></pre> +</div> +</div> +<br> +The jar file will automatically be made with parameter name meta-data.<br> +<br> +</div> +<div class="section_2"> +<h2>Using +Paranamer<br> +</h2> +<p>If you are leverging the paranamer Jar at runtime, there is a method +called 'lookup' that does the business:</p> +<div class="code"> +<div class="codeHeader"><b>MySomethingOrOther.java</b></div> +<div class="codeContent"> +<pre class="code-java"><span class="code-object"> + Method method = Foo.class.getMethod(...);<br> + Paranamer paranamer = new DefaultParanamer();<br> <br> String[] parameterNames = paranamer.lookupParameterNames(method)<br> </span><br></pre> +</div> +</div> +<p>It throws a ParameterNamesNotFoundException if no parameter names are found. <br> +</p> +<p>The unit tests for ParaNamer illustrate some of the ways of using +it: <a href="" +</p> +<p>ParaNamer does not have any runtime jar dependecies while looking up +parameter info previously generated that's been zipped into a jar.<br> +</p> +</div> +<div class="section_2"> +<h2>Using Paranamer without +using Paranamer's jar</h2> +<p>There are already too many jar's for day to day Java development +right? Simply copy the <span style="font-style: italic;">lookupMethod</span> +method to your codebase. All the +code is public domain. People are free to do what they like to it, copy +portions into your GPL or Commercial or Apache licensed project and +retain GPL, Commercial and Apache licenses (or whatever). <br> +</p> +<p>A link to the source to copy is here - +<a href="" +</p> +<p>You may also want some of the functionalty from the Caching variant - +<a href="" +</p> +</div> +<h2>Using Paranamer with ASM</h2> +<p>If generating meta information on parameter names at compile time is +not for you, try Paranamer with ASM as a runtime only solution. ASM +allows java code to parse class files, and is useful for Paranamer if +debug data is still compiled into the classes. There is a class +AsmParanamer, that is identical in functionalality to DefaultParanamer, +but requires ASM 3.0 or later to be in the classpath at runtime.</p>Its +also interesting to note that CachingParanamer (same API) tries to use +the DefaultParanamer then AsmParamaner in the former cannot find +parameter name data.</div> + +<div class="section_2"> +<h1>How Paranamer works</h1> +<p>It modifies each class file to have an extra static field: + +<br></p> +<div class="code"><div class="codeContent"><pre class="code-java"> private static final String __PARANAMER_DATA = "v1.0 \n"<br> + "<init> \n"<br> + "<init> com.foo.Bar bar \n"<br> + "toString \n"<br> + "setName java.lang.String,java.lang.String givenName,familyName \n";<br> + "setDateOfBirth int,int,int day,month,year \n";<br></pre></div></div></div> +<p>Clearly the method's source is analysed and lines are added per +method to the __PARANAMER_DATA field. </p><h2>What if a parameter +names changes?</h2>In +a later version we'll store previous parameter names too. It won't be +be magic, you'll have to code the previous parameter names in your +source with a doclet tag. The lookup mechanism will change too.<br><h1>ParaNamer's Future</h1><p>ParaNamer will go away in the future when Java gets Reflection +access to Method parameter names. That is likely to look in the worst +case like:<br> +</p> +<div class="code"> +<div class="codeContent"> +<pre style="margin-left: 40px;" class="code-java">Method method = Foo.class.getMethod(....)<br>String[] parameterNames = method.getParameterNames();<br></pre><p>But for now, we are thinking of the following directions :-</p><ol><li>Plugins for Intellij IDEA, Eclipse, NetBeans to make parameter name data as part of their compilation processes </li><li>Storage and retireval of previous parameter names</li></ol></div> +</div> + +<h1>Projects using it</h1> +<a href="" - Object Validation Framework</a>,<br><a href="" - Web Framework</a>, <br><a href="" - Web Framework</a><br> +<h1>Project INFO<br> +</h1> +<p>Developers, Maven 2 repository, lists, sites ... all detailed here:<br> + <a href="" +Maven generated info and reports here:<br> + <a href="" +Released Jar files here: <br> + <a href="" <br> +Snapshot Jar files here: <br> + <a href="" +</p> + + +</body></html> \ No newline at end of file
Added: trunk/distribution2/src/content/list-dev.html (0 => 155)
--- trunk/distribution2/src/content/list-dev.html (rev 0) +++ trunk/distribution2/src/content/list-dev.html 2007-06-19 05:31:19 UTC (rev 155) @@ -0,0 +1,22 @@ +<html> + <head> + <title>Developers' Mailing List</title> + </head> + <body> + + <table> + <tr> + <th>Post</th> + <th>(Un-)Subscribe</th> + </tr> + <tr> + <td><a href="" PROTECTED]">[EMAIL PROTECTED]</a></td> + <td><a href="" Email</a></td> + </tr> + </table> + + <p>Due to massive abuse by spammers the subscriptions is centralized for email lists of all projects hosted on Codehaus. + After following the link above just register with your email address and you can manage all subscriptions at once.</p> + + </body> +</html>
Added: trunk/distribution2/src/content/repository.html (0 => 155)
--- trunk/distribution2/src/content/repository.html (rev 0) +++ trunk/distribution2/src/content/repository.html 2007-06-19 05:31:19 UTC (rev 155) @@ -0,0 +1,71 @@ +<html> + <head> + <title>Source Repository</title> + </head> + <body> + + <h2>Modules</h2> + + ParaNamer project consists of several modules: + <ol> + <li>paranamer - the core module</li> + <li>paranamer-generator - the generator module</li> + <li>paranamer-distribution - the module contains the documentation and assembles the src and bin distributions</li> + </ol> + When you checkout the trunk you'll get all the modules, but you can just add the module you are interested in to the URL, eg + <div class="Source"><pre>svn co http://svn.codehaus.org/paranamer/trunk/[module]</pre></div> + to checkout out the single module separately. + + <h2>Subversion</h2> + + ParaNamer uses Subversion as the SCM. See <a href="" website</a> for details and documentation on IDE integration. + + <h2>Svnserve Access</h2> + + Svnserve access is via a specific port (Codehaus uses the default 3690). This is often not allowed by corporate firewalls. + + <h3>Anonymous Access</h3> + + <div class="Source"><pre>svn co svn://svn.paranamer.codehaus.org/paranamer/trunk</pre></div> + + <h2>WebDav Access</h2> + + WebDav is an alternative access protocol supported by SVN and being http-based is often allowed by corporate firewalls. + + <h3>Anonymous Access</h3> + + <div class="Source"><pre>svn co http://svn.codehaus.org/paranamer/trunk</pre></div> + + <p> + You might also use this URL to <a href="" the repository</a> in a simple manner. + </p> + + <h3>Committer Access</h3> + + <div class="Source"><pre>svn co https://svn.codehaus.org/paranamer/trunk</pre></div> + + <p> + This access protocol is available to all, but only developers can commit changes. + </p> + <p> + Developers require a LDAP password for Codehaus username (contact Bob at the Haus to get assigned a password if you don't have one). + </p> + <p> + To test https commit access, one may eg:</p> + <div class="Source"><pre> +svn co https://svn.codehaus.org/paranamer/trunk paranamer +cd paranamer +echo "test" > TEST +svn add TEST +svn commit --username username --password your-password --message "Testing https" + </pre></div> + <p> + <b>Note</b>: you only need to specify username and password once per client. + </p> + + <h2>Browser</h2> + + You can use the browser to navigate within the sources <a href="" with the help of the FishEye installation on Codehaus. + + </body> +</html>
Added: trunk/distribution2/src/content/team.html (0 => 155)
--- trunk/distribution2/src/content/team.html (rev 0) +++ trunk/distribution2/src/content/team.html 2007-06-19 05:31:19 UTC (rev 155) @@ -0,0 +1,22 @@ +<html> + <head> + <title>Development Team</title> + </head> + <body> + + <h2>Project Founder and Lead</h2> + + <ul> + <li><b>Paul Hammant</b></li> + </ul> + + <h2>Active Committers</h2> + + <ul> + <li>Paul Hammant</li> + <li>Mauro Talevi</li> + <li>Guilherme Silveira</li> + </ul> + + </body> +</html>
Added: trunk/distribution2/src/content/website.xml (0 => 155)
--- trunk/distribution2/src/content/website.xml (rev 0) +++ trunk/distribution2/src/content/website.xml 2007-06-19 05:31:19 UTC (rev 155) @@ -0,0 +1,13 @@ +<sitemap> + <section> + <name>Using ParaNamer</name> + <page>index.html</page> + <link title="JavaDoc">javadoc/index.html</link> + </section> + <section> + <name>Developing ParaNamer</name> + <page>list-dev.html</page> + <page>team.html</page> + <page>repository.html</page> + </section> +</sitemap> \ No newline at end of file
Added: trunk/distribution2/src/templates/ParaNamer.jpg
(Binary files differ)
Added: trunk/distribution2/src/templates/norights-a.png
(Binary files differ)
Added: trunk/distribution2/src/templates/show_ads.js
(Binary files differ)
Added: trunk/distribution2/src/templates/skin.html (0 => 155)
--- trunk/distribution2/src/templates/skin.html (rev 0) +++ trunk/distribution2/src/templates/skin.html 2007-06-19 05:31:19 UTC (rev 155) @@ -0,0 +1,62 @@ +<head> + <title>Paranamer - ${title}</title> + <link rel="stylesheet" type="text/css" href="" + ${head} + + <script type="text/_javascript_"><!-- + google_ad_client = "pub-3023399591478482"; + google_ad_width = 468; + google_ad_height = 60; + google_ad_format = "468x60_as"; + google_ad_type = "text_image"; + google_ad_channel = "7321085054"; //unity-top + google_color_border = "FFFFFF"; + google_color_bg = "FFFFFF"; + google_color_link = "557755"; + google_color_url = "557755"; + google_color_text = "333333"; + //--></script> + <script type="text/_javascript_" src="" + </script> +</head> + +<body> + +<div id="header"> + +<h1><a href="" src="" alt="ParaNamer" + class="spaceLogo" + style="border: 0px solid ; width: 439px; height: 81px;"></a></h1> + +<h2>Method Parameter Name Access for versions of Java PRIOR TO Java 7.0 +</h2> +</div> + + + <div id="center" class="Content2Column"> <!-- Content3Column for index --> + <div id="content"> + ${body} + + </div> + </div> + + <div class="SidePanel" id="left"> + <#list sitemap.sections as section> + <div class="MenuGroup"> + <h1>${section.name}</h1> + <ul> + <#list section.pages as otherPage> + <#if otherPage = page> + <li class="currentLink">${otherPage.title}</li> + <#else> + <li><a href="" + </#if> + </#list> + </ul> + </div> + </#list> + </div> + + +</body> +</html>
Added: trunk/distribution2/src/templates/style.css (0 => 155)
--- trunk/distribution2/src/templates/style.css (rev 0) +++ trunk/distribution2/src/templates/style.css 2007-06-19 05:31:19 UTC (rev 155) @@ -0,0 +1,276 @@ +.Content2Column { + position: absolute; + top: 125px; + bottom: 8px; + left: 208px; + right: 16px; +} + +.codehauslogo { + margin-top:15px; + width:180px; + text-align:center; +} +.codeContent { + border: 1px solid #4D87CE; + font-size: 1.2em; + padding:10px; +} +.code-comment { + color: #777; + font-style: italic; +} + +.code-quote { + color: #070; +} + +.code-keyword { + color: #700; +} +body { + margin:0; + font-family:"Trebuchet MS", Arial, Verdana; + font-size:0.84em; + color:#555555; + background-color:#FFFFFF; + text-align:left; +} + +input { + background-color:#FFFFFF; + padding:3px; + font-family:Verdana, Arial, Helvetica, sans-serif; + font-size:10px; + color:#ffffff; + border:1px solid #728c40; + background-color:#94ae62; + margin-bottom:2px; +} +input[type=submit] { + background-color:#FFFFFF; + padding:3px; + font-family:Verdana, Arial, Helvetica, sans-serif; + font-size:10px; + color:#666666; + border:1px solid #728c40; + margin-bottom:2px; +} + +a { + color:#4D87CE; + font-weight:bold; + text-decoration:none; +} +a:hover { + color:#2a65ad; +} + +ol,ul { + +} + +li { + list-style-image:url(../images/backgrounds/li.gif); + line-height:20px; + text-align:left; +} + +#menu { + width:100%; + padding-top:20px; + padding-bottom:20px; + background-color:#94AE62; + margin-bottom:50px; + color:#FFFFFF; + text-align:center; + font-family:Verdana, Arial, Helvetica, sans-serif; + font-size:11px; + font-variant:small-caps; + background-image:url(../images/backgrounds/menu.jpg); +} +#menu a { + color:#FFFFFF; + text-decoration:none; + padding:10px; + padding-top:20px; + padding-bottom:20px; + +} +#menu a:hover { + border-bottom:1px solid #ffffff; + border-left:1px solid #728d40; + border-right:1px solid #e9ffb7; + padding-left:9px; + padding-right:9px; + color:#000000; + background-color:#FFFFFF; + background-image:url(../images/backgrounds/a_hover.jpg); +} +/*google ads*/ +#uads { + position:absolute; + right:40px; + top: 100px; +} +#header { + margin:0 auto 0 auto; + margin-left:30px; + margin-bottom:40px; +} +#header h1 { + font-family:"Century Gothic", "Trebuchet MS", "Arial Narrow", Arial, sans-serif; + font-size:30px; + text-transform:uppercase; + font-weight:normal; + margin:0; + padding:0; + padding-top:5px; + color:#736451; + margin-bottom:10px; + text-align:left; +} +#header h2 { + font-family:"Century Gothic", "Trebuchet MS", "Arial Narrow", Arial, sans-serif; + font-size:15px; + text-transform:uppercase; + text-align:right; + font-weight:normal; + margin:0; + padding:0; + margin-right:40px; + color:#000000; + border-bottom:1px solid #eeeeee; +} + +#content { + margin:0 auto 0 auto; + margin-left: 30px; + text-align:left; +} + +#left { + position: absolute; + z-index: 2; + left: 8px; + width: 184px; + top: 125px; + bottom: 8px; + margin: 0px; + padding: 0px; +} + +.introduction { + margin-left:0px; + margin-right:235px; + font-family:Helvetica, Arial, sans-serif; + line-height:20px; + font-size:12px; + color:#99B198; + text-indent:25px; + background-image:url(../images/backgrounds/desc.jpg); + background-position:bottom left; + padding-left:0; + padding-right:200px; + padding-bottom:35px; + padding-top:0; + background-repeat:no-repeat; + +} +.logo { + float:right; + margin-right:30px; +} +.clearer { + clear:both; +} + +#sidebar { + width:160px; + float:right; + font-size:95%; + color:#6C534A; + text-align:left; + margin-right:20px; + margin-bottom: 100px; +} +#sidebar h1 { + font-family:"Century Gothic", "Trebuchet MS", "Arial Narrow", Arial, sans-serif; + font-size:20px; + text-transform:uppercase; + font-weight:normal; + border-bottom:1px solid #eeeeee; + color:#728c40; + text-align:right; +} +.submenu { +} +.submenu a { + display:block; + width:100%; + background-image:url(../images/backgrounds/submenua.gif); + background-position:right; + background-repeat:no-repeat; + padding:5px; + padding-right:0; +} +.submenu a:hover { + background-color:#eeeeee; + background-image:url(../images/backgrounds/submenua_hover.jpg); + background-repeat:repeat-y; +} +#mainbar { + margin-right:235px; + padding-right:35px; + background-image:url(../images/backgrounds/mainbar.jpg); + background-position:top right; + background-repeat:no-repeat; + margin-bottom:100px; +} + +#mainbar h1 { + font-family:"Century Gothic", "Trebuchet MS", "Arial Narrow", Arial, sans-serif; + font-size:25px; + text-transform:uppercase; + font-weight:normal; + border-bottom:1px solid #eeeeee; + color:#728c40; +} + +#mainbar p { + padding:15px; + line-height:20px; +} + +#mainbar .articleimg { + float:right; + padding:5px; + border:1px solid #eeeeee; + margin-left:20px; + margin-top:20px; + margin-bottom:20px; +} + +#footer { + width:100%; + background-color:#b6cf84; + border-top:1px solid #d8efa6; + border-bottom:5px solid #94ae62; + padding-top:5px; + padding-bottom:5px; + margin-top:50px; + font-size:0.8em; + position:fixed; + bottom:0px; + color:white; + text-align:center; +} +#footer a { + color:#006600; +} +#footer a:hover { + color:#009900; +} +h4 { + border-bottom: 2px solid #728C40; +}
To unsubscribe from this list please visit:
