summaryrefslogtreecommitdiff
path: root/doc/wikitemplates/discussion.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'doc/wikitemplates/discussion.mdwn')
-rw-r--r--doc/wikitemplates/discussion.mdwn46
1 files changed, 46 insertions, 0 deletions
diff --git a/doc/wikitemplates/discussion.mdwn b/doc/wikitemplates/discussion.mdwn
new file mode 100644
index 000000000..f97444e5f
--- /dev/null
+++ b/doc/wikitemplates/discussion.mdwn
@@ -0,0 +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.