X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/873b4298f11e7f492f8a55d52ad3a3f3bc7e33b9..e07b876486ec523e232aff8674135f8d867e6dad:/doc/todo/conditional_underlay_files.mdwn?ds=sidebyside diff --git a/doc/todo/conditional_underlay_files.mdwn b/doc/todo/conditional_underlay_files.mdwn index a37d4bda0..c578bceaf 100644 --- a/doc/todo/conditional_underlay_files.mdwn +++ b/doc/todo/conditional_underlay_files.mdwn @@ -1,11 +1,29 @@ I'd like to see some way to include certain files from the underlay only when the wiki has certain plugins enabled. For example: * Only include smileys.mdwn and the smileys subdirectory if you enable the [[plugins/smiley]] plugin. -* Only include openid.mdwn if you enable the [[plugins/openid]] plugin. +* Exclude openid.mdwn if you disable the [[plugins/openid]] plugin. * Include shortcuts.mdwn only if you enable the [[plugins/shortcut]] plugin. * Include blog.mdwn only if you don't disable the [[plugins/inline]] plugin. * Include favicon.ico only if you enable the [[plugins/favicon]] plugin. * Include wikiicons/diff.png (and the wikiicons directory) only if you enable the CGI. * Include a hypothetical restructuredtexthelp.rst or similar for other formats only with those formats enabled. -I can see two good ways to implement this. Ideally, with [[conditional_text_based_on_ikiwiki_features]] available, ikiwiki could parse a page like conditionalpages.mdwn, which could contain a set of conditional-wrapped page names; that seems like the most elegant and ikiwiki-like approach. Alternatively, ikiwiki.setup could contain a Perl-generated exclude option by default; that would work, but it seems hackish. \ No newline at end of file +I can see two good ways to implement this. Ideally, with +[[conditional_text_based_on_ikiwiki_features]] available, ikiwiki could +parse a page like conditionalpages.mdwn, which could contain a set of +conditional-wrapped page names; that seems like the most elegant and +ikiwiki-like approach. Alternatively, ikiwiki.setup could contain a +Perl-generated exclude option by default; that would work, but it seems +hackish. + +> Another way might be to have a third directory of source files where +> plugins could drop in pages, and only build the files from there if their +> plugins were enabled. +> +> Using the conditionals in a page to control what other pages get built +> feels complex to me. +> +> Instead, this has been implmented as the `add_underlay()` function. +> [[done]] +> --[[Joey]] +