2017-09-11 19:36:40 +01:00
|
|
|
# Pogo
|
2017-10-05 20:27:55 +01:00
|
|
|
## Podcast RSS feed generator and CMS in Go.
|
2017-07-19 22:01:46 +01:00
|
|
|
|
2017-10-05 20:27:55 +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) [![live branch](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)
|
2017-07-19 22:01:46 +01:00
|
|
|
|
2017-09-11 19:36:40 +01:00
|
|
|
## Goal
|
2017-07-19 22:01:46 +01:00
|
|
|
|
2017-09-11 19:36:40 +01:00
|
|
|
To produce a product that is easy to deploy and easier to use when hosting a podcast from ones own servers.
|
2017-07-19 22:01:46 +01:00
|
|
|
|
2017-09-11 19:36:40 +01:00
|
|
|
## Features
|
2017-07-19 22:01:46 +01:00
|
|
|
|
2017-09-11 19:36:40 +01:00
|
|
|
* 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
|
2017-07-19 22:01:46 +01:00
|
|
|
|
2017-09-11 19:36:40 +01:00
|
|
|
## Requirements
|
2017-07-05 08:31:01 +01:00
|
|
|
|
2017-07-19 22:01:46 +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)
|
|
|
|
|
2017-09-11 19:36:40 +01:00
|
|
|
## Building
|
2017-06-15 17:23:09 +01:00
|
|
|
|
2017-07-25 16:02:48 +01:00
|
|
|
```
|
2017-10-05 20:27:55 +01:00
|
|
|
godep restore
|
|
|
|
go build
|
2017-10-07 23:02:57 +01:00
|
|
|
# Set environment variable
|
2017-10-06 05:16:03 +01:00
|
|
|
export POGO_SECRET=secret
|
|
|
|
# Windows
|
|
|
|
# set POGO_SECRET=secret
|
2017-10-05 20:27:55 +01:00
|
|
|
./podcast
|
2017-07-05 08:31:01 +01:00
|
|
|
```
|
2017-09-07 21:45:31 +01:00
|
|
|
|
2017-09-11 19:36:40 +01:00
|
|
|
## File format
|
2017-09-11 18:10:35 +01:00
|
|
|
|
2017-10-05 20:27:55 +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
|
|
|
|
2017-09-11 19:36:40 +01:00
|
|
|
For podcast audio files, filenames take the form of YEAR-MONTH-DAY followed by the title. The two values are
|
2017-10-07 23:02:57 +01:00
|
|
|
separated by underscores (`YYYY-MM-DD_TITLE.mp3`).
|
2017-09-07 21:45:31 +01:00
|
|
|
|
2017-10-07 23:02:57 +01:00
|
|
|
"Shownote" files are markdown formatted and simply append `_SHOWNOTES.md` to the existing filename (sans .mp3 of course).
|