Content management with Github hosted Markdown as an authoritative data source
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
auth
component
models
repo
tent
transifex
utils
.gitignore
API.md
LICENSE
README.md
glide.lock
glide.yaml
tent.go

README.md

Tent

Tent is a content management system that leverages a Github Repository to store its content and its history. That allows Tent to use the Content as code standard.

Configuration

Some steps are required for using tent.

Project

Create the repository that will store your content, by using this page. Once it's created go into project Settings in the Webhooks menu. Here you can create a new hook with the following URL https://YourAppPublicDomain/api/repo/update and default settings.

OAuth

Tent needs an OAuth application configured in order to work. The application can be bound to an user (using this form) or an organization (https://github.com/organizations/YourOrg/settings/applications/new).

Once it's created client id and client secret will be available. You can also change several other parameters including Authorization callback URL: this should be set as https://YourAppPublicDomain/auth/callback.

Binary

Download the latest version of the binary or build it from source. In order to do so install latest version of Go then execute go get gopkg.in/securityfirst/tent.v3/tent. This will install it in your $GOPATH (that should be ~/go/bin)

Configuration

Now you create a configuration file named .tent.yaml in your $HOME folder using the following contents as example.

Github:
  Handler: "awesomeorg"
  Project: "myawesomeproject"
  Branch: "master"
Config:
  Id: "YOUR_CLIENT_ID"
  Secret: "YOUR_CLIENT_SECRET"
  OAuthHost: "https://YourAppPublicDomain"
  Login:
    Endpoint: "/auth/login"
  Logout:
    Endpoint: "/auth/logout"
  Callback:
    Endpoint: "/auth/callback"
  RandomString: "whatever"
Port: 80
Transifex:
  Project: "project-name"
  Username: "user"
  Password: "password"

Run

Once everything is ready you can start the app using tent.exe run.

Sample Repo

This a sample repo used by tent in the Umbrella App: https://github.com/securityfirst/tent-content

New! Branches

You can work on a specific branch of your content project, this is very usefull for testing purpose (i.e. a big update on content).