Files
.github
_data
_includes
_layouts
_sass
assets
docs
_data
_docs
_drafts
_layouts
_pages
_pets
_portfolio
_posts
2009-05-15-edge-case-nested-and-mixed-lists.md
2009-06-01-edge-case-many-tags.md
2009-07-02-edge-case-many-categories.md
2009-08-06-edge-case-no-body-content.md
2009-09-05-edge-case-no-yaml-title.md
2009-10-05-edge-case-multiline-excerpt.md
2009-10-05-edge-case-title-should-not-overflow-the-content-area.md
2009-10-05-edge-case-very-long-title.md
2010-01-07-post-modified.md
2010-01-07-post-standard.md
2010-01-08-post-chat.md
2010-02-05-post-notice.md
2010-02-05-post-quote.md
2010-03-07-post-link.md
2010-06-02-post-video-youtube.md
2010-08-05-post-header-image-og-override.md
2010-08-05-post-header-overlay-image-og-override.md
2010-08-05-post-image-linked.md
2010-08-05-post-image-standard.md
2010-08-05-post-teaser-image-og-override.md
2010-08-06-post-image-linked-caption.md
2010-08-07-post-image-caption.md
2010-09-09-post-gallery.md
2010-09-10-post-twitter-embeds.md
2010-10-25-post-future-date.md
2012-01-02-layout-comments-disabled.md
2012-01-02-layout-comments.md
2012-01-02-layout-post-date-disabled.md
2012-01-02-layout-post-date.md
2012-01-02-layout-read-time-disabled.md
2012-01-02-layout-read-time.md
2012-01-02-layout-related-posts-disabled.md
2012-01-02-layout-related-posts.md
2012-01-02-layout-sharing-disabled.md
2012-01-02-layout-sharing.md
2012-01-03-layout-read-time-comments-sharing-related-posts-disabled.md
2012-01-03-layout-table-of-contents-include-post.md
2012-01-03-layout-table-of-contents-indent-post.md
2012-01-03-layout-table-of-contents-post.md
2012-01-03-layout-table-of-contents-sticky.md
2012-03-14-layout-code-excerpt-generated.md
2012-03-14-layout-excerpt-defined.md
2012-03-14-layout-excerpt-generated.md
2012-03-15-layout-author-override.md
2012-03-15-layout-author-sidebar-disabled.md
2012-03-15-layout-header-image-external.md
2012-03-15-layout-header-image-horizontal.md
2012-03-15-layout-header-image-text-readability.md
2012-03-15-layout-header-image-vertical.md
2012-03-15-layout-header-overlay-color.md
2012-03-15-layout-header-overlay-image-tagline.md
2012-03-15-layout-header-overlay-image.md
2012-03-15-layout-more-tag.md
2012-03-15-layout-sidebar-custom.md
2012-03-15-layout-sidebar-nav-list.md
2012-05-22-markup-text-readability-wide-page.md
2012-05-22-markup-text-readability.md
2013-01-05-markup-title-with-markup.md
2013-01-05-markup-title-with-special-characters.md
2013-01-09-markup-text-alignment.md
2013-01-10-markup-image-alignment.md
2013-01-11-markup-html-tags-and-formatting.md
2013-05-22-markup-more-images.md
2013-08-16-markup-syntax-highlighting.md
2016-02-24-welcome-to-jekyll.md
2016-09-21-gemified-theme-alpha.md
2016-10-06-gemified-theme-beta.md
2017-01-23-layout-header-video.md
2017-11-28-post-exclude-search.md
_recipes
assets
Gemfile
_config.dev.yml
_config.yml
screenshot-layouts.png
screenshot.png
test
.editorconfig
.gitattributes
.gitignore
.travis.yml
CHANGELOG.md
Gemfile
LICENSE
README.md
Rakefile
_config.yml
banner.js
index.html
minimal-mistakes-jekyll.gemspec
package-lock.json
package.json
screenshot-layouts.png
screenshot.png
staticman.yml
website/docs/_posts/2013-08-16-markup-syntax-highlighting.md
Michael Rose 3f469f268f Improve syntax highlighting styles ()
* Cleanup syntax highlighting styles
* Replace hardcoded color values with [base16](http://chriskempson.com/projects/base16/) Sass variables
* Harmonize padding between GFM code blocks and `{% highlight %}` code blocks
*  Improve readability of line numbers
* Add longer code block example to test double digit line numbers
* Adjust code block colors for specific skins
2018-01-04 20:46:10 -05:00

3.8 KiB

title, excerpt, last_modified_at, header, tags, toc
title excerpt last_modified_at header tags toc
Markup: Syntax Highlighting Post displaying the various ways of highlighting code in Markdown. 2018-01-03T09:45:06-05:00
teaser
assets/images/markup-syntax-highlighting-teaser.jpg
code
syntax highlighting
true

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.1

GFM Code Blocks

GitHub Flavored Markdown fenced code blocks are supported. To modify styling and highlight colors edit /_sass/syntax.scss.

#container {
  float: left;
  margin: 0 -240px 0 0;
  width: 100%;
}

{% highlight scss %} .highlight { margin: 0; padding: 1em; font-family: $monospace; font-size: $type-size-7; line-height: 1.8; } {% endhighlight %}

{% 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 %}
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'] || '&#8211;'
      self.data['title'] = "#{tag_title_prefix}#{tag}"
      self.data['description'] = "An archive of posts tagged #{tag}."
    end
  end
end

Code Blocks in Lists

Indentation matters. Be sure the indent of the code block aligns with the first non-space character after the list item marker (e.g., 1.). Usually this will mean indenting 3 spaces instead of 4.

  1. Do step 1.

  2. Now do this:

    def print_hi(name)
      puts "Hi, #{name}"
    end
    print_hi('Tom')
    #=> prints 'Hi, Tom' to STDOUT.
    
  3. Now you can do this.

Jekyll Highlight Tag

An example of a code blocking using Jekyll's {% raw %}{% highlight %}{% endraw %} tag.

{% highlight javascript linenos %} // 'gulp html' -- does nothing // 'gulp html --prod' -- minifies and gzips HTML files for production gulp.task('html', () => { return gulp.src(paths.siteFolderName + paths.htmlPattern) .pipe(when(argv.prod, htmlmin({ removeComments: true, collapseWhitespace: true, collapseBooleanAttributes: false, removeAttributeQuotes: false, removeRedundantAttributes: false, minifyJS: true, minifyCSS: true }))) .pipe(when(argv.prod, size({title: 'optimized HTML'}))) .pipe(when(argv.prod, gulp.dest(paths.siteFolderName))) .pipe(when(argv.prod, gzip({append: true}))) .pipe(when(argv.prod, size({ title: 'gzipped HTML', gzip: true }))) .pipe(when(argv.prod, gulp.dest(paths.siteFolderName))) }); {% endhighlight %}

{% highlight wl linenos %} Module[{}, Sqrt[2] 4 ] {% endhighlight %}

GitHub Gist Embed

An example of a Gist embed below.

<script src="https://gist.github.com/mmistakes/77c68fbb07731a456805a7b473f47841.js"></script>