79 lines
3.0 KiB
Markdown
79 lines
3.0 KiB
Markdown
# Hugo add-on for Caddy
|
|
|
|
[![Build](https://img.shields.io/travis/hacdias/staticmin.svg?style=flat-square)](https://travis-ci.org/hacdias/staticmin)
|
|
[![Documentation](https://img.shields.io/badge/godoc-reference-blue.svg?style=flat-square)](http://godoc.org/github.com/hacdias/staticmin)
|
|
|
|
Deploy your Hugo website and enjoy of an admin interface with Caddy server.
|
|
|
|
## Configuration
|
|
|
|
```
|
|
<<<<<<< HEAD
|
|
staticmin {
|
|
=======
|
|
cms {
|
|
>>>>>>> 7b68c78b12d9b7aee61788d5e85cd3b0722906de
|
|
styles file
|
|
hugo true / false # default is true
|
|
command command # needed when hugo is false
|
|
args args... # hugo or whatever command flags/args
|
|
}
|
|
```
|
|
|
|
+ **file** is the relative path to ```public``` folder of the admin UI styles. They will not replace the defaults, they will be added.
|
|
|
|
+ **args** are the Hugo flags (those which can be set in the command line) and they must follow one of these syntaxes: ```-f=value``` and ```--flag=value```.
|
|
|
|
## Build it from source
|
|
|
|
If you want to try the Hugo add-on for Caddy (and improve it maybe), you'll have to install some tools.
|
|
|
|
+ [Go 1.4 or higher](https://golang.org/dl/)
|
|
+ [caddydev](https://github.com/caddyserver/caddydev)
|
|
+ [go-bindata](https://github.com/jteeuwen/go-bindata)
|
|
|
|
If you want to go deeper and make changes in front-end assets like JavaScript or CSS, you'll need some more tools.
|
|
|
|
+ [Ruby](https://www.ruby-lang.org/en/)
|
|
+ [SASS](http://sass-lang.com/install)
|
|
+ [Node.js and npm](https://nodejs.org)
|
|
+ [Grunt](http://gruntjs.com/)
|
|
|
|
### Run it
|
|
|
|
If you have already installed everything above to meet the requirements for what you want to do, let's start. Firstly, open the terminal and navigate to your clone of ```caddy-hugo```. Then execute:
|
|
|
|
```
|
|
go-bindata [-debug] -pkg assets -o assets/assets.go templates/ assets/css/ assets/js/ assets/fonts/
|
|
```
|
|
|
|
That command will create an ```assets.go``` file which contains all static files from those folders mentioned in the command. You may run with ```-debug``` option if you want, but it is only needed if you're going to make changes in front-end assets.
|
|
|
|
Now, open the folder with your Hugo website and create a [Caddyfile](https://caddyserver.com/docs/caddyfile) similar to this one:
|
|
|
|
```
|
|
localhost:8080
|
|
|
|
root public
|
|
|
|
basicauth /admin admin admin
|
|
|
|
errors {
|
|
404 404.html
|
|
}
|
|
|
|
staticmin
|
|
```
|
|
|
|
After creating the file, navigate to that folder using the terminal and run the following command, replacing ```{staticmin}``` with the location of your clone.
|
|
|
|
```
|
|
caddydev --source {staticmin} hugo
|
|
```
|
|
|
|
Navigate to ```localhost:8080``` to see your blog running on Caddy and Hugo. Go to ```/admin``` to try the Admin UI. The default user name is ```admin```, so is the password. You may change in your Caddyfile.
|
|
|
|
Everything is working now. Whenever you make a change in the back-end source code, you'll have to run the command above again.
|
|
|
|
**For those who want to make changes in front-end**, make sure you have every needed tool installed and run ```npm install``` in the root of ```caddy-hugo``` clone. Then, run ```grunt watch```.
|