122 lines
No EOL
4.1 KiB
Markdown
122 lines
No EOL
4.1 KiB
Markdown
---
|
|
layout: post
|
|
title: Syntax Highlighting Post
|
|
excerpt: "Demo post displaying the various ways of highlighting code in Markdown."
|
|
tags: [sample post, code, highlighting]
|
|
modified: 2014-08-09T13:39:56.408513-04:00
|
|
comments: true
|
|
---
|
|
|
|
[Syntax highlighting](http://en.wikipedia.org/wiki/Syntax_highlighting) is a feature that displays source code, in different colors and fonts according to the category of terms. This feature facilitates writing in a structured language such as a programming language or a markup language as both structures and syntax errors are visually distinct. Highlighting does not affect the meaning of the text itself; it is intended only for human readers.
|
|
|
|
### Pygments Code Blocks
|
|
|
|
To modify styling and highlight colors edit `/_sass/pygments.scss`.
|
|
|
|
{% highlight css %}
|
|
#container {
|
|
float: left;
|
|
margin: 0 -240px 0 0;
|
|
width: 100%;
|
|
}
|
|
{% endhighlight %}
|
|
|
|
Line numbering enabled:
|
|
|
|
{% highlight html linenos %}
|
|
{% raw %}
|
|
<nav class="pagination" role="navigation">
|
|
{% if page.previous %}
|
|
<a href="{{ site.url }}{{ page.previous.url }}" class="btn" title="{{ page.previous.title }}">Previous article</a>
|
|
{% endif %}
|
|
{% if page.next %}
|
|
<a href="{{ site.url }}{{ page.next.url }}" class="btn" title="{{ page.next.title }}">Next article</a>
|
|
{% endif %}
|
|
</nav><!-- /.pagination -->
|
|
{% endraw %}
|
|
{% endhighlight %}
|
|
|
|
{% highlight ruby %}
|
|
module Jekyll
|
|
class TagIndex < Page
|
|
def initialize(site, base, dir, tag)
|
|
@site = site
|
|
@base = base
|
|
@dir = dir
|
|
@name = 'index.html'
|
|
self.process(@name)
|
|
self.read_yaml(File.join(base, '_layouts'), 'tag_index.html')
|
|
self.data['tag'] = tag
|
|
tag_title_prefix = site.config['tag_title_prefix'] || 'Tagged: '
|
|
tag_title_suffix = site.config['tag_title_suffix'] || '–'
|
|
self.data['title'] = "#{tag_title_prefix}#{tag}"
|
|
self.data['description'] = "An archive of posts tagged #{tag}."
|
|
end
|
|
end
|
|
end
|
|
{% endhighlight %}
|
|
|
|
Remember, to prettify code you need to wrap it in special Liquid tags. Code fenced blocks won't get the job done. For more info on how to highlight code snippes in Jekyll, check the [official docs](http://jekyllrb.com/docs/posts/#highlighting-code-snippets).
|
|
|
|
### Standard Code Block
|
|
|
|
{% raw %}
|
|
<nav class="pagination" role="navigation">
|
|
{% if page.previous %}
|
|
<a href="{{ site.url }}{{ page.previous.url }}" class="btn" title="{{ page.previous.title }}">Previous article</a>
|
|
{% endif %}
|
|
{% if page.next %}
|
|
<a href="{{ site.url }}{{ page.next.url }}" class="btn" title="{{ page.next.title }}">Next article</a>
|
|
{% endif %}
|
|
</nav><!-- /.pagination -->
|
|
{% endraw %}
|
|
|
|
|
|
### Fenced Code Blocks
|
|
|
|
To modify styling and highlight colors edit `/assets/less/coderay.less` and compile `main.less` with your favorite preprocessor. Or edit `main.css` if that's your thing, the classes you want to modify all begin with `.coderay`. Line numbers and a few other things can be modified in `_config.yml` under `coderay`.
|
|
|
|
~~~ css
|
|
#container {
|
|
float: left;
|
|
margin: 0 -240px 0 0;
|
|
width: 100%;
|
|
}
|
|
~~~
|
|
|
|
~~~ html
|
|
{% raw %}<nav class="pagination" role="navigation">
|
|
{% if page.previous %}
|
|
<a href="{{ site.url }}{{ page.previous.url }}" class="btn" title="{{ page.previous.title }}">Previous article</a>
|
|
{% endif %}
|
|
{% if page.next %}
|
|
<a href="{{ site.url }}{{ page.next.url }}" class="btn" title="{{ page.next.title }}">Next article</a>
|
|
{% endif %}
|
|
</nav><!-- /.pagination -->{% endraw %}
|
|
~~~
|
|
|
|
~~~ ruby
|
|
module Jekyll
|
|
class TagIndex < Page
|
|
def initialize(site, base, dir, tag)
|
|
@site = site
|
|
@base = base
|
|
@dir = dir
|
|
@name = 'index.html'
|
|
self.process(@name)
|
|
self.read_yaml(File.join(base, '_layouts'), 'tag_index.html')
|
|
self.data['tag'] = tag
|
|
tag_title_prefix = site.config['tag_title_prefix'] || 'Tagged: '
|
|
tag_title_suffix = site.config['tag_title_suffix'] || '–'
|
|
self.data['title'] = "#{tag_title_prefix}#{tag}"
|
|
self.data['description'] = "An archive of posts tagged #{tag}."
|
|
end
|
|
end
|
|
end
|
|
~~~
|
|
|
|
### GitHub Gist Embed
|
|
|
|
An example of a Gist embed below.
|
|
|
|
{% gist mmistakes/6589546 %} |