Skip to content

Jinja2 is parsing CSS & chokes on valid syntax #68

@alanhogan

Description

@alanhogan

This took a long time to figure out…

I was getting this error for some reason:

~/path > hyde gen -r
 22:27:10 hyde.engine Reading site configuration from [/path/site.yaml]
 22:27:10 hyde Regenerating the site...
 22:27:10 hyde.engine Reading site contents
 22:27:10 hyde.engine Generating site at [/path]
 22:27:10 hyde.engine Configuring the template environment
 22:27:10 hyde.engine Reading site contents
{'index_file_names': ['index.html'], 'append_slash': False, 'strip_extensions': ['html']}
 22:27:10 hyde.engine Generating site to [/path/deploy]
Traceback (most recent call last):
  File "/usr/local/bin/hyde", line 8, in <module>
    load_entry_point('hyde==0.8', 'console_scripts', 'hyde')()
  File "/Library/Python/2.6/site-packages/hyde-0.8-py2.6.egg/EGG-INFO/scripts/main.py", line 10, in main
    Engine().run()
  File "build/bdist.macosx-10.6-universal/egg/commando.py", line 198, in run
  File "/Library/Python/2.6/site-packages/hyde-0.8-py2.6.egg/hyde/engine.py", line 90, in gen
    gen.generate_all(incremental=incremental)
  File "/Library/Python/2.6/site-packages/hyde-0.8-py2.6.egg/hyde/generator.py", line 198, in generate_all
    self.__generate_node__(self.site.content, incremental)
  File "/Library/Python/2.6/site-packages/hyde-0.8-py2.6.egg/hyde/generator.py", line 289, in __generate_node__
    self.__generate_resource__(resource, incremental)
  File "/Library/Python/2.6/site-packages/hyde-0.8-py2.6.egg/hyde/generator.py", line 302, in __generate_resource__
    self.update_deps(resource)
  File "/Library/Python/2.6/site-packages/hyde-0.8-py2.6.egg/hyde/generator.py", line 144, in update_deps
    deps.extend(self.template.get_dependencies(rel_path))
  File "/Library/Python/2.6/site-packages/hyde-0.8-py2.6.egg/hyde/ext/templates/jinja.py", line 592, in get_dependencies
    ast = self.env.parse(text)
  File "/Library/Python/2.6/site-packages/Jinja2-2.5.5-py2.6.egg/jinja2/environment.py", line 393, in parse
    self.handle_exception(exc_info, source_hint=source)
  File "<unknown>", line 1, in template
jinja2.exceptions.TemplateSyntaxError: Missing end of comment tag

Turns out, a recent change I made caused my compiled CSS files (I am not compiling using Hyde mechanisms currently, FWIW) to contain the string {#. Jinja2 freaked out because it thought it was the beginning of a comment.

The above is perfectly valid syntax in CSS; after all, if you are minifying your CSS and it contains an @media section that starts with an ID-based selector, then wham: @media something{#foo{...}}. And you won’t be able to hyde gen -r anymore.

Note that my CSS is within the content/media/css directory.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions