我在Github上使用Jekyll和Markdown作为我的博客。如何在页面中插入代码标签?

时间:2013-04-15 12:31:06

标签: github markdown jekyll

我在Github上使用Jekyll和Markdown作为我的博客。如何在页面中插入代码标签?

示例我认为我可以使用<pre>标签将一些代码捕捉插入我的页面以显示给读者,但是jekyll不喜欢它们。

有人可以告诉我一个好的格式化标签,我可以用它在我的页面中插入代码

如果我尝试这段代码:

<pre>
  <code class="ruby">
git clone --mirror git@git.com:project project

cd project

git remote add github git@github.com:username/project.git


In cron Job

cd /pathto/project && git fetch -q && git push -q --mirror github
    </code>
</pre>

我收到此错误

enter image description here

我的_config.xml

# This is the default format. 
# For more see: https://github.com/mojombo/jekyll/wiki/Permalinks
permalink: /:categories/:year/:month/:day/:title 

exclude: [".rvmrc", ".rbenv-version", "README.md", "Rakefile", "changelog.md"]
auto: true
pygments: true

# Themes are encouraged to use these universal variables 
# so be sure to set them if your theme uses them.
#
title : xxxx
tagline :xxxx
author :
  name : xxx
  email : jxxx
  github : xxx
  twitter : xx

# The production_url is only used when full-domain names are needed
# such as sitemap.txt 
# Most places will/should use BASE_PATH to make the urls
#
# If you have set a CNAME (pages.github.com) set your custom domain here.
# Else if you are pushing to username.github.com, replace with your username.
# Finally if you are pushing to a GitHub project page, include the project name at the end.
#
production_url : http://johnathanmarksmith.com

# All Jekyll-Bootstrap specific configurations are namespaced into this hash
#
JB :
  version : 0.3.0

  # All links will be namespaced by BASE_PATH if defined.
  # Links in your website should always be prefixed with {{BASE_PATH}}
  # however this value will be dynamically changed depending on your deployment situation.
  #
  # CNAME (http://yourcustomdomain.com)
  #   DO NOT SET BASE_PATH 
  #   (urls will be prefixed with "/" and work relatively)
  #
  # GitHub Pages (http://username.github.com)
  #   DO NOT SET BASE_PATH 
  #   (urls will be prefixed with "/" and work relatively)
  #
  # GitHub Project Pages (http://username.github.com/project-name)
  #
  #   A GitHub Project site exists in the `gh-pages` branch of one of your repositories.
  #  REQUIRED! Set BASE_PATH to: http://username.github.com/project-name
  #
  # CAUTION:
  #   - When in Localhost, your site will run from root "/" regardless of BASE_PATH
  #   - Only the following values are falsy: ["", null, false]
  #   - When setting BASE_PATH it must be a valid url.
  #     This means always setting the protocol (http|https) or prefixing with "/"
  BASE_PATH : false

  # By default, the asset_path is automatically defined relative to BASE_PATH plus the enabled theme.
  # ex: [BASE_PATH]/assets/themes/[THEME-NAME]
  #
  # Override this by defining an absolute path to assets here.
  # ex: 
  #   http://s3.amazonaws.com/yoursite/themes/watermelon
  #   /assets
  #
  ASSET_PATH : false

  # These paths are to the main pages Jekyll-Bootstrap ships with.
  # Some JB helpers refer to these paths; change them here if needed.
  #
  archive_path: /archive.html
  categories_path : /categories.html
  tags_path : /tags.html
  atom_path : /atom.xml
  rss_path : /rss.xml

  # Settings for comments helper
  # Set 'provider' to the comment provider you want to use.
  # Set 'provider' to false to turn commenting off globally.
  #
  comments :
    provider : disqus
    disqus :
      short_name : jekyllbootstrap
    livefyre :
      site_id : 123
    intensedebate :
      account : 123abc
    facebook :
      appid : 123
      num_posts: 5
      width: 580
      colorscheme: light

  # Settings for analytics helper
  # Set 'provider' to the analytics provider you want to use.
  # Set 'provider' to false to turn analytics off globally.
  #        
  analytics :
    provider : google 
    google : 
        tracking_id : 'UA-123-12'
    getclicky :
      site_id : 
    mixpanel :
        token : '_MIXPANEL_TOKEN_'

  # Settings for sharing helper. 
  # Sharing is for things like tweet, plusone, like, reddit buttons etc.
  # Set 'provider' to the sharing provider you want to use.
  # Set 'provider' to false to turn sharing off globally.
  #
  sharing :
    provider : false

  # Settings for all other include helpers can be defined by creating 
  # a hash with key named for the given helper. ex:
  #
  #   pages_list :
  #     provider : "custom"   
  #
  # Setting any helper's provider to 'custom' will bypass the helper code
  # and include your custom code. Your custom file must be defined at:
  #   ./_includes/custom/[HELPER]
  # where [HELPER] is the name of the helper you are overriding.

2 个答案:

答案 0 :(得分:3)

这先生怎么样?

~~~ ruby
# This is a test.
def foo
  puts 'foo'
end
~~~

ref

答案 1 :(得分:3)

如果您所指的“页面”是Markdown文件,即扩展名为.md或.markdown,那么您将需要使用标准的Markdown语法:

对于inline code使用反引号,如下所示:`inline code`

对于block code,每行缩进4个空格:

block
of
code

Jekyll使用像RedCarpet,Maruku或RDiscount这样的Markdown解析器,并没有定义你应该如何格式化你的内容,这是根据你正在编写的内容类型设置的,在本例中是Markdown。因此,要查看的地方是code的Markdown语法文档:

http://daringfireball.net/projects/markdown/syntax#code

您还可以使用{% highlight %} Liquid语法标记来查看语法突出显示:

https://github.com/mojombo/jekyll/wiki/Liquid-Extensions#code-highlighting

希望有所帮助!