puppet-hugo
Table of Contents
- Description
- Setup
- Usage - Configuration options and additional functionality
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
Description
A Puppet module for managing Hugo) (A static website engine).
This module installs Hugo using pre-built binaries and does not need external package repositories.
Setup
Setup requirements
The hugo module does not automatically create parent directories for the files it manages. Set up any needed directory structures before you start.
What hugo affects
- module
puppet-hugo
depends on: - system dependencies:
tar
; - installs
hugo
executable to/usr/local/bin
by default.
Usage
Only install hugo:
include ::hugo
Install executable generate website out of it:
class {'::hugo':
sites => {
'/tmp/test' => {
'target' => '/tmp/generated',
'version' => 'someversion'
}
}
}
Reference
hugo
Class: class {'::hugo':
manage_dependencies => true,
dependencies_ensure => 'latest',
dependencies => ['tar', 'git'],
manage_package => true,
package_ensure => 'present',
installation_directory => '/usr/local/bin',
version => '0.20.7',
owner => 'root',
group => 'root',
mode => 'ug=rw,o=r,a=x',
sites => {
'test.org' => {
'source' => '/tmp/test',
'target' => '/tmp/test.org',
'version' => 'aaa'
},
'test2.org' => {
'source' => '/tmp/test',
'target' => '/tmp/test2.org',
'version' => 'bbb'
}
},
compile_defaults => {
'hugo_executable' => '/usr/local/bin/hugo',
'refreshonly' => true
}
}
hugo::packages
Class: class {'::hugo::packages':
manage_dependencies => true,
dependencies_ensure => 'latest',
dependencies => ['git', 'tar']
}
hugo::install
Class: class {'::hugo::install':
manage_package => true,
package_ensure => 'present',
installation_directory => '/usr/local/bin',
version => '0.20.7',
owner => 'root',
group => 'root',
mode => 'ug=rw,o=r,a=x'
}
hugo::resource::compile
Resource: hugo::resource::compile {'human.test.org':
target => '/tmp/human.test.org',
version => 'someversion',
source => '/tmp/test',
refreshonly => true,
additional_arguments => '',
hugo_executable => '/usr/local/bin/hugo'
}
Limitations
See metadata.json for supported platforms.
Development
Running tests
gem install bundler
bundle install --path vendor
bundle exec rake test
Contributing
Please make sure that test cases, syntax and documentation checks are passing.