Skip to content

[Bug]: Comments parsing problem #9791

Open
@elyahw

Description

@elyahw

Operating System

Ubuntu 24.04

Ruby Version

latest

Jekyll Version

jekyll 4.4.1

GitHub Pages Version

none

Expected Behavior

The following gives error:

{%comment%}

    {% if url_parts.size > 1 %}

    {% elsif sub_url == "abc" or sub_url == "cde" %}

{%endcomment%}

It says:

/home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/utils.rb:318:in `merge!': Interrupt
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/utils.rb:318:in `merge_values'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/utils.rb:50:in `deep_merge_hashes!'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/utils.rb:37:in `deep_merge_hashes'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/convertible.rb:120:in `to_liquid'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/context.rb:186:in `find_variable'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/variable_lookup.rb:36:in `evaluate'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/context.rb:159:in `evaluate'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/condition.rb:116:in `interpret_condition'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/condition.rb:47:in `block in evaluate'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/condition.rb:46:in `loop'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/condition.rb:46:in `evaluate'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/tags/if.rb:45:in `block (2 levels) in render'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/tags/if.rb:44:in `each'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/tags/if.rb:44:in `block in render'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/context.rb:123:in `stack'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/tags/if.rb:43:in `render'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/block_body.rb:103:in `render_node_to_output'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/block_body.rb:82:in `render'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/tags/for.rb:160:in `block (2 levels) in render_segment'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/tags/for.rb:158:in `each'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/tags/for.rb:158:in `block in render_segment'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/context.rb:123:in `stack'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/tags/for.rb:150:in `render_segment'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/tags/for.rb:79:in `render'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/block_body.rb:103:in `render_node_to_output'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/block_body.rb:82:in `render'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/template.rb:206:in `block in render'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/template.rb:240:in `with_profiling'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/template.rb:205:in `render'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/template.rb:218:in `render!'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/liquid_renderer/file.rb:30:in `block (2 levels) in render!'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/liquid_renderer/file.rb:42:in `measure_bytes'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/liquid_renderer/file.rb:29:in `block in render!'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/liquid_renderer/file.rb:49:in `measure_time'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/liquid_renderer/file.rb:28:in `render!'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/tags/include.rb:140:in `block in render'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/context.rb:123:in `stack'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/tags/include.rb:137:in `render'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/block_body.rb:103:in `render_node_to_output'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/block_body.rb:91:in `render'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/template.rb:206:in `block in render'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/template.rb:240:in `with_profiling'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/template.rb:205:in `render'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/liquid-4.0.4/lib/liquid/template.rb:218:in `render!'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/liquid_renderer/file.rb:30:in `block (2 levels) in render!'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/liquid_renderer/file.rb:42:in `measure_bytes'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/liquid_renderer/file.rb:29:in `block in render!'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/liquid_renderer/file.rb:49:in `measure_time'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/liquid_renderer/file.rb:28:in `render!'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/renderer.rb:126:in `render_liquid'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/renderer.rb:195:in `render_layout'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/renderer.rb:158:in `place_in_layouts'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/renderer.rb:88:in `render_document'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/renderer.rb:62:in `run'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/site.rb:479:in `render_regenerated'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/site.rb:472:in `block in render_pages'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/site.rb:471:in `each'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/site.rb:471:in `render_pages'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/site.rb:192:in `render'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/site.rb:71:in `process'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/command.rb:28:in `process_site'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/commands/build.rb:65:in `build'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/commands/build.rb:36:in `process'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/commands/serve.rb:93:in `block in start'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/commands/serve.rb:93:in `each'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/commands/serve.rb:93:in `start'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/lib/jekyll/commands/serve.rb:75:in `block (2 levels) in init_with_program'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `block in execute'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `each'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/mercenary-0.3.6/lib/mercenary/command.rb:220:in `execute'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/mercenary-0.3.6/lib/mercenary/program.rb:42:in `go'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/mercenary-0.3.6/lib/mercenary.rb:19:in `program'
        from /home/username/Documents/jekyll/ruby/3.2.0/gems/jekyll-3.9.5/exe/jekyll:15:in `<top (required)>'
        from /home/username/Documents/jekyll/ruby/3.2.0/bin/jekyll:25:in `load'
        from /home/username/Documents/jekyll/ruby/3.2.0/bin/jekyll:25:in `<main>'

Current Behavior

It does not compile. It should.

It compiles only when I close the if with {% endif %} inside the comments.

Relevant log output

Code Sample

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions