Lektorのプラグイン機能を使ってウェブサイトのルートから親ページまでのナビゲーションを書いてみた。
とりあえずソースコードは以下のような感じ
まだAlternativeが上手く扱えないとか問題がいっぱい。
# -*- coding: utf-8 -*-
from urlparse import urljoin
import urllib
from lektor.pluginsystem import Plugin
from furl import furl
class RootRelativePathPlugin(Plugin):
name = u'root-relative-path'
description = u'Returns root relative path'
def on_setup_env(self, **extra):
def root_relative_path_list(url):
if url == '/':
return []
lis = furl(url).path.segments
url='/'
name='Top Page'
root_relative_path_lis = [(url, name)]
for i in lis:
url = urllib.quote(urljoin(url, '%s' % i))
name = i
root_relative_path_lis.append((url, name))
url = url + '/'
return root_relative_path_lis[:-1]
self.env.jinja_env.filters['root_relative_path_list'] = root_relative_path_list