Giter Club home page Giter Club logo

genesis-theme's Introduction

Octopress

Octopress is an obsessively designed toolkit for writing and deploying Jekyll blogs. Pretty sweet, huh?

Gem Version Build Status

Installation

Install Octopress manually:

$ gem install octopress

Or if you use Bundler, add this line to your Gemfile:

gem 'octopress', '~> 3.0'

And then run:

$ bundle

New to bundler? Run gem install bundler then create a file named Gemfile in your site's root directory with the following content:

source 'https://rubygems.org'

gem 'octopress', '~> 3.0'

Run bundle to install the gems specified in your Gemfile.

Configuration

Octopress reads its configurations from _config.yml. Here's what the configuration looks like by default.

# Default extension for new posts and pages
post_ext: markdown
page_ext: html

# Default templates for posts and pages
# Found in _templates/
post_layout: post
page_layout: page

# Format titles with titlecase?
titlecase: true

# Change default template file (in _templates/)
post_template: post
page_template: page
draft_template: draft

Octopress CLI Commands

Here are the subcommands for Octopress.

init <PATH>         # Adds Octopress scaffolding to your site
new <PATH>          # Like `jekyll new` + `octopress init`
new post <TITLE>    # Add a new post to your site
new page <PATH>     # Add a new page to your site
new draft <TITLE>   # Add a new draft post to your site
publish <POST>      # Publish a draft from _drafts to _posts
unpublish <POST>    # Search for a post and convert it into a draft
isolate [POST]      # Stash all posts but the one you're working on for a faster build
integrate           # Restores all posts, doing the opposite of the isolate command
deploy              # deploy your site via S3, Rsync, or to GitHub pages.

Run octopress --help to list sub commands and octopress <subcommand> --help to learn more about any subcommand and see its options.

Init

$ octopress init <PATH> [options]

This will copy Octopress's scaffolding into the specified directory. Use the --force option to overwrite existing files. The scaffolding is pretty simple:

_templates/
  draft
  post
  page

New Post

This automates the creation of a new post.

$ octopress new post "My Title"

This will create a new file at _posts/YYYY-MM-DD-my-title.markdown with the following YAML front-matter already added.

layout: post
title: "My Title"
date: YYYY-MM-DDTHH:MM:SS-00:00

Command options

Option Description
--template PATH Use a template from
--date DATE The date for the post. Should be parseable by Time#parse
--slug SLUG Slug for the new post.
--dir DIR Create post at _posts/DIR/.
--force Overwrite existing file.

New Page

Creating a new page is easy, you can use the default file name extension (.html), pass a specific extension, or end with a / to create an index.html document.

$ octopress new page some-page           # ./some-page.html
$ octopress new page about.md            # ./about.md
$ octopress new page docs/               # ./docs/index.html

If you are working with collections, you might add a page like this:

$ octopress new page _legal/terms        # ./_legal/terms.html

After the page is created, Octopress will tell you how to configure this new collection.

Command options

Option Description
--template PATH Use a template from
--title TITLE The title of the new page
--date DATE The date for the page. Should be parseable by Time#parse
--force Overwrite existing file.

Note: The default page template doesn't expect a date. If you want to add dates to your pages, consider adding date: {{ date }} to the default template _templates/page, or create a new template to use for dated pages. Otherwise, you will have the --date option to add a date to a page.

New Draft

This will create a new post in your _drafts directory.

$ octopress new draft "My Title"
Option Description
--template PATH Use a template from
--date DATE The date for the draft. Should be parseable by Time#parse (defaults to Time.now)
--slug SLUG The slug for the new post.
--force Overwrite existing file.

Publish a draft

Use the publish command to publish a draft to the _posts folder. This will also rename the file with the proper date format.

$ octopress publish _drafts/some-cool-post.md
$ octopress publish cool

In the first example, a draft is published using the path. The publish command can also search for a post by filename. The second command would work the same as the first. If other drafts match your search, you will be prompted to select them from a menu. This is often much faster than typing out the full path.

Option Description
--date DATE The date for the post. Should be parseable by Time#parse
--slug SLUG Change the slug for the new post.
--dir DIR Create post at _posts/DIR/.
--force Overwrite existing file.

When publishing a draft, the new post will use the draft's date. Pass the option --date now to the publish command to set the new post date from your system clock. As usual, you can pass any compatible date string as well.

Unpublish a post

Use the unpublish command to move a post to the _drafts directory, renaming the file according to the drafts convention.

$ octopress unpublish _posts/2015-01-10-some-post.md
$ octopress unpublish some post

Just like the publish command, you can either pass a path or a search string to match the file name. If more than one match is found, you will be prompted to select from a menu of posts.

Templates for Posts and pages

Octopress post and page templates look like this.

---
layout: {{ layout }}
title: {{ title }}
---

Dates get automatically added to a template for posts, and for pages if a --date option is set.

You can add to the YAML front matter, add content below and even use liquid tags and filters from your site's plugins. There are a handful of local variables you can use when working with templates.

Variable Description
date The date (if set) or Time.now.iso8601
title The title of the page (if set)
slug The title in slug form
ymd The date string, YYYY-MM-DD format
year The date's year
month The date's month, MM
day The date's day, DD

By default Octopress has templates for pages, posts and drafts. You can change them or create new ones for different types of content. To create linkposts template, add a file at _templates/linkpost, such as:

---
title: {{ title }}
external-url: {{ url }}
---

Then you can use it with a new post like this:

$ octopress new post "Some title" --template linkpost
$ octopress new post "Some title" -tm _templates/linkpost

In the second example, I'm passing the full template file path. This way I can use my shell's tab to auto-complete feature.

When creating templates, file name extensions are unnecessary since the files are just plain text anyway.

Isolate

The isolate command will allow you to stash posts in _posts/_exile where they will be ignored by Jekyll during the build process. Run octopress integrate to restore all exiled posts. This can be helpful if you have a very large site and you want to quickly preview a build for a single post or page.

$ octopress isolate                                # Move all posts
$ octopress isolate _posts/2014-10-11-kittens.md   # Move post at path
$ octopress isolate kittens                        # Move post matching search

In the third example, if multiple posts match the search a prompt will ask you to select a post from a menu.

Deploying your site

The Octopress gem comes with octopress-deploy which allows you to easily deploy your site with Rsync, on S3 or Cloudfront, to GitHub pages, or other Git based deployment hosting platforms.

Once you've built your site (with jekyll build) you can deploy it like this:

$ octopress deploy

This reads a _deploy.yml configuration and deploys your site. Read below to learn how Octopress can generate a deployment configuration file for you.

Note: The _deploy.yml is processed through ERB, which makes it easy to load configurations from environment variables.

Deploy has a few commands you should know.

Commands Description
octopress deploy Deploy your site (based on the _deploy.yml configuration)
octopress deploy init <METHOD> [options] Generate a config file for the deployment method. (git, s3, rsync)
octopress deploy pull [DIR] Pull down your site into a local directory.
octopress deploy add-bucket <NAME> (S3 only) Add a bucket using your configured S3 credentials.

Generate Deployment configuration

Remember to add your configuration to .gitignore to be sure you never commit sensitive information to your repository.

Octopress can generate a deployment configuration file for you using the octopress deploy init command.

$ octopress deploy init s3
$ octopress deploy init rsync
$ octopress deploy init git [email protected]:user/project

This will generate a _deploy.yml file in your current directory which you can edit to add any necessary configuration.

If you like, you can pass configurations as command line options. To see specific options for any method, add the --help flag. For example to see the options for configuring S3:

$ octopress deploy init s3 --help

If you want to publish your site to a staging server, you can create a second configuration. For example, to setup rsync for a staging site, you'd do this.

$ octopress deploy init rsync --config _staging.yml

After modifying the configuration file, you can deploy your site to it like this:

$ octopress deploy --config _staging.yml

Git Deployment Configuration

Only git_url is required. Other options will default as shown below.

Config Description Default
method Deployment method, in this case use 'git'
site_dir Path to static site files _site
git_url Url for remote git repository
git_branch Deployment branch for git repository master
deploy_dir Directory where deployment files are staged .deploy
remote Name of git remote deploy

Rsync Deployment Configuration

Config Description Default
method Deployment method, in this case use 'rsync'
site_dir Path to static site files _site
user ssh user, e.g [email protected]
port ssh port 22
remote_path Remote destination's document root
exclude_from Path to a file containing rsync exclusions
exclude Inline list of rsync exclusions
include_from Path to a file containing rsync inclusions
include Inline list of inclusions to override exclusions
delete Delete files in destination not found in source false

You can rsync to a local directory by configuring remote_path and leaving off user and port.

Amazon S3 Deployment Configuration

To deploy with Amazon S3 you will need to install the aws-sdk-v1 gem.

Important: when using S3, you must add your _deploy.yml to your .gitignore to prevent accidentally sharing account access information.

Config Description Default
method Deployment method, in this case use 's3'
site_dir Path to static site files _site
bucket_name S3 bucket name
access_key_id AWS access key
secret_access_key AWS secret key
distribution_id [optional] AWS CloudFront distribution id
remote_path Directory files should be synced to. /
verbose [optional] Display all file actions during deploy. false
incremental [optional] Incremental deploy (only updated files) false
region [optional] Region for your AWS bucket us-east-1
delete Delete files in remote_path not found in site_dir false
headers Set headers for matched files []

If you choose a bucket which doesn't yet exist, Octopress Deploy will offer to create it for you, and offer to configure it as a static website.

If you configure Octopress to delete files, all files found in the remote_path on S3 bucket will be removed unless they match local site files. If remote_path is a subdirectory, only files in that subdirectory will be evaluated for deletion.

You can also set up your configuration to read your AWS credentials from your environment variables using ERB like this:

access_key_id: <%= ENV['AWS_ACCESS_KEY'] %>
secret_access_key: <%= ENV['AWS_SECRET_KEY'] %>
S3 Headers

You can create an array of header configs to set expiration, content and cache settings for any paths matching the filename.

Header Config Description Default
filename A regex or a substring of the file to match
site_dir An http date or a number of years or days from now
content_type A string which is passed through to the headers
content_encoding A string which is passed through to the headers
cache_control A string which is passed through to the headers

Here is how you might set expiration and cache controls for CSS and Javascript files.

headers:
  - filename: '^assets.*\.js$'
    expires: '+3 years'
    cache_control: 'max-age=94608000'
    content_type: 'application/javascript'
  - filename: '^assets.*\.css$'
    expires: '+3 years'
    cache_control: 'max-age=94608000'
    content_type: 'text/css'
AWS config via ENV

If you prefer, you can store AWS access credentials in environment variables instead of a configuration file.

Config ENV var
access_key_id AWS_ACCESS_KEY_ID
secret_access_key AWS_SECRET_ACCESS_KEY

Note: configurations in _deploy.yml will override environment variables so be sure to remove those if you decide to use environment variables.

Pull down your site

With the pull command, you can pull your site down into a local directory.

$ octopress deploy pull [DIR]

Mainly you'd do this if you're troubleshooting deployment and you want to see if it's working how you expected.

Contributing

  1. Fork it ( https://github.com/octopress/octopress/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

genesis-theme's People

Contributors

imathis avatar jaybe-jekyll avatar jingsam avatar pwnall avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

genesis-theme's Issues

cannot load such file -- octopress-genesis-theme (LoadError)

I'm trying to add the theme to a Jekyll project, but I get the following error. Anyone knows what's causing this?

Configuration file: /home/ubuntu/workspace/_config.yml
/usr/local/rvm/gems/ruby-2.1.1@rails4/gems/jekyll-2.4.0/lib/jekyll/plugin_manager.rb:28:in `require': cannot load such file -- octopress-genesis-theme (LoadError)
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/gems/jekyll-2.4.0/lib/jekyll/plugin_manager.rb:28:in `block in require_gems'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/gems/jekyll-2.4.0/lib/jekyll/plugin_manager.rb:26:in `each'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/gems/jekyll-2.4.0/lib/jekyll/plugin_manager.rb:26:in `require_gems'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/gems/jekyll-2.4.0/lib/jekyll/plugin_manager.rb:19:in `conscientious_require'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/gems/jekyll-2.4.0/lib/jekyll/site.rb:74:in `setup'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/gems/jekyll-2.4.0/lib/jekyll/site.rb:36:in `initialize'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/gems/jekyll-2.4.0/lib/jekyll/commands/build.rb:28:in `new'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/gems/jekyll-2.4.0/lib/jekyll/commands/build.rb:28:in `process'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/gems/jekyll-2.4.0/lib/jekyll/commands/build.rb:17:in `block (2 levels) in init_with_program'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/gems/mercenary-0.3.4/lib/mercenary/command.rb:220:in `call'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/gems/mercenary-0.3.4/lib/mercenary/command.rb:220:in `block in execute'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/gems/mercenary-0.3.4/lib/mercenary/command.rb:220:in `each'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/gems/mercenary-0.3.4/lib/mercenary/command.rb:220:in `execute'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/gems/mercenary-0.3.4/lib/mercenary/program.rb:35:in `go'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/gems/mercenary-0.3.4/lib/mercenary.rb:22:in `program'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/gems/jekyll-2.4.0/bin/jekyll:18:in `<top (required)>'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/bin/jekyll:23:in `load'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/bin/jekyll:23:in `<main>'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/bin/ruby_executable_hooks:15:in `eval'
        from /usr/local/rvm/gems/ruby-2.1.1@rails4/bin/ruby_executable_hooks:15:in `<main>'

Add "octopress-genesis-them", do "jekyll build", then error "undefined method 'docs'..."

#1. Error like this,
$ jekyll build
Configuration file: /Users/seraph/code/ruby-space/blog/_config.yml
Source: /Users/seraph/code/ruby-space/blog
Destination: /Users/seraph/code/ruby-space/blog/_site
Generating...
jekyll 2.5.3 | Error: undefined method 'docs' for [<Post: /2016/12/15/my-title>]:Array

2. Gemfile
source 'https://ruby.taobao.org/'
gem 'octopress', '~> 3.0.4'
group :jekyll_plugins do
gem 'octopress-genesis-theme'
end

3. _config.yml
post_ext: markdown
page_ext: html

post_layout: theme:post
page_layout: theme:page

titlecase: true

post_template: post
page_template: page
draft_template: draft

Liquid Exception: no implicit conversion of String into Hash in _layouts/post.html

It seems the line

  {% include theme:post_meta.html | join_lines %}

in layouts/post.html is causing problems. When I run 'jekyll server' I get the error 'Liquid Exception: no implicit conversion of String into Hash in _layouts/post.html'. If I remove the line everything works fine.

These are my gems:

  • autoprefixer-rails (2.2.0.20140804)
  • blankslate (2.1.2.4)
  • bundler (1.9.1)
  • celluloid (0.16.0)
  • classifier-reborn (2.0.3)
  • coffee-script (2.3.0)
  • coffee-script-source (1.9.1)
  • colorator (0.1)
  • execjs (2.4.0)
  • fast-stemmer (1.0.2)
  • ffi (1.9.8)
  • hitimes (1.2.2)
  • jekyll (2.5.3)
  • jekyll-coffeescript (1.0.1)
  • jekyll-gist (1.2.1)
  • jekyll-paginate (1.1.0)
  • jekyll-sass-converter (1.3.0)
  • jekyll-sitemap (0.8.1)
  • jekyll-watch (1.2.1)
  • json (1.8.2)
  • kramdown (1.6.0)
  • liquid (2.6.2)
  • listen (2.10.0)
  • mercenary (0.3.5)
  • octopress (3.0.0.rc.35)
  • octopress-asset-pipeline (2.0.3)
  • octopress-assign-tag (1.0.2)
  • octopress-autoprefixer (1.0.0)
  • octopress-categories (0.0.1)
  • octopress-code-highlighter (4.2.3)
  • octopress-codeblock (1.0.5)
  • octopress-codefence (1.6.0)
  • octopress-comment-tag (1.0.1)
  • octopress-content-for (1.0.4)
  • octopress-date-format (3.0.2)
  • octopress-deploy (1.2.0)
  • octopress-escape-code (2.0.6)
  • octopress-feeds (2.0.3)
  • octopress-filter-tag (1.0.1)
  • octopress-filters (1.3.3)
  • octopress-genesis-theme (0.0.8)
  • octopress-hooks (2.6.0)
  • octopress-image-tag (1.1.0)
  • octopress-include-tag (1.0.3)
  • octopress-ink (1.0.0.rc.58)
  • octopress-linkblog (2.0.1)
  • octopress-paginate (1.1.2)
  • octopress-pullquote-tag (1.0.1)
  • octopress-render-tag (1.0.6)
  • octopress-return-tag (1.0.1)
  • octopress-social (1.4.1)
  • octopress-solarized (1.0.3)
  • octopress-tag-helpers (1.0.4)
  • octopress-wrap-tag (1.0.3)
  • parslet (1.5.0)
  • posix-spawn (0.3.10)
  • pygments.rb (0.6.3)
  • rb-fsevent (0.9.4)
  • rb-inotify (0.9.5)
  • redcarpet (3.2.2)
  • rubypants-unicode (0.2.5)
  • safe_yaml (1.0.4)
  • sass (3.4.13)
  • timers (4.0.1)
  • titlecase (0.1.1)
  • toml (0.1.2)
  • uglifier (2.7.1)
  • yajl-ruby (1.2.1)

Byebug or debugger2 instead of debugger?

Hey guys,

I've tried to build blog here but while I hit bundle install, I got error because of being mismatch between debugger & ruby 2.1.x. Here's error output:

Using debugger-linecache 1.2.0
Using debugger-ruby_core_source 1.3.5

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    /home/ekrem/.rbenv/versions/2.1.2/bin/ruby -r ./siteconf20140817-19412-xy89e6.rb extconf.rb 
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

While searching reasons for this error, I've faced this comment, from debuggers owner. In short, he recommends us to choose either byebug or debugger2 for debuggging in ruby 2.x

override theme configuration

The documentation says: "Also you will be able to set theme configurations for each language. For example to configure theme settings for your German pages, you'd create a plugins/theme/config[lang].yml and add whatever settings you want to override."

I cannot reproduce this functionality even if the file "plugins/theme/config_de.yml" is loaded (jekyll breaks if file-format is wrong). On my testsystem I do this:

_config.yml:

my_var: "this is cool"
lang: de

gems:
  - octopress-multilingual
  - octopress-genesis-theme

plugins/theme/config_de.yml:

my_var: "dieses ist cool"

index.html:

---
layout: default
lang: de

---
{{ site.my_var }}

The output is always "this is cool". For "de" it should be "dieses ist cool". Any suggestions?

Incompatible character encodings: UTF-8 and IBM437

I created a new Jekyll site, added the gem to the config file and then set index.html to theme: theme:page and ran jekyll s, that works correctly. Then I updated the default post to theme: theme:post and received the following error:

  Liquid Exception: incompatible character encodings: UTF-8 and IBM437 in _layouts/default.html
jekyll 2.5.3 | Error:  incompatible character encodings: UTF-8 and IBM437

I found this issue: imathis/octopress#413 and added the suggested encoding: UTF-8 to the _config.yml but to no avail.

Opening up includes\post_meta.html I see the encoding is UTF-8 w/o BOM, saving the post file with that encoding then results in the following error:

Error: undefined method `titlecase!' for nil:NilClass
Error: Run jekyll build --trace for more information.

Any ideas how to get the posts to render with the theme?

This is on Windows 7x64

Bundle list:

λ bundle list                           
DL is deprecated, please use Fiddle     
Gems included by the bundle:            
  * autoprefixer-rails (2.2.0.20140804) 
  * blankslate (2.1.2.4)                
  * bundler (1.9.9)                     
  * celluloid (0.16.0)                  
  * classifier-reborn (2.0.3)           
  * coffee-script (2.4.1)               
  * coffee-script-source (1.9.1.1)      
  * colorator (0.1)                     
  * execjs (2.5.2)                      
  * fast-stemmer (1.0.2)                
  * ffi (1.9.8)                         
  * hitimes (1.2.2)                     
  * jekyll (2.5.3)                      
  * jekyll-coffeescript (1.0.1)         
  * jekyll-gist (1.2.1)                 
  * jekyll-paginate (1.1.0)             
  * jekyll-sass-converter (1.3.0)       
  * jekyll-watch (1.2.1)                
  * json (1.8.2)                        
  * kramdown (1.7.0)                    
  * liquid (2.6.2)                      
  * listen (2.10.0)                     
  * mercenary (0.3.5)                   
  * octopress (3.0.6)                   
  * octopress-autoprefixer (1.0.1)      
  * octopress-date-format (3.0.3)       
  * octopress-deploy (1.2.4)            
  * octopress-escape-code (2.0.6)       
  * octopress-filters (1.3.3)           
  * octopress-hooks (2.6.1)             
  * octopress-include-tag (1.1.3)       
  * octopress-ink (1.1.4)               
  * octopress-solarized (1.1.2)         
  * octopress-tag-helpers (1.0.8)       
  * parslet (1.5.0)                     
  * posix-spawn (0.3.11)                
  * pygments.rb (0.6.3)                 
  * rb-fsevent (0.9.5)                  
  * rb-inotify (0.9.5)                  
  * redcarpet (3.2.3)                   
  * rubypants-unicode (0.2.5)           
  * safe_yaml (1.0.4)                   
  * sass (3.4.14)                       
  * timers (4.0.1)                      
  * titlecase (0.1.1)                   
  * toml (0.1.2)                        
  * uglifier (2.7.1)                    
  * wdm (0.1.0)                         
  * yajl-ruby (1.2.1)                   

Applying theme to index page

I've followed the installation instructions and I can apply the theme to archive page / pages / posts, but how do I apply it to the main index page ?

The main / archives page still shows the default jekyll style.

Error on build.

While using this theme, I've run into an error when running jekyll serve:

jekyll serve
Configuration file: /Users/username/username.io/_config.yml
            Source: /Users/username/username.io
       Destination: public
      Generating...
Error reading file /Users/username/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bundler/gems/genesis-theme-ee69a01cea5d/assets/layouts/base.html: No such file or directory @ rb_sysopen - /Users/username/username.io/Users/username/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bundler/gems/genesis-theme-ee69a01cea5d/assets/layouts/base.html
Error reading file /Users/username/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bundler/gems/genesis-theme-ee69a01cea5d/assets/layouts/category-feed.html: No such file or directory @ rb_sysopen - /Users/username/username.io/Users/username/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bundler/gems/genesis-theme-ee69a01cea5d/assets/layouts/category-feed.html
Error reading file /Users/username/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bundler/gems/genesis-theme-ee69a01cea5d/assets/layouts/category-index.html: No such file or directory @ rb_sysopen - /Users/username/username.io/Users/username/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bundler/gems/genesis-theme-ee69a01cea5d/assets/layouts/category-index.html
Error reading file /Users/username/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bundler/gems/genesis-theme-ee69a01cea5d/assets/layouts/default.html: No such file or directory @ rb_sysopen - /Users/username/username.io/Users/username/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bundler/gems/genesis-theme-ee69a01cea5d/assets/layouts/default.html
Error reading file /Users/username/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bundler/gems/genesis-theme-ee69a01cea5d/assets/layouts/page.html: No such file or directory @ rb_sysopen - /Users/username/username.io/Users/username/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bundler/gems/genesis-theme-ee69a01cea5d/assets/layouts/page.html
Error reading file /Users/username/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bundler/gems/genesis-theme-ee69a01cea5d/assets/layouts/paginated-posts.html: No such file or directory @ rb_sysopen - /Users/username/username.io/Users/username/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bundler/gems/genesis-theme-ee69a01cea5d/assets/layouts/paginated-posts.html
Error reading file /Users/username/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bundler/gems/genesis-theme-ee69a01cea5d/assets/layouts/post.html: No such file or directory @ rb_sysopen - /Users/username/username.io/Users/username/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bundler/gems/genesis-theme-ee69a01cea5d/assets/layouts/post.html
Error reading file /Users/username/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bundler/gems/genesis-theme-ee69a01cea5d/assets/pages/.DS_Store: No such file or directory @ rb_sysopen - /Users/username/username.io/Users/username/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bundler/gems/genesis-theme-ee69a01cea5d/assets/pages/.DS_Store
Error reading file /Users/username/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bundler/gems/genesis-theme-ee69a01cea5d/assets/pages/archive.html: No such file or directory @ rb_sysopen - /Users/username/username.io/Users/username/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bundler/gems/genesis-theme-ee69a01cea5d/assets/pages/archive.html
Error reading file /Users/username/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bundler/gems/genesis-theme-ee69a01cea5d/assets/pages/feed-articles.xml: No such file or directory @ rb_sysopen - /Users/username/username.io/Users/username/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bundler/gems/genesis-theme-ee69a01cea5d/assets/pages/feed-articles.xml
Error reading file /Users/username/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bundler/gems/genesis-theme-ee69a01cea5d/assets/pages/feed-links.xml: No such file or directory @ rb_sysopen - /Users/username/username.io/Users/username/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bundler/gems/genesis-theme-ee69a01cea5d/assets/pages/feed-links.xml
Error reading file /Users/username/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bundler/gems/genesis-theme-ee69a01cea5d/assets/pages/feed.xml: No such file or directory @ rb_sysopen - /Users/username/username.io/Users/username/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bundler/gems/genesis-theme-ee69a01cea5d/assets/pages/feed.xml
Error reading file /Users/username/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bundler/gems/genesis-theme-ee69a01cea5d/assets/pages/post-index.html: No such file or directory @ rb_sysopen - /Users/username/username.io/Users/username/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/bundler/gems/genesis-theme-ee69a01cea5d/assets/pages/post-index.html
jekyll 2.5.2 | Error:  undefined method `encode!' for nil:NilClass

Not sure if this is an error from rbenv or octopress/octopress-ink. I receive similar results when using the gem octopress-feeds, which I think also requires octopress-ink.

The issue seems to be an error in referencing the files. i.e., /Users/username/username.io/ is prepended to the location of the gem.

NOTE: username.io is the site.

Run `chcp 65001` when building

Hi,

On Windows, I got the following error when executing jekyll build:
Liquid Exception: incompatible character encodings: CP850 and UTF-8 in feed-articles.xml

It works if I execute chcp 65001 before, as mentionned in http://jekyll-windows.juthilo.com/5-running-jekyll/

With Octopress 2, the command was automatically executed on Windows when doing rake generate:

C:\Users\TiTi\Desktop\octo2>rake generate
## Set the codepage to 65001 for Windows machines
## Generating Site with Jekyll
    write source/stylesheets/screen.css
Configuration file: C:/Users/TiTi/Desktop/octopress/_config.yml
            Source: source
       Destination: public
      Generating...
                    done.
 Auto-regeneration: disabled. Use --watch to enable.

C:\Users\TiTi\Desktop\octo2>

Could it be possible to also execute this command with Octopress 3, when using jekyll build?

I suppose this is more a Jekyll issue, but it could be nice to have that included rather than using a .bat to build the site...

An online demo for the theme?

Is there an online demo of the theme or is the only way to preview the theme to install a Jekyll site locally and use the theme?

No css for code highlighting

When using octopress-codefence, octopress-codeblock, plain old Jekyll {% hightlight %} tags, etc. with the theme, the code gets the appropriate HTML tags and CSS classes, but no CSS gets included to style it.
If I switch from "layout: theme:post" to "layout: default", the syntax highlighting comes back. I will grant that I might be doing something wrong, but if that's the case then my failure could hopefully inform documentation needs.

genesis-theme being overwritten by jekyll default theme

Not exactly sure how to troubleshoot this, but it looks like my configuration for the genesis-theme might not be set up right. Every page in my site is using the default jekyll theme jekyll-new except for the Archive page. Every page is including genesis-theme header, just not the proper assets or layout. Also, the _plugins/theme/config.yml title and subtitle are not being picked up.

I installed the genesis-theme gem after generating the jekyll site with octopress new, which might have created this issue?

overriding scss files

Hi,

First off, thanks for a great project. Octopress really simplify deploying my Jekyll blogs.

I have a question on overriding/adding custom stylesheets to the genesis-theme. In the README you mention that this is possible:

You can also easily overwrite stylesheets, layouts, partials and basically everything about this plugin by adding a copy of that file in the _plugins/theme directory. More on that later.

How does this work exactly?
I want to override index.scss, and I tried to place my new file at _plugins/theme/index.scss and _plugins/theme/assets/stylesheets/index.scss but it does not seem to have any effect.

Invalid CSS after "$center-headings: "

Hi,

I'm trying to use the genesis-theme for Octopress 3.0 on windows, but it doesn't build out of the box because of a SASS / variable issue :

C:\Users\TiTi\Desktop\octo3>jekyll build
WARN: Unresolved specs during Gem::Specification.reset:
      jekyll-watch (~> 1.1)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
Configuration file: C:/Users/TiTi/Desktop/octo4/_config.yml
            Source: C:/Users/TiTi/Desktop/octo4
       Destination: C:/Users/TiTi/Desktop/octo4/_site
      Generating...
jekyll 2.5.3 | Error:  Invalid CSS after "$center-headings: ": expected expression (e.g. 1px, bold), was ";"

C:\Users\TiTi\Desktop\octo3>

Note: I had to reference octopress-genesis rather than octopress-genesis-theme to bypass a first error, see #9 :

gems:
  - octopress-genesis

I tried to octopress ink copy theme and edit files to go further.
I've edited _plugins\theme\stylesheets\index.scss to force :

$center-headings: true;

(despite the fact it is already setted to true in theme\config.yml)

And yep that's it, jekyll build is now working correctly.
So I guess the variable {{ theme.center-headings }} isn't available for some reason...

add the gem to your Jekyll configuration

when I add the gem to my Jekyll configuration,and running jekyll build
the console show errror: Configuration file: /Users/tianliwei/blog/_config.yml jekyll 2.5.3 | Error: undefined method each' for "-octopress-genesis-theme":String`

footer_scripts is not defined

In includes/base.html there is the following line:

{% yield footer_scripts %}

I assume it waits for a content_for block, where I could put a Google Analytics script for example. Where should I put it?

No style applied to: archive/index.html

Using a brand new Octopress (with multilingual plugin; in case it impacts).

The layout and style of the theme works great, except when one browses to:

http://127.0.0.1:4000/archive/index.html

Where it renders old-school style; and also seems to ignore the settings of _config.yml, as it shows:

  • default My Octopress Blog title in the header
  • default Copyright © 2015 - Powered by Octopress in the footer

require higher sass version

3.2.19 wasnt enough to render the files part of octopress/this theme. sass 3.4.13 on the other hand worked.

Add multilingual support

  • Post loops (like post index) should use includes to be compatible with set_lang.
  • There should be documentation pointing to octopress-multilingual.
  • Tests should include multi-lingual features.
  • Navigation and other YAML settings should support language dictionaries.

Gem has come to have accidentally self-contradictory dependencies.

Bundler could not find compatible versions for gem "octopress-date-format":
  In Gemfile:
    octopress-genesis-theme (>= 0) ruby depends on
      octopress-date-format (~> 2.0) ruby

    octopress-genesis-theme (>= 0) ruby depends on
      octopress-ink (>= 0) ruby depends on
        octopress-date-format (~> 3.0) ruby

An easy workaround to mitigate risks like this would be to remove the explicit dependency on octopress-date-format, or widen the range of allowed values of course but that just risks semantic breakage down the road.

A more rigorous adherence to SemVer might help a bit, but I think at the end of the day the only real solution to this is to be very active in considering the impact of updating when you have lopsided loop dependencies like this.

Also, I'd love to try fixing and contributing but without some sort of toe-hold for onboarding with the new Octopress it's becoming a time-sink for me to even try. Do you have a scaffold Octopress 3.0.x project in a working state, using this theme, that I could perhaps try?

Thoughts?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.