You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2012/01/18 23:39:45 UTC
svn commit: r1233099 - in /openejb/site/trunk: content/dev/index.html
content/dev/index.mdtext content/sitemap.html lib/path.pm lib/view.pm
Author: dblevins
Date: Wed Jan 18 22:39:45 2012
New Revision: 1233099
URL: http://svn.apache.org/viewvc?rev=1233099&view=rev
Log:
Sitemap
Added:
openejb/site/trunk/content/dev/index.html (with props)
openejb/site/trunk/content/sitemap.html (with props)
Removed:
openejb/site/trunk/content/dev/index.mdtext
Modified:
openejb/site/trunk/lib/path.pm
openejb/site/trunk/lib/view.pm
Added: openejb/site/trunk/content/dev/index.html
URL: http://svn.apache.org/viewvc/openejb/site/trunk/content/dev/index.html?rev=1233099&view=auto
==============================================================================
--- openejb/site/trunk/content/dev/index.html (added)
+++ openejb/site/trunk/content/dev/index.html Wed Jan 18 22:39:45 2012
@@ -0,0 +1,3 @@
+{% extends "basic.html" %}
+{% block title %}SiteMap{% endblock %}
+{% block content %}{{ content|markdown }}{% endblock %}
Propchange: openejb/site/trunk/content/dev/index.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: openejb/site/trunk/content/sitemap.html
URL: http://svn.apache.org/viewvc/openejb/site/trunk/content/sitemap.html?rev=1233099&view=auto
==============================================================================
--- openejb/site/trunk/content/sitemap.html (added)
+++ openejb/site/trunk/content/sitemap.html Wed Jan 18 22:39:45 2012
@@ -0,0 +1,3 @@
+{% extends "basic.html" %}
+{% block title %}SiteMap{% endblock %}
+{% block content %}{{ content|markdown }}{% endblock %}
Propchange: openejb/site/trunk/content/sitemap.html
------------------------------------------------------------------------------
svn:eol-style = native
Modified: openejb/site/trunk/lib/path.pm
URL: http://svn.apache.org/viewvc/openejb/site/trunk/lib/path.pm?rev=1233099&r1=1233098&r2=1233099&view=diff
==============================================================================
--- openejb/site/trunk/lib/path.pm (original)
+++ openejb/site/trunk/lib/path.pm Wed Jan 18 22:39:45 2012
@@ -22,6 +22,11 @@ our @patterns = (
[qr!\.md(text)?$!, basic => { template => "doc.html" } ],
+ [qr!sitemap\.html$!, sitemap => { headers => { title => "Sitemap" }} ],
+
+ [qr!dev/index\.html$!, sitemap => { headers => { title => "Project Resources" }} ],
+
+
);
# The %dependecies hash is used when building pages that reference or depend
@@ -29,7 +34,10 @@ our @patterns = (
# links to. The keys for %dependencies are filepaths, and the values are
# arrayrefs containing other filepaths.
-our %dependencies = ();
+our %dependencies = (
+ "/sitemap.html" => [ grep s!^content!!, glob "content/*.mdtext" ],
+ "/dev/index.html" => [ grep s!^content!!, glob "content/dev/*.mdtext" ],
+);
1;
Modified: openejb/site/trunk/lib/view.pm
URL: http://svn.apache.org/viewvc/openejb/site/trunk/lib/view.pm?rev=1233099&r1=1233098&r2=1233099&view=diff
==============================================================================
--- openejb/site/trunk/lib/view.pm (original)
+++ openejb/site/trunk/lib/view.pm Wed Jan 18 22:39:45 2012
@@ -104,6 +104,60 @@ sub example {
return ($rendered, 'html', \%args);
}
+sub sitemap {
+ my %args = @_;
+ my $template = "content/$args{path}";
+# $args{breadcrumbs} .= _breadcrumbs($args{path});
+ $args{base} = _base($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) {
+ my $link = $_;
+ $link =~ s,.*/,,;
+
+ my $title = $data{$_}->{headers}->{title};
+ $title = $link unless $title;
+
+ $content .= "- [$title]($link)\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;
+ my $rendered = Dotiac::DTL->new($template)->render(\%args);
+
+ return ($rendered, 'html', \%args);
+# return Dotiac::DTL::Template($template)->render(\%args), html => \%args;
+}
+
+
sub _breadcrumbs {
my $path = shift;
my $base = shift;