Now fully supports podcasts, fixed #81.

This commit is contained in:
Martin Rotter 2015-04-16 07:18:14 +02:00
parent 8c1414c3df
commit 6ee189d012
11 changed files with 45 additions and 26 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,12 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<skin version="0.4">
<skin version="0.5">
<name>greeen</name>
<author>
<name>Martin Rotter</name>
<email>rotter.martinos@gmail.com</email>
</author>
<style></style>
<markup_wrapper>PGh0bWw+DQogIDxoZWFkPg0KICAgIDxzdHlsZT4gICANCiAgICAgIGJvZHkgeyAgICAgDQogICAgICAgIG1hcmdpbjogMHB4Ow0KICAgICAgICBwYWRkaW5nOiAwcHg7DQogICAgICB9DQogICAgDQogICAgICBwcmUgew0KICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7DQogICAgICB9DQoNCiAgICAgIC5oZWFkZXJ0ZXh0IHsNCiAgICAgICAgZm9udC1zaXplOiAyMHB4Ow0KICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4Ow0KICAgICAgfQ0KDQogICAgICAuaGVhZGVyIHsNCiAgICAgICAgZm9udC1zaXplOiAxN3B4Ow0KICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLHJnYmEoODQsIDEzMiwgNTMsIDEpKSwgY29sb3Itc3RvcCgxMDAlLHJnYmEoODQsIDE0MCwgNTMsIDEpKSk7DQogICAgICAgIHBhZGRpbmc6IDZweDsNCiAgICAgICAgbWFyZ2luOiAwcHggYXV0bzsNCiAgICAgICAgY29sb3I6IHdoaXRlOw0KICAgICAgICBib3JkZXI6IDAuNXB4IHNvbGlkIGJsYWNrOw0KICAgICAgfQ0KDQogICAgICAuaGVhZGVyIGEgew0KICAgICAgICBjb2xvcjogd2hpdGU7DQogICAgICB9DQoNCiAgICAgIC5jb250ZW50IHsNCiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGdyYXk7DQogICAgICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICAgICAgbWFyZ2luOiAwcHggYXV0bzsNCiAgICAgICAgcGFkZGluZzogNnB4Ow0KICAgICAgICBwYWRkaW5nLXRvcDogMTJweDsNCiAgICAgIH0NCiAgICAgIA0KICAgICAgLmNvbnRhaW5lciB7DQogICAgICAgIGZvbnQtZmFtaWx5OiAiVHJlYnVjaGV0IE1TIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmOw0KICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBncmF5Ow0KICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDJweDsNCiAgICAgICAgbWFyZ2luOiAxMHB4Ow0KICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDJweCAycHggOHB4IDBweCByZ2JhKDUwLCA1MCwgNTAsIDAuNjIpOw0KICAgICAgfQ0KICAgIDwvc3R5bGU+DQogICAgPHRpdGxlPg0KICAgICAgJTENCiAgICA8L3RpdGxlPg0KICA8L2hlYWQ+DQogIDxib2R5Pg0KICAgICUyDQogIDwvYm9keT4NCjwvaHRtbD4=</markup_wrapper>
<markup>ICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXJ0ZXh0Ij4NCiAgICAgICAgICAlMQ0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgJTIgKCU1KQ0KICAgICAgICA8YnI+DQogICAgICAgIDxhIGhyZWY9IiUzIj4NCiAgICAgICAgICAlMw0KICAgICAgICA8L2E+DQogICAgICA8L2Rpdj4NCiAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiPg0KICAgICAgICAlNCANCiAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg==</markup>
<markup_wrapper>PGh0bWw+DQogIDxoZWFkPg0KICAgIDxzdHlsZT4gICANCiAgICAgIGJvZHkgeyAgICAgDQogICAgICAgIG1hcmdpbjogMHB4Ow0KICAgICAgICBwYWRkaW5nOiAwcHg7DQogICAgICB9DQogICAgDQogICAgICBwcmUgew0KICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7DQogICAgICB9DQoNCiAgICAgIC5oZWFkZXJ0ZXh0IHsNCiAgICAgICAgZm9udC1zaXplOiAyMHB4Ow0KICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4Ow0KICAgICAgfQ0KDQogICAgICAuaGVhZGVyIHsNCiAgICAgICAgZm9udC1zaXplOiAxN3B4Ow0KICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLHJnYmEoODQsIDEzMiwgNTMsIDEpKSwgY29sb3Itc3RvcCgxMDAlLHJnYmEoODQsIDE0MCwgNTMsIDEpKSk7DQogICAgICAgIHBhZGRpbmc6IDZweDsNCiAgICAgICAgbWFyZ2luOiAwcHggYXV0bzsNCiAgICAgICAgY29sb3I6IHdoaXRlOw0KICAgICAgICBib3JkZXI6IDAuNXB4IHNvbGlkIGJsYWNrOw0KICAgICAgfQ0KDQogICAgICAuaGVhZGVyIGEgew0KICAgICAgICBjb2xvcjogd2hpdGU7DQogICAgICB9DQogICAgICANCiAgICAgIC5oZWFkZXIgLmVuY2xvc3VyZSB7DQogICAgICAgIGNvbG9yOiBibGFjazsNCiAgICAgIH0NCg0KICAgICAgLmNvbnRlbnQgew0KICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgZ3JheTsNCiAgICAgICAgZm9udC1zaXplOiAxNnB4Ow0KICAgICAgICBtYXJnaW46IDBweCBhdXRvOw0KICAgICAgICBwYWRkaW5nOiA2cHg7DQogICAgICAgIHBhZGRpbmctdG9wOiAxMnB4Ow0KICAgICAgfQ0KICAgICAgDQogICAgICAuY29udGFpbmVyIHsNCiAgICAgICAgZm9udC1mYW1pbHk6ICJUcmVidWNoZXQgTVMiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7DQogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyYXk7DQogICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4Ow0KICAgICAgICBtYXJnaW46IDEwcHg7DQogICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMnB4IDJweCA4cHggMHB4IHJnYmEoNTAsIDUwLCA1MCwgMC42Mik7DQogICAgICB9DQogICAgPC9zdHlsZT4NCiAgICA8dGl0bGU+DQogICAgICAlMQ0KICAgIDwvdGl0bGU+DQogIDwvaGVhZD4NCiAgPGJvZHk+DQogICAgJTINCiAgPC9ib2R5Pg0KPC9odG1sPg==</markup_wrapper>
<markup>PGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+DQogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlcnRleHQiPg0KICAgICAgICAgICUxDQogICAgICAgIDwvZGl2Pg0KICAgICAgICAlMiAoJTUpDQogICAgICAgIDxicj4NCiAgICAgICAgPGEgaHJlZj0iJTMiPiUzPC9hPg0KICAgICAgICAlNg0KICAgICAgPC9kaXY+DQogICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4NCiAgICAgICAgJTQgDQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4=</markup>
<markup_enclosure>PGEgY2xhc3M9ImVuY2xvc3VyZSIgaHJlZj0iJTMiPiUzPC9hPg==</markup_enclosure>
<data>LyoNCiAqIEluc3BpcmVkIGJ5IFF1aXRlUlNTICJncmVlbiIgc2tpbi4NCiAqIENvcHlyaWdodCAoQykgPD0gMjAxMyBieSBRdWl0ZVJTUyB0ZWFtDQogKiBDb3B5cmlnaHQgKEMpIDIwMTQgYnkgTWFydGluIFJvdHRlciA8cm90dGVyLm1hcnRpbm9zQGdtYWlsLmNvbT4NCiAqLw0KICANClFUcmVlVmlldzo6YnJhbmNoOmhhcy1zaWJsaW5nczohYWRqb2lucy1pdGVtICB7DQogIGJvcmRlci1pbWFnZTogdXJsKHFzcy9kdW1teS5wbmcpIDA7DQp9DQoNClFUcmVlVmlldzo6YnJhbmNoOmhhcy1zaWJsaW5nczphZGpvaW5zLWl0ZW0gew0KICBib3JkZXItaW1hZ2U6IHVybChxc3MvZHVtbXkucG5nKSAwOw0KfQ0KDQpRVHJlZVZpZXc6OmJyYW5jaDohaGFzLWNoaWxkcmVuOiFoYXMtc2libGluZ3M6YWRqb2lucy1pdGVtICB7DQogIGJvcmRlci1pbWFnZTogdXJsKHFzcy9kdW1teS5wbmcpIDA7DQp9DQoNClFUcmVlVmlldzo6YnJhbmNoOmhhcy1jaGlsZHJlbjohaGFzLXNpYmxpbmdzOmNsb3NlZCwNClFUcmVlVmlldzo6YnJhbmNoOmNsb3NlZDpoYXMtY2hpbGRyZW46aGFzLXNpYmxpbmdzICB7DQogIGJvcmRlci1pbWFnZTogbm9uZTsNCiAgaW1hZ2U6IHVybChxc3MvYnJhbmNoLWNsb3NlZC5wbmcpOw0KfQ0KDQpRVHJlZVZpZXc6OmJyYW5jaDpvcGVuOmhhcy1jaGlsZHJlbjohaGFzLXNpYmxpbmdzLA0KUVRyZWVWaWV3OjpicmFuY2g6b3BlbjpoYXMtY2hpbGRyZW46aGFzLXNpYmxpbmdzICB7DQogIGJvcmRlci1pbWFnZTogbm9uZTsNCiAgaW1hZ2U6IHVybChxc3MvYnJhbmNoLW9wZW4ucG5nKTsNCn0NCg0KUVRyZWVWaWV3OjppdGVtIHsNCiAgcGFkZGluZzogMXB4IDFweCAxcHggMXB4Ow0KfSANCg0KUVRyZWVWaWV3W2hpZGVUcmVlPSJ0cnVlIl06OmJyYW5jaDohaGFzLWNobGlkcmVuOmhhc1NpYmxpbmdzIHsNCiAgYm9yZGVyLWltYWdlOiBub25lOw0KICBpbWFnZTogbm9uZTsNCn0NCg0KUVN0YXR1c0Jhcjo6aXRlbSB7DQogIGJvcmRlcjogbm9uZTsNCn0NCg0KV2ViQnJvd3NlciBRUHJvZ3Jlc3NCYXIgew0KICBib3JkZXI6IDFweCBzb2xpZCAjQTVBNUE1Ow0KICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogIGJvcmRlci1sZWZ0OiBub25lOw0KICBib3JkZXItcmlnaHQ6IG5vbmU7DQogIGJhY2tncm91bmQ6IHFsaW5lYXJncmFkaWVudCh4MTowLCB5MTowLCB4MjowLCB5MjoxLCBzdG9wOjAgI2Y0ZjRmNCwgc3RvcDowLjQgI0VDRUNFQyBzdG9wOjAuNSAjREVERURFLCBzdG9wOjEgI2Y0ZjRmNCk7DQp9DQoNCldlYkJyb3dzZXIgUVByb2dyZXNzQmFyOjpjaHVuayB7DQogIGJhY2tncm91bmQ6IHFsaW5lYXJncmFkaWVudCh4MTowLCB5MTowLCB4MjowLCB5MjoxLCBzdG9wOjAgIzkwRTg5MCwgc3RvcDowLjQgIzdDRDA3Qywgc3RvcDowLjUgIzYwQzA2MCwgc3RvcDoxICM2MEQwNjApOw0KICB3aWR0aDogMXB4Ow0KfQ0KDQpRTWVudUJhciB7DQogIGJhY2tncm91bmQ6IHFsaW5lYXJncmFkaWVudCh4MTowLCB5MTowLCB4MjowLCB5MjoxLCBzdG9wOjAgI2UwZWVlMCwgc3RvcDowLjQgI2Q4ZWVkOCwgc3RvcDowLjUgI2NjZWVjYywgc3RvcDoxICNlMGVlZTApOw0KICBjb2xvcjogIzAwMDAwMDsNCiAgcGFkZGluZzogMXB4Ow0KfQ0KDQpRTWVudUJhcjo6aXRlbSB7DQogIHBhZGRpbmc6IDNweCA2cHg7DQogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50Ow0KfQ0KDQpRTWVudUJhcjo6aXRlbTpzZWxlY3RlZCB7DQogIGJvcmRlcjogMXB4IHNvbGlkICM4NGNjODQ7DQogIGJhY2tncm91bmQ6IHFsaW5lYXJncmFkaWVudCh4MTowLCB5MTowLCB4MjowLCB5MjoxLCBzdG9wOjAgI2U5ZmZlOSwgc3RvcDowLjQgI2UxZWVlMSwgc3RvcDowLjUgI2Q5ZWVkOSwgc3RvcDoxICNlOWZmZTkpOw0KfQ0KDQpRTWVudUJhcjo6aXRlbTpwcmVzc2VkIHsNCiAgYm9yZGVyOiAxcHggc29saWQgIzM0YWEzNDsNCiAgYm9yZGVyLWJvdHRvbTogbm9uZTsNCiAgYmFja2dyb3VuZDogcWxpbmVhcmdyYWRpZW50KHgxOjAsIHkxOjAsIHgyOjAsIHkyOjEsIHN0b3A6MCAjN2FjYzdhLCBzdG9wOjAuNCAjNzBjODcwLCBzdG9wOjAuNSAjNjBjNDYwLCBzdG9wOjEgIzdhY2M3YSk7DQogIGNvbG9yOiB3aGl0ZTsNCn0=</data>
</skin>

File diff suppressed because one or more lines are too long

View file

@ -1,12 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<skin version="0.13">
<skin version="0.14">
<name>vergilius</name>
<author>
<name>Martin Rotter</name>
<email>rotter.martinos@gmail.com</email>
</author>
<style/>
<markup_wrapper>PGh0bWw+DQogIDxoZWFkPg0KICAgIDxzdHlsZT4NCiAgICAgIGJvZHkgew0KICAgICAgICBtYXJnaW46IDBweDsNCiAgICAgICAgcGFkZGluZzogMHB4Ow0KICAgICAgfQ0KICAgIA0KICAgICAgcHJlIHsNCiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOw0KICAgICAgfQ0KDQogICAgICAuaGVhZGVydGV4dCB7DQogICAgICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsNCiAgICAgIH0NCg0KICAgICAgLmhlYWRlciB7DQogICAgICAgIGZvbnQtc2l6ZTogMTdweDsNCiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSxyZ2JhKDk5LDEzNSwyMjksMSkpLCBjb2xvci1zdG9wKDEwMCUscmdiYSg2NCwxMDksMjM2LDEpKSk7DQogICAgICAgIHBhZGRpbmc6IDZweDsNCiAgICAgICAgbWFyZ2luOiAwcHggYXV0bzsNCiAgICAgICAgY29sb3I6IHdoaXRlOw0KICAgICAgICBib3JkZXI6IDAuNXB4IHNvbGlkIGJsYWNrOw0KICAgICAgfQ0KDQogICAgICAuaGVhZGVyIGEgew0KICAgICAgICBjb2xvcjogd2hpdGU7DQogICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsNCiAgICAgIH0NCg0KICAgICAgLmNvbnRlbnQgew0KICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgZ3JheTsNCiAgICAgICAgZm9udC1zaXplOiAxNnB4Ow0KICAgICAgICBtYXJnaW46IDBweCBhdXRvOw0KICAgICAgICBwYWRkaW5nOiA2cHg7DQogICAgICAgIHBhZGRpbmctdG9wOiAxMnB4Ow0KICAgICAgfQ0KICAgICAgDQogICAgICAuY29udGFpbmVyIHsNCiAgICAgICAgZm9udC1mYW1pbHk6ICJUcmVidWNoZXQgTVMiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7DQogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyYXk7DQogICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4Ow0KICAgICAgICBtYXJnaW46IDEwcHg7DQogICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMnB4IDJweCAxNnB4IDBweCByZ2JhKDUwLCA1MCwgNTAsIDAuNjIpOw0KICAgICAgfQ0KICAgIDwvc3R5bGU+DQogICAgPHRpdGxlPg0KICAgICAgJTENCiAgICA8L3RpdGxlPg0KICA8L2hlYWQ+DQogIDxib2R5Pg0KICAgICUyDQogIDwvYm9keT4NCjwvaHRtbD4=</markup_wrapper>
<markup>ICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQogICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXJ0ZXh0Ij4NCiAgICAgICAgICAlMQ0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgJTIgKCU1KQ0KICAgICAgICA8YnI+DQogICAgICAgIDxhIGhyZWY9IiUzIj4NCiAgICAgICAgICAlMw0KICAgICAgICA8L2E+DQogICAgICA8L2Rpdj4NCiAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiPg0KICAgICAgICAlNCANCiAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg==</markup>
<markup_wrapper>PGh0bWw+DQogIDxoZWFkPg0KICAgIDxzdHlsZT4NCiAgICAgIGJvZHkgew0KICAgICAgICBtYXJnaW46IDBweDsNCiAgICAgICAgcGFkZGluZzogMHB4Ow0KICAgICAgfQ0KICAgIA0KICAgICAgcHJlIHsNCiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOw0KICAgICAgfQ0KDQogICAgICAuaGVhZGVydGV4dCB7DQogICAgICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsNCiAgICAgIH0NCg0KICAgICAgLmhlYWRlciB7DQogICAgICAgIGZvbnQtc2l6ZTogMTdweDsNCiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSxyZ2JhKDk5LDEzNSwyMjksMSkpLCBjb2xvci1zdG9wKDEwMCUscmdiYSg2NCwxMDksMjM2LDEpKSk7DQogICAgICAgIHBhZGRpbmc6IDZweDsNCiAgICAgICAgbWFyZ2luOiAwcHggYXV0bzsNCiAgICAgICAgY29sb3I6IHdoaXRlOw0KICAgICAgICBib3JkZXI6IDAuNXB4IHNvbGlkIGJsYWNrOw0KICAgICAgfQ0KDQogICAgICAuaGVhZGVyIGEgew0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGNvbG9yOiB3aGl0ZTsNCiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOw0KICAgICAgfQ0KICAgICAgDQogICAgICAuaGVhZGVyIC5lbmNsb3N1cmUgew0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGNvbG9yOiBibGFjazsNCiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOw0KICAgICAgfQ0KICAgICAgDQogICAgICAuZW5jbG9zdXJlOmhvdmVyLCAuaGVhZGVyIGE6aG92ZXIgew0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsNCiAgICAgIH0NCg0KICAgICAgLmNvbnRlbnQgew0KICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgZ3JheTsNCiAgICAgICAgZm9udC1zaXplOiAxNnB4Ow0KICAgICAgICBtYXJnaW46IDBweCBhdXRvOw0KICAgICAgICBwYWRkaW5nOiA2cHg7DQogICAgICAgIHBhZGRpbmctdG9wOiAxMnB4Ow0KICAgICAgfQ0KICAgICAgDQogICAgICAuY29udGFpbmVyIHsNCiAgICAgICAgZm9udC1mYW1pbHk6ICJUcmVidWNoZXQgTVMiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7DQogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyYXk7DQogICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMnB4Ow0KICAgICAgICBtYXJnaW46IDEwcHg7DQogICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMnB4IDJweCAxNnB4IDBweCByZ2JhKDUwLCA1MCwgNTAsIDAuNjIpOw0KICAgICAgfQ0KICAgIDwvc3R5bGU+DQogICAgPHRpdGxlPg0KICAgICAgJTENCiAgICA8L3RpdGxlPg0KICA8L2hlYWQ+DQogIDxib2R5Pg0KICAgICUyDQogIDwvYm9keT4NCjwvaHRtbD4=</markup_wrapper>
<markup>PGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+DQogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlcnRleHQiPg0KICAgICAgICAgICUxDQogICAgICAgIDwvZGl2Pg0KICAgICAgICAlMiAoJTUpDQogICAgICAgIDxicj4NCiAgICAgICAgPGEgaHJlZj0iJTMiPiUzPC9hPg0KICAgICAgICAlNg0KICAgICAgPC9kaXY+DQogICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4NCiAgICAgICAgJTQgDQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4=</markup>
<markup_enclosure>PGEgY2xhc3M9ImVuY2xvc3VyZSIgaHJlZj0iJTMiPiUzPC9hPg==</markup_enclosure>
<data>UVRyZWVWaWV3OjpicmFuY2g6aGFzLXNpYmxpbmdzOiFhZGpvaW5zLWl0ZW0gIHsNCiAgYm9yZGVyLWltYWdlOiB1cmwocXNzL2R1bW15LnBuZykgMDsNCn0NCg0KUVRyZWVWaWV3OjpicmFuY2g6aGFzLXNpYmxpbmdzOmFkam9pbnMtaXRlbSB7DQogIGJvcmRlci1pbWFnZTogdXJsKHFzcy9kdW1teS5wbmcpIDA7DQp9DQoNClFUcmVlVmlldzo6YnJhbmNoOiFoYXMtY2hpbGRyZW46IWhhcy1zaWJsaW5nczphZGpvaW5zLWl0ZW0gIHsNCiAgYm9yZGVyLWltYWdlOiB1cmwocXNzL2R1bW15LnBuZykgMDsNCn0NCg0KUVRyZWVWaWV3OjpicmFuY2g6aGFzLWNoaWxkcmVuOiFoYXMtc2libGluZ3M6Y2xvc2VkLA0KUVRyZWVWaWV3OjpicmFuY2g6Y2xvc2VkOmhhcy1jaGlsZHJlbjpoYXMtc2libGluZ3MgIHsNCiAgYm9yZGVyLWltYWdlOiBub25lOw0KICBpbWFnZTogdXJsKHFzcy9icmFuY2gtY2xvc2VkLnBuZyk7DQp9DQoNClFUcmVlVmlldzo6YnJhbmNoOm9wZW46aGFzLWNoaWxkcmVuOiFoYXMtc2libGluZ3MsDQpRVHJlZVZpZXc6OmJyYW5jaDpvcGVuOmhhcy1jaGlsZHJlbjpoYXMtc2libGluZ3MgIHsNCiAgYm9yZGVyLWltYWdlOiBub25lOw0KICBpbWFnZTogdXJsKHFzcy9icmFuY2gtb3Blbi5wbmcpOw0KfQ0KDQpRVHJlZVZpZXc6Oml0ZW0gew0KICBwYWRkaW5nOiAxcHggMXB4IDFweCAxcHg7DQp9IA0KDQpRVHJlZVZpZXdbaGlkZVRyZWU9InRydWUiXTo6YnJhbmNoOiFoYXMtY2hsaWRyZW46aGFzU2libGluZ3Mgew0KICBib3JkZXItaW1hZ2U6IG5vbmU7DQogIGltYWdlOiBub25lOw0KfQ0KDQpRU3RhdHVzQmFyOjppdGVtIHsNCiAgYm9yZGVyOiBub25lOw0KfQ==</data>
</skin>

View file

@ -9,6 +9,7 @@ Fixed:
Added:
<ul>
<li>Better format for logged messages. Logging to file is possible via "rssguard 2> log.txt" command.</li>
<li>Full support for podcasts (issue #81). Supports RSS 2.0 podcasts and ATOM 1.0 podcasts. In ATOM, RSS Guard is able to fetch multiple podcasts per message. Podcasts are displayed as additional URL addresses in message preview panel.</li>
</ul>
Changed:

View file

@ -234,6 +234,11 @@ QList<Message> ParsingFactory::parseAsRSS20(const QString &data) {
// Deal with link and author.
new_message.m_url = message_item.namedItem("link").toElement().text();
if (new_message.m_url.isEmpty() && !new_message.m_enclosures.isEmpty()) {
new_message.m_url = new_message.m_enclosures.first();
}
new_message.m_author = message_item.namedItem("author").toElement().text();
if (new_message.m_author.isEmpty()) {

View file

@ -144,6 +144,10 @@ Skin SkinFactory::skinInfo(const QString &skin_name, bool *ok) {
skin.m_layoutMarkup = skin_node.namedItem("markup").toElement().text();
skin.m_layoutMarkup = QByteArray::fromBase64(skin.m_layoutMarkup.toLocal8Bit());
// Obtain enclosure hyperlink wrapper.
skin.m_enclosureMarkup = skin_node.namedItem("markup_enclosure").toElement().text();
skin.m_enclosureMarkup = QByteArray::fromBase64(skin.m_enclosureMarkup.toLocal8Bit());
// Obtain other information.
skin.m_baseName = QString(skin_name).replace(QDir::separator(), '/');

View file

@ -34,6 +34,7 @@ struct Skin {
QString m_rawData;
QString m_layoutMarkupWrapper;
QString m_layoutMarkup;
QString m_enclosureMarkup;
};
Q_DECLARE_METATYPE(Skin)
@ -51,13 +52,8 @@ class SkinFactory : public QObject {
// Loads skin name from settings and sets it as active.
void loadCurrentSkin();
// Returns contents of current layout markup.
inline QString currentMarkup() {
return m_currentSkin.m_layoutMarkup;
}
inline QString currentMarkupLayout() {
return m_currentSkin.m_layoutMarkupWrapper;
inline Skin currentSkin() const {
return m_currentSkin;
}
// Returns the name of the skin, that should be activated

View file

@ -213,12 +213,21 @@ void WebBrowser::navigateToUrl(const QUrl &url) {
}
void WebBrowser::navigateToMessages(const QList<Message> &messages) {
SkinFactory *factory = qApp->skins();
Skin skin = qApp->skins()->currentSkin();
QString messages_layout;
QString single_message_layout = factory->currentMarkup();
QString single_message_layout = skin.m_layoutMarkup;
foreach (const Message &message, messages) {
QString enclosures = message.m_enclosures.join("</br>");
QString enclosures;
foreach (const QString &enclosure, message.m_enclosures) {
enclosures += skin.m_enclosureMarkup.arg(enclosure);
enclosures += "<br>";
}
if (!enclosures.isEmpty()) {
enclosures = enclosures.prepend("<br>");
}
// TODO: upravit skiny aby brali další argument
@ -228,13 +237,11 @@ void WebBrowser::navigateToMessages(const QList<Message> &messages) {
message.m_author),
message.m_url,
message.m_contents,
message.m_created.toString(Qt::DefaultLocaleShortDate)));
message.m_created.toString(Qt::DefaultLocaleShortDate),
enclosures));
}
QString layout_wrapper = factory->currentMarkupLayout().arg(messages.size() == 1 ?
messages.at(0).m_title :
tr("Newspaper view"),
messages_layout);
QString layout_wrapper = skin.m_layoutMarkupWrapper.arg(messages.size() == 1 ? messages.at(0).m_title : tr("Newspaper view"), messages_layout);
m_webView->setHtml(layout_wrapper, QUrl(INTERNAL_URL_NEWSPAPER));
emit iconChanged(m_index, qApp->icons()->fromTheme("item-newspaper"));