]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/bugs.mdwn
web commit by joey
[ikiwiki.git] / doc / bugs.mdwn
index 5ef78b25a5d7b34828a9919dd08d9e1379f7ccfd..16139ca73da02bc4442528e2552c13df13da442f 100644 (file)
@@ -2,10 +2,11 @@
   adding/removing a page. For example, if Foo/Bar links to "Baz", which is
   Foo/Baz, and Foo/Bar/Baz gets added, it will update the links in Foo/Bar
   to point to it, but will forget to update the linkbacks in Foo/Baz.
-  And if Foo/Bar/Baz is then removed, it forgets to update Foo/Bar to link
+  
+* And if Foo/Bar/Baz is then removed, it forgets to update Foo/Bar to link
   back to Foo/Baz.
 
-    -- is this still true?
+    -- is this still true? (Yes (as of 1.0))
 
 * If I try to do a web commit, to a svn+ssh repo, it fails with
   "Host key verification failed."
@@ -14,8 +15,6 @@
   EUID/Real UID screwage.
 * Can't put the source in a directory named .source; the page finder skips
   that due to too broad exclusion of any dotfile in a path.
-* RecentChanges is a regular page, perhaps it should be automatically
-  replaced with a link to the [[CGI]]?
 * [[ikiwiki]] should go to the same place as [[index]] (on this wiki).
 * Web browsers don't word-wrap lines in submitted text, which makes editing a
   page that someone wrote in a web browser annoying (`gqip` is vim user's
       pages generated from the underlaydir as it can never work for them.
 * If a page stops inlining anthing, its rss feed file
   will linger around and not be deleted.
-* Currently only one blog is supported per page. Attempts to add more
-  will make it only update one of the blogs on the page.
 * RSS output contains relative links. Ie. http://kitenet.net/~joey/blog/index.rss contains a link to http://kitenet.net/~joey/blog/../blog.html
 * If a file in the srcdir is removed, exposing a file in the underlaydir,
   ikiwiki will not notice the change and rebuild it until the file in the
   underlaydir gets a mtime newer than the mtime the removed file had.
-* Pages rendered from files in the underlaydir should not have a history
-  link, since there's no file in the svn repo to view the history of.
-* Markdown will try to expand stuff inside postprocessordirectives. For
-  example, if there are two *'s, it will turn them to html em's, which
-  breaks things unexpectedly and requires escaping.
 * ikiwiki will generate html formatted error messages to the command
   line if --cgi is set, even if it's not yet running as a cgi
+* if a page containing an rss feed happens to show up in an rss feed,
+  the preprocessor directives won't be expanded (good) but are left in
+  raw rather than removed (bad).
+* add\_depends() needs work. If there are two preprocessor directives on a page,   and one calls add_depends("foo"), while the other calls add_depends("* !foo"), the second one wins, page foo will not be matched by the appended globlist.
+
+  What it needs to do is be smarter about merging depends, so if "foo" is added to "!foo", it should yeild "foo"; adding "!foo" to "foo" should again yeild "foo". That's easy, what's hard is when there are globs involved and potentially partially overlapping included and excluded subsets..
+
+  A basic heuristic might be, when merging two globlists, if either contains negated expressions, remove those expressions. This is not ideal, it does avoid it skipping pages that should be in the merged list though.
+
+  A slightly smarter heuristic: When merging two globlists, find negated expressions, de-negate them, and test them to see if they match anything in the other globlist. If so, remove the negated expression, if not, keep. This would probably be good enough. 
\ No newline at end of file