그래서 필자는 블로그에서 마크 다운을 구현하기 위해 CodeRay gem을 사용하기 위해 오랫동안 노력했습니다. 그것은 잠시 동안 일했다, 그렇지만 그것은 500 에러로 나의 블로그 페이지를 깨뜨릴 것이다.CodeRay를 사용하지 않고 RedCarpet을 사용하여 블로그에 자격 취득을 구현하려면 어떻게해야합니까?
CodeRay.scan 범인으로 확인되었다 :
class CodeRayify < Redcarpet::Render::HTML
def block_code(code, language)
CodeRay.scan(code, language).div
end
end
그러나 나는 같이하는 코드를 리팩토링 후에도 :
class CodeRayify < Redcarpet::Render::HTML
def block_code(code, language)
CodeRay.scan(code, language || :text).div
end
end
나는 아직도 내가 비록 심지어 같은 문제가 있습니다 나는 문장의 시작 부분에 backticks가 없도록하고, 블로그에서 정확하게 markdown을 구현하고 있는지 확인하십시오.
나는 다음과 같은 오류를 얻을 :
2017-11-28T23:22:11.456525+00:00 app[web.1]: I, [2017-11-28T23:22:11.456458 #4] INFO -- : [d03d5e9e-c3c3-4117-85db-d80bd30d9178] Completed 500 Internal Server Error in 38ms (ActiveRecord: 8.5ms)
2017-11-28T23:22:11.457321+00:00 app[web.1]: F, [2017-11-28T23:22:11.457251 #4] FATAL -- : [d03d5e9e-c3c3-4117-85db-d80bd30d9178]
2017-11-28T23:22:11.457384+00:00 app[web.1]: F, [2017-11-28T23:22:11.457321 #4] FATAL -- : [d03d5e9e-c3c3-4117-85db-d80bd30d9178] ActionView::Template::Error (Invalid id given: console.log("Hello!");```):
2017-11-28T23:22:11.457592+00:00 app[web.1]: F, [2017-11-28T23:22:11.457534 #4] FATAL -- : [d03d5e9e-c3c3-4117-85db-d80bd30d9178] 4:
2017-11-28T23:22:11.457593+00:00 app[web.1]: [d03d5e9e-c3c3-4117-85db-d80bd30d9178] 5: <% render partial: 'blogs/admin_actions', locals: {blog: blog} %>
2017-11-28T23:22:11.457595+00:00 app[web.1]: [d03d5e9e-c3c3-4117-85db-d80bd30d9178] 6:
2017-11-28T23:22:11.457595+00:00 app[web.1]: [d03d5e9e-c3c3-4117-85db-d80bd30d9178] 7: <p><% markdown blog.body %></p>
2017-11-28T23:22:11.457596+00:00 app[web.1]: [d03d5e9e-c3c3-4117-85db-d80bd30d9178] 8:
2017-11-28T23:22:11.457597+00:00 app[web.1]: [d03d5e9e-c3c3-4117-85db-d80bd30d9178] 9: </div><!-- /.blog-post -->
2017-11-28T23:22:11.457648+00:00 app[web.1]: F, [2017-11-28T23:22:11.457586 #4] FATAL -- : [d03d5e9e-c3c3-4117-85db-d80bd30d9178]
2017-11-28T23:22:11.457718+00:00 app[web.1]: F, [2017-11-28T23:22:11.457654 #4] FATAL -- : [d03d5e9e-c3c3-4117-85db-d80bd30d9178] app/helpers/blogs_helper.rb:8:in `block_code'
2017-11-28T23:22:11.457719+00:00 app[web.1]: [d03d5e9e-c3c3-4117-85db-d80bd30d9178] app/helpers/blogs_helper.rb:23:in `render'
2017-11-28T23:22:11.457720+00:00 app[web.1]: [d03d5e9e-c3c3-4117-85db-d80bd30d9178] app/helpers/blogs_helper.rb:23:in `markdown'
2017-11-28T23:22:11.457721+00:00 app[web.1]: [d03d5e9e-c3c3-4117-85db-d80bd30d9178] app/views/blogs/_blog.html.erb:7:in `_app_views_blogs__blog_html_erb__2572357733169721276_60667300'
2017-11-28T23:22:11.457721+00:00 app[web.1]: [d03d5e9e-c3c3-4117-85db-d80bd30d9178] app/views/blogs/index.html.erb:5:in `_app_views_blogs_index_html_erb__3522254122931434539_63043240'
이 내 자바 스크립트 블로그에 가격 인하를 쓰고 있어요 방법은 다음과 같습니다
Below are examples of four primitive data types that lay the foundation for all JavaScript programs. Primitive data types, as their name implies, are the simplest built-in forms of data. For example:
```javascript
console.log('New York City');
console.log(40.7);
console.log(true);
console.log(null);
```
이 그것을 할 수있는 올바른 방법이다, 이유는받을 수 있나요 오류?
CodeRay.scan(code, language).div
하지만이로 변경하는 경우에도 :
CodeRay.scan(code, language || :text).div
나는 여전히 같은 문제를 얻을 과거에 Heroku가 로그에 따르면,이 문제입니다. 그래서 난 그냥 CodeRay없이 다음이 코드에 RedCarpet를 구현할 수있는 방법을 궁금 :
module BlogsHelper
def gravatar_helper user
image_tag "https://www.gravatar.com/avatar/#{Digest::MD5.hexdigest(user.email)}", width: 60
end
class CodeRayify < Redcarpet::Render::HTML
def block_code(code, language)
CodeRay.scan(code, language || :text).div
end
end
def markdown(text)
coderayify = CodeRayify.new(filter_html: true, hard_wrap: true)
options = {
fenced_code_blocks: true,
no_intra_emphasis: true,
autolink: true,
lax_html_blocks: true,
}
markdown_to_html = Redcarpet::Markdown.new(coderayify, options)
markdown_to_html.render(text).html_safe
end
def blog_status_color blog
'color: red;' if blog.draft?
end
end