updates
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Sun, 10 Sep 2006 02:55:42 +0000 (02:55 +0000)
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Sun, 10 Sep 2006 02:55:42 +0000 (02:55 +0000)
IkiWiki.pm
doc/todo/firm_up_plugin_interface.mdwn

index 499ec88346850e4540f445eb6524849323d6289f..d63b02dffc35cffb81c9f5b146f08ac0160bae7e 100644 (file)
@@ -320,7 +320,7 @@ sub baseurl (;$) { #{{{
 sub abs2rel ($$) { #{{{
        # Work around very innefficient behavior in File::Spec if abs2rel
        # is passed two relative paths. It's much faster if paths are
 sub abs2rel ($$) { #{{{
        # Work around very innefficient behavior in File::Spec if abs2rel
        # is passed two relative paths. It's much faster if paths are
-       # absolute!
+       # absolute! (Debian bug #376658)
        my $path="/".shift;
        my $base="/".shift;
 
        my $path="/".shift;
        my $base="/".shift;
 
index e23f2f3d6ea6dafc44ca636a29ffa7f59987de05..35fd7870f3625d222c531396e8a574d93bf1ab1b 100644 (file)
@@ -1,34 +1,11 @@
-The plugin interface is currently that they can register hooks, and can
-call any other ikiwiki internal function they desire, generally through
-Ikiwiki::function calls. Also, some Ikiwiki::config etc variables can be
-used.
-
-This is a very weak interface, and should be firmed up to something more
-like a proper perl library. I've been waiting to get some idea of what bits
-of ikiwiki are most useful to plugins before doing it; there are plenty of
-plugins to know that now.
-
-IkiWiki will now  export some function calls and variables when loaded.
-
-Functions used by many plugins, which I'm sure should be exported:
-
-* hook
-* debug
-* error
-* template
-* htmlpage
-* add_depends
-* pagespec_match
-* bestlink
-* htmllink
-* readfile
-* writefile
-* pagetype
-* srcfile
-* pagename
-* displaytime
+I don't want this interface to be too firm; it's ok for a plugin like
+`ddate` to redefine an internal function like IkiWiki::displaytime if it
+wants to.. But plugins that still access stuff through IkiWiki:: should be
+aware that that stuff can change at any time and break them. Possibly without
+perl's type checking catching the breakage, in some cases. Plugins that
+only use exported symbols should not be broken by future ikiwiki changes.
 
 
-Functions used by only some plugins, undecided:
+Functions used by only some plugins, undecided about exporting:
 
 * lockwiki, unlockwiki (aggregate)
        Too internal to ever be exported.
 
 * lockwiki, unlockwiki (aggregate)
        Too internal to ever be exported.
@@ -51,22 +28,13 @@ Functions used by only some plugins, undecided:
 * linkify
 * preprocess
 * filter
 * linkify
 * preprocess
 * filter
-       Used by several, but problimatic since plugins typically define
-       functions with these names..
-
-Variables used by plugins:
+       The 4 above are used by a few plugins, but problimatic since plugins 
+       typically also define functions with these names.. I also feel that
+       this part of ikiwiki needs some more work before it's set in stone.
+       These are always called together, in the same order, though
+       sometimes htmlize isn't included.
 
 
-* %IkiWiki::config (various values; probably not worth locking down any
-  more, export it)
-* %IkiWiki::links (many, seems clearcut to export)
-* %IkiWiki::renderedfiles (orphans, inline, search)
-* %IkiWiki::pagesources (pagecount, sidebar, template, inline)
-* %IkiWiki::pagecase (aggregate.. will not export yet)
-* %IkiWIki::backlinks (pagestats.. will not export yet)
+Variables used by plugins but not exported yet:
 
 
-I don't want this interface to be too firm; it's ok for a plugin like
-`ddate` to redefine an internal function like IkiWiki::displaytime if it
-wants to.. But plugins that still access stuff through IkiWiki:: should be
-aware that that stuff can change at any time and break them. Possibly without
-perl's type checking catching the breakage, in some cases. Plugins that
-only use exported symbols should not break by future ikiwiki changes.
+* %IkiWiki::pagecase (aggregate)
+* %IkiWIki::backlinks (pagestats)