The Hugo plugin automatically generates static web page files, which can be published afterwards!
The example below demonstrates how you can use the plugin to automatically create static web page files using Hugo plugin:
pipeline: hugo: image: cbrgm/drone-hugo:latest validate: true
validate allows you to check your configuration file for errors before generating the files.
Customize source, output, theme, config, layout OR content directory paths
You can customize the paths for e. g. the theme, layout, content directory and output directory and much more!
pipeline: hugo: image: cbrgm/drone-hugo:latest + config: path/to/config + content: path/to/content/ + layout: path/to/layout + output: path/to/public + source: path/to/source + theme: path/themes/THEMENAME/ validate: true
Set hostname (and path) to the root
You can also define a base URL directly in the pipeline, which is used when generating the files.
pipeline: hugo: image: cbrgm/drone-hugo:latest config: path/to/config content: path/to/content/ output: path/to/public source: path/to/source theme: path/themes/THEMENAME/ + url: https://cbrgm.de validate: true
Build sites and include expired, drafts or future content
You can set the
buildFuture settings to configure the generated files.
buildDrafts- include content marked as draft
buildExpired- include expired content
buildFuture- include content with publishdate in the future
pipeline: hugo: image: cbrgm/drone-hugo:latest + buildDrafts: true + buildExpired: tru + buildFuture: true config: path/to/config content: path/to/content/ output: path/to/public source: path/to/source theme: path/themes/THEMENAME/ url: https://cbrgm.de validate: true
Example: Generate Hugo static files and publish them to remote directory using scp
Here is a short example of how to define a pipeline that automatically generates the static web page files with Hugo and then copies them to a remote server via scp. This makes publishing websites a breeze!
pipeline: build: image: cbrgm/drone-hugo:latest output: public/drone-generated # Output path validate: true when: branch: [ master ] publish: image: appleboy/drone-scp # secrets: [ Use secrets to hide credentials! ] host: cbrgm.de username: webuser password: xxxxxxx port: 54321 rm: true target: /var/www/blog source: public/drone-generated/* # All files from output path
- Include content marked as draft
- include expired content
- include content with publishdate in the future
- config file (default is path/config.yaml|json|toml)
- filesystem path to content directory
- filesystem path to layout directory
- filesystem path to write files to
- filesystem path to read files relative from
- theme to use (located in /themes/THEMENAME/)
- hostname (and path) to the root
- validate config file before generation
You have suggestions for improvements or features you miss? You are welcome to express all your wishes here. Just create a new Issue on Github and it will be taken care of quickly!
If you are a developer yourself, you can also contribute code! Further information will follow shortly.