X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/d04a37be965d7525df88d916e18891bd445e1294..2af6a32aba4a7f96f63b3dfc176e1d4b40488a34:/doc/wikitemplates/discussion.mdwn diff --git a/doc/wikitemplates/discussion.mdwn b/doc/wikitemplates/discussion.mdwn index 64b376679..f97444e5f 100644 --- a/doc/wikitemplates/discussion.mdwn +++ b/doc/wikitemplates/discussion.mdwn @@ -1,2 +1,46 @@ ## Place for local templates Where does one put any locally modified templates for an individual ikiwiki? --Ivan Z. + +> You can put them whereever you like; the `templatedir` controls +> where ikiwiki looks for them. --[[Joey]] + +Thank you for your response! My question arose out of my intention to make +custom templates for a wiki--specifically suited for the kind of content +it will have--so, that would mean I would want to distribute them through +git together with other content of the wiki. So, for this case the +separation of conceptually ONE thing (the content, the templates, and the +config option which orders to use these templates) into THREE separate +files/repos (the main content repo, the repo with templates, and the config +file) is not convenient: instead of distributing a single repo, I have to +tell people to take three things if they want to replicate this wiki. How +would you solve this inconvenience? Perhaps, a default location of the +templates *inside* the source repo would do?--Ivan Z. + +> I would avoid putting the templates in a subdirectory of the ikiwiki srcdir. +> (I'd also avoid putting the ikiwiki setup file there.) +> While it's safe to do either in some cases, there are configurations where +> it's unsafe. For example, a malicious user could use attachment handling to +> replace those files with their own, bad versions. +> +> So, two ideas for where to put the templatedir and ikiwiki setup. + +> * The easiest option is to put your wiki content in a subdirectory +> ("wiki", say) and point `srcdir` at that. +> then you can have another subdirectory for the wikitemplates, +> and put the setup file at the top. +> * Another option if using git would be to have a separate branch, +> in the same git repository, that holds wikitemplates and the setup file. +> Then you check out the repository once to make the `srcdir` available, +> and have a second checkout, of the other branch, to make the other stuff +> available. +> +> Note that with either of these methods, you have to watch out if +> giving other direct commit access to the repository. They could +> still edit the setup file and templates, so only trusted users should +> be given access. (It is, however, perfectly safe to let people edit +> the wiki via the web, and is even safe to configure +> [[tips/untrusted_git_push]] to such a repository.) --[[Joey]] + +Thanks, that's a nice and simple idea: to have a subdirectory! I'll try it. --Ivan Z. + +A [[!taglink wish|wishlist]]: the ikiwiki program could be improved so that it follows the same logic as git in looking for its config: it could ascend directories until it finds an `.ikiwiki/` directory with `.ikiwiki/setup` and then uses that configuration. Now I'm tired to always type `ikiwiki --setup path/to/the/setup --refresh` when working in my working clone of the sources; I'd like to simply type `ikiwiki` instead, and let it find the setup file. The default location to look for templates could also be made to be a sibling of the setup file: `.ikiwiki/templates/`. --Ivan Z.