Mikrowelle OS is a static page generator for podcast websites and feeds.
Tested on Python 2.7, 3.3, 3.4 and PyPy 2.5. Will not work under Python 2.6, please update in this case. If possible, prefer Python 3.
- Generating podcast feeds
- iTunes compatible
- Payment tag (Flattr)
- with TTL-support (reduces traffic by setting a sane default interval for feed-refreshing in podcast clients)
- Full text search in the browser
- Flattr support
- New item for every episode, no manual generation needed.
- Modern player
- Podlove Web Player included
- Chapter mark support
- Auphonic support
- Podlove Simple Chapters
- Suitable for heavy load situations
- no CGI/PHP/runtime bloat
You won't need a special webserver to serve the application. You can simply throw in all podcast data into this application and it will generate all necessary files. Those files can be uploaded to any hosting without any need for CGI, PHP or so.
Yep, we are using it actively in our podcast: Mikrowelle. Though, there may be some issues. If you need assistance, feel free to contact me (Twitter) or create an issue.
- Python
- lxml (for feed generation)
- jinja2 (templating engine)
- markdown (easy markdown language)
- JavaScript (those are already included in the repository)
- jQuery
- Podlove Web Player
- Clone git repository.
git clone https://github.com/thomersch/Mikrowelle-OS.git
- Install Python dependencies.
- on Debian based systems:
sudo apt-get install python3-lxml
pip install -r requirements.txt
- on Debian based systems:
- Customize your podcast settings.
- Rename
settings.default.json
tosettings.json
and change the values the way you need it.
- Rename
- For the best expierence, use Auphonic. For instructions see section "Working with Auphonic".
- Run
mikrowelle.py
. - Publish the
audio
folder and thepub
folder on the interwebz.
Working with Auphonic
Auphonic is a fully automatic audio post-production service, that converts all your podcast data into well sounding audio files.
This application is build for best use with Auphonic: All meta tags should be put into the webinterface of Auphonic. Description is automatically converted with markdown as well as the summary. Put into the "track" file the number of the podcast episode.
As output files you should select all of the desired audio data types. Plus you must add the "Production description" as json file.
You may as well add chapter marks, they will be automatically processed and put into the web player.
The output of auphonic has to be put where the settings.json filefolder
is configured. The generator will automatically pick up the right files and do the rest.
You can run Mikrowelle OS without Auphonic as well. In order to do that, you will need to create a json file per episode and put it into your posts
folder.
The file name doesn't really matter, but your episode order will depend on it.
{
"chapters": [
{
"image": null,
"start": "00:22:46.190",
"title": "Chapter 1",
"url": "http://example.com/1/"
},
{
"image": null,
"start": "01:21:33.010",
"title": "Chapter 2",
"url": "http://example.com/2/"
},
{
"image": null,
"start": "01:17:00.130",
"title": "Chapter 3",
"url": "http://example.com/3/"
}
],
"content": "<p>Summary</p>",
"date": "2013-06-09T22:55:48.500Z",
"duration": "01:35:29.914",
"episode": "001",
"filename": "001",
"humandate": "09.06.2013",
"subtitle": "<p>It is just the beginning.</p>",
"title": "001 Title"
}
If you want to start a new style, I recommend to duplicate the templates/base-template
folder and start editing in the duplicate. Remember to change the tplfolder
path in settings.json
.
Adding a stylesheet is nice as well, give it a try. The directory res
in the template path will be linked in the pub-path, so you can place all your assets in $templatename/res
and those will be available at res
on your main publishing path, e.g. podcast.example.com/res
.
Give 'em to me. Create a GitHub issue or contact me.
Ask me.
BSD License. No bullshit. See LICENSE
file.
- Thomas Skowron
- Thomas Sänger (HorayNarea)
- Andreas Hubel (saerdnaer)