diff piecrust/data/builder.py @ 247:d9d5c5de02a8

data: Add a top level wrapper for `Linker`. The `family` object is special in that it's "attached" to the current page, so make an object dedicated to that. It removes special code in `Linker`, and makes it possible to go `family.children` directly to get a page's children (i.e. pages in a directory of the same name).
author Ludovic Chabant <ludovic@chabant.com>
date Thu, 19 Feb 2015 23:33:54 -0800
parents 879fe1457e48
children b7ab1b503510
line wrap: on
line diff
--- a/piecrust/data/builder.py	Wed Feb 18 18:35:03 2015 -0800
+++ b/piecrust/data/builder.py	Thu Feb 19 23:33:54 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 PageLinkerData
 from piecrust.data.paginator import Paginator
 from piecrust.uriutil import get_slug, get_first_sub_uri
 
@@ -36,13 +36,13 @@
     paginator = Paginator(page, pgn_source, first_uri, ctx.page_num,
                           ctx.pagination_filter)
     assetor = Assetor(page, first_uri)
-    recursive_linker = Linker(page.source, page_path=page.rel_path)
+    linker = PageLinkerData(page.source, page.rel_path)
     data = {
             'piecrust': pc_data,
             'page': dict(page.config.get()),
             'assets': assetor,
             'pagination': paginator,
-            'family': recursive_linker
+            'family': linker
             }
     page_data = data['page']
     page_data['url'] = ctx.uri