filebrowser/caddy/hugo
Henrique Dias 19ab3ecec3 Third party permissions working
Former-commit-id: 4b764bddd794d93565dc2a0929c193869101e4e3 [formerly 613db1e61cb4b79e1b6415c1619d7fa66cf7217d] [formerly 6091413c496e4d62db130f7ec99c27fab928d84d [formerly e78e10614698d6431380606d103055618b7b0a9e]]
Former-commit-id: df9abaa4e53da7d9216c702c9162203186c594c0 [formerly 5e43c76b511d3e152f5c0d1b8024a98ae6d899e1]
Former-commit-id: e10ca024c0c9429e876bf1de060849133fc19a8e
2017-07-14 08:25:37 +01:00
..
README.md updates on editor 2017-07-01 08:36:28 +01:00
hugo.go Some updates 2017-07-12 15:28:35 +01:00
hugo.js Commands and such 2017-07-12 16:18:13 +01:00
setup.go Third party permissions working 2017-07-14 08:25:37 +01:00
utils.go Some updates 2017-07-12 15:28:35 +01:00

README.md

hugo - a caddy plugin

community

hugo fills the gap between Hugo and the browser. Hugo is an easy and fast static website generator. This plugin fills the gap between Hugo and the end-user, providing you a web interface to manage the whole website.

Using this plugin, you won't need to have your own computer to edit posts, neither regenerate your static website, because you can do all of that just through your browser.

Requirements: you need to have the hugo executable in your PATH. You can download it from its official page.

Syntax

hugo [directory] [admin] {
    clean_public    [true|false]
    before_publish  command
    after_publish   command
    flag            name  [value]
    # other file manager compatible options
}

All of the options above are optional.

  • directory is the folder where the commands are going to be executed. By default, it is the current working directory. Default: ./.
  • admin is the path where you will find your administration interface. Default: /admin.
  • clean_public sets if the public folder should be removed before generating the website again. Default: true.
  • before_publish and after_publish allow you to set a custom command to be executed before publishing and after publishing a post/page. The placeholder {path} can be used and it will be replaced by the file path.
  • name refers to the Hugo available flags. Please use their long form without -- in the beginning. If no value is set, it will be evaluated as true.

In spite of these options, you can also use the filemanager so you can have more control about what can be acceded, the permissions of each user, and so on.

This directive should be used with root, basicauth and errors middleware to have the best experience. See the examples to know more.

Examples

If you don't already have an Hugo website, don't worry. This plugin will auto-generate it for you. But that's not everything. It is recommended that you take a look at Hugo documentation to learn more about themes, content types, and so on.

A simple Caddyfile to use with Hugo static website generator:

root      public           # the folder where Hugo generates the website
basicauth /admin user pass # protect the admin area using HTTP basic auth
hugo                       # enable the admin panel

Screenshots

capture 2 3 4