From 605ce027109fa2f3a9fe227d4e7e172ae2d6f7af Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 2 Oct 2008 14:51:21 -0400 Subject: move to todo, response --- doc/todo/Tags_list_in_page_footer_uses_basename.mdwn | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/todo/Tags_list_in_page_footer_uses_basename.mdwn (limited to 'doc/todo') diff --git a/doc/todo/Tags_list_in_page_footer_uses_basename.mdwn b/doc/todo/Tags_list_in_page_footer_uses_basename.mdwn new file mode 100644 index 000000000..e2221bb84 --- /dev/null +++ b/doc/todo/Tags_list_in_page_footer_uses_basename.mdwn @@ -0,0 +1,8 @@ +Page footers contain a list of links to the page and a list of tags applied to the page. The link list uses the full path to pages. However, the tag list contains only the basename of the tag pages. For instance, if I tag a page with person1/foo and person2/bar, the tag list will just list foo and bar without the necessary disambiguating prefixes. + +I think the tag list should always contain the full path to the tag, with the tagbase value removed. + +--[[JoshTriplett]] + +> What if tagbase is not used? I know this would clutter up the display of +> my tags on several wikis, including this one. --[[Joey]] -- cgit v1.2.3 From c885a0107bf3f0fbedc53ec22e359942e6c8170a Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 2 Oct 2008 15:12:57 -0400 Subject: this is a wishlist todo item, rename too --- doc/bugs/relative_links.mdwn | 27 -------------------- ...ttp_or_https_in_urls_to_allow_serving_both.mdwn | 29 ++++++++++++++++++++++ 2 files changed, 29 insertions(+), 27 deletions(-) delete mode 100644 doc/bugs/relative_links.mdwn create mode 100644 doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn (limited to 'doc/todo') diff --git a/doc/bugs/relative_links.mdwn b/doc/bugs/relative_links.mdwn deleted file mode 100644 index a1dc8f373..000000000 --- a/doc/bugs/relative_links.mdwn +++ /dev/null @@ -1,27 +0,0 @@ -It looks like all links in websites are absolute paths, this has some limitations: - -* If connecting to website via https://... all links will take you back to http:// -* Makes it harder to mirror website via HTML version, as all links have to be updated. - -It would be good if relative paths could be used instead, so the transport method isn't changed unless specifically requested. - --- Brian May - -> Er, which absolute links are you talking about? If you view the source -> to this page, you'll find links such as "../favicon.ico", "../style.css", -> "../../", and "../". The only absolute links are to CGIs and the w3c DTD. -> --[[Joey]] - ->> The problem is within the CGI script. The links within the HTML page are all absolute, including links to the css file. ->> Having a http links within a HTML page retrieved using https upset most browsers (I think). Also if I push cancel on the edit page in https, I end up at at http page. -- Brian May - ->>> Ikiwiki does not hardcode http links anywhere. If you don't want ->>> it to use such links, change your configuration to use https ->>> consistently. --[[Joey]] - -Errr... That is not a solution, that is a work around. ikiwiki does not hard code the absolute paths, but absolute paths are hard coded in the configuration file. If you want to serve your website so that the majority of users can see it as http, including in rss feeds (this allows proxy caches to cache the contents and has reduced load requirements), but editing is done via https for increased security, it is not possible. I have some ideas how this can be implemented (as ikiwiki has the absolute path to the CGI script and the absolute path to the destination, it should be possible to generate a relative path from one to the other), although some minor issues still need to be resolved. -- Brian May - -I noticed the links to the images on are also absolute, that is ; this seems surprising, as the change.tmpl file uses <TMPL_VAR BASEURL> -which seems to do the right thing in page.tmpl, but not for change.tmpl. Where is BASEURL set? -- Brian May - -> The use of an absolute baseurl in change.tmpl is a special case. --[[Joey]] 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 new file mode 100644 index 000000000..65b7cd96a --- /dev/null +++ b/doc/todo/want_to_avoid_ikiwiki_using_http_or_https_in_urls_to_allow_serving_both.mdwn @@ -0,0 +1,29 @@ +It looks like all links in websites are absolute paths, this has some limitations: + +* If connecting to website via https://... all links will take you back to http:// +* Makes it harder to mirror website via HTML version, as all links have to be updated. + +It would be good if relative paths could be used instead, so the transport method isn't changed unless specifically requested. + +-- Brian May + +> Er, which absolute links are you talking about? If you view the source +> to this page, you'll find links such as "../favicon.ico", "../style.css", +> "../../", and "../". The only absolute links are to CGIs and the w3c DTD. +> --[[Joey]] + +>> The problem is within the CGI script. The links within the HTML page are all absolute, including links to the css file. +>> Having a http links within a HTML page retrieved using https upset most browsers (I think). Also if I push cancel on the edit page in https, I end up at at http page. -- Brian May + +>>> Ikiwiki does not hardcode http links anywhere. If you don't want +>>> it to use such links, change your configuration to use https +>>> consistently. --[[Joey]] + +Errr... That is not a solution, that is a work around. ikiwiki does not hard code the absolute paths, but absolute paths are hard coded in the configuration file. If you want to serve your website so that the majority of users can see it as http, including in rss feeds (this allows proxy caches to cache the contents and has reduced load requirements), but editing is done via https for increased security, it is not possible. I have some ideas how this can be implemented (as ikiwiki has the absolute path to the CGI script and the absolute path to the destination, it should be possible to generate a relative path from one to the other), although some minor issues still need to be resolved. -- Brian May + +I noticed the links to the images on are also absolute, that is ; this seems surprising, as the change.tmpl file uses <TMPL_VAR BASEURL> +which seems to do the right thing in page.tmpl, but not for change.tmpl. Where is BASEURL set? -- Brian May + +> The use of an absolute baseurl in change.tmpl is a special case. --[[Joey]] + +[[wishlist]] -- cgit v1.2.3 From bc259c593fbe0ad794c0eb5315f4d8dd7cc2499c Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 2 Oct 2008 17:32:53 -0400 Subject: move --- doc/todo/donmarti.mdwn | 2 -- doc/users/donmarti.mdwn | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 doc/todo/donmarti.mdwn create mode 100644 doc/users/donmarti.mdwn (limited to 'doc/todo') diff --git a/doc/todo/donmarti.mdwn b/doc/todo/donmarti.mdwn deleted file mode 100644 index bafec7170..000000000 --- a/doc/todo/donmarti.mdwn +++ /dev/null @@ -1,2 +0,0 @@ -Don Marti home page: email: - diff --git a/doc/users/donmarti.mdwn b/doc/users/donmarti.mdwn new file mode 100644 index 000000000..bafec7170 --- /dev/null +++ b/doc/users/donmarti.mdwn @@ -0,0 +1,2 @@ +Don Marti home page: email: + -- cgit v1.2.3 From 781957ad917b77b77bd3d2b0982cb5d9f4a5c429 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 2 Oct 2008 17:33:25 -0400 Subject: wishlist --- doc/todo/fastcgi_or_modperl_installation_instructions.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/fastcgi_or_modperl_installation_instructions.mdwn b/doc/todo/fastcgi_or_modperl_installation_instructions.mdwn index 2d3805394..74dcaeb61 100644 --- a/doc/todo/fastcgi_or_modperl_installation_instructions.mdwn +++ b/doc/todo/fastcgi_or_modperl_installation_instructions.mdwn @@ -8,3 +8,5 @@ There has got to be a way to run the CGI wrapper under fastcgi or modperl (apach > > I've not looked at what code changes fastcgi or modperl would require in > ikiwiki. --[[Joey]] + +[[!tag wishlist]] -- cgit v1.2.3 From daa095689abd9e8b00625d9b3495fa391e532d88 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 2 Oct 2008 17:33:55 -0400 Subject: tag --- doc/todo/using_meta_titles_for_parentlinks.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc/todo') diff --git a/doc/todo/using_meta_titles_for_parentlinks.html b/doc/todo/using_meta_titles_for_parentlinks.html index 8a42bf4a8..651b7fa0f 100644 --- a/doc/todo/using_meta_titles_for_parentlinks.html +++ b/doc/todo/using_meta_titles_for_parentlinks.html @@ -1,5 +1,5 @@ It is possible to set a Page-Title in the meta-plugin, but that one isn't -reused in parentlinks. This patch may fix it. +reused in parentlinks. This [[patch]] may fix it.
  • I give pagetitle the full path to a page. -- cgit v1.2.3 From 4857ac45854026f36340abca13aa35e23bcd5d2d Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 2 Oct 2008 17:34:52 -0400 Subject: tag --- doc/todo/Separate_OpenIDs_and_usernames.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/Separate_OpenIDs_and_usernames.mdwn b/doc/todo/Separate_OpenIDs_and_usernames.mdwn index 3dd48767e..2cd52e8c4 100644 --- a/doc/todo/Separate_OpenIDs_and_usernames.mdwn +++ b/doc/todo/Separate_OpenIDs_and_usernames.mdwn @@ -7,3 +7,5 @@ I see this being implemented in one of two possible ways. The easiest seems like A slightly more complex next step would be to request sreg from the provider and, if provided, automatically set the identity's username and email address from the provided persona. If username login to accounts with blank passwords is disabled, then you have the best of both worlds. Passwordless signin, human-friendly attribution, automatic setting of preferences. Unfortunately I don't speak Perl, so hopefully someone thinks these suggestions are good enough to code up. I've hacked on openid code in Ruby before, so hopefully these changes aren't all that difficult to implement. Even if you don't get any data via sreg, you're no worse off than where you are now, so I don't think there'd need to be much in the way of error/sanity-checking of returned data. If it's null or not available then no big deal, typing in a username is no sweat. + +[[!tag wishlist]] -- cgit v1.2.3 From 3388e1474ab7478cef8aa84c6cbde48241072feb Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 2 Oct 2008 17:35:46 -0400 Subject: tag --- doc/todo/access_keys.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/access_keys.mdwn b/doc/todo/access_keys.mdwn index ea367a197..52031ffc1 100644 --- a/doc/todo/access_keys.mdwn +++ b/doc/todo/access_keys.mdwn @@ -66,3 +66,5 @@ Tabbing isn't quite the same as a nice shortcut key. There's always Conkeror... --[[JasonBlevins]], March 22, 2008 10:35 EDT + +[[!tag wishlist]] -- cgit v1.2.3 From 3634d40a38299caf2fb38e6c346c0e771324a0f2 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 2 Oct 2008 17:36:53 -0400 Subject: tag --- doc/todo/mtime.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/mtime.mdwn b/doc/todo/mtime.mdwn index 92cbe84ff..22d4cd4ff 100644 --- a/doc/todo/mtime.mdwn +++ b/doc/todo/mtime.mdwn @@ -12,3 +12,5 @@ plugin changes page content without any younger page being involved. And editing one of the html templates and rebuilding the wiki can change every page. All of these need to be reflected in the file mtime to avoid caching problems. + +[[!tag wishlist]] -- cgit v1.2.3 From 6d8cb05ddcd0ab0f47cf2f38ae69b596fe53891a Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 2 Oct 2008 17:38:13 -0400 Subject: tag --- doc/todo/Add_space_before_slash_in_parent_links.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc/todo') diff --git a/doc/todo/Add_space_before_slash_in_parent_links.mdwn b/doc/todo/Add_space_before_slash_in_parent_links.mdwn index 0dbcef68d..40a334032 100644 --- a/doc/todo/Add_space_before_slash_in_parent_links.mdwn +++ b/doc/todo/Add_space_before_slash_in_parent_links.mdwn @@ -1,4 +1,4 @@ -This patch adds a space before the forward-slash in the the parent links. There is already a space after the slash. +This [[patch]] adds a space before the forward-slash in the the parent links. There is already a space after the slash. > I intentionally put the space after the slash and not before, because I > like how it looks that way. So I don't plan to apply this patch unless a -- cgit v1.2.3 From 7c07a20b367c0d400fc4adf661bd11ccce2d58ab Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 2 Oct 2008 17:39:08 -0400 Subject: done --- doc/todo/remove_basewiki_redir_pages.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/remove_basewiki_redir_pages.mdwn b/doc/todo/remove_basewiki_redir_pages.mdwn index 247801a8d..fe9e49ce2 100644 --- a/doc/todo/remove_basewiki_redir_pages.mdwn +++ b/doc/todo/remove_basewiki_redir_pages.mdwn @@ -1,2 +1,4 @@ In version 2.16, several redir pages were put in for [[basewiki]] pages that were moved. These redirs should be removed later. --[[Joey]] + +[[done]] -- cgit v1.2.3 From de235168153178e148a9a474f609c3fb043bd1ea Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 2 Oct 2008 17:40:07 -0400 Subject: close --- doc/todo/improved_parentlinks_styling.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/improved_parentlinks_styling.mdwn b/doc/todo/improved_parentlinks_styling.mdwn index fc2d7f986..64130a616 100644 --- a/doc/todo/improved_parentlinks_styling.mdwn +++ b/doc/todo/improved_parentlinks_styling.mdwn @@ -5,3 +5,5 @@ usable in browsers like w3m that don't support styled uls. ikiwiki does use styled uls for other things, such as the action bar, but displaying that as a simple unstyled list in a simple browser works well and makes sense. For parent links, it does not. --[[Joey]] + +[[done]] -- cgit v1.2.3 From dd7cd7e4ac33d39e248623f0827c233311130219 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 2 Oct 2008 17:43:03 -0400 Subject: fix tag --- doc/todo/tmplvars_plugin.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc/todo') diff --git a/doc/todo/tmplvars_plugin.mdwn b/doc/todo/tmplvars_plugin.mdwn index fe163fb5f..f7d06a579 100644 --- a/doc/todo/tmplvars_plugin.mdwn +++ b/doc/todo/tmplvars_plugin.mdwn @@ -1,6 +1,6 @@ A simple plugin to allow per-page customization of a template by passing paramaters to HTML::Template. For those times when a whole pagetemplate is too much work. --Ethan -[[!tags patch]] +[[!tag patch]] #!/usr/bin/perl package IkiWiki::Plugin::tmplvars; -- cgit v1.2.3 From c2c1438e4970b850925883a3b37ea6472ed7e1fd Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 2 Oct 2008 17:49:51 -0400 Subject: tag --- doc/todo/CVS_backend.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/CVS_backend.mdwn b/doc/todo/CVS_backend.mdwn index c14d8af4f..f99d09b22 100644 --- a/doc/todo/CVS_backend.mdwn +++ b/doc/todo/CVS_backend.mdwn @@ -8,3 +8,5 @@ Original discussion: > >> No, although the existing svn backend could fairly esily be modified into >> a CVS backend, by someone who doesn't mind working with CVS. --[[Joey]] + +[[!tag wishlist]] -- cgit v1.2.3 From ab2cc5040c58923fab4ad72b94fd1044b14acd2c Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 2 Oct 2008 17:52:20 -0400 Subject: close --- doc/todo/optimisations.mdwn | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/optimisations.mdwn b/doc/todo/optimisations.mdwn index 582c03ef1..b8c4fa0da 100644 --- a/doc/todo/optimisations.mdwn +++ b/doc/todo/optimisations.mdwn @@ -3,6 +3,13 @@ Ikiwiki has already been optimised a lot, however.. * Look at splitting up CGI.pm. But note that too much splitting can slow perl down. + > It's split enough, or possibly more than enough, now. :-) + * The backlinks calculation code is still O(N^2) on the number of pages. If backlinks info were stored in the index file, it would go down to constant time for iterative builds, though still N^2 for rebuilds. + + > Seems to be O(Num Pages * Num Links in Page), or effectively O(N) + > pages for most wikis. + +[[done]] -- cgit v1.2.3 From 8e2362a4995bafaaf87bd6385927bcb51e951d05 Mon Sep 17 00:00:00 2001 From: intrigeri Date: Mon, 6 Oct 2008 05:28:53 -0400 Subject: done, documented workaround --- doc/todo/else_parameter_for_map_plugin.mdwn | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'doc/todo') diff --git a/doc/todo/else_parameter_for_map_plugin.mdwn b/doc/todo/else_parameter_for_map_plugin.mdwn index 12a91b4ee..981e50d43 100644 --- a/doc/todo/else_parameter_for_map_plugin.mdwn +++ b/doc/todo/else_parameter_for_map_plugin.mdwn @@ -1,4 +1,4 @@ -[[!tag patch]] +[[!tag patch done]] [[plugins/map]] (and I) could benefit from a bonus parameter: @@ -45,3 +45,12 @@ documentation yet, I'm waiting for feedback first, but I'll do it for sure. -- [ >>>> someone might want to be able to handle an "else" case where a >>>> pagespec expands to nothing. And adding else cases for all of them >>>> could be a bit much. --[[Joey]] + +>>>>> Agreed, and tagging as done. For the record, here is the [[plugins/template]] I use: + + \[[!if test="" + then=""" + [[!map pages=""]]""" + else=""]] + +>>>>> --[[intrigeri]] -- cgit v1.2.3 From 5b2b4a28a6e8d04b05f3bd3904c245aef5758716 Mon Sep 17 00:00:00 2001 From: bstpierre Date: Tue, 7 Oct 2008 12:34:52 -0400 Subject: --- doc/todo/modify_page_filename_in_plugin.mdwn | 33 ++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 doc/todo/modify_page_filename_in_plugin.mdwn (limited to 'doc/todo') diff --git a/doc/todo/modify_page_filename_in_plugin.mdwn b/doc/todo/modify_page_filename_in_plugin.mdwn new file mode 100644 index 000000000..7c0a909eb --- /dev/null +++ b/doc/todo/modify_page_filename_in_plugin.mdwn @@ -0,0 +1,33 @@ +I'm writing a plugin to wikify c/c++ code. + +By default ikiwiki generates xxx.html for a file called xxx.c. + +The problem is that I occasionally have xxx.c and xxx.h in the same directory and there's a filename collision. + +My solution is to allow plugins to provide a hook that sets the pagename. --[[/users/bstpierre]] + + --- /usr/share/perl5/IkiWiki.pm.ORIG 2008-10-03 14:12:50.000000000 -0400 + +++ /usr/share/perl5/IkiWiki.pm 2008-10-07 11:57:26.000000000 -0400 + @@ -196,11 +196,32 @@ + + sub pagename ($) { #{{{ + my $file=shift; + + my $type=pagetype($file); + + + + if(defined $type && + + exists $hooks{pagename} && + + exists $hooks{pagename}{$type}) { + + + + return $hooks{pagename}{$type}{call}($file); + + + + } else { + + + my $page=$file; + $page=~s/\Q.$type\E*$// if defined $type; + return $page; + + } + } #}}} + + sub htmlpage ($) { #{{{ + -- cgit v1.2.3 From 6caed59b9c852836371f9542636da290350c0e8b Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 8 Oct 2008 17:09:24 -0400 Subject: remove page_locking page, move content to plugins/lockedit Also, removed obsolte para about using the prefs page to configure locked pages, that interface is obsolete, hidden by default, and the locked_pages setup file setting is used instead. --- doc/features.mdwn | 8 ++++---- doc/page_locking.mdwn | 17 ----------------- doc/plugins/lockedit.mdwn | 18 +++++++++++++++++- doc/todo/ACL.mdwn | 2 +- 4 files changed, 22 insertions(+), 23 deletions(-) delete mode 100644 doc/page_locking.mdwn (limited to 'doc/todo') diff --git a/doc/features.mdwn b/doc/features.mdwn index e9be02be4..395ca0981 100644 --- a/doc/features.mdwn +++ b/doc/features.mdwn @@ -146,10 +146,10 @@ Thanks to subpages, every page can easily and automatically have a ### Edit controls -Wiki admins can [[lock_pages|page_locking]] so that only other admins can -edit them. Or a wiki can be set up to allow anyone to edit Discussion -pages, but only registered users to edit other pages. These are just two -possibilities, since page edit controls can be changed via plugins. +Wiki admins can lock_pages so that only other admins can edit them. Or a +wiki can be set up to allow anyone to edit Discussion pages, but only +registered users to edit other pages. These are just two possibilities, +since page edit controls can be changed via plugins. ### [[PageHistory]] diff --git a/doc/page_locking.mdwn b/doc/page_locking.mdwn deleted file mode 100644 index 21f4fb027..000000000 --- a/doc/page_locking.mdwn +++ /dev/null @@ -1,17 +0,0 @@ -The administrator of a wiki can choose to lock some pages, which allows -only the admin to edit them using the online interface. This doesn't -prevent anyone who can commit to the underlying revision control system -from editing the pages, however. - -To lock a page, log into the wiki as whatever user is configured as the -admin, and in your Preferences page, you'll find a field listing locked -pages. This is a [[ikiwiki/PageSpec]], so you have a fair bit of control -over what kinds of pages to lock. For example, you could choose to lock all -pages created before 2006, or all pages that are linked to from the page -named "locked". More usually though, you'll just list some names of pages -to lock. - -One handy thing to do if you're using ikiwiki for your blog is to lock -"* and !*/Discussion". This prevents others from adding to or modifying -posts in your blog, while still letting them comment via the Discussion -pages. diff --git a/doc/plugins/lockedit.mdwn b/doc/plugins/lockedit.mdwn index 01b0f157d..07abce1af 100644 --- a/doc/plugins/lockedit.mdwn +++ b/doc/plugins/lockedit.mdwn @@ -1,4 +1,20 @@ [[!template id=plugin name=lockedit core=1 author="[[Joey]]"]] [[!tag type/auth]] -This plugin enables [[page_locking]]. It is enabled by default. +This plugin allows the administrator of a wiki to lock some pages, limiting +who can edit them using the online interface. This doesn't prevent anyone +who can commit to the underlying revision control system from editing the +pages, however. + +The `locked_pages` setting configures what pages are locked. It is a +[[ikiwiki/PageSpec]], so you have lots of control over what kind of pages +to lock. For example, you could choose to lock all pages created before +2006, or all pages that are linked to from the page named "locked". More +usually though, you'll just list some names of pages to lock. + +One handy thing to do if you're using ikiwiki for your blog is to lock +"* and !*/Discussion". This prevents others from adding to or modifying +posts in your blog, while still letting them comment via the Discussion +pages. + +Wiki administrators can always edit locked pages. diff --git a/doc/todo/ACL.mdwn b/doc/todo/ACL.mdwn index fb496c518..373f89364 100644 --- a/doc/todo/ACL.mdwn +++ b/doc/todo/ACL.mdwn @@ -32,7 +32,7 @@ Also see [[!debbug 443346]]. > defined in the wiki pages (although they could be). >* Given the previous two points, can't this be done with the `match_user()` > function defined by the [[plugins/attachment]] plugin (see the [[ikiwiki/pagespec/attachment]] pagespec info) -> and the [[plugins/lockedit]] plugin (see [[page_locking]])? +> and the [[plugins/lockedit]] plugin? > > For example, add the following to your config file: > -- cgit v1.2.3 From d3ca495e61e0e9d66095b1aba2fd1995e564e841 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 8 Oct 2008 17:47:38 -0400 Subject: lockedit: Support specifying which users (and IP addresses) a page is locked for. This supports most of the ACL type things users have been wanting to be done. Closes: #443346 (It does not control who can read a page, but that's out of scope for ikiwiki.) --- IkiWiki.pm | 57 +++++++++++++++++++++++++++ IkiWiki/Plugin/attachment.pm | 59 ---------------------------- IkiWiki/Plugin/lockedit.pm | 10 ++++- debian/changelog | 4 ++ doc/ikiwiki/pagespec.mdwn | 10 ++++- doc/ikiwiki/pagespec/attachment.mdwn | 45 ++++++---------------- doc/plugins/lockedit.mdwn | 6 ++- doc/todo/ACL.mdwn | 3 +- po/es.po | 75 ++++++++++++++++++++++-------------- po/ikiwiki.pot | 12 +++--- 10 files changed, 147 insertions(+), 134 deletions(-) (limited to 'doc/todo') diff --git a/IkiWiki.pm b/IkiWiki.pm index 82370f430..633c51381 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -1919,4 +1919,61 @@ sub match_creation_year ($$;@) { #{{{ } } #}}} +sub match_user ($$;@) { #{{{ + shift; + my $user=shift; + my %params=@_; + + if (! exists $params{user}) { + return IkiWiki::FailReason->new("no user specified"); + } + + if (defined $params{user} && lc $params{user} eq lc $user) { + return IkiWiki::SuccessReason->new("user is $user"); + } + elsif (! defined $params{user}) { + return IkiWiki::FailReason->new("not logged in"); + } + else { + return IkiWiki::FailReason->new("user is $params{user}, not $user"); + } +} #}}} + +sub match_admin ($$;@) { #{{{ + shift; + shift; + my %params=@_; + + if (! exists $params{user}) { + return IkiWiki::FailReason->new("no user specified"); + } + + if (defined $params{user} && IkiWiki::is_admin($params{user})) { + return IkiWiki::SuccessReason->new("user is an admin"); + } + elsif (! defined $params{user}) { + return IkiWiki::FailReason->new("not logged in"); + } + else { + return IkiWiki::FailReason->new("user is not an admin"); + } +} #}}} + +sub match_ip ($$;@) { #{{{ + shift; + my $ip=shift; + my %params=@_; + + if (! exists $params{ip}) { + return IkiWiki::FailReason->new("no IP specified"); + } + + if (defined $params{ip} && lc $params{ip} eq lc $ip) { + return IkiWiki::SuccessReason->new("IP is $ip"); + } + else { + return IkiWiki::FailReason->new("IP is $params{ip}, not $ip"); + } +} #}}} + 1 diff --git a/IkiWiki/Plugin/attachment.pm b/IkiWiki/Plugin/attachment.pm index 2d1fe51cf..dcac3e820 100644 --- a/IkiWiki/Plugin/attachment.pm +++ b/IkiWiki/Plugin/attachment.pm @@ -289,63 +289,4 @@ sub attachment_list ($) { #{{{ return sort { $b->{mtime_raw} <=> $a->{mtime_raw} || $a->{link} cmp $b->{link} } @ret; } #}}} -package IkiWiki::PageSpec; - -sub match_user ($$;@) { #{{{ - shift; - my $user=shift; - my %params=@_; - - if (! exists $params{user}) { - return IkiWiki::FailReason->new("no user specified"); - } - - if (defined $params{user} && lc $params{user} eq lc $user) { - return IkiWiki::SuccessReason->new("user is $user"); - } - elsif (! defined $params{user}) { - return IkiWiki::FailReason->new("not logged in"); - } - else { - return IkiWiki::FailReason->new("user is $params{user}, not $user"); - } -} #}}} - -sub match_admin ($$;@) { #{{{ - shift; - shift; - my %params=@_; - - if (! exists $params{user}) { - return IkiWiki::FailReason->new("no user specified"); - } - - if (defined $params{user} && IkiWiki::is_admin($params{user})) { - return IkiWiki::SuccessReason->new("user is an admin"); - } - elsif (! defined $params{user}) { - return IkiWiki::FailReason->new("not logged in"); - } - else { - return IkiWiki::FailReason->new("user is not an admin"); - } -} #}}} - -sub match_ip ($$;@) { #{{{ - shift; - my $ip=shift; - my %params=@_; - - if (! exists $params{ip}) { - return IkiWiki::FailReason->new("no IP specified"); - } - - if (defined $params{ip} && lc $params{ip} eq lc $ip) { - return IkiWiki::SuccessReason->new("IP is $ip"); - } - else { - return IkiWiki::FailReason->new("IP is $params{ip}, not $ip"); - } -} #}}} - 1 diff --git a/IkiWiki/Plugin/lockedit.pm b/IkiWiki/Plugin/lockedit.pm index 7462de41c..f6cac6cdd 100644 --- a/IkiWiki/Plugin/lockedit.pm +++ b/IkiWiki/Plugin/lockedit.pm @@ -37,7 +37,10 @@ sub canedit ($$) { #{{{ return undef if defined $user && IkiWiki::is_admin($user); if (defined $config{locked_pages} && length $config{locked_pages} && - pagespec_match($page, $config{locked_pages})) { + pagespec_match($page, $config{locked_pages}, + user => $session->param("name"), + ip => $ENV{REMOTE_ADDR}, + )) { if (! defined $user || ! IkiWiki::userinfo_get($session->param("name"), "regdate")) { return sub { IkiWiki::needsignin($cgi, $session) }; @@ -51,7 +54,10 @@ sub canedit ($$) { #{{{ # XXX deprecated, should be removed eventually foreach my $admin (@{$config{adminuser}}) { - if (pagespec_match($page, IkiWiki::userinfo_get($admin, "locked_pages"))) { + if (pagespec_match($page, IkiWiki::userinfo_get($admin, "locked_pages"), + user => $session->param("name"), + ip => $ENV{REMOTE_ADDR}, + )) { if (! defined $user || ! IkiWiki::userinfo_get($session->param("name"), "regdate")) { return sub { IkiWiki::needsignin($cgi, $session) }; diff --git a/debian/changelog b/debian/changelog index a7b4cbb00..9947c8a58 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,10 @@ ikiwiki (2.67) UNRELEASED; urgency=low * remove: Avoid $_ breakage. (Stupid, stupid perl.) * Updated Spanish translation from Victor Moral. + * lockedit: Support specifying which users (and IP addresses) a page + is locked for. This supports most of the ACL type things users have been + wanting to be done. Closes: #443346 (It does not control who can read a + page, but that's out of scope for ikiwiki.) -- Joey Hess Mon, 06 Oct 2008 16:07:50 -0400 diff --git a/doc/ikiwiki/pagespec.mdwn b/doc/ikiwiki/pagespec.mdwn index 156e3f6ca..c78666c40 100644 --- a/doc/ikiwiki/pagespec.mdwn +++ b/doc/ikiwiki/pagespec.mdwn @@ -22,8 +22,7 @@ match all pages except for Discussion pages and the SandBox: * and !SandBox and !*/Discussion -Some more elaborate limits can be added to what matches using any of these -functions: +Some more elaborate limits can be added to what matches using these functions: * "`link(page)`" - match only pages that link to a given page (or glob) * "`backlink(page)`" - match only pages that a given page links to @@ -41,6 +40,13 @@ functions: * "`title(glob)`", "`author(glob)`", "`authorurl(glob)`", "`license(glob)`", "`copyright(glob)`" - match pages that have the given metadata, matching the specified glob. +* "`user(username)`" - tests whether a modification is being made by a + user with the specified username. If openid is enabled, an openid can also + be put here. +* "`admin()`" - tests whether a modification is being made by one of the + wiki admins. +* "`ip(address)`" - tests whether a modification is being made from the + specified IP address. For example, to match all pages in a blog that link to the page about music and were written in 2005: diff --git a/doc/ikiwiki/pagespec/attachment.mdwn b/doc/ikiwiki/pagespec/attachment.mdwn index 1287fc0a4..2d33db748 100644 --- a/doc/ikiwiki/pagespec/attachment.mdwn +++ b/doc/ikiwiki/pagespec/attachment.mdwn @@ -16,45 +16,22 @@ check all attachments for virii, something like this could be used: The regular [[ikiwiki/PageSpec]] syntax is expanded with the following additional tests: -* maxsize(size) - - Tests whether the attachment is no larger than the specified size. - The size defaults to being in bytes, but "kb", "mb", "gb" etc can be - used to specify the units. +* "`maxsize(size)`" - Tests whether the attachment is no larger than the + specified size. The size defaults to being in bytes, but "kb", "mb", "gb" + etc can be used to specify the units. -* minsize(size) - - Tests whether the attachment is no smaller than the specified size. - -* ispage() +* "`minsize(size)`" - Tests whether the attachment is no smaller than the + specified size. - Tests whether the attachment will be treated by ikiwiki as a wiki page. - (Ie, if it has an extension of ".mdwn", or of any other enabled page - format). +* "`ispage()`" - Tests whether the attachment will be treated by ikiwiki as a + wiki page. (Ie, if it has an extension of ".mdwn", or of any other enabled + page format). So, if you don't want to allow wiki pages to be uploaded as attachments, use `!ispage()` ; if you only want to allow wiki pages to be uploaded as attachments, use `ispage()`. -* user(username) - - Tests whether the attachment is being uploaded by a user with the - specified username. If openid is enabled, an openid can also be put here. - -* admin() - - Tests whether the attachment is being uploded by one of the wiki admins. - -* ip(address) - - Tests whether the attacment is being uploaded from the specified IP - address. - -* mimetype(foo/bar) - - This checks the MIME type of the attachment. You can include a glob - in the type, for example `mimetype(image/*)`. - -* virusfree() +* "`mimetype(foo/bar)`" - This checks the MIME type of the attachment. You can + include a glob in the type, for example `mimetype(image/*)`. - Checks the attachment with an antiviral program. +* "`virusfree()`" - Checks the attachment with an antiviral program. diff --git a/doc/plugins/lockedit.mdwn b/doc/plugins/lockedit.mdwn index 07abce1af..71bf232ab 100644 --- a/doc/plugins/lockedit.mdwn +++ b/doc/plugins/lockedit.mdwn @@ -17,4 +17,8 @@ One handy thing to do if you're using ikiwiki for your blog is to lock posts in your blog, while still letting them comment via the Discussion pages. -Wiki administrators can always edit locked pages. +Wiki administrators can always edit locked pages. The [[ikiwiki/PageSpec]] +can specify that some pages are not locked for some users. For example, +"important_page and !user(joey)" locks `important_page` while still +allowing joey to edit it, while "!*/Discussion and user(bob)" prevents bob +from editing pages except for Discussion pages. diff --git a/doc/todo/ACL.mdwn b/doc/todo/ACL.mdwn index 373f89364..e9fb2717f 100644 --- a/doc/todo/ACL.mdwn +++ b/doc/todo/ACL.mdwn @@ -44,7 +44,8 @@ Also see [[!debbug 443346]]. >> Yes, writing per-user commit ACLs has become somewhat easier with recent >> features. Breaking `match_user` out of attachment, and making the >> lockedit plugin pass`user` and `ip` params when it calls `pagespec_match` ->> would be sufficient. --[[Joey]] +>> would be sufficient. And [[done]], configurable via +>> [[plugin/lockedit]]'s `locked_pages`. --[[Joey]] I am considering giving this a try, implementing it as a module. Here is how I see it: diff --git a/po/es.po b/po/es.po index 34a4d3669..ff02ea86a 100644 --- a/po/es.po +++ b/po/es.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: es\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-09-29 17:12-0400\n" +"POT-Creation-Date: 2008-10-08 17:34-0400\n" "PO-Revision-Date: 2008-10-07 12:44+0200\n" "Last-Translator: Víctor Moral \n" "Language-Team: Spanish \n" @@ -48,7 +48,7 @@ msgstr "Las preferencias se han guardado." msgid "You are banned." msgstr "Ha sido expulsado." -#: ../IkiWiki/CGI.pm:385 ../IkiWiki/CGI.pm:386 ../IkiWiki.pm:1153 +#: ../IkiWiki/CGI.pm:385 ../IkiWiki/CGI.pm:386 ../IkiWiki.pm:1166 msgid "Error" msgstr "Error" @@ -58,7 +58,8 @@ msgstr "Contenido añadido activado vía web." #: ../IkiWiki/Plugin/aggregate.pm:89 msgid "Nothing to do right now, all feeds are up-to-date!" -msgstr "¡ No hay nada que hacer, todas las fuentes de noticias están actualizadas !" +msgstr "" +"¡ No hay nada que hacer, todas las fuentes de noticias están actualizadas !" #: ../IkiWiki/Plugin/aggregate.pm:216 #, perl-format @@ -159,20 +160,20 @@ msgstr "ya existe una página de nombre %s" msgid "prohibited by allowed_attachments" msgstr "prohibido por la claúsula allowed_attachments" -#: ../IkiWiki/Plugin/attachment.pm:188 +#: ../IkiWiki/Plugin/attachment.pm:189 msgid "bad attachment filename" msgstr "nombre de archivo adjunto erróneo" -#: ../IkiWiki/Plugin/attachment.pm:230 +#: ../IkiWiki/Plugin/attachment.pm:231 msgid "attachment upload" msgstr "enviado el adjunto" -#: ../IkiWiki/Plugin/autoindex.pm:103 +#: ../IkiWiki/Plugin/autoindex.pm:105 msgid "automatic index generation" msgstr "creación de índice automática" #: ../IkiWiki/Plugin/brokenlinks.pm:33 ../IkiWiki/Plugin/editpage.pm:261 -#: ../IkiWiki/Plugin/inline.pm:323 ../IkiWiki/Plugin/opendiscussion.pm:26 +#: ../IkiWiki/Plugin/inline.pm:326 ../IkiWiki/Plugin/opendiscussion.pm:26 #: ../IkiWiki/Plugin/orphans.pm:37 ../IkiWiki/Render.pm:79 #: ../IkiWiki/Render.pm:149 msgid "discussion" @@ -303,20 +304,20 @@ msgstr "falta el parámetro pages" msgid "unknown sort type %s" msgstr "no conozco este tipo de ordenación %s" -#: ../IkiWiki/Plugin/inline.pm:282 +#: ../IkiWiki/Plugin/inline.pm:285 msgid "Add a new post titled:" msgstr "Añadir una entrada nueva titulada:" -#: ../IkiWiki/Plugin/inline.pm:298 +#: ../IkiWiki/Plugin/inline.pm:301 #, perl-format msgid "nonexistant template %s" msgstr "la plantilla %s no existe " -#: ../IkiWiki/Plugin/inline.pm:331 ../IkiWiki/Render.pm:83 +#: ../IkiWiki/Plugin/inline.pm:334 ../IkiWiki/Render.pm:83 msgid "Discussion" msgstr "Comentarios" -#: ../IkiWiki/Plugin/inline.pm:568 +#: ../IkiWiki/Plugin/inline.pm:571 msgid "RPC::XML::Client not found, not pinging" msgstr "No he encontrado el componente RPC::XML::Client, no envío señal alguna" @@ -324,13 +325,15 @@ msgstr "No he encontrado el componente RPC::XML::Client, no envío señal alguna msgid "failed to run dot" msgstr "no he podido ejecutar el programa dot" -#: ../IkiWiki/Plugin/lockedit.pm:46 ../IkiWiki/Plugin/lockedit.pm:60 +#: ../IkiWiki/Plugin/lockedit.pm:49 ../IkiWiki/Plugin/lockedit.pm:66 +#, perl-format msgid "%s is locked and cannot be edited" msgstr "La página %s está bloqueada y no puede modificarse" #: ../IkiWiki/Plugin/mdwn.pm:44 msgid "multimarkdown is enabled, but Text::MultiMarkdown is not installed" -msgstr "el modo multimarkdown está activo, pero no está instalado Text::MultiMarkdown" +msgstr "" +"el modo multimarkdown está activo, pero no está instalado Text::MultiMarkdown" #: ../IkiWiki/Plugin/mdwn.pm:67 #, perl-format @@ -393,7 +396,9 @@ msgstr "Error creando la cuenta de usuario." #: ../IkiWiki/Plugin/passwordauth.pm:257 msgid "No email address, so cannot email password reset instructions." -msgstr "No tengo dirección de correo electrónica, así que no puedo enviar instrucciones para reiniciar la contraseña" +msgstr "" +"No tengo dirección de correo electrónica, así que no puedo enviar " +"instrucciones para reiniciar la contraseña" #: ../IkiWiki/Plugin/passwordauth.pm:291 msgid "Failed to send mail" @@ -401,7 +406,9 @@ msgstr "No he podido enviar el mensaje de correo electrónico" #: ../IkiWiki/Plugin/passwordauth.pm:293 msgid "You have been mailed password reset instructions." -msgstr "Las instrucciones para reinicar la contraseña se le han enviado por correo electrónico" +msgstr "" +"Las instrucciones para reinicar la contraseña se le han enviado por correo " +"electrónico" #: ../IkiWiki/Plugin/passwordauth.pm:328 msgid "incorrect password reset url" @@ -558,16 +565,16 @@ msgstr "%s no está en el directorio fuente por lo que no puede ser borrada" msgid "%s is not a file" msgstr "%s no es un archivo" -#: ../IkiWiki/Plugin/remove.pm:112 +#: ../IkiWiki/Plugin/remove.pm:115 #, perl-format msgid "confirm removal of %s" msgstr "confirme el borrado de %s" -#: ../IkiWiki/Plugin/remove.pm:148 +#: ../IkiWiki/Plugin/remove.pm:152 msgid "Please select the attachments to remove." msgstr "Por favor seleccione los adjuntos que serán borrados." -#: ../IkiWiki/Plugin/remove.pm:188 +#: ../IkiWiki/Plugin/remove.pm:192 msgid "removed" msgstr "borrado" @@ -604,20 +611,20 @@ msgstr "cambiando de nombre %s" msgid "Also rename SubPages and attachments" msgstr "También cambia de nombre las subpáginas y los adjuntos" -#: ../IkiWiki/Plugin/rename.pm:223 +#: ../IkiWiki/Plugin/rename.pm:224 msgid "Only one attachment can be renamed at a time." msgstr "Únicamente un adjunto puede ser renombrado a la vez." -#: ../IkiWiki/Plugin/rename.pm:226 +#: ../IkiWiki/Plugin/rename.pm:227 msgid "Please select the attachment to rename." msgstr "Por favor, seleccione el adjunto al que cambiar el nombre." -#: ../IkiWiki/Plugin/rename.pm:332 +#: ../IkiWiki/Plugin/rename.pm:338 #, perl-format msgid "rename %s to %s" msgstr "%s cambia de nombre a %s" -#: ../IkiWiki/Plugin/rename.pm:484 +#: ../IkiWiki/Plugin/rename.pm:490 #, perl-format msgid "update for rename of %s to %s" msgstr "actualizado el cambio de nombre de %s a %s" @@ -762,13 +769,17 @@ msgstr "complementos" #: ../IkiWiki/Plugin/websetup.pm:395 msgid "" "The configuration changes shown below require a wiki rebuild to take effect." -msgstr "Los cambios en la configuración que se muestran más abajo precisan una reconstrucción del wiki para tener efecto." +msgstr "" +"Los cambios en la configuración que se muestran más abajo precisan una " +"reconstrucción del wiki para tener efecto." #: ../IkiWiki/Plugin/websetup.pm:399 msgid "" "For the configuration changes shown below to fully take effect, you may need " "to rebuild the wiki." -msgstr "Para que los cambios en la configuración mostrados más abajo tengan efecto, es posible que necesite reconstruir el wiki." +msgstr "" +"Para que los cambios en la configuración mostrados más abajo tengan efecto, " +"es posible que necesite reconstruir el wiki." #: ../IkiWiki/Plugin/websetup.pm:433 #, perl-format @@ -780,7 +791,9 @@ msgstr "

    Error: %s finaliza con código distinto de cero (%s)" msgid "" "symlink found in srcdir path (%s) -- set allow_symlinks_before_srcdir to " "allow this" -msgstr "encontrado un enlace simbólico en la ruta del directorio fuente (%s) -- use la directiva allow_symlinks_before_srcdir para permitir la acción" +msgstr "" +"encontrado un enlace simbólico en la ruta del directorio fuente (%s) -- use " +"la directiva allow_symlinks_before_srcdir para permitir la acción" #: ../IkiWiki/Render.pm:277 ../IkiWiki/Render.pm:302 #, perl-format @@ -926,12 +939,14 @@ msgstr "no puedo emplear varios complementos rcs" msgid "failed to load external plugin needed for %s plugin: %s" msgstr "no he podido cargar el complemento externo %s necesario para %s" -#: ../IkiWiki.pm:1136 +#: ../IkiWiki.pm:1149 #, perl-format msgid "preprocessing loop detected on %s at depth %i" -msgstr "se ha detectado en la página %s un bucle de preprocesado en la iteración número %i" +msgstr "" +"se ha detectado en la página %s un bucle de preprocesado en la iteración " +"número %i" -#: ../IkiWiki.pm:1645 +#: ../IkiWiki.pm:1658 msgid "yes" msgstr "si" @@ -949,7 +964,9 @@ msgstr "¿ Qué sistema de control de versiones empleará ?" #: ../auto.setup:20 msgid "What wiki user (or openid) will be wiki admin?" -msgstr "¿ Qué usuario del wiki (ó identificador openid) será el administrador del wiki ? " +msgstr "" +"¿ Qué usuario del wiki (ó identificador openid) será el administrador del " +"wiki ? " #: ../auto.setup:23 msgid "What is the domain name of the web server?" diff --git a/po/ikiwiki.pot b/po/ikiwiki.pot index dbbf986d5..f07f2bf62 100644 --- a/po/ikiwiki.pot +++ b/po/ikiwiki.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2008-10-05 19:11-0400\n" +"POT-Creation-Date: 2008-10-08 17:34-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -167,7 +167,7 @@ msgstr "" msgid "attachment upload" msgstr "" -#: ../IkiWiki/Plugin/autoindex.pm:103 +#: ../IkiWiki/Plugin/autoindex.pm:105 msgid "automatic index generation" msgstr "" @@ -321,7 +321,7 @@ msgstr "" msgid "failed to run dot" msgstr "" -#: ../IkiWiki/Plugin/lockedit.pm:46 ../IkiWiki/Plugin/lockedit.pm:60 +#: ../IkiWiki/Plugin/lockedit.pm:49 ../IkiWiki/Plugin/lockedit.pm:66 #, perl-format msgid "%s is locked and cannot be edited" msgstr "" @@ -554,16 +554,16 @@ msgstr "" msgid "%s is not a file" msgstr "" -#: ../IkiWiki/Plugin/remove.pm:113 +#: ../IkiWiki/Plugin/remove.pm:115 #, perl-format msgid "confirm removal of %s" msgstr "" -#: ../IkiWiki/Plugin/remove.pm:150 +#: ../IkiWiki/Plugin/remove.pm:152 msgid "Please select the attachments to remove." msgstr "" -#: ../IkiWiki/Plugin/remove.pm:190 +#: ../IkiWiki/Plugin/remove.pm:192 msgid "removed" msgstr "" -- cgit v1.2.3 From 33d1c8ec3e76a1777483024bf458e4f237a7cd21 Mon Sep 17 00:00:00 2001 From: "http://josephturian.blogspot.com/" Date: Thu, 9 Oct 2008 14:37:10 -0400 Subject: --- doc/todo/Mailing_list.mdwn | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 doc/todo/Mailing_list.mdwn (limited to 'doc/todo') diff --git a/doc/todo/Mailing_list.mdwn b/doc/todo/Mailing_list.mdwn new file mode 100644 index 000000000..84ec130ae --- /dev/null +++ b/doc/todo/Mailing_list.mdwn @@ -0,0 +1,12 @@ +Please don't shoot me for asking: + +Could we have an ikiwiki mailing list? + +Here's an example use case: +I want to discuss building a feature. Such discussion could happen on the wiki, but I would prefer to---at the least---be able to email ikiwiki developers and ask them to participate in this particular discussion. + +Does this sound okay? + +---[[JosephTurian]] + +[[!tag wishlist]] -- cgit v1.2.3 From 2666da7cd90a8779b284a8ef74d6f1abd3d3a278 Mon Sep 17 00:00:00 2001 From: "http://josephturian.blogspot.com/" Date: Thu, 9 Oct 2008 14:38:56 -0400 Subject: --- doc/todo/latex.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/latex.mdwn b/doc/todo/latex.mdwn index 56d3b1c0c..eb53538b4 100644 --- a/doc/todo/latex.mdwn +++ b/doc/todo/latex.mdwn @@ -23,6 +23,8 @@ Conversely, how about adding a plugin to support exporting to LaTeX? >>> Have a look at [pandoc](http://code.google.com/p/pandoc/). It can make PDFs via pdflatex. --[[roktas]] +>>>> Interesting, just yesterday I was playing with pandoc to make PDFs from my Markdown. Could someone advise me on how to embed these PDFs into ikiwiki? I need some guidance in implementing this. --[[JosephTurian]] + ---- [here](http://ng.l4x.org/gitweb/gitweb.cgi?p=ikiwiki.git/.git;a=blob;f=IkiWiki/Plugin/latex.pm) is a first stab at -- cgit v1.2.3 From 4d368e17c716395acd4bf9c2aab271f53eae126f Mon Sep 17 00:00:00 2001 From: pesco Date: Sat, 11 Oct 2008 11:53:25 -0400 Subject: update on state of the darcs plugin --- doc/todo/darcs.mdwn | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'doc/todo') diff --git a/doc/todo/darcs.mdwn b/doc/todo/darcs.mdwn index a410f5ecf..f383514a2 100644 --- a/doc/todo/darcs.mdwn +++ b/doc/todo/darcs.mdwn @@ -486,11 +486,11 @@ It's got couple of FIXMEs, and a very site-specific filter for recentchanges. No --- -And here's yet another one. :) +And here's yet another one, including an updated `ikiwiki-makerepo`. :) - + (now a darcs repo) -I've taken all the good stuff from the above and added the missing hooks. Some of them I haven't had a chance to test, namely `rcs_rename`, `rcs_remove`, `rcs_commit_staged`, and `rcs_diff`. Also, I'm not experienced with perl and don't know where I should have used the function `possibly_foolish_untaint`. +I've taken all the good stuff from the above and added the missing hooks. The code hasn't seen a lot of testing, so some bugs are likely yet to surface. Also, I'm not experienced with perl and don't know where I should have used the function `possibly_foolish_untaint`. Regarding the repository layout: There are two darcs repositories. One is the `srcdir`, the other we'll call `master`. @@ -523,4 +523,20 @@ Regarding the repository layout: There are two darcs repositories. One is the `s > * Is the the darcs info in [[details]] still up-to-date re this version? > --[[Joey]] +> Update: +> +> I think I've addressed all of the above except for the XML parsing in `darcs_info`. +> The function determines the md5 hash of the last patch the given file appears in. +> That's indeed being done with regexps but my Perl isn't good enough for a quick recode +> right now. +> +> As for the darcs info in [[rcs/details]], it does not accurately describe the way +> this version works. It's similar, but the details differ slightly. +> You could copy my description above to replace it. +> +> There is still some ironing to do, for instance the current version doesn't allow for +> modifying attachments by re-uploading them via CGI ("darcs add failed"). Am I assuming +> correctly that "adding" a file that's already in the repo should just be a no-op? +> --pesco + [[!tag patch]] -- cgit v1.2.3 From 62201f83ed6f98ddbad0df1b4790974dc0acc3f3 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 15 Oct 2008 19:23:53 -0400 Subject: response --- doc/todo/Mailing_list.mdwn | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/Mailing_list.mdwn b/doc/todo/Mailing_list.mdwn index 84ec130ae..b6a207420 100644 --- a/doc/todo/Mailing_list.mdwn +++ b/doc/todo/Mailing_list.mdwn @@ -10,3 +10,11 @@ Does this sound okay? ---[[JosephTurian]] [[!tag wishlist]] + +> People ask for this from time to time, but I personally prefer not to be +> on an ikiwiki mailing list, because limiting public ikiwiki discussion to +> this wiki helps make ikiwiki a better platform for discussion. So some +> (most?) active ikiwiki people subscribe to recentchanges, or to the +> todo/bugs/forum feeds, or to some other feed they create on their user page. +> And there's work on making the discussion pages more structured, on +> accepting comments sent via mail, etc. --[[Joey]] -- cgit v1.2.3 From 20e691fe20ead76d826ab77501c6e9cbc7b487e8 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 15 Oct 2008 19:36:35 -0400 Subject: response --- doc/todo/darcs.mdwn | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'doc/todo') diff --git a/doc/todo/darcs.mdwn b/doc/todo/darcs.mdwn index f383514a2..b8ddfd485 100644 --- a/doc/todo/darcs.mdwn +++ b/doc/todo/darcs.mdwn @@ -490,6 +490,9 @@ And here's yet another one, including an updated `ikiwiki-makerepo`. :) (now a darcs repo) +> Note that there's a 'darcs' branch in git that I'm keeping a copy of your +> code in. Just in case. :-) + I've taken all the good stuff from the above and added the missing hooks. The code hasn't seen a lot of testing, so some bugs are likely yet to surface. Also, I'm not experienced with perl and don't know where I should have used the function `possibly_foolish_untaint`. Regarding the repository layout: There are two darcs repositories. One is the `srcdir`, the other we'll call `master`. @@ -539,4 +542,8 @@ Regarding the repository layout: There are two darcs repositories. One is the `s > correctly that "adding" a file that's already in the repo should just be a no-op? > --pesco +>> It should result in the new file contents being committed by +>> `rcs_commit_staged`. For some revision control systems, which +>> automatically commit modifications, it would be a no-op. --[[Joey]] + [[!tag patch]] -- cgit v1.2.3