Skip to content

topiary-io/topiary

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Topiary

A content management system built on Hugo, a static website generator.

Status

Topiary is currently alpha software. It will build your Hugo source, start a web server, and make the input viewable at /admin. Topiary should not be used in anything remotely resembling a production environment.

Use cases

  1. Run Topiary on your computer, for individual use. Manually copy or automatically sync the output to your production environment, either as changes are made or at regular intervals.
  2. Run Topiary on a local server or intranet, for team use. Manually copy or automatically sync the output to your production environment, either as changes are made or at regular intervals.
  3. Run Topiary in your production environment, for individual or team use. Have your site rebuild as you make changes.

Possible production environments are GitHub Pages, a VPS, a shared host, IPFS, or your own server. Since the output is static, it's lightweight, secure, cheap to host, and simple to set up.

Installation

Right now the only way to install is by building from source.

  1. Make sure to have Git, Go, and Hugo installed.

  2. Clone the Topiary repo:

$ go get github.com/topiary-io/topiary
  1. Build Topiary:
$ cd topiary
$ go install
  1. If you don't have a Hugo site, clone a bootstrapped site:
$ cd path/to/project/dir
$ git clone https://github.com/enten/hugo-boilerplate
  1. Copy the admin assets to your Hugo site root:
$ cp -r $GOPATH/src/github.com/topiary-io/topiary/admin path/to/hugo/site/root
  1. Start Topiary:
$ cd path/to/hugo/site/root
$ topiary
  1. Point a web browser to localhost:3000 to view your site, and localhost:3000/admin/ to view the site input.

Config

Topiary will read a config file in either /etc/topiary or to your site's Hugo config file.

[topiary]
  admindir  = "admin" # location of admin assets
  adminroot = "/admin" # front end admin root

License

Apache 2.0