]> sipb.mit.edu Git - ikiwiki.git/commitdiff
Merge branch 'fancypodcast' of github.com:schmonz/ikiwiki into fancypodcast
authorAmitai Schlair <schmonz-web-ikiwiki@schmonz.com>
Wed, 20 Feb 2013 14:21:24 +0000 (09:21 -0500)
committerAmitai Schlair <schmonz-web-ikiwiki@schmonz.com>
Wed, 20 Feb 2013 14:21:24 +0000 (09:21 -0500)
IkiWiki.pm
debian/changelog
doc/features.mdwn
doc/forum/Email_notifications_for_comment_moderation.mdwn [new file with mode: 0644]
doc/ikiwiki/directive/inline.mdwn
doc/ikiwiki/directive/meta.mdwn
doc/todo/fancypodcast.mdwn [new file with mode: 0644]
doc/todo/hook_to_detect_markdown_links_to_wiki_pages.mdwn [new file with mode: 0644]
doc/users/schmonz.mdwn

index 52da3c112b26289298ef2a4a1faf7636ec6ff119..0570c8bc521c3989d1c733cfb1b16fedd6770ca7 100644 (file)
@@ -1433,7 +1433,7 @@ sub preprocess ($$$;$$) {
                        # consider it significant.
                        my @params;
                        while ($params =~ m{
-                               (?:([-\w]+)=)?          # 1: named parameter key?
+                               (?:([-.\w]+)=)?         # 1: named parameter key?
                                (?:
                                        """(.*?)"""     # 2: triple-quoted value
                                |
@@ -1530,7 +1530,7 @@ sub preprocess ($$$;$$) {
                        (               # 4: the parameters..
                                \s+     # Must have space if parameters present
                                (?:
-                                       (?:[-\w]+=)?            # named parameter key?
+                                       (?:[-.\w]+=)?           # named parameter key?
                                        (?:
                                                """.*?"""       # triple-quoted value
                                                |
@@ -1558,7 +1558,7 @@ sub preprocess ($$$;$$) {
                        \s+
                        (               # 4: the parameters..
                                (?:
-                                       (?:[-\w]+=)?            # named parameter key?
+                                       (?:[-.\w]+=)?           # named parameter key?
                                        (?:
                                                """.*?"""       # triple-quoted value
                                                |
index 81746a137730c8e8b749f4e5d0f9a752ba78a995..7905ae6fcfd0bc83115cab05cc16257b8c717291 100644 (file)
@@ -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
 
   * htmlscrubber: Allow the bitcoin URI scheme.
index 66f7ecb7381383ac9b326779682643501e8dcd0e..5bbe5ef2190685c98a0c8a7b5d5f2d5553343a6e 100644 (file)
@@ -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
 interesting feeds.
 
-You can also mix blogging with podcasting by dropping audio files where
-they will be picked up like blog posts. This will work for any files that
-you would care to syndicate.
+You can also mix blogging with podcasting. Simply drop media files
+where they will be picked up like blog posts. For fuller-featured
+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]]
 
diff --git a/doc/forum/Email_notifications_for_comment_moderation.mdwn b/doc/forum/Email_notifications_for_comment_moderation.mdwn
new file mode 100644 (file)
index 0000000..6a840ce
--- /dev/null
@@ -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?
index a9c241afc1859951975961347af6c490dbc292d4..c0d4e035b2a1bc2cde5bd0b079471f49d56e25e4 100644 (file)
@@ -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
 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
-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
 blog should default to being [[SubPages|SubPage]] of "blog", and enables a
index 984f685402f28993eb7b1a11a761c3430eacd910..fbbffa575b5b858ced971313d8b38dd997bb2a18 100644 (file)
@@ -136,6 +136,11 @@ Supported fields:
   [[!iki plugins/htmlscrubber desc=htmlscrubber]] plugin is enabled, since it can be used to
   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
 
   Causes the page to redirect to another page in the wiki.
diff --git a/doc/todo/fancypodcast.mdwn b/doc/todo/fancypodcast.mdwn
new file mode 100644 (file)
index 0000000..388df0e
--- /dev/null
@@ -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.
diff --git a/doc/todo/hook_to_detect_markdown_links_to_wiki_pages.mdwn b/doc/todo/hook_to_detect_markdown_links_to_wiki_pages.mdwn
new file mode 100644 (file)
index 0000000..ad9c7dd
--- /dev/null
@@ -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.
index fc7558b240a3b9228f6a937babe1afca9ec77a58..10ca6e6ebe1cbb1bf16ab25fe44ede99be302f99 100644 (file)
@@ -2,7 +2,7 @@
 for all sorts of things. His attempts at contributing:
 
 [[!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