Class: CustomJekyll::Generator

Inherits:
Object
  • Object
show all
Defined in:
lib/custom_jekyll/generator.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(site_name) ⇒ Generator

Returns a new instance of Generator.



16
17
18
19
# File 'lib/custom_jekyll/generator.rb', line 16

def initialize(site_name)
 @site_name = site_name 
 g_site_folder
end

Instance Attribute Details

#site_nameObject (readonly)

Returns the value of attribute site_name.



2
3
4
# File 'lib/custom_jekyll/generator.rb', line 2

def site_name
  @site_name
end

Class Method Details

.path_to_resourcesObject



5
6
7
8
9
# File 'lib/custom_jekyll/generator.rb', line 5

def path_to_resources
  $LOAD_PATH.detect do |dir|
    dir.include?('custom_jekyll') && dir.include?('lib')
  end
end

.path_to_site_templateObject



11
12
13
# File 'lib/custom_jekyll/generator.rb', line 11

def path_to_site_template
  path_to_resources.dup << '/custom_jekyll/site_template'
end

Instance Method Details

#add_site_name_to_site_configObject



41
42
43
44
45
# File 'lib/custom_jekyll/generator.rb', line 41

def add_site_name_to_site_config
  config = File.read('_config.yml')
  config.gsub!('%site_title%', humanize_site_name)
  overwrite_config(config)
end

#change_directory_to_siteObject



47
48
49
# File 'lib/custom_jekyll/generator.rb', line 47

def change_directory_to_site
  Dir.chdir(site_name)
end

#copy_templates_to_new_siteObject



32
33
34
# File 'lib/custom_jekyll/generator.rb', line 32

def copy_templates_to_new_site
  FileUtils.cp_r(site_template, site_name)
end

#g_site_folderObject



28
29
30
# File 'lib/custom_jekyll/generator.rb', line 28

def g_site_folder
  Dir.mkdir(site_name)
end

#generate_siteObject



21
22
23
24
25
26
# File 'lib/custom_jekyll/generator.rb', line 21

def generate_site
  copy_templates_to_new_site
  change_directory_to_site
  run_automated_commands
  add_site_name_to_site_config
end

#run_automated_commandsObject



36
37
38
39
# File 'lib/custom_jekyll/generator.rb', line 36

def run_automated_commands
  run_bundle_install
  make_git_repo
end