diff --git a/.gitignore b/.gitignore index ab39f1e..cc16a14 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,5 @@ podcasts/ feed\.rss assets/static/custom\.css + +config\.json \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 84cfc4b..138e1ea 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,16 +2,17 @@ FROM golang:latest # Set working directory -WORKDIR /WhiteRabbit +WORKDIR /POGO # Add source to container so we can build -ADD . /WhiteRabbit +ADD . /POGO -# 1. Install make & co. -# 2. Install project dependencies -# 3. Build binary and move to parent directory -# 4. Create podcast directory -# 5. Generate basic skeleton files +# 1. Install make and dependencies +# 2. Install Go dependencies +# 3. Build named Linux binary and allow execution +# 4. List directory structure (for debugging really)\ +# 5. Make empty podcast direcory +# 6. Create empty feed files RUN apt update; apt install build-essential -y && \ make install && \ make linux && chmod +x whiterabbit && \ @@ -21,4 +22,4 @@ RUN apt update; apt install build-essential -y && \ EXPOSE 8000 -CMD ./whiterabbit \ No newline at end of file +CMD ./pogoapp \ No newline at end of file diff --git a/Makefile b/Makefile index be9fb0f..6612f1f 100644 --- a/Makefile +++ b/Makefile @@ -2,10 +2,10 @@ all: go build src/webserver.go src/admin.go src/generate_rss.go windows: src/admin.go src/webserver.go src/generate_rss.go - go build -o whiterabbit.exe src/webserver.go src/admin.go src/generate_rss.go + go build -o pogoapp.exe src/webserver.go src/admin.go src/generate_rss.go linux: src/admin.go src/webserver.go src/generate_rss.go - go build -o whiterabbit src/webserver.go src/admin.go src/generate_rss.go + go build -o pogoapp src/webserver.go src/admin.go src/generate_rss.go install: go get github.com/gmemstr/feeds @@ -18,4 +18,4 @@ docker: and run: go build src/webserver.go src/admin.go src/generate_rss.go - ./webserver.exe \ No newline at end of file + ./pogoapp.exe \ No newline at end of file diff --git a/README.md b/README.md index bcf3c61..5a3eeb9 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,25 @@ -# white rabbit +# Pogo +Podcast RSS feed generator and CMS in Go. +--- [![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 -podcast rss generator and cms in golang +To produce a product that is easy to deploy and easier to use when hosting a podcast from ones own servers. -## goal +## Features -to produce a product that is easy to deploy and easier to use when hosting a podcast from ones own servers. + * 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 -## features - - * auto-generate rss feed - * flat-file directory structure - * human readable files - * self publishing interface w/ password protection - * basic frontend for listening to episodes - * custom css and themeing capabilities - * json feed generation for easier parsing - * docker support - -## requirements +## Requirements [github.com/gmemstr/feeds](https://github.com/gmemstr/feeds) _this branch contains some fixes for "podcast specific" tags_ @@ -30,7 +29,7 @@ to produce a product that is easy to deploy and easier to use when hosting a pod [github.com/gorilla/mux](https://github.com/gorilla/mux) -## building +## Building ``` make install @@ -38,6 +37,16 @@ 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** ``` @@ -49,22 +58,12 @@ go build webserver.go generate_rss.go admin.go ./webserver ``` -## file format +## File format -white rabbit uses a flat file structure for managing podcast episodes. as such, files have a special naming convention. +Pogo 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 +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). +Shownote fils are markdown formatted and simply append `_SHOWNOTES.md` to the existing filename (sans .mp3 of course). -### 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) \ No newline at end of file diff --git a/assets/admin.html b/assets/admin.html index c2cf7d5..c0abefa 100644 --- a/assets/admin.html +++ b/assets/admin.html @@ -2,13 +2,13 @@
-