@@ -20,6 +20,7 @@ TYPES_OVERVIEW_ERB = File.join(__dir__, 'references/types/overview.erb')
2020TYPES_OVERVIEW_MD = File . join ( TYPES_DIR , 'overview.md' )
2121UNIFIED_TYPE_ERB = File . join ( __dir__ , 'references/unified_type.erb' )
2222UNIFIED_TYPE_MD = File . join ( OUTPUT_DIR , 'type.md' )
23+ SINGLE_TYPE_ERB = File . join ( __dir__ , 'references/types/single_type.erb' )
2324
2425def render_erb ( erb_file , variables )
2526 # Create a binding so only the variables we specify will be visible
@@ -332,6 +333,7 @@ namespace :references do
332333 end
333334 end
334335
336+ desc "Generate resource type references"
335337 task :type do
336338 FileUtils . mkdir_p ( TYPES_DIR )
337339
@@ -385,6 +387,24 @@ namespace :references do
385387 content = render_erb ( UNIFIED_TYPE_ERB , variables )
386388 File . write ( UNIFIED_TYPE_MD , content )
387389 puts "Generated #{ UNIFIED_TYPE_MD } "
390+
391+ # Based on https://github.com/puppetlabs/puppet-docs/blob/1a13be3fc6981baa8a96ff832ab090abc986830e/lib/puppet_references/puppet/type.rb#L78-L85
392+ # one type per page
393+ types . each do |type |
394+ variables = {
395+ title : "Resource Type: #{ type } " ,
396+ type : type ,
397+ sha : sha ,
398+ now : now ,
399+ canonical : "/puppet/latest/types/#{ type } .html" ,
400+ body : render_resource_type ( type , type_data [ type ] )
401+ }
402+
403+ content = render_erb ( SINGLE_TYPE_ERB , variables )
404+ output = File . join ( TYPES_DIR , "#{ type } .md" )
405+ File . write ( output , content )
406+ puts "Generated #{ output } "
407+ end
388408 end
389409 end
390410end
0 commit comments