pogo/README.md

70 lines
2.2 KiB
Markdown
Raw Normal View History

2017-09-11 18:10:35 +01:00
# white rabbit
2017-07-25 15:39:49 +01:00
[![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)
podcast rss generator and cms in golang
## 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
* flat-file directory structure
* human readable files
* self publishing interface w/ password protection
* basic frontend for listening to episodes
2017-09-07 21:45:31 +01:00
* custom css and themeing capabilities
* json feed generation for easier parsing
2017-09-07 21:45:31 +01:00
* docker support
2017-06-15 17:23:09 +01:00
2017-07-05 08:31:01 +01:00
## requirements
[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/spf13/viper](https://github.com/spf13/viper)
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)
2017-06-15 17:23:09 +01:00
## building
```
make install
2017-09-11 18:10:35 +01:00
make
./webserver
```
**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/spf13/viper
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
2017-09-11 18:10:35 +01:00
## file format
white rabbit uses a flat file structure for managing podcast episodes. as such, files have a special naming convention.
for podcast audio files, filenames take the form of YEAR-MONTH-DAY followed by the title. The two values are
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
### 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
* `linux` - creates named compiled binary
* `install` - installs go dependencies
* `docker` - build docker image for running elsewhere
* `and run` - build and run the executable (remove .exe in file for \*nix)