Index: /trunk/BookmarkApp.pm
===================================================================
--- /trunk/BookmarkApp.pm	(revision 12)
+++ /trunk/BookmarkApp.pm	(revision 13)
@@ -70,5 +70,11 @@
     my $format = $q->param('format') || 'html';
     my $tag = $q->param('tag');
-    my @resources = $bookmarks->get_resources({ tag => $tag });
+    my $limit = $q->param('limit');
+    my $offset = $q->param('offset');
+    my @resources = $bookmarks->get_resources({
+        tag    => $tag,
+        limit  => $limit,
+        offset => $offset,
+    });
     my @all_tags = $bookmarks->get_tags({ selected => $tag });
     my @cotags = $bookmarks->get_cotags({ tag => $tag });
Index: /trunk/Bookmarks.pm
===================================================================
--- /trunk/Bookmarks.pm	(revision 12)
+++ /trunk/Bookmarks.pm	(revision 13)
@@ -38,4 +38,5 @@
     my $tag = $params->{tag};
     my $limit = $params->{limit};
+    my $offset = $params->{offset};
 
     my ($sql, @bind) = sql_interp(
@@ -43,5 +44,7 @@
         ($tag   ? ('join tags on resources.uri = tags.uri where tags.tag =', \$tag) : ''),
         'order by ctime desc',
-        ($limit ? ('limit', \$limit) : ''),
+        ($limit ? ('limit', \$limit) : ()),
+        # an offset is only allowed if we have a limit clause
+        ($limit && $offset ? ('offset', \$offset) : ()),
     );
 
