name: The Apache Crail (Incubating) Project
url: http://crail.incubator.apache.org/ 

exclude: [bibble, README.md, Makefile]

# use this library to parse Markdown
#markdown: kramdown
#highlighter: rouge
#exclude: ["less","node_modules","Gruntfile.js","package.json","README.md"]
#port: 8888
#permalink: /blog/:title
#wpm: 150

#redcarpet:
#    extensions: [smart, tables]

# colorize code snippets with the pygments module
highlighter: rouge

# The path structure for blog posts.
permalink: /blog/:year/:month/:title.html

categories: [blog, news]

# Number of news stories on the front page.
front_page_news: 5

# Base pathname for links.
base: 'http://crail.incubator.apache.org'
#base: 'http://127.0.0.1:4000'


# gem dependencies
plugins: [jekyll-paginate, jekyll-feed, jekyll-gist]

# Navigation bar links.
navigation:
    - title: Home
      link: /
    - title: Overview
      link: /overview/
    - title: Blog
      link: /blog/
    - title: Community
      link: /community/
    - title: Documentation
      link: /documentation/

# jekyll-paginate
paginate: 5
paginate_path: blog/page:num

# gem dependencies
#gems: [jekyll-paginate, jekyll-feed, jekyll-gist]

#plugins:
#    - regex_filter

