diff piecrust/data/builder.py @ 172:4fc1d306046b

linker: Actually implement the `Linker` class, and use it in the page data.
author Ludovic Chabant <ludovic@chabant.com>
date Sat, 03 Jan 2015 20:52:19 -0800
parents a643b14a59a3
children 1446dbc42d39
line wrap: on
line diff
--- a/piecrust/data/builder.py	Sat Jan 03 20:51:34 2015 -0800
+++ b/piecrust/data/builder.py	Sat Jan 03 20:52:19 2015 -0800
@@ -5,7 +5,7 @@
 from piecrust.configuration import merge_dicts
 from piecrust.data.assetor import Assetor
 from piecrust.data.debug import build_debug_info
-from piecrust.data.linker import Linker
+from piecrust.data.linker import Linker, RecursiveLinker
 from piecrust.data.paginator import Paginator
 from piecrust.uriutil import get_slug, get_first_sub_uri
 
@@ -36,14 +36,15 @@
     paginator = Paginator(page, pgn_source, first_uri, ctx.page_num,
             ctx.pagination_filter)
     assetor = Assetor(page, first_uri)
-    linker = Linker(page)
+    flat_linker = Linker(page.source, page_path=page.rel_path)
+    recursive_linker = RecursiveLinker(page.source, page_path=page.rel_path)
     data = {
             'piecrust': pc_data,
             'page': dict(page.config.get()),
             'assets': assetor,
             'pagination': paginator,
-            'siblings': linker,
-            'family': linker
+            'siblings': flat_linker,
+            'family': recursive_linker
             }
     page_data = data['page']
     page_data['url'] = ctx.uri