Class: Jekyll::Commands::New
- Inherits:
-
Jekyll::Command
- Object
- Jekyll::Command
- Jekyll::Commands::New
- Defined in:
- lib/jekyll/commands/new.rb
Class Method Summary collapse
- .create_blank_site(path) ⇒ Object
-
.initialized_post_name ⇒ Object
Internal: Gets the filename of the sample post to be created.
- .process(args, options = {}) ⇒ Object
- .scaffold_post_content ⇒ Object
Methods inherited from Jekyll::Command
Class Method Details
.create_blank_site(path) ⇒ Object
29 30 31 32 33 34 |
# File 'lib/jekyll/commands/new.rb', line 29 def self.create_blank_site(path) Dir.chdir(path) do FileUtils.mkdir(%w(_layouts _posts _drafts)) FileUtils.touch("index.html") end end |
.initialized_post_name ⇒ Object
Internal: Gets the filename of the sample post to be created
Returns the filename of the sample post, as a String
43 44 45 |
# File 'lib/jekyll/commands/new.rb', line 43 def self.initialized_post_name "_posts/#{Time.now.strftime('%Y-%m-%d')}-welcome-to-jekyll.markdown" end |
.process(args, options = {}) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/jekyll/commands/new.rb', line 6 def self.process(args, = {}) raise ArgumentError.new('You must specify a path.') if args.empty? new_blog_path = File.(args.join(" "), Dir.pwd) FileUtils.mkdir_p new_blog_path if preserve_source_location?(new_blog_path, ) Jekyll.logger.error "Conflict:", "#{new_blog_path} exists and is not empty." exit(1) end if [:blank] create_blank_site new_blog_path else create_sample_files new_blog_path File.open(File.(self.initialized_post_name, new_blog_path), "w") do |f| f.write(self.scaffold_post_content) end end puts "New jekyll site installed in #{new_blog_path}." end |
.scaffold_post_content ⇒ Object
36 37 38 |
# File 'lib/jekyll/commands/new.rb', line 36 def self.scaffold_post_content ERB.new(File.read(File.(scaffold_path, site_template))).result end |