summaryrefslogtreecommitdiff
path: root/doc/todo
diff options
context:
space:
mode:
Diffstat (limited to 'doc/todo')
-rw-r--r--doc/todo/configurable_tidy_command_for_htmltidy.mdwn6
-rw-r--r--doc/todo/latex.mdwn2
-rw-r--r--doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn76
-rw-r--r--doc/todo/web_reversion.mdwn10
4 files changed, 75 insertions, 19 deletions
diff --git a/doc/todo/configurable_tidy_command_for_htmltidy.mdwn b/doc/todo/configurable_tidy_command_for_htmltidy.mdwn
new file mode 100644
index 000000000..51991393e
--- /dev/null
+++ b/doc/todo/configurable_tidy_command_for_htmltidy.mdwn
@@ -0,0 +1,6 @@
+[[!tag patch patch]]
+
+I was trying to get htmltidy to [play nicely with MathML][play]. Unfortunately, I couldn't construct a command line that I was happy with, but along the way I altered htmltidy to allow a configurable command line. This seemed like a generally useful thing, so I've published my [patch][] as a Git branch.
+
+[play]: http://lists.w3.org/Archives/Public/html-tidy/2006JanMar/0052.html
+[patch]: http://www.physics.drexel.edu/~wking/code/git/git.php?p=ikiwiki.git&a=commitdiff&h=408ee89fd7c1dc70510385a7cf263a05862dda97&hb=e65ce4f0937eaf622846c02a9d39fa7aebe4af12
diff --git a/doc/todo/latex.mdwn b/doc/todo/latex.mdwn
index 4363003c1..76bb69c9e 100644
--- a/doc/todo/latex.mdwn
+++ b/doc/todo/latex.mdwn
@@ -9,6 +9,8 @@ of the ikiwiki [[/logo]].
> [[users/JasonBlevins]] has also a plugin for including [[LaTeX]] expressions (by means of `itex2MML`) -- [[plugins/mdwn_itex]] (look at his page for the link). --Ivan Z.
+>> I've [updated](http://www.physics.drexel.edu/~wking/unfolding-disasters/posts/mdwn_itex/) Jason's plugin for ikiwiki 3.x. --W. Trevor King
+
----
ikiwiki could also support LaTeX as a document type, again rendering to HTML.
diff --git a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn
index e2d9a5993..20d22b9ab 100644
--- a/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn
+++ b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn
@@ -59,6 +59,9 @@ becoming a problem for me. Is there anything I can do here? --[[Perry]]
----
+[[!toggle id="smcv-https" text="Some discussion of a rejected implementation, smcv/https."]]
+[[!toggleable id="smcv-https" text="""
+
[[!template id=gitbranch branch=smcv/https author="[[smcv]]"]]
For a while I've been using a configuration where each wiki has a HTTP and
@@ -140,33 +143,70 @@ you don't like my approach:
>> making it easier to run two mostly-synched copies like I was previously
>> doing is the only solution... --s
+"""]]
+
----
-**warning: untested branch ** [[!template id=gitbranch branch=smcv/localurl author="[[smcv]]"]]
+[[!template id=gitbranch branch=smcv/ready/localurl author="[[smcv]]"]]
+[[!tag patch]]
OK, here's an alternative approach, closer in spirit to what was initially
-requested. I haven't tested this at all (it's getting rather late in UK time)
-and it will probably be rebased later, but I've referenced it here as a proof of
-concept.
+requested. I included a regression test for `urlto`, `baseurl` and `cgiurl`,
+now that they have slightly more complex behaviour.
The idea is that in the common case, the CGI and the pages will reside on the
same server, so they can use "semi-absolute" URLs (`/ikiwiki.cgi`, `/style.css`,
-`/bugs/done`) to refer to each other. My branch adds config options which
-could be set as follows for ikiwiki.info or any branchable.com site:
-
-* local_url: /
-* local_cgiurl: /ikiwiki.cgi
-
-Most redirects, form actions, links etc. can safely use this form rather than
-the fully-absolute URL. If not configured, these options default to the
-corresponding absolute URL, which is would also be correct for unusual sites
-where the CGI and the pages aren't on the same server.
-
-(In theory you could use things like `//static.example.com/wiki/` and
-`//dynamic.example.com/ikiwiki.cgi` to preserve choice of http/https
+`/bugs/done`) to refer to each other. Most redirects, form actions, links etc.
+can safely use this form rather than the fully-absolute URL.
+
+The initial version of the branch had config options `local_url` and
+`local_cgiurl`, but they're now automatically computed by checking
+whether `url` and `cgiurl` are on the same server with the the same URL
+scheme. In theory you could use things like `//static.example.com/wiki/`
+and `//dynamic.example.com/ikiwiki.cgi` to preserve choice of http/https
while switching server, but I don't know how consistently browsers
-suppot that.)
+suppot that.
"local" here is short for "locally valid", because these URLs are neither
fully relative nor fully absolute, and there doesn't seem to be a good name
for them...
+
+I've tested this on a demo website with the CGI enabled, and it seems to
+work nicely (there might be bugs in some plugins, I didn't try all of them).
+The `$config{url}` and `$config{cgiurl}` are both HTTP, but if I enable
+`httpauth`, set `cgiauthurl` to a HTTPS version of the same site and log
+in via that, links all end up in the HTTPS version.
+
+New API added by this branch:
+
+* `urlto(x, y, 'local')` uses `$local_url` instead of `$config{url}`
+
+* `IkiWiki::baseurl` has a new second argument which works like the
+ third argument of `urlto`
+
+* `IkiWiki::cgiurl` uses `$local_cgiurl` if passed `local_cgiurl => 1`
+
+* `IkiWiki::cgiurl` omits the trailing `?` if given no named parameters
+ except `cgiurl` and/or `local_cgiurl`
+
+Bugs:
+
+* I don't think anything except `openid` calls `cgiurl` without also
+ passing in `local_cgiurl => 1`, so perhaps that should be the default;
+ `openid` uses the `cgiurl` named parameter anyway, so there doesn't even
+ necessarily need to be a way to force absolute URLs? Any other module
+ that really needs an absolute URL could use
+ `cgiurl(cgiurl => $config{cgiurl}, ...)`,
+ although that does look a bit strange
+
+* It occurs to me that `IkiWiki::cgiurl` could probably benefit from being
+ exported? Perhaps also `IkiWiki::baseurl`?
+
+* Or, to reduce use of the unexported `baseurl` function, it might make
+ sense to give `urlto` a special case that references the root of the wiki,
+ with a trailing slash ready to append stuff: perhaps `urlto('/')`,
+ with usage like this?
+
+ do_something(baseurl => urlto('/', undef, local)`);
+ do_something_else(urlto('/').'style.css');
+ IkiWiki::redirect(urlto('/', undef, 1));
diff --git a/doc/todo/web_reversion.mdwn b/doc/todo/web_reversion.mdwn
index 92052eb26..34947b710 100644
--- a/doc/todo/web_reversion.mdwn
+++ b/doc/todo/web_reversion.mdwn
@@ -45,15 +45,23 @@ Peter Gammie has done an initial implementation of the above.
> structure that `rcs_recieve` does. This could be done by using `git revert
> --no-commit`, and then examining the changes, and then `git reset` to drop
> them.
+>> We can use the existing `git_commit_info` with the patch ID - no need to touch the working directory. -- [[peteg]]
>
> Then the code that is currently in IkiWiki/Receive.pm, that calls
> `check_canedit` and `check_canremove` to test the change, can be
> straightforwardly refactored out, and used for checking reverts too.
+>> Wow, that was easy. :-) -- [[peteg]]
>
> (The data from `rcs_preprevert` could also be used for a confirmation
> prompt -- it doesn't currently include enough info for diffs, but at
> least could have a list of changed files.)
->
+>> I added `rcs_showpatch` which simply yields the output of `git show <patch-id>`. -- [[peteg]]
+>
> Note that it's possible for a git repo to have commits that modify wiki
> files in a subdir, and code files elsewhere. `rcs_preprevert` should
> detect changes outside the wiki dir, and fail, like `rcs_receive` does.
+>> Taken care of by refactoring `rcs_receive` in `git.pm`
+>> I've tested it lightly in my single-user setup. It's a little nasty that the `attachment` plugin
+>> gets used to check whether attachments are allowed -- there really should be a hook for that.
+>>
+>> Please look it over and tell me what else needs fixing... -- [[peteg]]