define blog ( String $root, ) { vcsrepo { $root: ensure => latest, provider => git, source => 'https://github.com/HugoNikanor/website-blog-2.git', revision => 'master', # keep_local_changes => true, owner => 'hugo', group => 'www-data', } vcsrepo { "${root}/entries": ensure => latest, provider => git, source => '/home/git/git/blog-entries.git', revision => 'master', owner => 'hugo', group => 'www-data', } file { "${root}/settings.php": ensure => file, content => @(EOF) directory, recurse => true, } $foot_files = [ ['about.md', 'About'], ['contact.md', 'Contact'], ['legal.md', 'Legal'], ['qna.md', '"Q&A"'], ] $foot_files.each |$item| { file { "${root}/footnote/${item[0]}": source => "puppet:///modules/blog/footers/${item[0]}", } } $files_ini = join($foot_files.map |$item| { @("EOF") files[] = ${item[0]} title[] = ${item[1]} | EOF }) file { "${root}/special-files.ini": ensure => file, content => @("EOF") ; FILE MANAGED BY PUPPET ; ; Which files on the website that are "special" ; This basicly means that they shouldn't have comments [footnote] ${files_ini} [other] files[] = list files[] = entry-not-found.md | EOF } }