2013-12-08 3 views
2

Octopress가 _config.yml을 구성하여 기본 markdown 파서 Rdiscount (2.1.7)로 TOC를 생성하려고 시도했지만 작동하지 않고 rake generate이 실패했습니다.
RDiscount :generate_toc with Sinatra에서 답변을 시도했지만 나에게도 도움이되지 못했습니다. 이 같은 Octopress Rdiscount 추가 인하 구문을 구성하는 방법이 경우
그래서 궁금 :Octopress에서 rdiscount 추가 markdown 'generate_toc'을 활성화하는 방법

[email protected]:~/github/octopress$ rake generate 
## Generating Site with Jekyll                           
identical source/stylesheets/screen.css                        
Configuration from /home/sunnogo/github/octopress/_config.yml                   
Building site: source -> public                          
Liquid Exception: can't convert nil into String in atom.xml                   
/var/lib/gems/1.9.1/gems/jekyll-0.12.0/lib/jekyll/converters/markdown.rb:139:in `include?'            
/var/lib/gems/1.9.1/gems/jekyll-0.12.0/lib/jekyll/converters/markdown.rb:139:in `convert'            
/var/lib/gems/1.9.1/gems/jekyll-0.12.0/lib/jekyll/filters.rb:25:in `markdownify'              
/var/lib/gems/1.9.1/gems/liquid-2.3.0/lib/liquid/context.rb:58:in `invoke'                
/var/lib/gems/1.9.1/gems/liquid-2.3.0/lib/liquid/variable.rb:43:in `block in render'             
/var/lib/gems/1.9.1/gems/liquid-2.3.0/lib/liquid/variable.rb:38:in `each'                
/var/lib/gems/1.9.1/gems/liquid-2.3.0/lib/liquid/variable.rb:38:in `inject'               
/var/lib/gems/1.9.1/gems/liquid-2.3.0/lib/liquid/variable.rb:38:in `render'               
/var/lib/gems/1.9.1/gems/liquid-2.3.0/lib/liquid/block.rb:94:in `block in render_all'             
/var/lib/gems/1.9.1/gems/liquid-2.3.0/lib/liquid/block.rb:92:in `collect' 
/var/lib/gems/1.9.1/gems/liquid-2.3.0/lib/liquid/block.rb:92:in `render_all' 
/var/lib/gems/1.9.1/gems/liquid-2.3.0/lib/liquid/tags/for.rb:116:in `block (2 levels) in render' 
/var/lib/gems/1.9.1/gems/liquid-2.3.0/lib/liquid/tags/for.rb:104:in `each' 
/var/lib/gems/1.9.1/gems/liquid-2.3.0/lib/liquid/tags/for.rb:104:in `each_with_index' 
/var/lib/gems/1.9.1/gems/liquid-2.3.0/lib/liquid/tags/for.rb:104:in `block in render' 
/var/lib/gems/1.9.1/gems/liquid-2.3.0/lib/liquid/context.rb:91:in `stack' 
/var/lib/gems/1.9.1/gems/liquid-2.3.0/lib/liquid/tags/for.rb:103:in `render' 
/var/lib/gems/1.9.1/gems/liquid-2.3.0/lib/liquid/block.rb:94:in `block in render_all' 
/var/lib/gems/1.9.1/gems/liquid-2.3.0/lib/liquid/block.rb:92:in `collect' 
/var/lib/gems/1.9.1/gems/liquid-2.3.0/lib/liquid/block.rb:92:in `render_all' 
/var/lib/gems/1.9.1/gems/liquid-2.3.0/lib/liquid/block.rb:82:in `render' 
/var/lib/gems/1.9.1/gems/liquid-2.3.0/lib/liquid/template.rb:124:in `render' 
/var/lib/gems/1.9.1/gems/liquid-2.3.0/lib/liquid/template.rb:132:in `render!' 
/var/lib/gems/1.9.1/gems/jekyll-0.12.0/lib/jekyll/convertible.rb:79:in `do_layout' 
/home/sunnogo/github/octopress/plugins/post_filters.rb:167:in `do_layout' 
/var/lib/gems/1.9.1/gems/jekyll-0.12.0/lib/jekyll/page.rb:100:in `render' 
/home/sunnogo/github/octopress/plugins/category_generator.rb:100:in `write_category_index' 
/home/sunnogo/github/octopress/plugins/category_generator.rb:111:in `block in write_category_indexes' 
/home/sunnogo/github/octopress/plugins/category_generator.rb:110:in `each' 
/home/sunnogo/github/octopress/plugins/category_generator.rb:110:in `write_category_indexes' 
/home/sunnogo/github/octopress/plugins/category_generator.rb:139:in `generate' 
/var/lib/gems/1.9.1/gems/jekyll-0.12.0/lib/jekyll/site.rb:190:in `block in generate' 
/var/lib/gems/1.9.1/gems/jekyll-0.12.0/lib/jekyll/site.rb:189:in `each' 
/var/lib/gems/1.9.1/gems/jekyll-0.12.0/lib/jekyll/site.rb:189:in `generate' 
/var/lib/gems/1.9.1/gems/jekyll-0.12.0/lib/jekyll/site.rb:40:in `process' 
/var/lib/gems/1.9.1/gems/jekyll-0.12.0/bin/jekyll:264:in `<top (required)>' 
/usr/local/bin/jekyll:23:in `load' 
/usr/local/bin/jekyll:23:in `<main>' 
Build Failed 
: 설정 rdiscount가 _config.ymlrake generate에, 나는 다음과 같은 빌드 오류가 발생했습니다
markdown: rdiscount 
rdiscount: 
    extensions: 
    - autolink 
    - footnotes 
    - smart 
    - generate_toc 

+0

구성 블록이 나에게 적합합니다. 아마도'rake generate'가 실패 할 때 당신이 얻는 에러에 대한 정보를 제공 할 수 있습니까? –

+0

@DavidFoster, 답장을 보내 주셔서 감사합니다. 위의 오류 정보를 추가했습니다. 구성 작업을 잘하기 위해 다른 설정이나 패치를 만들었습니까? – sunnogo

답변

3

표시되는 문제는 a bug in Jekyll that has since been fixed입니다. 특히, 지킬은 generate_toc을 지정하면 문서에 쓸 수있는 문자열 인 toc_token을 지정하여 지킬이 목차를 삽입하게한다고 가정합니다.

markdown: rdiscount 
rdiscount: 
    extensions: 
    - autolink 
    - footnotes 
    - smart 
    - generate_toc 
    toc_token: "!TOC" 

을 그리고 당신은 당신이 표시 내용의 테이블을 원하는 지점에서 인하 문서에 !TOC을 삽입합니다 :

업데이트 된 _config.yml은 다음과 같이 보일 것이다.