Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP


Post not shown if title contains : (colon) #549

Heliosmaster opened this Issue · 12 comments

9 participants


in the YAML front matter, if I have

title: "Post title : Part 1"

the post is not shown by Jekyll.


An instant solution to this is to encode it yourself. A colon is: : as an entity.



The problem is it's hard to find which page contains colon. Jekyll produces exception:

/usr/share/ruby-rvm/gems/ruby-1.9.3-p194/gems/psych-1.3.4/lib/psych.rb:203:in `parse': (<unknown>): mapping values are not allowed in this context at line 4 column 14 (Psych::SyntaxError)
    from /usr/share/ruby-rvm/gems/ruby-1.9.3-p194/gems/psych-1.3.4/lib/psych.rb:203:in `parse_stream'
    from /usr/share/ruby-rvm/gems/ruby-1.9.3-p194/gems/psych-1.3.4/lib/psych.rb:151:in `parse'
    from /usr/share/ruby-rvm/gems/ruby-1.9.3-p194/gems/psych-1.3.4/lib/psych.rb:127:in `load'
    from /usr/share/ruby-rvm/gems/ruby-1.9.3-p194/gems/jekyll-0.11.2/lib/jekyll/convertible.rb:33:in `read_yaml'

When I use quotes around a title, the site is generated correctly.


I had this problem when importing from a tumblr. To fix colons in titles (with python; I'm sure there's some one-liner to do this, but it works):

import re
import glob
colon = re.compile(r"title:(.*:.*)")
for file in glob.glob("_posts/tumblr/*.html"):
    with open(file) as f:
        lines = f.readlines()
    for i, line in enumerate(lines):
        match = colon.match(line)
        if match:
            lines[i] = "title:" +":", "&#58;") + "\n"
            with open(file, "w") as f:
                print "updating ", file
                for line in lines:

Instant help! Yay.


Unfortunately, Jekyll can't do much about this. It's really a YAML problem.

@parkr parkr closed this

Can Jekyll not even do anything useful about the error message? A meaningful error message would be really helpful.


@nottrobin On master, it looks like we give a more helpful error. Did you test on 1.0.0.beta2?


I'm using jekyll 2.5.3 and I'm still getting an unhelpful error:

Error reading file /home/path/to/ (<unknown>): mapping values are not allowed in this context at line 3 column 12 

line 3 contains the title of the post which has a colon in it.


@gideonite We asked about this here, check it out: dtao/safe_yaml#54

@else else referenced this issue in raumzeitlabor/rzl-homepage

YAML does not require quotes #130

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.