I’ve tried to keep configuring Octopress fairly simple and you’ll probably only ever change the
Rakefile and the
_config.yml. Here’s a list of files for configuring Octopress.
_config.yml # Main config (Jekyll's settings) Rakefile # Configs for deployment config.rb # Compass config config.ru # Rack config
Configurations in the
Rakefile are mostly related to deployment and you probably won’t have to touch them unless you’re using rsync.
_config.yml there are three sections for configuring your Octopress Blog. Spoiler: You must change
url, and you’ll probably change title, subtitle and author and enable some 3rd party services.
url: # For rewriting urls for RSS, etc title: # Used in the header and title tags subtitle: # A description used in the header author: # Your name, for RSS, Copyright, Metadata simple_search: # Search engine for simple site search description: # A default meta description for your site date_format: # Format dates using Ruby's date strftime syntax subscribe_rss: # Url for your blog's feed, defauts to /atom.xml subscribe_email: # Url to subscribe by email (service required) category_feeds: # Enable per category RSS feeds (defaults to false in 2.1) email: # Email address for the RSS feed if you want it.
Note: If your site is a multi-author blog, you may want to set this config’s author to the name of your company or project, and add author metadata to posts and pages to give proper attribution for those works.
Jekyll & Plugins
These configurations are used by Jekyll and Plugins. If you’re not familiar with Jekyll, you should probably have a look at the configuration docs which lists more options that aren’t covered here.
root: # Mapping for relative urls (default: /) permalink: # Permalink structure for blog posts source: # Directory for site source files destination: # Directory for generated site files plugins: # Directory for Jekyll plugins code_dir: # Directory for code snippets (for include_code plugin) category_dir: # Directory for generated blog category pages pygments: # Toggle python pygments syntax highlighting paginate: # Posts per page on the blog index pagination_dir: # Directory base for pagination URLs eg. /blog/page/2/ recent_posts: # Number of recent posts to appear in the sidebar default_asides: # Configure what shows up in the sidebar and in what order blog_index_asides: # Optional sidebar config for blog index page post_asides: # Optional sidebar config for post layout page_asides: # Optional sidebar config for page layout
If you want to change the way permalinks are written for your blog posts, see Jekyll’s permalink docs.
Note: Jekyll has a baseurl config which offers mock subdirectory publishing support by adding a redirect to Jekyll’s WEBrick server. Please don’t use this. If you want to publish your site to a subdirectory, (see Deploying Octopress to a Subdirectory).
3rd Party Settings
These third party integrations are already set up for you. Simply fill in the configurations and they’ll be added to your site.
- Github - List your github repositories in the sidebar
- Twitter - Add a button for sharing of posts and pages on Twitter
- Google Plus One - Setup sharing for posts and pages on Google’s plus one network.
- Pinboard - Share your recent Pinboard bookmarks in the sidebar.
- Delicious - Share your recent Delicious bookmarks in the sidebar.
- Disqus Comments - Add your disqus short name to enable disqus comments on your site.
- Google Analytics - Add your tracking id to enable Google Analytics tracking for your site.
- Facebook - Add a Facebook like button