@@ -16,7 +16,18 @@ class DependsPlugin(Plugin): | |||||
def __init__(self, site): | def __init__(self, site): | ||||
super(DependsPlugin, self).__init__(site) | super(DependsPlugin, self).__init__(site) | ||||
def begin_text_resource(self, resource, text): | |||||
def begin_site(self): | |||||
""" | |||||
Initialize dependencies. | |||||
Go through all the nodes and resources to initialize | |||||
dependencies at each level. | |||||
""" | |||||
for resource in self.site.content.walk_resources(): | |||||
self._update_resource(resource) | |||||
def _update_resource(self, resource): | |||||
""" | """ | ||||
If the meta data for the resource contains a depends attribute, | If the meta data for the resource contains a depends attribute, | ||||
this plugin adds an entry to the depends property of the | this plugin adds an entry to the depends property of the | ||||
@@ -33,7 +44,7 @@ class DependsPlugin(Plugin): | |||||
try: | try: | ||||
depends = resource.meta.depends | depends = resource.meta.depends | ||||
except AttributeError: | except AttributeError: | ||||
pass | |||||
return | |||||
if not hasattr(resource, 'depends') or not resource.depends: | if not hasattr(resource, 'depends') or not resource.depends: | ||||
resource.depends = [] | resource.depends = [] | ||||
@@ -46,5 +57,4 @@ class DependsPlugin(Plugin): | |||||
resource=resource, | resource=resource, | ||||
site=self.site, | site=self.site, | ||||
context=self.site.context)) | context=self.site.context)) | ||||
resource.depends = list(set(resource.depends)) | |||||
return text | |||||
resource.depends = list(set(resource.depends)) |
@@ -124,16 +124,19 @@ class Generator(object): | |||||
""" | """ | ||||
Updates the dependencies for the given resource. | Updates the dependencies for the given resource. | ||||
""" | """ | ||||
if not resource.source_file.is_text: | |||||
return [] | |||||
rel_path = resource.relative_path | rel_path = resource.relative_path | ||||
deps = [] | deps = [] | ||||
if hasattr(resource, 'depends'): | if hasattr(resource, 'depends'): | ||||
user_deps = resource.depends | user_deps = resource.depends | ||||
for dep in user_deps: | for dep in user_deps: | ||||
deps.append(dep) | deps.append(dep) | ||||
deps.extend(self.template.get_dependencies(dep)) | |||||
dep_res = self.site.content.resource_from_relative_path(dep) | |||||
if dep_res: | |||||
deps.extend(self.get_dependencies(dep_res)) | |||||
deps.extend(self.template.get_dependencies(resource.relative_path)) | |||||
deps.extend(self.template.get_dependencies(rel_path)) | |||||
deps = list(set(deps)) | deps = list(set(deps)) | ||||
if None in deps: | if None in deps: | ||||
deps.remove(None) | deps.remove(None) | ||||
@@ -36,8 +36,7 @@ class TestDepends(object): | |||||
=== | === | ||||
depends: index.html | depends: index.html | ||||
=== | === | ||||
{% set ind = 'index.html' %} | |||||
{% refer to ind as index %} | |||||
""" | """ | ||||
inc = File(TEST_SITE.child('content/inc.md')) | inc = File(TEST_SITE.child('content/inc.md')) | ||||
inc.write(text) | inc.write(text) | ||||
@@ -13,8 +13,18 @@ import sys | |||||
PROJECT = 'hyde' | PROJECT = 'hyde' | ||||
try: | |||||
import markdown | |||||
except: | |||||
markdown = False | |||||
try: | try: | ||||
long_description = open('README.markdown', 'rt').read() | long_description = open('README.markdown', 'rt').read() | ||||
if markdown: | |||||
long_description = markdown.markdown(long_description) | |||||
import re | |||||
long_description = re.sub('(.*)', ' \\1', long_description) | |||||
long_description ='.. raw:: html\n\n' + long_description | |||||
except IOError: | except IOError: | ||||
long_description = '' | long_description = '' | ||||