class Bookshelf::Generator

The Bookshelf::Generator class will create a new book structure.

ebook = Bookshelf::Generator.new
ebook.destination_root = "/some/path/book-name"
ebook.invoke_all

Public Class Methods

source_root() click to toggle source
# File lib/bookshelf/generator.rb, line 13
def self.source_root
  File.dirname(__FILE__) + "/../../templates"
end

Public Instance Methods

copy_assets() click to toggle source
# File lib/bookshelf/generator.rb, line 22
def copy_assets
  copy_file "epub.scss", "assets/styles/epub.scss"
  copy_file "html.scss", "assets/styles/html.scss"
  copy_file "_fonts.scss", "assets/styles/_fonts.scss"
  empty_directory "assets/fonts"
  empty_directory "assets/images"
end
copy_config_file() click to toggle source
# File lib/bookshelf/generator.rb, line 30
def copy_config_file
  template "config.erb", "config/config.yml"
end
copy_helper_file() click to toggle source
# File lib/bookshelf/generator.rb, line 34
def copy_helper_file
  copy_file "helper.rb", "config/helper.rb"
end
copy_templates() click to toggle source
# File lib/bookshelf/generator.rb, line 38
def copy_templates
  copy_file "layout.erb", "templates/html/layout.erb"
  copy_file "cover.erb", "templates/epub/cover.erb"
  copy_file "epub.erb", "templates/epub/page.erb"
  copy_file "toc.erb", "templates/epub/toc.erb"
end
copy_top_level() click to toggle source
# File lib/bookshelf/generator.rb, line 17
def copy_top_level
  copy_file "Gemfile", "Gemfile"
  copy_file "README.md", "README.md"
end
create_empty_directories() click to toggle source
# File lib/bookshelf/generator.rb, line 45
def create_empty_directories
  empty_directory "output"
  empty_directory "text"
end
create_git_files() click to toggle source
# File lib/bookshelf/generator.rb, line 50
def create_git_files
  create_file ".gitignore" do
    "output\n.sass-cache"
  end
  create_file "assets/.gitkeep"
  create_file "assets/fonts/.gitkeep"
  create_file "assets/images/.gitkeep"
  create_file "assets/styles/.gitkeep"
  create_file "output/.gitkeep"
  create_file "text/.gitkeep"
end