diff options
| author | Justin J. Novack <jnovack@gmail.com> | 2012-09-17 10:08:39 -0400 |
|---|---|---|
| committer | Justin J. Novack <jnovack@gmail.com> | 2012-09-17 10:08:39 -0400 |
| commit | 97c4ac59eed8b66b2e7f85d8ac325b063fb8a0ce (patch) | |
| tree | d6c729c5ad14562eff5b63f782f1428a5c964bb5 | |
| parent | 76aa2ab76d8f2305db7a2bb7cdbe461cca0146a3 (diff) | |
| parent | 882ce78e4fc3361288dbc3c453412556aa529c7d (diff) | |
| download | phorkie-97c4ac59eed8b66b2e7f85d8ac325b063fb8a0ce.tar.gz phorkie-97c4ac59eed8b66b2e7f85d8ac325b063fb8a0ce.zip | |
Merge with updates from cweiske/master
| -rw-r--r-- | ChangeLog | 6 | ||||
| -rw-r--r-- | data/templates/display.htm | 4 | ||||
| -rw-r--r-- | data/templates/doap.htm | 17 | ||||
| -rw-r--r-- | src/phorkie/Repository.php | 2 | ||||
| -rw-r--r-- | www/.htaccess | 1 | ||||
| -rw-r--r-- | www/doap.php | 21 |
6 files changed, 50 insertions, 1 deletions
@@ -1,7 +1,11 @@ -2012-09-16 Justin J. Novack <jnovack@gmail.com> +2012-09-17 Justin J. Novack <jnovack@gmail.com> * Add OpenID authentication +2012-09-16 Christian Weiske <cweiske@cweiske.de> + + * Implement request #12: DOAP documents for all pastes + 2012-09-08 Christian Weiske <cweiske@cweiske.de> * Fix bug #11: do not index edit, delete and tool pages diff --git a/data/templates/display.htm b/data/templates/display.htm index 6d84c46..5bcb016 100644 --- a/data/templates/display.htm +++ b/data/templates/display.htm @@ -3,6 +3,10 @@ {{repo.getTitle}} {% endblock %} +{% block meta %} +<link rel="meta" title="DOAP" type="application/rdf+xml" href="{{repo.getLink('doap')}}"/> +{% endblock %} + {% block content %} {% include 'display-head.htm' %} diff --git a/data/templates/doap.htm b/data/templates/doap.htm new file mode 100644 index 0000000..5302dd4 --- /dev/null +++ b/data/templates/doap.htm @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns="http://usefulinc.com/ns/doap#"> + <Project rdf:about="{{link}}"> + <name>{{repo.getTitle}}</name> + <homepage rdf:resource="{{link}}" /> + <created>{{date}}</created> + {% if repo.getCloneURL(true) %} + <repository> + <GitRepository> + <location rdf:resource="{{repo.getCloneURL(true)}}" /> + <browse rdf:resource="{{link}}" /> + </GitRepository> + </repository> + {%endif %} + </Project> +</rdf:RDF> diff --git a/src/phorkie/Repository.php b/src/phorkie/Repository.php index 9f8f264..995a16d 100644 --- a/src/phorkie/Repository.php +++ b/src/phorkie/Repository.php @@ -252,6 +252,8 @@ class Repository return '/' . $this->id; } else if ($type == 'fork') { return '/' . $this->id . '/fork'; + } else if ($type == 'doap') { + return '/' . $this->id . '/doap'; } else if ($type == 'delete') { return '/' . $this->id . '/delete'; } else if ($type == 'delete-confirm') { diff --git a/www/.htaccess b/www/.htaccess index c1d339d..4c52627 100644 --- a/www/.htaccess +++ b/www/.htaccess @@ -5,6 +5,7 @@ RewriteBase / RewriteRule ^([0-9]+)$ /display.php?id=$1 RewriteRule ^([0-9]+)/delete$ /delete.php?id=$1 RewriteRule ^([0-9]+)/delete/confirm$ /delete.php?id=$1&confirm=1 +RewriteRule ^([0-9]+)/doap$ /doap.php?id=$1 RewriteRule ^([0-9]+)/edit$ /edit.php?id=$1 RewriteRule ^([0-9]+)/fork$ /fork.php?id=$1 RewriteRule ^([0-9]+)/raw/(.+)$ /raw.php?id=$1&file=$2 diff --git a/www/doap.php b/www/doap.php new file mode 100644 index 0000000..db00df4 --- /dev/null +++ b/www/doap.php @@ -0,0 +1,21 @@ +<?php +namespace phorkie; +/** + * Display DOAP of the paste. + * Contains a machine-readable project description with Git URL. + */ +require_once 'www-header.php'; + +$repo = new Repository(); +$repo->loadFromRequest(); + +header('Content-Type: application/rdf+xml'); +render( + 'doap', + array( + 'repo' => $repo, + 'date' => date('Y-m-d', end($repo->getHistory())->committerTime), + 'link' => Tools::fullUrl($repo->getLink('display')) + ) +); +?> |
