Merge branch 'fancypodcast' of github.com:schmonz/ikiwiki into fancypodcast
commit
a25be893e4
|
@ -1433,7 +1433,7 @@ sub preprocess ($$$;$$) {
|
||||||
# consider it significant.
|
# consider it significant.
|
||||||
my @params;
|
my @params;
|
||||||
while ($params =~ m{
|
while ($params =~ m{
|
||||||
(?:([-\w]+)=)? # 1: named parameter key?
|
(?:([-.\w]+)=)? # 1: named parameter key?
|
||||||
(?:
|
(?:
|
||||||
"""(.*?)""" # 2: triple-quoted value
|
"""(.*?)""" # 2: triple-quoted value
|
||||||
|
|
|
|
||||||
|
@ -1530,7 +1530,7 @@ sub preprocess ($$$;$$) {
|
||||||
( # 4: the parameters..
|
( # 4: the parameters..
|
||||||
\s+ # Must have space if parameters present
|
\s+ # Must have space if parameters present
|
||||||
(?:
|
(?:
|
||||||
(?:[-\w]+=)? # named parameter key?
|
(?:[-.\w]+=)? # named parameter key?
|
||||||
(?:
|
(?:
|
||||||
""".*?""" # triple-quoted value
|
""".*?""" # triple-quoted value
|
||||||
|
|
|
|
||||||
|
@ -1558,7 +1558,7 @@ sub preprocess ($$$;$$) {
|
||||||
\s+
|
\s+
|
||||||
( # 4: the parameters..
|
( # 4: the parameters..
|
||||||
(?:
|
(?:
|
||||||
(?:[-\w]+=)? # named parameter key?
|
(?:[-.\w]+=)? # named parameter key?
|
||||||
(?:
|
(?:
|
||||||
""".*?""" # triple-quoted value
|
""".*?""" # triple-quoted value
|
||||||
|
|
|
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
|
ikiwiki (3.20130213) UNRELEASED; urgency=low
|
||||||
|
|
||||||
|
* Allow dots in directive parameter names. (tango)
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@debian.org> Fri, 15 Feb 2013 17:23:12 -0400
|
||||||
|
|
||||||
ikiwiki (3.20130212) unstable; urgency=low
|
ikiwiki (3.20130212) unstable; urgency=low
|
||||||
|
|
||||||
* htmlscrubber: Allow the bitcoin URI scheme.
|
* htmlscrubber: Allow the bitcoin URI scheme.
|
||||||
|
|
|
@ -64,9 +64,11 @@ Ikiwiki can also [[plugins/aggregate]] external blogs, feeding them into
|
||||||
the wiki. This can be used to create a Planet type site that aggregates
|
the wiki. This can be used to create a Planet type site that aggregates
|
||||||
interesting feeds.
|
interesting feeds.
|
||||||
|
|
||||||
You can also mix blogging with podcasting by dropping audio files where
|
You can also mix blogging with podcasting. Simply drop media files
|
||||||
they will be picked up like blog posts. This will work for any files that
|
where they will be picked up like blog posts. For fuller-featured
|
||||||
you would care to syndicate.
|
podcast feeds, enclose media files in blog posts using [[plugins/meta]].
|
||||||
|
Either way, this will work for any files that you would care to
|
||||||
|
syndicate.
|
||||||
|
|
||||||
## Valid html and [[css]]
|
## Valid html and [[css]]
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
I use both [[plugins/moderatedcomments/]] and [[plugins/anonok]] on my [blog](http://feeding.cloud.geek.nz) but having to remember to visit the comment moderation page manually is not ideal.
|
||||||
|
|
||||||
|
Is there a way to get an email notification (or maybe even just an RSS feed) whenever a new comment enters the moderation queue?
|
|
@ -11,7 +11,8 @@ Any pages that match the specified [[PageSpec]] (in the example, any
|
||||||
[[SubPage]] of "blog") will be part of the blog, and the newest 10
|
[[SubPage]] of "blog") will be part of the blog, and the newest 10
|
||||||
of them will appear in the page. Note that if files that are not pages
|
of them will appear in the page. Note that if files that are not pages
|
||||||
match the [[PageSpec]], they will be included in the feed using RSS
|
match the [[PageSpec]], they will be included in the feed using RSS
|
||||||
enclosures, which is useful for podcasting.
|
enclosures, which is useful for simple podcasting; for fuller-featured
|
||||||
|
podcast feeds, enclose media files in blog posts using [[meta]].
|
||||||
|
|
||||||
The optional `rootpage` parameter tells the wiki that new posts to this
|
The optional `rootpage` parameter tells the wiki that new posts to this
|
||||||
blog should default to being [[SubPages|SubPage]] of "blog", and enables a
|
blog should default to being [[SubPages|SubPage]] of "blog", and enables a
|
||||||
|
|
|
@ -136,6 +136,11 @@ Supported fields:
|
||||||
[[!iki plugins/htmlscrubber desc=htmlscrubber]] plugin is enabled, since it can be used to
|
[[!iki plugins/htmlscrubber desc=htmlscrubber]] plugin is enabled, since it can be used to
|
||||||
insert unsafe content.
|
insert unsafe content.
|
||||||
|
|
||||||
|
* enclosure
|
||||||
|
|
||||||
|
Specifies a link to a file to be rendered as an "enclosure" in
|
||||||
|
RSS/Atom feeds (and a plain old link in HTML). Useful for podcasting.
|
||||||
|
|
||||||
* redir
|
* redir
|
||||||
|
|
||||||
Causes the page to redirect to another page in the wiki.
|
Causes the page to redirect to another page in the wiki.
|
||||||
|
|
|
@ -0,0 +1,62 @@
|
||||||
|
ikiwiki's simple podcasting, while elegant and minimal, doesn't (as
|
||||||
|
mentioned in [[todo/blogging]]) produce full-featured feeds. In
|
||||||
|
fancy podcasts, episodes are accompanied by text content. The feeds
|
||||||
|
also have lots more metadata.
|
||||||
|
|
||||||
|
[[!toc]]
|
||||||
|
|
||||||
|
## Design
|
||||||
|
|
||||||
|
7. For each fancy podcast episode, write a blog post containing
|
||||||
|
`\[[!meta enclosure="WikiLink/to/media.mp3"]]`. (Don't specify
|
||||||
|
more than one enclosure -- but if you do, last one wins.)
|
||||||
|
7. When rendering to HTML (single-page or inlined), append a link
|
||||||
|
to the media file.
|
||||||
|
7. When rendering to RSS/Atom, the text is the entry's content and
|
||||||
|
the media file is its enclosure.
|
||||||
|
7. Don't break simple podcasts in pursuit of fancy podcasts.
|
||||||
|
|
||||||
|
## Implementation
|
||||||
|
|
||||||
|
[[!template id=gitbranch branch=schmonz/fancypodcast author="[[schmonz]]"]]
|
||||||
|
|
||||||
|
### Completed
|
||||||
|
|
||||||
|
* Cover the existing simple podcast behavior with tests.
|
||||||
|
* Add an `enclosure` field to [[plugins/meta]] that expands the
|
||||||
|
given [[ikiwiki/WikiLink]] to an absolute URL (feed enclosures
|
||||||
|
pretty much need to be, and the reference feeds I've looked at
|
||||||
|
all do this).
|
||||||
|
* Write failing tests for the desired single-page and inlined
|
||||||
|
HTML behavior, then make them pass by adding enclosure stanzas
|
||||||
|
to `{,inline}page.tmpl`.
|
||||||
|
|
||||||
|
### Must-have (for [[schmonz]], anyway)
|
||||||
|
|
||||||
|
* Write failing tests for the desired RSS/Atom behavior, then make
|
||||||
|
them pass, probably via changes to `{atom,rss}item.tmpl` and
|
||||||
|
[[plugins/inline]].
|
||||||
|
* Enrich podcast feed metadata (some of which is iTunes-specific,
|
||||||
|
though I'm not aware of it causing any problems for other
|
||||||
|
podcatchers, and in fact some of them may also use it).
|
||||||
|
* Subscribe to a fancy feed in some common podcatchers and compare
|
||||||
|
display details against a reference podcast.
|
||||||
|
* Compare feature-for-feature and feed-for-feed with
|
||||||
|
[tru_podcast](http://www.rainskit.com/blog/542/tru_podcast-a-podcasting-plugin-for-textpattern),
|
||||||
|
which is what [[schmonz]] will be migrating from.
|
||||||
|
* Think carefully about...
|
||||||
|
* UTF-8.
|
||||||
|
* Other templates with `CONTENT` and whether they want to learn
|
||||||
|
about `ENCLOSURE` (maybe `aggregatepost.tmpl`?).
|
||||||
|
* Whether [[tips/howto avoid flooding aggregators]] suffices for
|
||||||
|
migrating a fancy podcast into ikiwiki.
|
||||||
|
* Verify that the feeds validate.
|
||||||
|
* Verify that _all_ the tests pass (not just my new ones).
|
||||||
|
|
||||||
|
### Nice-to-have
|
||||||
|
|
||||||
|
* Let the enclosure's MIME type be specified, in case someone ever
|
||||||
|
needs to disagree with `File::MimeInfo`.
|
||||||
|
* Extend [[plugins/inline]] to configurably generate additional
|
||||||
|
subscription links (such as iTunes) alongside the RSS/Atom ones.
|
||||||
|
* Verify that [[plugins/more]] plays well with fancy podcasts.
|
|
@ -0,0 +1 @@
|
||||||
|
For an internal wiki, we occasionally get patches that link to internal wiki pages using the Markdown link syntax. I'd love to see an optional git hook to detect that and complain.
|
|
@ -2,7 +2,7 @@
|
||||||
for all sorts of things. His attempts at contributing:
|
for all sorts of things. His attempts at contributing:
|
||||||
|
|
||||||
[[!map
|
[[!map
|
||||||
pages="!*/Discussion and ((link(users/schmonz) and plugins/*) or rcs/cvs)"
|
pages="!*/Discussion and ((link(users/schmonz) and plugins/*) or rcs/cvs or todo/fancypodcast)"
|
||||||
]]
|
]]
|
||||||
|
|
||||||
He's also written a plugin for [WIND
|
He's also written a plugin for [WIND
|
||||||
|
|
Loading…
Reference in New Issue