【问题标题】:Octopress Chokes on Blogger-Imported HTML在 Blogger 导入的 HTML 上的 Octopress 阻塞
【发布时间】:2013-01-29 11:36:02
【问题描述】:

每个人。我正在使用this ruby script 将我的 Blogger XML 文件导入 Octopress。初始导入工作正常,解析 XML 并在 ./_posts/ 中生成 HTML 文件(使用正确的命名约定)。我把这些移到了./source/_posts/,这样 Jekyll 就可以解析它们以便在站点中使用。当我尝试使用rake -t generate 时,我收到此错误:

samurailink3@Manacotti:~/Dropbox/Important Backups/Git Repos/samurailink3.com$ rake -t generate
** Invoke generate (first_time)
** Execute generate
## Generating Site with Jekyll
unchanged sass/screen.scss
Configuration from /home/samurailink3/Dropbox/Important Backups/Git Repos/samurailink3.com/_config.yml
Building site: source -> public
/usr/lib/ruby/1.9.1/uri/common.rb:304:in `escape': undefined method `gsub' for 3:Fixnum (NoMethodError)
    from /usr/lib/ruby/1.9.1/uri/common.rb:623:in `escape'
    from /var/lib/gems/1.9.1/gems/jekyll-0.12.0/lib/jekyll/post.rb:140:in `block in url'
    from /var/lib/gems/1.9.1/gems/jekyll-0.12.0/lib/jekyll/post.rb:140:in `map'
    from /var/lib/gems/1.9.1/gems/jekyll-0.12.0/lib/jekyll/post.rb:140:in `url'
    from /home/samurailink3/Dropbox/Important Backups/Git Repos/samurailink3.com/plugins/sitemap_generator.rb:69:in `location_on_server'
    from /home/samurailink3/Dropbox/Important Backups/Git Repos/samurailink3.com/plugins/sitemap_generator.rb:219:in `fill_location'
    from /home/samurailink3/Dropbox/Important Backups/Git Repos/samurailink3.com/plugins/sitemap_generator.rb:181:in `fill_url'
    from /home/samurailink3/Dropbox/Important Backups/Git Repos/samurailink3.com/plugins/sitemap_generator.rb:146:in `block in fill_posts'
    from /home/samurailink3/Dropbox/Important Backups/Git Repos/samurailink3.com/plugins/sitemap_generator.rb:144:in `each'
    from /home/samurailink3/Dropbox/Important Backups/Git Repos/samurailink3.com/plugins/sitemap_generator.rb:144:in `fill_posts'
    from /home/samurailink3/Dropbox/Important Backups/Git Repos/samurailink3.com/plugins/sitemap_generator.rb:120:in `generate'
    from /var/lib/gems/1.9.1/gems/jekyll-0.12.0/lib/jekyll/site.rb:190:in `block in generate'
    from /var/lib/gems/1.9.1/gems/jekyll-0.12.0/lib/jekyll/site.rb:189:in `each'
    from /var/lib/gems/1.9.1/gems/jekyll-0.12.0/lib/jekyll/site.rb:189:in `generate'
    from /var/lib/gems/1.9.1/gems/jekyll-0.12.0/lib/jekyll/site.rb:40:in `process'
    from /var/lib/gems/1.9.1/gems/jekyll-0.12.0/bin/jekyll:264:in `<top (required)>'
    from /usr/local/bin/jekyll:23:in `load'
    from /usr/local/bin/jekyll:23:in `<main>'

有什么想法吗?在我尝试导入之前,一切都运行良好。

另外,here is the code 如果你想看看。我在 source 分支工作。

【问题讨论】:

    标签: ruby import blogger jekyll octopress


    【解决方案1】:

    我希望这些类型的错误在进行自动翻译时很常见,而且每次都有自己的技巧和转折。当我导入 jekyll 时,它被未关闭的 iframe HTML 标签(用于嵌入视频)阻塞。即使它们是有效的,解析器也不喜欢它们。你可能有类似的事情发生。

    这一行:

    /usr/lib/ruby/1.9.1/uri/common.rb:304:in `escape': undefined method `gsub' for 3:Fixnum (NoMethodError)
    

    为您提供从哪里开始的第一条线索。有东西试图调用“gsub”。我的第一步是在输出文件中搜索该字符串。如果找到了,请暂时删除 ./source/_posts/ 目录中除此之外的所有其他文件。这将减少你的问题集的大小,让你做更多的实验来弄清楚到底发生了什么。开始破解该文件,直到你让它工作。

    更新: 如果您没有找到 'gsub'(而且我看到了更多对它的引用,这让我认为您不会找到它作为字符串)。一个好的故障排除方法仍然是一次只在 ./source/_posts/ 目录中保留一个文件,以准确缩小正在发生的事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-25
      • 2010-11-06
      • 1970-01-01
      • 1970-01-01
      • 2010-09-17
      • 2020-07-14
      相关资源
      最近更新 更多