add :tag-root-uri :page-root-uri :post-root-uri parsing
replace {entity}-root with {entity}-root-uri parameters to set uri
fix root-path call
fix root-path function params order
(worked erlier because of keyword<->map transposition)
fix keyword :{entity}-root-uri to :{entity}-root transformation
misprint: congig -> config
add function to compose file path
add create-file function
add function to compose a path
handle empty blog-path using path function
fix filename for preview
Add an enclosure tag to a post's metadata to let a podcast client
to deliver your audio content. It should look like this:
:enclosure [{:url "<full-url>"}]
Without the brackets, you end up with NullPointerExceptions, so
make sure you have that.
The URL should be the full location of where the audio file is
hosted (not relative), so for example:
:enclosure [{:url "http://www.example.com/01_episode_IV.mp3"}]
I created a bunch of markdown files with just the enclosure and
info about the audiobook with the following bash snippet:
find -L books -type f -iname "*mp3" | sort | while read mp3; do name=$(basename $mp3 .mp3); book=$(basename "$(dirname $mp3)"); echo "{:title \"$name\"\n:layout :post\n:tags [\"audiobooks\" \"$book\"]\n:enclosure [{:url \"http://clashthebunny.mason.ch/blog/$mp3\"}]}\n $book - $name\n==================" > md/posts/"$(date "+%Y-$name").md"; done
Each book was in it's own subdirectory of books:
books/Dracula/1-01-Chapter1_part01.mp3
books/Dracula/1-02-Chapter1_part02.mp3
books/Dracula/2-01-Chapter2_part01.mp3
Note that the above script requires the prefix of the episode to
be "date-like". It should be fairly easy to work out a way to get
your podcast up and running.
Add the book names to your rss-filters array, e.g.:
["Dracula" "Pride & Prejudice"]
Most podcasting clients support authentication, so just password
protect those directories and you should be good to go, even
if you are hosting copyrighted content.
1) Removed the <author> tag from each <item>. The presence of this tag is ok here but the xsd requires that the content include a valid email address, not just the name string coming from the site config (Forms that pass validation are "test@xyz.com" or "test@xyz.com (Test McTester)" ). And who would want to advertise their real email like that? :)
2) Removed the <author> tag from the <channel>. <author> isn't a valid child element of a channel. There is a child element called <webMaster> that is a close analogue but it also requires content as above.