Only add a CODE_OF_CONDUCT.md file if specified.
This commit is contained in:
		
							parent
							
								
									4b7109d273
								
							
						
					
					
						commit
						0599f114d6
					
				|  | @ -6,20 +6,23 @@ class Jekyll::Commands::NewTheme < Jekyll::Command | ||||||
|       prog.command(:"new-theme") do |c| |       prog.command(:"new-theme") do |c| | ||||||
|         c.syntax "new-theme NAME" |         c.syntax "new-theme NAME" | ||||||
|         c.description "Creates a new Jekyll theme scaffold" |         c.description "Creates a new Jekyll theme scaffold" | ||||||
|  |         c.option "code_of_conduct", \ | ||||||
|  |           "-c", "--code-of-conduct", \ | ||||||
|  |           "Include a Code of Conduct. (defaults to false)" | ||||||
| 
 | 
 | ||||||
|         c.action do |args, _| |         c.action do |args, opts| | ||||||
|           Jekyll::Commands::NewTheme.process(args) |           Jekyll::Commands::NewTheme.process(args, opts) | ||||||
|         end |         end | ||||||
|       end |       end | ||||||
|     end |     end | ||||||
| 
 | 
 | ||||||
|     def process(args) |     def process(args, opts) | ||||||
|       if !args || args.empty? |       if !args || args.empty? | ||||||
|         raise Jekyll::Errors::InvalidThemeName, "You must specify a theme name." |         raise Jekyll::Errors::InvalidThemeName, "You must specify a theme name." | ||||||
|       end |       end | ||||||
| 
 | 
 | ||||||
|       new_theme_name = args.join("_") |       new_theme_name = args.join("_") | ||||||
|       theme = Jekyll::ThemeBuilder.new(new_theme_name) |       theme = Jekyll::ThemeBuilder.new(new_theme_name, opts) | ||||||
|       if theme.path.exist? |       if theme.path.exist? | ||||||
|         Jekyll.logger.abort_with "Conflict:", "#{theme.path} already exists." |         Jekyll.logger.abort_with "Conflict:", "#{theme.path} already exists." | ||||||
|       end |       end | ||||||
|  |  | ||||||
|  | @ -3,11 +3,12 @@ class Jekyll::ThemeBuilder | ||||||
|     _layouts _includes _sass |     _layouts _includes _sass | ||||||
|   ).freeze |   ).freeze | ||||||
| 
 | 
 | ||||||
|   attr_reader :name, :path |   attr_reader :name, :path, :code_of_conduct | ||||||
| 
 | 
 | ||||||
|   def initialize(theme_name) |   def initialize(theme_name, opts) | ||||||
|     @name = theme_name.to_s.tr(" ", "_").gsub(%r!_+!, "_") |     @name = theme_name.to_s.tr(" ", "_").gsub(%r!_+!, "_") | ||||||
|     @path = Pathname.new(File.expand_path(name, Dir.pwd)) |     @path = Pathname.new(File.expand_path(name, Dir.pwd)) | ||||||
|  |     @code_of_conduct = !!opts["code_of_conduct"] | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   def create! |   def create! | ||||||
|  | @ -71,7 +72,9 @@ class Jekyll::ThemeBuilder | ||||||
|   end |   end | ||||||
| 
 | 
 | ||||||
|   def create_accessories |   def create_accessories | ||||||
|     %w(README.md Rakefile CODE_OF_CONDUCT.md LICENSE.txt).each do |filename| |     accessories = %w(README.md Rakefile LICENSE.txt) | ||||||
|  |     accessories << "CODE_OF_CONDUCT.md" if code_of_conduct | ||||||
|  |     accessories.each do |filename| | ||||||
|       write_file(filename, template(filename)) |       write_file(filename, template(filename)) | ||||||
|     end |     end | ||||||
|   end |   end | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue