diff --git a/MANIFEST.in b/MANIFEST.in
index 6b259646..a478e3f1 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,4 +1,4 @@
-include README COPYING MANIFEST.in ChangeLog makefile setup.py
+include README.md COPYING MANIFEST.in ChangeLog makefile setup.py
recursive-include share *
recursive-include po *
recursive-include tools *
diff --git a/README b/README
deleted file mode 100644
index c05acb01..00000000
--- a/README
+++ /dev/null
@@ -1,216 +0,0 @@
-
- ___ _ _ ____
- __ _| _ \___ __| |__| |___ _ _ |__ /
- / _` | _/ _ \/ _` / _` / -_) '_| |_ \
- \__, |_| \___/\__,_\__,_\___|_| |___/
- |___/
- Media aggregator and podcast client
-
- ............................................................................
-
- Copyright 2005-2016 Thomas Perl and the gPodder Team
-
-
- [ LICENSE ]
-
- gPodder is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- gPodder is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-
-
- [ DEPENDENCIES ]
-
- - Python 3.5 or newer http://python.org/
- - Podcastparser 0.6.0 or newer http://gpodder.org/podcastparser/
- - mygpoclient 1.7 or newer http://gpodder.org/mygpoclient/
- - Python D-Bus bindings
-
- As an alternative to python-dbus on Mac OS X and Windows, you can use
- the dummy (no-op) D-Bus module provided in "tools/fake-dbus-module/".
-
- For quick testing, you can use the script tools/localdepends.py to
- install local copies of podcastparser and mygpoclient into "src/" from
- PyPI. With this, you get a self-contained gPodder CLI codebase.
-
-
- [ GTK3 UI - ADDITIONAL DEPENDENCIES ]
-
- - PyGObject 3.22.0 or newer https://wiki.gnome.org/PyGObject
-
-
- [ OPTIONAL DEPENDENCIES ]
-
- - Bluetooth file sending: gnome-obex-send or bluetooth-sendto
- - Size detection on Windows: PyWin32
- - Native OS X support: ige-mac-integration
- - MP3 Player Sync Support: python-eyed3 (0.7 or newer)
- - iPod Sync Support: python-gpod
- - Clickable links in GTK UI show notes: html5lib
- - HTML show notes: WebKit2 gobject bindings
- (webkit2gtk, webkitgtk4 or gir1.2-webkit2-4.0 packages).
-
-
- [ BUILD DEPENDENCIES ]
-
- - help2man
- - intltool
-
-
- [ TEST DEPENDENCIES ]
-
- - python-minimock
- - python-coverage
- - desktop-file-utils
-
- [ TESTING ]
-
- To run tests, use...
- make unittest
-
- To set a specific python binary set PYTHON:
- PYTHON=python3 make unittest
-
- Tests in gPodder are written in two different ways:
-
- - doctests (see http://docs.python.org/3/library/doctest.html)
- - unittests (see http://docs.python.org/3/library/unittest.html)
-
- If you want to add doctests, simply write the doctest and make sure that
- the module appears in "doctest_modules" in src/gpodder/unittests.py. For
- example, the doctests in src/gpodder/util.py are added as 'util' (the
- "gpodder" prefix must not be specified there).
-
- If you want to add unit tests for a specific module (ex: gpodder.model),
- you should add the tests as gpodder.test.model, or in other words:
-
- The file src/gpodder/model.py
- is tested by src/gpodder/test/model.py
-
- After you've added the test, make sure that the module appears in
- "test_modules" in src/gpodder/unittests.py - for the example above, the
- unittests in src/gpodder/test/model.py are added as 'model'. For unit
- tests, coverage reporting happens for the tested module (that's why the
- test module name should mirror the module to be tested).
-
-
- [ RUNNING AND INSTALLATION ]
-
- To run gPodder from source, use..
-
- bin/gpodder for the Gtk+ UI
- bin/gpo for the command-line interface
-
- To install gPodder system-wide, use "make install". By default, this
- will install *all* UIs and all translations. The following environment
- variables are processed by setup.py:
-
- LINGUAS space-separated list of languages to install
- GPODDER_INSTALL_UIS space-separated list of UIs to install
- GPODDER_MANPATH_NO_SHARE if set, install manpages to $PREFIX/man/man1
-
- See setup.py for a list of recognized UIs.
-
- Example: Install the CLI and Gtk UI with German and Dutch translations:
-
- export LINGUAS="de nl"
- export GPODDER_INSTALL_UIS="cli gtk"
- make install
-
- The "make install" target also supports DESTDIR and PREFIX for installing
- into an alternative root (default /) and prefix (default /usr):
-
- make install DESTDIR=tmp/ PREFIX=/usr/local/
-
-
- [ PORTABLE MODE / ROAMING PROFILES ]
-
- The run-time environment variable GPODDER_HOME is used to set
- the location for storing the database and downloaded files.
-
- This can be used for multiple configurations or to store the
- download directory directly on a MP3 player or USB disk:
-
- export GPODDER_HOME=/media/usbdisk/gpodder-data/
-
-
- OS X Specific Notes
-
- default GPODDER_HOME="$HOME/Library/Application Support/gPodder"
- default GPODDER_DOWNLOAD_DIR="$HOME/Library/Application Support/gPodder/download"
-
- These settings may be modified by editing the following file of the .app :
- /Applications/gPodder.app/Contents/MacOSX/_launcher
-
- Add and edit the following lines to alter the launch enviroment on OS X :
- export GPODDER_HOME="$HOME/Library/Application Support/gPodder"
- export GPODDER_DOWNLOAD_DIR="$HOME/Library/Application Support/gPodder/download"
-
-
- [ CHANGING THE DOWNLOAD DIRECTORY ]
-
- The run-time environment variable GPODDER_DOWNLOAD_DIR is used to
- set the location for storing the downloads only (independent of the
- data directory GPODDER_HOME):
-
- export GPODDER_DOWNLOAD_DIR=/media/BigDisk/Podcasts/
-
- In this case, the database and settings will be stored in the default
- location, with the downloads stored in /media/BigDisk/Podcasts/.
-
- Another example would be to set both environment variables:
-
- export GPODDER_HOME=~/.config/gpodder/
- export GPODDER_DOWNLOAD_DIR=~/Podcasts/
-
- This will store the database and settings files in ~/.config/gpodder/
- and the downloads in ~/Podcasts/. If GPODDER_DOWNLOAD_DIR is not set,
- $GPODDER_HOME/Downloads/ will be used if it is set.
-
-
- [ LOGGING ]
-
- By default, gPodder writes log files to $GPODDER_HOME/Logs/ and removes
- them after a certain amount of times. To avoid this behavior, you can set
- the environment variable GPODDER_WRITE_LOGS to "no", e.g:
-
- export GPODDER_WRITE_LOGS=no
-
-
- [ EXTENSIONS ]
-
- Extensions are normally loaded from gPodder's "extensions/" folder (in
- share/gpodder/extensions/) and from $GPODDER_HOME/Extensions/ - you can
- override this by setting an environment variable:
-
- export GPODDER_EXTENSIONS="/path/to/extension1.py extension2.py"
-
- In addition to that, if you want to disable loading of all extensions,
- you can do this by setting the following environment variable to a non-
- empty value:
-
- export GPODDER_DISABLE_EXTENSIONS=yes
-
- If you want to report a bug, please try to disable all extensions and
- check if the bug still appears to see if an extension causes the bug.
-
-
- [ MORE INFORMATION ]
-
- - Homepage http://gpodder.org/
- - Bug tracker https://github.com/gpodder/gpodder/issues
- - Mailing list http://freelists.org/list/gpodder
- - IRC channel #gpodder on irc.freenode.net
-
- ............................................................................
- Last updated: 2016-11-30 by Thomas Perl
-
diff --git a/README.md b/README.md
new file mode 100644
index 00000000..c039cf6e
--- /dev/null
+++ b/README.md
@@ -0,0 +1,212 @@
+ ___ _ _ ____
+ __ _| _ \___ __| |__| |___ _ _ |__ /
+ / _` | _/ _ \/ _` / _` / -_) '_| |_ \
+ \__, |_| \___/\__,_\__,_\___|_| |___/
+ |___/
+ Media aggregator and podcast client
+___
+
+Copyright 2005-2017 Thomas Perl and the gPodder Team
+
+
+## License
+
+gPodder is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3 of the License, or
+(at your option) any later version.
+
+gPodder is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+
+## Dependencies
+
+- [Python 3.5](http://python.org/) or newer
+- [Podcastparser](http://gpodder.org/podcastparser/) 0.6.0 or newer
+- [mygpoclient](http://gpodder.org/mygpoclient/) 1.7 or newer
+- Python D-Bus bindings
+
+As an alternative to python-dbus on Mac OS X and Windows, you can use
+the dummy (no-op) D-Bus module provided in "tools/fake-dbus-module/".
+
+For quick testing, you can use the script tools/localdepends.py to
+install local copies of podcastparser and mygpoclient into "src/" from
+PyPI. With this, you get a self-contained gPodder CLI codebase.
+
+
+### GTK3 UI - Additional Dependencies
+
+- [PyGObject](https://wiki.gnome.org/PyGObject) 3.22.0 or newer
+
+
+### Optional Dependencies
+
+- Bluetooth file sending: gnome-obex-send or bluetooth-sendto
+- Size detection on Windows: PyWin32
+- Native OS X support: ige-mac-integration
+- MP3 Player Sync Support: python-eyed3 (0.7 or newer)
+- iPod Sync Support: python-gpod
+- Clickable links in GTK UI show notes: html5lib
+- HTML show notes: WebKit2 gobject bindings
+ (webkit2gtk, webkitgtk4 or gir1.2-webkit2-4.0 packages).
+
+
+### Build Dependencies
+
+- help2man
+- intltool
+
+
+### Test Dependencies
+
+- python-minimock
+- python-coverage
+- desktop-file-utils
+
+## Testing
+
+To run tests, use...
+
+ make unittest
+
+To set a specific python binary set PYTHON:
+
+ PYTHON=python3 make unittest
+
+Tests in gPodder are written in two different ways:
+
+- [doctests](http://docs.python.org/3/library/doctest.html)
+- [unittests](http://docs.python.org/3/library/unittest.html)
+
+If you want to add doctests, simply write the doctest and make sure that
+the module appears in "doctest_modules" in src/gpodder/unittests.py. For
+example, the doctests in src/gpodder/util.py are added as 'util' (the
+"gpodder" prefix must not be specified there).
+
+If you want to add unit tests for a specific module (ex: gpodder.model),
+you should add the tests as gpodder.test.model, or in other words:
+
+ The file: src/gpodder/model.py
+ is tested by: src/gpodder/test/model.py
+
+After you've added the test, make sure that the module appears in
+"test_modules" in src/gpodder/unittests.py - for the example above, the
+unittests in src/gpodder/test/model.py are added as 'model'. For unit
+tests, coverage reporting happens for the tested module (that's why the
+test module name should mirror the module to be tested).
+
+
+## Running and Installation
+
+To run gPodder from source, use..
+
+ bin/gpodder # for the Gtk+ UI
+ bin/gpo # for the command-line interface
+
+To install gPodder system-wide, use "make install". By default, this
+will install *all* UIs and all translations. The following environment
+variables are processed by setup.py:
+
+ LINGUAS space-separated list of languages to install
+ GPODDER_INSTALL_UIS space-separated list of UIs to install
+ GPODDER_MANPATH_NO_SHARE if set, install manpages to $PREFIX/man/man1
+
+See setup.py for a list of recognized UIs.
+
+Example: Install the CLI and Gtk UI with German and Dutch translations:
+
+ export LINGUAS="de nl"
+ export GPODDER_INSTALL_UIS="cli gtk"
+ make install
+
+The "make install" target also supports DESTDIR and PREFIX for installing
+into an alternative root (default /) and prefix (default /usr):
+
+ make install DESTDIR=tmp/ PREFIX=/usr/local/
+
+
+## Portable Mode / Roaming Profiles
+
+The run-time environment variable GPODDER_HOME is used to set
+the location for storing the database and downloaded files.
+
+This can be used for multiple configurations or to store the
+download directory directly on a MP3 player or USB disk:
+
+ export GPODDER_HOME=/media/usbdisk/gpodder-data/
+
+
+## OS X Specific Notes
+
+- default GPODDER_HOME="$HOME/Library/Application Support/gPodder"
+- default GPODDER_DOWNLOAD_DIR="$HOME/Library/Application Support/gPodder/download"
+
+These settings may be modified by editing the following file of the .app :
+
+ /Applications/gPodder.app/Contents/MacOSX/_launcher
+
+Add and edit the following lines to alter the launch environment on OS X :
+
+ export GPODDER_HOME="$HOME/Library/Application Support/gPodder"
+ export GPODDER_DOWNLOAD_DIR="$HOME/Library/Application Support/gPodder/download"
+
+
+## Changing the Download Directory
+
+The run-time environment variable GPODDER_DOWNLOAD_DIR is used to
+set the location for storing the downloads only (independent of the
+data directory GPODDER_HOME):
+
+ export GPODDER_DOWNLOAD_DIR=/media/BigDisk/Podcasts/
+
+In this case, the database and settings will be stored in the default
+location, with the downloads stored in /media/BigDisk/Podcasts/.
+
+Another example would be to set both environment variables:
+
+ export GPODDER_HOME=~/.config/gpodder/
+ export GPODDER_DOWNLOAD_DIR=~/Podcasts/
+
+This will store the database and settings files in ~/.config/gpodder/
+and the downloads in ~/Podcasts/. If GPODDER_DOWNLOAD_DIR is not set,
+$GPODDER_HOME/Downloads/ will be used if it is set.
+
+
+## Logging
+
+By default, gPodder writes log files to $GPODDER_HOME/Logs/ and removes
+them after a certain amount of times. To avoid this behavior, you can set
+the environment variable GPODDER_WRITE_LOGS to "no", e.g:
+
+ export GPODDER_WRITE_LOGS=no
+
+
+## Extensions
+
+Extensions are normally loaded from gPodder's "extensions/" folder (in
+share/gpodder/extensions/) and from $GPODDER_HOME/Extensions/ - you can
+override this by setting an environment variable:
+
+ export GPODDER_EXTENSIONS="/path/to/extension1.py extension2.py"
+
+In addition to that, if you want to disable loading of all extensions,
+you can do this by setting the following environment variable to a non-
+empty value:
+
+ export GPODDER_DISABLE_EXTENSIONS=yes
+
+If you want to report a bug, please try to disable all extensions and
+check if the bug still appears to see if an extension causes the bug.
+
+
+## More Information
+
+- Homepage: http://gpodder.org/
+- Bug tracker: https://github.com/gpodder/gpodder/issues
+- Mailing list: http://freelists.org/list/gpodder
+- IRC channel: #gpodder on irc.freenode.net
\ No newline at end of file
diff --git a/tools/win32-portable/makefile b/tools/win32-portable/makefile
index 7e1fdeac..e8515215 100644
--- a/tools/win32-portable/makefile
+++ b/tools/win32-portable/makefile
@@ -26,7 +26,7 @@ $(PORTABLE_OUTPUT_DIR): $(LAUNCHER_ROOT)/$(GPODDER_EXE) $(LAUNCHER_ROOT)/$(GPO_E
$(RM) -r $(PORTABLE_OUTPUT_DIR)
$(MKDIR) -p $(PORTABLE_OUTPUT_DIR)
$(CP) $(LAUNCHER_ROOT)/$(GPODDER_EXE) $(LAUNCHER_ROOT)/$(GPO_EXE) $(PORTABLE_OUTPUT_DIR)
- $(CP) $(SOURCE_ROOT)/README $(SOURCE_ROOT)/COPYING $(PORTABLE_OUTPUT_DIR)
+ $(CP) $(SOURCE_ROOT)/README.md $(SOURCE_ROOT)/COPYING $(PORTABLE_OUTPUT_DIR)
$(CP) -r $(SOURCE_ROOT)/bin $(SOURCE_ROOT)/share $(SOURCE_ROOT)/src $(PORTABLE_OUTPUT_DIR)
$(RM) -r $(PORTABLE_OUTPUT_DIR)/share/applications
$(RM) -r $(PORTABLE_OUTPUT_DIR)/share/dbus-1
diff --git a/tools/win32-setup/gpodder-setup.iss.in b/tools/win32-setup/gpodder-setup.iss.in
index 8aecdc7b..1b7300ed 100644
--- a/tools/win32-setup/gpodder-setup.iss.in
+++ b/tools/win32-setup/gpodder-setup.iss.in
@@ -12,7 +12,7 @@ AppUpdatesURL=http://gpodder.org/downloads
DefaultDirName={pf}\gPodder
DefaultGroupName=gPodder
LicenseFile=..\..\COPYING
-InfoBeforeFile=..\..\README
+InfoBeforeFile=..\..\README.md
OutputDir=.
OutputBaseFilename=gpodder-%VERSION%-setup
Compression=lzma
@@ -31,7 +31,7 @@ Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescrip
Source: "..\win32-launcher\gpodder.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\win32-launcher\gpo.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\COPYING"; DestDir: "{app}"; Flags: ignoreversion
-Source: "..\..\README"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\..\README.md"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\..\bin\*"; DestDir: "{app}\bin"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "..\..\share\*"; DestDir: "{app}\share"; Excludes: "*.h"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "..\..\src\*"; DestDir: "{app}\src"; Excludes: "*.pyc,*.py~"; Flags: ignoreversion recursesubdirs createallsubdirs