pogo/README.md

67 lines
2.3 KiB
Markdown
Raw Normal View History

# Pogo
Podcast RSS feed generator and CMS in Go.
---
2017-09-24 20:09:57 +01:00
[![Build Status](https://travis-ci.org/gmemstr/pogo.svg?branch=master)](https://travis-ci.org/gmemstr/pogo) [![gitgalaxy](https://img.shields.io/badge/website-gitgalaxy.com-blue.svg)](https://gitgalaxy.com) [![shield](https://img.shields.io/badge/live-podcast.gitgalaxy.com-green.svg)](https://podcast.gitgalaxy.com) [![follow](https://img.shields.io/twitter/follow/gitgalaxy.svg?style=social&label=Follow)](https://twitter.com/gitgalaxy)
## Goal
To produce a product that is easy to deploy and easier to use when hosting a podcast from ones own servers.
## Features
* Auto-generate rss feed
* Basic frontend for listening to episodes
* Flat-file directory structure
* Human readable files
* Self publishing interface w/ password protection
* Custom CSS and themeing capabilities
* JSON feed generation for easier parsing
* Docker support
## Requirements
2017-07-05 08:31:01 +01:00
[github.com/gmemstr/feeds](https://github.com/gmemstr/feeds) _this branch contains some fixes for "podcast specific" tags_
2017-07-05 08:32:04 +01:00
2017-07-05 08:31:01 +01:00
[github.com/fsnotify/fsnotify](https://github.com/fsnotify/fsnotify)
2017-07-05 08:32:04 +01:00
2017-07-05 08:31:01 +01:00
[github.com/gorilla/mux](https://github.com/gorilla/mux)
## Building
2017-06-15 17:23:09 +01:00
```
make install
2017-09-11 18:10:35 +01:00
make
./webserver
```
### Makefile
There are several commands in the Makefile, for various reasons (commands are preceded by the `make` command).
* `all` - also works by just running `make`, compiles go code to executable
* `windows` - creates named compiled .exe (pogoapp.exe)
* `linux` - creates named compiled binary (pogoapp)
* `install` - installs go dependencies
* `docker` - build docker image for running elsewhere
* `and run` - build and run the executable (remove .exe in file for \*nix)
**non-make**
2017-07-05 08:31:01 +01:00
```
go get github.com/gmemstr/feeds
go get github.com/fsnotify/fsnotify
go get github.com/gorilla/mux
go build webserver.go generate_rss.go admin.go
2017-07-05 08:31:01 +01:00
./webserver
```
2017-09-07 21:45:31 +01:00
## File format
2017-09-11 18:10:35 +01:00
Pogo uses a flat file structure for managing podcast episodes. as such, files have a special naming convention.
2017-09-11 18:10:35 +01:00
For podcast audio files, filenames take the form of YEAR-MONTH-DAY followed by the title. The two values are
2017-09-11 18:10:35 +01:00
seperated by underscores (`YYYY-MM-DD_TITLE.mp3`).
Shownote fils are markdown formatted and simply append `_SHOWNOTES.md` to the existing filename (sans .mp3 of course).
2017-09-07 21:45:31 +01:00