Class: Bookshelf::Generator
- Inherits:
-
Thor::Group
- Object
- Thor::Group
- Bookshelf::Generator
- Includes:
- Thor::Actions
- Defined in:
- lib/bookshelf/generator.rb
Overview
The Bookshelf::Generator class will create a new book structure.
ebook = Bookshelf::Generator.new
ebook.destination_root = "/some/path/book-name"
ebook.invoke_all
Class Method Summary collapse
Instance Method Summary collapse
- #copy_assets ⇒ Object
- #copy_config_file ⇒ Object
- #copy_helper_file ⇒ Object
- #copy_templates ⇒ Object
- #copy_top_level ⇒ Object
- #create_empty_directories ⇒ Object
- #create_git_files ⇒ Object
Class Method Details
.source_root ⇒ Object
13 14 15 |
# File 'lib/bookshelf/generator.rb', line 13 def self.source_root File.dirname(__FILE__) + "/../../templates" end |
Instance Method Details
#copy_assets ⇒ Object
22 23 24 25 26 27 28 |
# 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 ⇒ Object
30 31 32 |
# File 'lib/bookshelf/generator.rb', line 30 def copy_config_file template "config.erb", "config/config.yml" end |
#copy_helper_file ⇒ Object
34 35 36 |
# File 'lib/bookshelf/generator.rb', line 34 def copy_helper_file copy_file "helper.rb", "config/helper.rb" end |
#copy_templates ⇒ Object
38 39 40 41 42 43 |
# 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 ⇒ Object
17 18 19 20 |
# 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 ⇒ Object
45 46 47 48 |
# File 'lib/bookshelf/generator.rb', line 45 def create_empty_directories empty_directory "output" empty_directory "text" end |
#create_git_files ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 |
# 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 |