GithubHelp home page GithubHelp logo

siathalysedi / vertigo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jhvst/vertigo

0.0 3.0 0.0 4.22 MB

Blog engine in Go (golang)

Home Page: https://9uuso.github.io/vertigo

License: MIT License

Go 96.70% CSS 3.30%

vertigo's Introduction

vertigo

Codeship Status for 9uuso/vertigo Deploy GoDoc

Vertigo

Vertigo is blogging platform similar to Ghost, Medium and Tumblr. Vertigo is written in Go and has fully featured JSON API and it can be run using single binary on all major operating systems like Windows, Linux and OSX.

The frontend code is powered by Go's template/html package, which is similar to Mustache.js. The template files are in plain HTML and JavaScript (vanilla) only appears on few pages. JavaScript is stripped down as much as possible to provide a better user experience on different devices. Vertigo also ships without any CSS frameworks, so it is easy to start customizing the frontend with the tools of your choice.

Thanks to the JSON API, it is easy to add your preferred JavaScript MVC on top of Vertigo. This means that you can create users, submit posts and read data without writing a single line of Go code. For example, one could write a single page application on top of Vertigo just by using JavaScript. Whether you want to take that path or just edit the HTML template files found in /templates/ is up to you.

##Features

  • Installation wizard
  • JSON API
  • SQLite and PostgreSQL support
  • Fuzzy search
  • Multiple account support
  • Auto-saving of posts to LocalStorage
  • RSS feeds
  • Password recovery
  • Markdown support

##Demo

See my personal website

##Installation

Note: By default the HTTP server starts on port 3000. This can changed by declaring PORT environment variable or by passing one with the binary execution command.

###Downloading binaries

See GitHub releases.

###Heroku

Deploy

For advanced usage, see Advanced Heroku deployment

###Source

  1. Install Go (I recommend using gvm)
  2. go get github.com/tools/godep
  3. git clone https://github.com/9uuso/vertigo
  4. cd vertigo && godep go build
  5. PORT="80" ./vertigo

###Docker

  1. Install docker
  2. git clone https://github.com/9uuso/vertigo
  3. cd vertigo
  4. docker build -t "vertigo" .
  5. docker run -d -p 80:80 vertigo

###Environment variables

  • PORT - the HTTP server port
  • SMTP_LOGIN - address from which you want to send mail from. Example: [email protected]
  • SMTP_PASSWORD - Password for the mailbox defined with SMTP_LOGIN
  • SMTP_PORT - SMTP port which to use to send email. Defaults to 587.
  • SMTP_SERVER - SMTP server hostname or IP address. Example: smtp.example.org
  • DATABASE_URL - database connection URL for PostgreSQL - if empty, SQLite will be used

##Contribute

Contributions are welcome, but before creating a pull request, please run your code trough go fmt and golint. If the changes introduce new features, please add tests for them. Try to squash your commits into one big one instead many small, to avoid unnecessary CI runs.

##Support

If you have any questions in mind, please file an issue.

##License

MIT

vertigo's People

Contributors

jhvst avatar jayrox avatar pgray avatar

Watchers

Arnstein Henriksen avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.