You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by th...@apache.org on 2011/02/16 00:33:00 UTC

svn commit: r1071105 - in /incubator/lucene.net/site: branches/ trunk/ trunk/cgi-bin/ trunk/content/ trunk/content/lucenenet/ trunk/images/ trunk/lib/ trunk/templates/

Author: thoward
Date: Tue Feb 15 23:33:00 2011
New Revision: 1071105

URL: http://svn.apache.org/viewvc?rev=1071105&view=rev
Log:
Added initial re-work of website for Apache CMS, including a new logo design and updated content.

Added:
    incubator/lucene.net/site/branches/
    incubator/lucene.net/site/trunk/
    incubator/lucene.net/site/trunk/cgi-bin/
    incubator/lucene.net/site/trunk/content/
    incubator/lucene.net/site/trunk/content/lucenenet/
    incubator/lucene.net/site/trunk/content/lucenenet/index.mdtext
    incubator/lucene.net/site/trunk/images/
    incubator/lucene.net/site/trunk/images/lucene-net-logo.png   (with props)
    incubator/lucene.net/site/trunk/images/lucene-net-logo.svg
    incubator/lucene.net/site/trunk/lib/
    incubator/lucene.net/site/trunk/lib/path.pm
    incubator/lucene.net/site/trunk/lib/view.pm
    incubator/lucene.net/site/trunk/templates/
    incubator/lucene.net/site/trunk/templates/basic.html

Added: incubator/lucene.net/site/trunk/content/lucenenet/index.mdtext
URL: http://svn.apache.org/viewvc/incubator/lucene.net/site/trunk/content/lucenenet/index.mdtext?rev=1071105&view=auto
==============================================================================
--- incubator/lucene.net/site/trunk/content/lucenenet/index.mdtext (added)
+++ incubator/lucene.net/site/trunk/content/lucenenet/index.mdtext Tue Feb 15 23:33:00 2011
@@ -0,0 +1,174 @@
+Title: Apache Lucene.Net
+
+# Overview
+
+Lucene.Net is a port of the Lucene search engine library, written in C# and 
+targeted at .NET runtime users.
+
+Lucene.Net has three primary goals:
+
+First, it will maintain the existing line-by-line port from Java to C#, fully 
+automating and commoditizing the process such that the project can easily 
+synchronize with the Java Lucene release schedule. 
+
+Second, it will be a high-performance C# search engine library. 
+
+Third, it will maximize its usability and power when used within the .NET 
+runtime. To that end, it will present a highly idiomatic, carefully tailored 
+API that takes advantage of many of the special features of the .NET runtime.
+
+You can find the Lucene parent project at: [http://lucene.apache.org/][1]
+
+In January 2011, Lucene.Net was [proposed][2] as a candidate for entry into the 
+[Apache Incubator][3] with the purpose restarting the project with a new set 
+of goals and committers. Prior to that, Lucene.Net had been developed as a 
+subproject of Lucene.  Lucene.Net's incubation status is tracked at 
+[http://incubator.apache.org/projects/lucene.net][4].
+
+---
+
+# Releases
+
+## Binary
+
+The latest stable binary release is: [Lucene.Net 2.0][5]
+
+### Previous Builds
+
+Previous builds are available here: [Lucene.Net Binary Release Archives][6]
+
+## Source
+
+The latest source code release is: [Lucene.Net 2.9.2][7]
+
+### Previous Builds
+
+Previous builds are available here: [Lucene.Net Source Code Release Archives][8]
+
+### Bleeding Edge
+
+If you like to live dangerously you can try working with the 'bleeding edge' trunk revision. 
+
+*NOTE: This is not an official release and may not work as expected. Use at your own risk! *
+
+Bleeding edge is available here: [Lucene.Net Source Trunk Revision][9]
+
+---
+
+# Mailing lists
+
+After downloading the latest release, you'll probably have some questions. The best way to get access to the Lucene.Net community is through the mailing lists. Here you can get answers for your questions, contribute to the code, or just hang out and absorb our general awesomeness.
+
+-   If you use Lucene.Net, please [subscribe][10] to the [Lucene.Net users mailing list][11]
+    (lucene-net-user at incubator dot apache dot org). 
+-   If you'd like to contribute to Lucene.Net or follow updates to Lucene.Net's issue 
+    tracker, please [subscribe][12] to the [Lucene.Net developers mailing list][13] (lucene-net-dev at incubator dot apache dot org).
+-   If you'd like to follow each change made to Lucene.Net's source repository,
+    [subscribe][14] to the [Lucene.Net commits mailing list][15] (lucene-net-commits at
+    incubator dot apache dot org).
+
+## Mailing List Archives
+
+Archives are available here:
+*2006-2009*
+-   [http://mail-archives.apache.org/mod_mbox/incubator-lucene-net-user][16]
+-   [http://mail-archives.apache.org/mod_mbox/incubator-lucene-net-dev][17]
+-   [http://mail-archives.apache.org/mod_mbox/incubator-lucene-net-commits][18]
+*2010-Current* 
+-   [http://mail-archives.apache.org/mod_mbox/lucene-lucene-net-user][11]
+-   [http://mail-archives.apache.org/mod_mbox/lucene-lucene-net-dev][13]
+-   [http://mail-archives.apache.org/mod_mbox/lucene-lucene-net-commits][15]
+---
+
+
+# Issue Tracker
+
+You might find a bug (sorry!), or have an idea for a new feature (no problem!), or have a code patch to contribute (thanks!). All Lucene.Net issues are [tracked][19] using Apache JIRA. If you aren't sure whether something is a bug, post a question on the Lucene.Net user mailing list.  
+
+Note that to create a new issue or comment on an existing one you'll have to [sign up for an account][20].
+---
+
+# Development 
+
+Lucene.Net is an on-going project that is under active development. Below you'll find resources such as our roadmap, instructions on how to build the source, coding guidlines, and much more.
+
+## Source Repository
+
+Anonymous SVN URL: [https://svn.apache.org/repos/asf/incubator/lucene.net/trunk][9]
+
+## Committers
+
+If you have a question about the source, it's best to the use development mailing list to ask your question. However, if you need to contact one of the committers directly they are listed here (alphabetically):
+
+-   Chris Currens <currens.chris AT gmail DOT com>
+-   DIGY <digydigy AT gmail DOT com>
+-   Michael Herndon <mherndon AT wickedsoftware DOT net>
+-   Prescott Nasser <prescott.nasser AT hotmail DOT com>
+-   Scott Lombard <lombardenator AT gmail DOT com>
+-   Sergey Mirvoda <sergey AT mirvoda DOT com>
+-   Troy Howard <thoward37 AT gmail DOT com>
+
+## Roadmap 
+
+### Next Scheduled Binary Release
+-   Lucene.Net 2.9.2 (Anticipated Release Date: 02/28/2011)
+
+### Backlog
+-   Full automated port using Sharpen (2nd quarter 2011)
+
+    Our current process of porting is a manual one involving a lot of man hours, and isn't repeatable by the general public. We'd like to see that change, and so we're working on creating build scripts which will automate the entire process of porting from Java to .NET using various tools like Sharpen to accomplish this. Ideally, an end user could grab the latest souce code release, then, using the build script and following the instructions provided, convert the equivalent Java Lucene release to .NET source, and then compile that source to create a binary build. This is a lofty goal, but the closer we can get to this, the better. This will be an ongoing project, but we hope to get our first release of this out sometime in the 2nd quarter of 2011.
+
+-   Lucene.Net 3.0.2 (2nd quarter 2011)
+
+    This release will match the API and functionality of the [Lucene 3.0.2][25] release. 
+
+-   Lucene.Net .NET Idiomatic API (2nd/3rd quarter 2011)
+    
+    This project is focused on developing an API that is idiomatic to .NET code. This is a departure from our previous philosophy of only doing a direct API port from the Java code. We're very interesting in your opinion about how this should be designed, so please join the mailing lists and let us know what you'd like to see in this API! 
+
+-   Lucene.Net .NET Optimized Implementation (3rd/4th quarter 2011)
+    
+    This project is focused on refactoring the implementation of the code to be highly optimized for the .NET runtime. The original port was a line-by-line port of the Java code, and was done in a manner consistent with Java development for the JVM. There are subtle, but important differences between the JVM and the .NET CLR, and we hope that by refactoring the implementations, we'll be able to improve overall performance, but at least make the code more sensible as native C# code!
+
+
+## Build Instructions and Coding Guidelines 
+
+*TODO: Please come back later for more details. *
+
+Basic instruction are simply download the source, the latest copy of Visual Studio (the free Express version will be fine), open the solution and click 'Build'. If that doesn't work for you, send a message to the development mailing list! 
+
+---
+
+*Disclaimer*
+
+Apache Lucene.Net™ is an effort undergoing incubation at The Apache Software
+Foundation (ASF), sponsored by the [Apache Incubator][3].  Incubation is
+required of all newly accepted projects until a further review indicates that
+the infrastructure, communications, and decision making process have
+stabilized in a manner consistent with other successful ASF projects. While
+incubation status is not necessarily a reflection of the completeness or
+stability of the code, it does indicate that the project has yet to be fully
+endorsed by the ASF.
+
+
+  [1]: http://lucene.apache.org/
+  [2]: http://wiki.apache.org/incubator/Lucene.Net%20Proposal
+  [3]: http://incubator.apache.org/
+  [4]: http://incubator.apache.org/projects/lucene.net
+  [5]: https://svn.apache.org/repos/asf/incubator/lucene.net/site/download/Incubating-Apache-Lucene.Net-2.0-004-11Mar07.bin.zip
+  [6]: https://svn.apache.org/repos/asf/incubator/lucene.net/site/download/archive
+  [7]: https://svn.apache.org/repos/asf/incubator/lucene.net/tags/Lucene.Net_2_9_2
+  [8]: https://svn.apache.org/repos/asf/incubator/lucene.net/tags
+  [9]: https://svn.apache.org/repos/asf/incubator/lucene.net/trunk
+  [10]: mailto:lucene-net-user-subscribe@lucene.apache.org
+  [11]: http://mail-archives.apache.org/mod_mbox/lucene-lucene-net-user
+  [12]: mailto:lucene-net-dev-subscribe@lucene.apache.org
+  [13]: http://mail-archives.apache.org/mod_mbox/lucene-lucene-net-dev
+  [14]: mailto:lucene-net-commits-subscribe@lucene.apache.org
+  [15]: http://mail-archives.apache.org/mod_mbox/lucene-lucene-net-commits
+  [16]: http://mail-archives.apache.org/mod_mbox/incubator-lucene-net-user
+  [17]: http://mail-archives.apache.org/mod_mbox/incubator-lucene-net-dev
+  [18]: http://mail-archives.apache.org/mod_mbox/incubator-lucene-net-commits
+  [19]: http://issues.apache.org/jira/browse/LUCENENET
+  [20]: http://issues.apache.org/jira/secure/Signup!default.jspa
+  [21]: http://lucene.apache.org/java/3_0_2
\ No newline at end of file

Added: incubator/lucene.net/site/trunk/images/lucene-net-logo.png
URL: http://svn.apache.org/viewvc/incubator/lucene.net/site/trunk/images/lucene-net-logo.png?rev=1071105&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/lucene.net/site/trunk/images/lucene-net-logo.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: incubator/lucene.net/site/trunk/images/lucene-net-logo.svg
URL: http://svn.apache.org/viewvc/incubator/lucene.net/site/trunk/images/lucene-net-logo.svg?rev=1071105&view=auto
==============================================================================
--- incubator/lucene.net/site/trunk/images/lucene-net-logo.svg (added)
+++ incubator/lucene.net/site/trunk/images/lucene-net-logo.svg Tue Feb 15 23:33:00 2011
@@ -0,0 +1,188 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="384"
+   height="256"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.0 r9654"
+   style="display:inline;enable-background:new"
+   sodipodi:docname="new-logo">
+  <defs
+     id="defs4">
+    <filter
+       inkscape:collect="always"
+       id="filter5310"
+       color-interpolation-filters="sRGB">
+      <feBlend
+         inkscape:collect="always"
+         mode="lighten"
+         in2="BackgroundImage"
+         id="feBlend5312" />
+    </filter>
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1.8101934"
+     inkscape:cx="157.92922"
+     inkscape:cy="162.99812"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer2"
+     showgrid="false"
+     inkscape:window-width="1050"
+     inkscape:window-height="1654"
+     inkscape:window-x="1276"
+     inkscape:window-y="-4"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:groupmode="layer"
+     id="layer2"
+     inkscape:label="hexagons"
+     style="display:inline"
+     transform="translate(0,-796.36218)">
+    <g
+       style="display:inline"
+       id="g4676"
+       transform="matrix(-0.01952892,-0.01127503,-0.01127503,0.01952892,374.60672,859.79254)">
+      <path
+         inkscape:connector-curvature="0"
+         d="m 2588.78,4091.75 -638.7,1106.3 638.7,1106.31 1277.44,0 638.73,-1106.31 -638.73,-1106.3 -1277.44,0"
+         style="fill:#033067;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         id="path4922" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 3005.41,4096.41 c 0,112.84 91.47,204.31 204.31,204.31 112.83,0 204.3,-91.47 204.3,-204.31 0,-112.83 -91.47,-204.3 -204.3,-204.3 -112.84,0 -204.31,91.47 -204.31,204.3"
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         id="path4924" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 3209.72,3993.32 0,-1187.83"
+         style="fill:none;stroke:#808080;stroke-width:32.45271301;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         id="path4926" />
+      <path
+         inkscape:connector-curvature="0"
+         d="M 3189.84,4028.71 2669.11,3177.12"
+         style="fill:none;stroke:#808080;stroke-width:32.45271301;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         id="path4928" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 3229.59,4028.71 520.75,-851.59"
+         style="fill:none;stroke:#808080;stroke-width:32.45271301;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+         id="path4930" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 2922.14,1900.31 -285.52,494.57 285.52,494.53 571.04,0 285.52,-494.53 -285.52,-494.57 -571.04,0"
+         style="fill:#ffcc00;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         id="path4932" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 1984.4,2442.69 -285.52,494.54 285.52,494.56 571.02,0 285.53,-494.56 -285.53,-494.54 -571.02,0"
+         style="fill:#ffcc00;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         id="path4934" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 3844.64,2442.69 -285.53,494.54 285.53,494.56 571.06,0 285.51,-494.56 -285.51,-494.54 -571.06,0"
+         style="fill:#ffcc00;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         id="path4936" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 3092.22,4096.41 c 0,64.89 52.58,117.5 117.5,117.5 64.9,0 117.5,-52.61 117.5,-117.5 0,-64.89 -52.6,-117.5 -117.5,-117.5 -64.92,0 -117.5,52.61 -117.5,117.5"
+         style="fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         id="path4938" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 2611.16,3211.95 c 0,42.17 34.17,76.37 76.34,76.37 42.17,0 76.34,-34.2 76.34,-76.37 0,-42.15 -34.17,-76.32 -76.34,-76.32 -42.17,0 -76.34,34.17 -76.34,76.32"
+         style="fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         id="path4940" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 3658.91,3211.95 c 0,42.17 34.2,76.37 76.36,76.37 42.15,0 76.34,-34.2 76.34,-76.37 0,-42.15 -34.19,-76.32 -76.34,-76.32 -42.16,0 -76.36,34.17 -76.36,76.32"
+         style="fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         id="path4942" />
+      <path
+         inkscape:connector-curvature="0"
+         d="m 3135.02,2876.65 c 0,42.17 34.2,76.37 76.37,76.37 42.15,0 76.34,-34.2 76.34,-76.37 0,-42.15 -34.19,-76.35 -76.34,-76.35 -42.17,0 -76.37,34.2 -76.37,76.35"
+         style="fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         id="path4944" />
+    </g>
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer4"
+     inkscape:label="background"
+     style="display:inline"
+     transform="translate(0,-796.36218)">
+    <rect
+       style="fill:#033067;fill-opacity:1;stroke:none;display:inline"
+       id="rect5318"
+       width="270.3898"
+       height="66.461098"
+       x="54.056778"
+       y="910.44714" />
+  </g>
+  <g
+     inkscape:groupmode="layer"
+     id="layer5"
+     inkscape:label="Apache"
+     transform="translate(0,-796.36218)">
+    <text
+       xml:space="preserve"
+       style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;display:inline;enable-background:new;font-family:Myriad Pro;-inkscape-font-specification:Myriad Pro"
+       x="56.94783"
+       y="898.61407"
+       id="text5314"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan5316"
+         x="56.94783"
+         y="898.61407">Apache</tspan></text>
+  </g>
+  <g
+     inkscape:label="lucene.net"
+     inkscape:groupmode="layer"
+     id="layer1"
+     style="display:inline;filter:url(#filter5310)"
+     transform="translate(0,-796.36218)">
+    <text
+       xml:space="preserve"
+       style="font-size:40px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Myriad Pro;-inkscape-font-specification:Myriad Pro"
+       x="64.440964"
+       y="964.05511"
+       id="text2985"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan2987"
+         x="64.440964"
+         y="964.05511"
+         style="font-size:56px;font-weight:bold;fill:#033067;fill-opacity:1;-inkscape-font-specification:Myriad Pro Bold"><tspan
+           style="fill:#ffffff"
+           id="tspan5324">lucene</tspan><tspan
+           style="fill:#ffcc00;fill-opacity:1"
+           id="tspan5296">.net   </tspan></tspan></text>
+  </g>
+</svg>

Added: incubator/lucene.net/site/trunk/lib/path.pm
URL: http://svn.apache.org/viewvc/incubator/lucene.net/site/trunk/lib/path.pm?rev=1071105&view=auto
==============================================================================
--- incubator/lucene.net/site/trunk/lib/path.pm (added)
+++ incubator/lucene.net/site/trunk/lib/path.pm Tue Feb 15 23:33:00 2011
@@ -0,0 +1,48 @@
+package path;
+use strict;
+use warnings;
+
+# The @patterns array is used to map filepaths to page treatments.  Each
+# element must be an arrayref with 3 elements of its own: a regex pattern for
+# selecting filepaths, the name of the subroutine from view.pm which will be
+# invoked to generate the page, and a hashref of named parameters which will
+# be passed to the view subroutine.
+
+our @patterns = (
+    [ qr!^/.*\.html$!, basic => {} ],
+    [ qr!\.mdtext$!, basic => { template => "basic.html" } ],
+    [ qr!^/sitemap\.html$!, sitemap => {} ],
+);
+
+# The %dependecies hash is used when building pages that reference or depend
+# upon other pages -- e.g. a sitemap, which depends upon the pages that it
+# links to.  The keys for %dependencies are filepaths, and the values are
+# arrayrefs containing other filepaths.
+
+our %dependencies = (
+    "/lucenenet/sitemap.html" => [ grep s!^content!!, glob "content/lucenenet/*.mdtext" ],
+);
+
+1;
+
+__END__
+
+=head1 LICENSE
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.  The
+    ASF licenses this file to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance with the
+    License.  You may obtain a copy of the License at
+    
+        http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+    License for the specific language governing permissions and limitations
+    under the License.
+
+=cut
+

Added: incubator/lucene.net/site/trunk/lib/view.pm
URL: http://svn.apache.org/viewvc/incubator/lucene.net/site/trunk/lib/view.pm?rev=1071105&view=auto
==============================================================================
--- incubator/lucene.net/site/trunk/lib/view.pm (added)
+++ incubator/lucene.net/site/trunk/lib/view.pm Tue Feb 15 23:33:00 2011
@@ -0,0 +1,133 @@
+package view;
+
+=head1 INTERFACE
+
+Each function within view.pm which will be used for page generation must
+implement a standard interface.
+
+    sub my_view {
+        my %args = @_;
+        ...
+        return ($content, $extension, @optional);
+    }
+
+First, each function must accept labeled parameters.  The only parameter which
+will always be present is "path"; see the documentation in path.pm for the
+"@patterns" array with regards to invocation with additional parameters.
+
+Second, each function must return a list with at least two elements: the first
+element must be the page content, and the second must be a file extention.
+Returning additional elements in the list (as some of the functions below do)
+is optional.
+
+    return ($content, 'html', \%args);
+
+The constraints imposed by this interface may cause difficulties, for example
+when you want to generate both "foo.html" and "foo.pdf".  However, it is
+usually possible to work around such issues with symlinks and dependency
+management in path.pm.
+
+=cut
+
+use strict;
+use warnings;
+use Carp;
+use Dotiac::DTL;
+use Dotiac::DTL::Addon::markup;
+use ASF::Util qw( read_text_file );
+
+BEGIN { push @Dotiac::DTL::TEMPLATE_DIRS, "templates"; }
+
+# A "basic" view, which takes 'template' and 'path' parameters.
+
+sub basic {
+    my %args = @_;
+    my $filepath = "content$args{path}";
+    read_text_file($filepath, \%args);
+    $args{path} =~ s/\.mdtext$/\.html/;
+    $args{breadcrumbs} = _breadcrumbs($args{path});
+    my $template_path = "templates/$args{template}";
+    my $rendered = Dotiac::DTL->new($template_path)->render(\%args);
+    return ($rendered, 'html', \%args);
+}
+
+# A view which generates a sitemap.
+
+sub sitemap {
+    my %args = @_;
+    my $template = "content$args{path}";
+    $args{breadcrumbs} .= _breadcrumbs($args{path});
+    my $dir = $template;
+    $dir =~ s!/[^/]+$!!;
+    opendir my $dh, $dir or die "Can't opendir $dir: $!\n";
+    my %data;
+    for (map "$dir/$_", grep $_ ne "." && $_ ne ".." && $_ ne ".svn", readdir $dh) {
+        if (-f and /\.mdtext$/) {
+            my $file = $_;
+            $file =~ s/^content//;
+            no warnings 'once';
+            for my $p (@path::patterns) {
+                my ($re, $method, $args) = @$p;
+                next unless $file =~ $re;
+                my $s = view->can($method) or die "Can't locate method: $method\n";
+                my ($content, $ext, $vars) = $s->(path => $file, %$args);
+                $file =~ s/\.mdtext$/.$ext/;
+                $data{$file} = $vars;
+                last;
+            }
+        }
+    }
+
+    my $content = "";
+
+    for (sort keys %data) {
+        $content .= "- [$data{$_}->{headers}->{title}]($_)\n";
+        for my $hdr (grep /^#/, split "\n", $data{$_}->{content}) {
+            $hdr =~ /^(#+)\s+([^#]+)?\s+\1\s+\{#([^}]+)\}$/ or next;
+            my $level = length $1;
+            $level *= 4;
+            $content .= " " x $level;
+            $content .= "- [$2]($_#$3)\n";
+        }
+    }
+    $args{content} = $content;
+    return Dotiac::DTL::Template($template)->render(\%args), html => \%args;
+}
+
+
+sub _breadcrumbs {
+    my @path = split m!/!, shift;
+    pop @path;
+    my @rv;
+    my $relpath = "";
+    for (@path) {
+        $relpath .= "$_/";
+        $_ ||= "Home";
+        push @rv, qq(<a href="$relpath">\u$_</a>);
+    }
+    return join "&nbsp;&raquo&nbsp;", @rv;
+}
+
+1;
+
+__END__
+
+=head1 LICENSE
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.  The
+    ASF licenses this file to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance with the
+    License.  You may obtain a copy of the License at
+    
+        http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+    License for the specific language governing permissions and limitations
+    under the License.
+
+=cut
+

Added: incubator/lucene.net/site/trunk/templates/basic.html
URL: http://svn.apache.org/viewvc/incubator/lucene.net/site/trunk/templates/basic.html?rev=1071105&view=auto
==============================================================================
--- incubator/lucene.net/site/trunk/templates/basic.html (added)
+++ incubator/lucene.net/site/trunk/templates/basic.html Tue Feb 15 23:33:00 2011
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html lang="en">
+  <head>
+    <title>{% block title %}{{ headers.title }}{% endblock %}</title>
+
+    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+    <meta property="og:image" content="http://www.apache.org/images/asf_logo.gif" />
+
+    <link rel="stylesheet" type="text/css" media="screen" href="http://www.apache.org/css/style.css">
+
+    {% if headers.atom %}
+      <link rel="alternate" href="{{ headers.atom.url }}"
+            type="application/atom+xml" title="{{ headers.atom.title }}" />
+    {% endif %}
+
+    {% if headers.base %}<base href="{{ headers.base }}" />{% endif %}
+    {% if headers.notice %}<!-- {{ headers.notice }} -->{% endif %}
+  </head>
+
+  <body>
+    <div id="page" class="container_16">
+      <div id="header" class="grid_8">
+        <img src="http://www.apache.org/images/feather-small.gif" alt="The Apache Software Foundation">
+        <h1>The Apache Software Foundation</h1>
+        <!-- <h2>{% block tagline %}{{ headers.title }}{% endblock %}</h2> -->
+      </div>
+      <div id="nav" class="grid_8">
+        <div style="width: 100%;background: #303284;height: 36px;">
+            <ul style="float: left;">
+              <!-- <li><a href="/" title="Welcome!">Home</a></li> -->
+              <li><a href="/foundation/" title="The Foundation">Foundation</a></li>
+              <li><a href="http://projects.apache.org" title="The Projects">Projects</a></li>
+              <li><a href="http://people.apache.org" title="The People">People</a></li>
+              <li><a href="/foundation/getinvolved.html" title="Get Involved">Get Involved</a></li>
+              <li><a href="/dyn/closer.cgi" title="Download">Download</a></li>
+              <li><a href="/foundation/sponsorship.html" title="Support Apache">Support Apache</a></li>
+            </ul>
+        </div>
+        <p>{{ breadcrumbs|safe }}</p>
+        <form name="search" id="search" action="http://www.google.com/search" method="get">
+          <input value="*.apache.org" name="sitesearch" type="hidden"/>
+          <input type="text" name="q" id="query">
+          <input type="submit" id="submit" value="Search">
+        </form>
+      </div>
+      <div class="clear"></div>
+      {% block content %}<div id="content" class="grid_16"><img src="/images/lucene-net-logo.png" alt="Lucene.Net Logo" style="padding: 50px 10px;"
+      ><div class="section-content">{{ content|markdown }}</div></div>{% endblock %}
+      <div class="clear"></div>
+    </div>
+    <div id="copyright" class="container_16">
+      <p>Copyright &#169; 2010 The Apache Software Foundation, Licensed under the 
+         <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
+         <br/>
+         Apache Lucene.Net, Lucene.Net, Apache, the Apache feather logo, and the Apache Lucene.Net project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.
+      </p>
+    </div>
+  </body>
+</html>