Commit Graph

2499 Commits (1e75389a856c8ab8e233b81fd3310169cbe8d57e)

Author SHA1 Message Date
intrigeri ae474d8e14 Merge commit 'upstream/master' into prv/po
Conflicts:

	IkiWiki/Plugin/editpage.pm
	debian/control
	debian/copyright
	doc/todo/need_global_renamepage_hook.mdwn

Signed-off-by: intrigeri <intrigeri@boum.org>
2009-03-08 09:50:27 +01:00
Joey Hess 9a82ef32b9 look for wmd/wmd.js
This means that the underlay needs to have a wmd/wmd/wmd.js,
which is a trifle weird, but it isolates all the wmd stuff in a
single wmd subdirectory of the built wiki. The wmd/images creating
a toplevel images directory was particularly bad.
2009-03-07 19:23:38 -05:00
Joey Hess 72dd9a9a04 make wmd comment support comment editing (I think) 2009-03-07 18:54:26 -05:00
Joey Hess 029cf94493 rebuild not needed
This plugin only affects the page edit, not the compiled wiki.
2009-03-07 14:34:31 -05:00
Joey Hess e7d2da5641 wmd plugin from willu 2009-03-07 14:33:11 -05:00
Joey Hess 062f87ce38 Setup automator: Fix bug in password comparison. Closes: #517654 2009-03-01 15:01:08 -05:00
Joey Hess affd4ca3da goto: Fix typo that broke recentchanges_link compatability. 2009-02-27 13:21:29 -05:00
Joey Hess 596b2906fd bzr: Add missing rcs_diff. (liw) 2009-02-26 14:09:26 -05:00
Joey Hess b30c1b0c38 comments: Avoid showing comment moderation button in prefs to non-admins. 2009-02-26 02:31:13 -05:00
Joey Hess 158c6c3ac8 detect sslcookie set and no https
This is likely a misconfiguration and can cause login to fail as the
browser refuses the send the session cookie back over http.

Not entirely happy with putting the check where I did, since users have to
try to log in, and fail, to see the misconfiguration explained. But I could
not find a better place to put the check.
2009-02-26 01:59:05 -05:00
Joey Hess 63439fa10b bzr: Add missing stub rcs_diff. 2009-02-25 16:56:02 -05:00
Joey Hess 8682daad58 Setup automator: Prompt for password twice. Closes: #516973 2009-02-24 16:35:33 -05:00
Joey Hess f813b10fef rename tag() to tagged(); add docs 2009-02-19 18:54:25 -05:00
Joey Hess e611d4cdc1 add tag() pagespec
patch from jon
2009-02-19 18:49:30 -05:00
Joey Hess 5f96944dd5 typo 2009-02-17 19:37:36 -05:00
Joey Hess 52f2235e60 goto: Fix redirect to comments. 2009-02-17 19:36:58 -05:00
Joey Hess 9acc4d578d template: Load templates in scan mode
This is potentially expensive, but is necessary so that meta and tag
directives, and other links on templates affect the page using the template
reliably.
2009-02-17 13:30:07 -05:00
Joey Hess a4497591f9 Revert "comments" (stupid commit)
This reverts commit bb8b8787ef.
2009-02-17 13:29:08 -05:00
Joey Hess bb8b8787ef comments 2009-02-17 13:25:06 -05:00
Joey Hess adcc349d89 check for empty srcdir
This happens when using -dumpsetup
2009-02-14 03:04:11 -05:00
Joey Hess 684cd73a79 downgrade missing shortcuts page error to warning
and response to bug report
2009-02-14 03:01:35 -05:00
Joey Hess 2c51b18aec move check_canedit, check_content to IkiWiki library from editpage
It no longer makes sense to keep these functions in editpage, because
serveral plugins now exist that use them, and users may want to disable
editpage, while leaving those plugins enabled.

Most notably, comments uses both functions, and it's entirely appropriate
to disable editpage but still want to have comments enabled.

Less likely, attachments, rename, and remove all use check_canedit -- but
it would be unusual indeed to want to use these w/o editpage.
2009-02-12 16:33:35 -05:00
Joey Hess 46819b530b shortcut: If default_pageext is set, first look for shortcuts.default_pageext
Falls back to looking for shortcuts.mdwn for backwards compatabiity; there
probably exist wikis that have changed the pageext but still use
shortcuts.mdwn.
2009-02-12 13:04:20 -05:00
Joey Hess 5e2e95a516 doubled semicolons 2009-02-11 12:30:28 -05:00
Joey Hess badc6c229f Create any missing directory necessary to put the wrapper file into. Closes: #514384 2009-02-09 15:13:12 -05:00
Joey Hess 9711181a3f doubled semicolon 2009-02-04 13:12:05 -05:00
Simon McVittie dd862b4639 Work around XML::Atom strangeness that results in double-encoded posts
See [[bugs/Aggregated_Atom_feeds_are_double-encoded]]. By default,
XML::Atom outputs strings of UTF-8 bytes with the Perl UTF8 flag stripped
off, which IkiWiki assumes to be Latin-1 and re-encodes as UTF-8 on
output. XML::Feed  does not currently (0.41-1) set the magic variable to
change this behaviour (I've filed a bug on CPAN), but IkiWiki can
usefully set the same variable as a workaround.
2009-02-03 19:48:55 +00:00
Joey Hess 3b83e52018 rename apache404 -> 404
This may already work with other web servers that have copied apache's
interface, and it should be easy to add support to it for web servers that
use some other interface. So, make the name more general.
2009-01-31 19:26:36 -05:00
Joey Hess b0361b8efd factor out IE stupididy workaround 2009-01-31 19:02:50 -05:00
Simon McVittie c886bea320 Split cgi_goto into a goto plugin 2009-01-31 23:01:10 +00:00
Simon McVittie 46b880f839 Split apache404 into an independent plugin
Also make it ignore the 'do' parameter at Joey's suggestion, to have one
less thing to remember when configuring.
2009-01-31 22:32:10 +00:00
Simon McVittie dedbe110f2 CGI: pad error responses with 512 bytes of spaces so IE will display them
IE displays its own error responses unless the server's was >= 512 bytes.
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807
2009-01-31 18:26:37 +00:00
Simon McVittie 170b86a2ef CGI: set up goto hook so that /ikiwiki.cgi?do=goto can be an Apache ErrorDocument 2009-01-31 18:09:24 +00:00
Simon McVittie 8322b8c9c8 CGI: add cgi_page_from_404(), which remaps a path like $REDIRECT_URL to an IkiWiki page name
Also add a regression test
2009-01-31 18:07:42 +00:00
Simon McVittie 3e290ce7ee IkiWiki::Wrapper: allow REDIRECT_STATUS and REDIRECT_URL through from environment
This is useful to act as an Apache 404 ErrorDocument.
2009-01-31 18:06:44 +00:00
Simon McVittie 78d1b2340e CGI: if the page is missing, give the "missing page" a 404 status 2009-01-31 16:51:13 +00:00
Simon McVittie 5ce3a01300 CGI: document why commenter and recentchanges_link are supported 2009-01-31 15:05:17 +00:00
Simon McVittie a981d6857f recentchanges: delete CGI hook in favour of the global one 2009-01-31 14:49:25 +00:00
Simon McVittie 4e92548ebc comments: delete cgi hook in favour of the global one 2009-01-31 14:49:12 +00:00
Simon McVittie 18f4aeffb1 CGI: if the "do" parameter is goto, recentchanges_link or commenter, redirect to a page
This can replace equivalent functionality in comments and recentchanges.
2009-01-31 14:48:44 +00:00
Simon McVittie c2dafcb4e5 CGI: add cgi_goto(CGI, [page])
This redirects to the given page (or if none is given, the page parameter
given to the CGI), or displays an error with a create link if the page
doesn't exist.
2009-01-31 14:36:23 +00:00
intrigeri ea753782b2 po: remove all dependencies on nicepagetitle
... as my meta branch probably won't be merged before the po plugin is, contrary
to what I was originally supposing.

This implies removing the po_translation_status_in_links and
po_strictly_refresh_backlinks options.

Added a note to the TODO section to think of bringing these features back later,
as they really enhance user experience on a translatable wiki.

Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-27 17:52:32 +01:00
intrigeri 51badc960d rename hook: instead of modifying the passed-by-name array, return a copy
This is intended to solve Joey's concerns expressed on
http://ikiwiki.info/todo/need_global_renamepage_hook/, i.e. the need to make it
possible to use this hook from external plugins.

A plugin using this hook still can add/modify/remove elements of the
@torename array.

Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-27 17:08:55 +01:00
Joey Hess 5dd67723c1 typo 2009-01-26 20:33:55 -05:00
Joey Hess 5c14c7db61 Merge commit 'smcv/underlay' 2009-01-26 20:13:15 -05:00
Joey Hess 848ff1bf5e Merge commit 'smcv/updated' 2009-01-26 20:05:36 -05:00
Joey Hess d2a7768182 hook function names should be the same as the hook name 2009-01-26 19:13:15 -05:00
intrigeri ca9e45c3ba po: make the "backlinks involve dependencies" feature optional
It can now be configured with the po_strictly_refresh_backlinks setting.

Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-27 00:25:46 +01:00
intrigeri 03ab262319 revert renamepage's hook original name
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-27 00:00:00 +01:00
intrigeri 8915d2553c po: bring back a useful use of scalar
... that was removed in 68869d664b

Without this scalar, a two-cells array is passed to $template->param, which
builds a hash with an odd number of elements.

Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-26 23:21:14 +01:00
intrigeri 78a095aa42 only pass named parameters to the canremove hook
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-26 23:07:19 +01:00
intrigeri f02672c113 only pass named parameters to the canrename hook
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-26 23:02:31 +01:00
intrigeri e0e94d4716 po(formbuilder): stop hunting down non-existent cases
After some thinking about it, I can't find why the type of a page being created
in the CGI could be restricted to po. So the previous case seems enough.

Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-26 22:54:40 +01:00
Joey Hess cf374e97cf add mising hooks and fix syntax error 2009-01-26 14:00:28 -05:00
Joey Hess 73f0011836 remove unnecessary returns
check_canremove/canrename is called only for its side effect (of failing if
removal is not allowed), its return value is never used and returning
something makes that unclear
2009-01-26 13:55:32 -05:00
Joey Hess 9750f929ad remove redundant use
use is file-scoped so warnings and strict are already enabled
inside the second package, and IkiWiki is already loaded
(though not imported into this context)
2009-01-26 13:35:50 -05:00
Joey Hess 9e3dc0af60 non-code changes 2009-01-26 13:33:02 -05:00
Joey Hess aff9bf5a7a more unnecessary parens 2009-01-26 13:28:57 -05:00
Joey Hess 093f8534f1 avoid keeping running if a DOS attack is possible 2009-01-26 13:25:05 -05:00
Joey Hess 98f0d672df remove unnecessary parens 2009-01-26 13:24:33 -05:00
Joey Hess c5642119f7 another useless use of scalar
scalar(undef) is undef, so using scalar here had no effect.
Instead make the function return "", probably avoiding an uninitialized
value warning.
2009-01-26 13:21:33 -05:00
Joey Hess 68869d664b remove useless uses of scalar
if (scalar @array) is written idiomatically in perl as
if (@array).
2009-01-26 13:20:56 -05:00
Joey Hess 526d9dbe10 improve some english
I'm still not happy with the clarity of this warning message.
I don't understand when it could happen or why a warning is needed.
2009-01-26 13:15:29 -05:00
Joey Hess 8e738066bc avoid standalone -e or foo syntax
I prefer to use either of the other two syntaxes perl offers, and not this
one.
2009-01-26 13:10:37 -05:00
Joey Hess 66bc27b485 avoid mixing english with translation
"google search" is english which would get mixed in with translated text.
Instead, usr just the plugin name.
2009-01-26 13:08:25 -05:00
Joey Hess 12eb056b33 Merge branch 'master' into po 2009-01-26 13:05:38 -05:00
Joey Hess ce39f8e000 git: Fix malformed utf8 recieved from git.
If git log outputs malformed utf8 in, eg, usernames, detect it and fix it
up. This avoids commits such as f71abc92aa
breaking things.
2009-01-25 23:13:14 -05:00
Joey Hess 42b3e13739 format moderation queue only at end, avoid O(N^3) bug
It was calling format hooks for each comment on the page.
When relativedate is enabled, that made it insert <script> tags
for each comment. And the browser loaded the same script over and over,
which was slow on its own. But that was nothing compared to running
the onload even over and over.. especially since the hook system
added a new call to the hook each time it loaded.

For a page with 10 comments, that caused the relativedate DOM parsing
code to run 1000 times, I think. Anyway, it was sloow. Now it runs once.
2009-01-25 22:30:28 -05:00
Joey Hess 9d4f396b13 add reject all marked defer checkbox 2009-01-25 22:25:45 -05:00
Joey Hess 4e21af7671 sort comment queue by time, newest first 2009-01-25 19:45:56 -05:00
Joey Hess 7a7e28c55f add a button to prefs page for comment moderation 2009-01-25 19:04:45 -05:00
Joey Hess 9a5085e512 clean up comment preview
Remove actions from it, and avoid a broken title link.
2009-01-25 18:56:47 -05:00
Joey Hess 731fc9e7a2 comments: Add a moderation web interface. 2009-01-25 18:49:57 -05:00
Joey Hess c154fa5d6c comments: If comment content checks fail, store the comment (in .ikiwiki/comments_pending) for moderator review. 2009-01-25 15:42:13 -05:00
Joey Hess ee74e61ffc blogspam: Fix use of blogspam_options and blogspam_server config settings. 2009-01-25 14:37:04 -05:00
Joey Hess ef856a5f7a typo 2009-01-22 21:10:05 -05:00
Joey Hess e1ff06b634 fix uninitialized value warnings
I suspect these are only triggered by spammers.
2009-01-22 20:58:49 -05:00
Joey Hess 6fb0ab580e fix typo 2009-01-22 20:53:47 -05:00
Gabriel McManus 950137eb6c img: only provide alt text if it was specified
if suitable alternate text is unknown, then it should not be given.
empty alt text is suitable mainly for purely decorative images.
(cherry picked from commit 3cd7f67f0cf894f4fd5ba16f68e82e4f7bdbfdc5)
2009-01-21 21:17:57 -05:00
Joey Hess 3547a2a347 fix removal form display
The form was misdisplayed when displayed via comment removal.
2009-01-20 11:12:49 -05:00
Joey Hess 8360e96a86 blogspam: Log spam info on failure. 2009-01-19 14:11:15 -05:00
intrigeri f8c306a21b remove cansave plugin, now replaced by Joey's checkcontent one
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-19 19:53:32 +01:00
intrigeri a3726968bc make checkcontent compatible with hooks that need the full content
Always pass the full (modified) content in `content` named parameter. When the
user edits an existing wiki page, also pass a `diff` named parameter, which
includes only the lines that they added to the page, or modified.

Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-19 19:44:39 +01:00
Simon McVittie c89925048f Add meta field "updated", which can alter the <updated> Atom element
Some aggregators, like Planet, sort by mtime rather than ctime. This
means that posts with modified content come to the top (which seems odd
to me, but is presumably what the aggregator's author or operator
wants), but it also means that posts with insignificant edits (like
adding tags) come to the top too. Atom defines <updated> to be the date
of the last *significant* change, so it's fine that ikiwiki defaults to
using the mtime, but it would be good to have a way for the author to
say "that edit was insignificant, don't use that mtime".
2009-01-18 21:58:24 +00:00
Joey Hess 639f464cb3 Avoid feeding decoded unicode to Term::ReadLine
That resulted in double encoded display when using perl's stub
readline module. Apparently that module unconditionally upgrades
text to utf8, in a quite braindead way.

(Term::ReadLine::Gnu::Perl worked ok.)
2009-01-18 14:52:49 -05:00
Simon McVittie b7cd40c1bb Add underlay plugin 2009-01-18 16:42:12 +00:00
intrigeri 73a7bd2f68 fix previous buggy merge 2009-01-18 00:45:46 +01:00
intrigeri e9e75f5f29 Merge commit 'upstream/master' into prv/po
Conflicts:

	t/syntax.t
2009-01-18 00:38:31 +01:00
Joey Hess 6b681ed299 blogspam api now supports homepage link 2009-01-17 15:39:08 -05:00
Joey Hess cd2ddb57a5 load rpc xml lib on the fly
This way, enabling the plugin via websetup is safe, it can't leave
ikiwiki in a broken state.
2009-01-17 14:56:48 -05:00
Joey Hess 4bede22e4f use short names in comittype
Use mtn for monontone and hg for mercurial. The long names cause ugly
formatting in recentchanges, which has CSS that only allows a few
characters for the commit type column.
2009-01-17 13:39:53 -05:00
intrigeri 832d4d31d1 Merge commit 'upstream/master' into prv/po
Conflicts:

	IkiWiki/Plugin/editpage.pm
	IkiWiki/Plugin/skeleton.pm.example
	doc/plugins/write.mdwn
	t/syntax.t
2009-01-17 14:01:53 +01:00
Joey Hess 7ee92cab40 blogspam: New plugin, adding spam filtering for page editing / comment posting using the BlogSpam.net API. 2009-01-16 22:39:11 -05:00
Joey Hess 16c56af605 make postcomment() pagespecs work while in checkcontent 2009-01-16 21:58:05 -05:00
Joey Hess ae20879e84 add new hook to skeleton 2009-01-16 21:07:40 -05:00
Joey Hess f7b2cfcf50 checkcontent: New hook, can be used to implement arbitrary content filters, including spam filters. 2009-01-16 20:46:55 -05:00
Joey Hess 362a329556 remove xxx comment
IIRC I analised this and the code is right
2009-01-16 19:34:50 -05:00
intrigeri df82b5e62a po: when possible, disable use of Text::WrapI18N in po4a; else warn about too old po4a
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-16 15:07:05 +01:00
intrigeri 523718b181 po(change): re-render all rendered files in one corner case
All meta titles are first extracted at scan time, i.e. before we turn
PO files back into translated markdown; escaping of double-quotes in
PO files breaks the meta plugin's parsing enough to save ugly titles
to %pagestate at this time.

Then, at render time, every page's passes on row through the Great
Rendering Chain (filter->preprocess->linkify->htmlize), and the meta
plugin's preprocess hook is this time in a position to correctly
extract the titles from slave pages.

This is, unfortunately, too late: if the page A, linking to the page B,
is rendered before B, it will display the wrongly-extracted meta title
as the link text to B.

On the one hand, such a corner case only happens on rebuild: on
refresh, every rendered page is fixed to contain correct meta titles.
On the other hand, it can take some time to get every page fixed.
We therefore re-render every rendered page after a rebuild to fix them
at once. As this more or less doubles the time needed to rebuild the
wiki, we do so only when really needed.

Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-16 01:33:07 +01:00
intrigeri 3ba976d1d3 po: pages in underlay dirs are not translatable
Fixes build break due to read-only underlay dirs, e.g. basewiki.

Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-15 23:04:57 +01:00
intrigeri 9abda92324 po(_istranslation): fix unitialized value
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-15 22:45:45 +01:00
intrigeri 5c59ad63df po: fix broken links from slave pages
... by overriding cgiurl.

Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-15 21:49:32 +01:00
intrigeri e6992480e2 Merge commit 'upstream/master' into prv/po
Conflicts:

	debian/control
2009-01-15 20:04:31 +01:00
intrigeri 196f03a987 po: do not add translation status to parentlinks
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-13 13:03:30 +01:00
intrigeri 82197bd0ea Merge commit 'upstream/master' into prv/po 2009-01-13 12:26:43 +01:00
Joey Hess 6d785d6401 Add auto-blog.setup
It will set up an ikiwiki instance tuned for use in blogging.

As part of this change, move the example sites into /usr/share/ikiwiki so
they are available even if docs are not installed.
2009-01-12 19:04:24 -05:00
Joey Hess 85dcc2958a pinger: Get whole url, don't just head.
Asking for only the head worked in my tests, but I've found a site where it
didn't -- apparently ikiwiki didn't get a chance to do or finish the
refresh when HEADed. Getting the whole url, waiting for ikiwiki to finish,
avoided the update problem.
2009-01-11 14:27:27 -05:00
Joey Hess 7a8ea68fc0 Consistently allow use of relative paths in all PageSpecs that take a page name parameter. Previously, match_created_before(), match_created_after(), match_sourcepage(), and match_destpage() did not support that, and the docs were not clear. 2009-01-10 14:36:03 -05:00
Simon McVittie 79676ca445 comments: if the remove plugin is enabled, append a "Remove comment" link 2009-01-10 11:31:24 +00:00
Simon McVittie d70b05971f comments: only try to insert commentuser etc. into templates if the page contained [[!_comment]] 2009-01-10 11:29:56 +00:00
Joey Hess 81b088866b repolist: New plugin to support the rel=vcs-* microformat.
* repolist: New plugin to support the rel=vcs-* microformat.
* goodstuff: Include repolist by default. (But it does nothing until
  configured with the repository locations.)
2009-01-07 16:07:46 -05:00
Joey Hess e1e1d37753 increment interface version 2009-01-07 15:01:43 -05:00
Joey Hess 551544663d comments: Fix cache avoidance hack.
The ?updated needs to come before the #anchor or browsers will not follow
the anchor.
2009-01-07 11:12:32 -05:00
Joey Hess 72ca231fd0 rename: Show full names of affected pages. 2009-01-06 17:29:12 -05:00
Joey Hess e4b7f6badf refactor 2009-01-06 17:28:26 -05:00
Joey Hess 4ce73f2d88 table: Find links in external files in scan pass. 2009-01-06 15:36:32 -05:00
Joey Hess e45f13c2a4 typo 2009-01-06 15:26:46 -05:00
Joey Hess da166e7422 table: Fix misparsed links in external files
linkify data from external files at the same time as data from an inlined
table would be linkified.
2009-01-06 15:05:09 -05:00
Joey Hess bc0de40c3c A recent change to gitweb removed support for the form of diffurl that many ikiwiki setups use. Document how to use the new url form. 2009-01-05 18:26:09 -05:00
intrigeri 4fd2807886 po(isvalidpo): more meaningful error message
... explaining how to go on with edit.

Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-02 18:57:50 +01:00
intrigeri 4ad871810d po: back to the cansave hook, as the form validation is not sufficient
Form validation works, but after trying to save invalid PO content, the user is
brought back to the page he/she was editing, without any single clue to explain
why it was not saved. The dedicated cansave hook is thus necessary.

Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-02 18:51:32 +01:00
intrigeri 7ef0c19cdf po: first attempt to replace cansave hook with form validate tweaks
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-02 17:51:17 +01:00
intrigeri 33f9eeb4fb po/i18n: move the function names out of the translatable strings
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-02 17:24:54 +01:00
intrigeri da26603e07 po: updated copyright years
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-02 16:54:03 +01:00
intrigeri fae3cef41a po(formbuilder_setup): remove the rename/remove buttons on slave pages
This has to be done after the rename/remove plugins have added
their buttons, so we set this hook to be run last.

The canrename/canremove hooks already ensure this is forbidden
at the backend level, so this is only UI sugar.

Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-02 16:02:25 +01:00
intrigeri e5222db332 po: avoid warnings and possible bugs with nested named subroutines
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-02 15:14:58 +01:00
intrigeri 14a79751e3 po: gettext-ize error messages
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-02 15:00:34 +01:00
intrigeri 724dbabc4a po: do not allow to create pages of type po
The main reason to do so is to bypass the "favor the type of linking page on
page creation" logic, which is unsuitable when a broken link is clicked on
a slave (PO) page.

Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-02 14:09:34 +01:00
intrigeri d1642e4cd9 po: cosmetic changes to percent translated display
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-02 12:36:07 +01:00
intrigeri f58cb48f1f po(formbuilder_setup): use a template to display the warning
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-02 12:27:10 +01:00
intrigeri 0f89ef0579 po: test formbuilder_setup hook to warn about new master page's language
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-02 12:15:21 +01:00
intrigeri 876808568e po: require ikiwiki plugin interface 3.0
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-02 11:22:54 +01:00
intrigeri 949c4c0c3a po: send msgfmt output to /dev/null, else it creates messages.mo files
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 23:33:16 +01:00
intrigeri d0c9c21687 po: fix error messages
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 23:32:52 +01:00
intrigeri c821cee108 po(cansave): check PO validity using new isvalidpo function
... because Po4a's parser does not care about malformed PO data.
Use gettext's msgfmt program instead.

Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 23:12:08 +01:00
intrigeri a5de24ec97 skeleton plugin: added the canrename and canremove hooks
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 22:20:54 +01:00
intrigeri 1d3da099b4 po(cansave): use po_to_markup to check PO validity
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 22:16:43 +01:00
intrigeri 5ebb42494d po: move most of filter code to its own function
Allow this new po_to_markup function to run in non-fatal mode,
we need this in our cansave hook.

Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 22:16:07 +01:00
intrigeri 41eca80e25 po: register a (dummy) cansave hook
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 19:48:48 +01:00
intrigeri d69fdf6445 editpage: added a cansave hook
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 19:48:27 +01:00
intrigeri e895157397 Pass src, srcfile, dest and destfile to the canrename hook.
This is not needed by the use I'm doing of it, but seems more consistent to me.
Future users of this hook may need this data to make their mind.

Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 18:04:37 +01:00
intrigeri 131d2d4e7c po: bugfix
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 17:56:51 +01:00
intrigeri 80a630a3fb po: fix canrename hook
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 17:49:10 +01:00
intrigeri a8105f6859 rename: pass the CGI and session to the rename hook
The po plugin remame + canrename hook combination will need this.

Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 17:47:20 +01:00
intrigeri b24f236dfa po: use the new canrename hook to prevent translation renames in the CGI
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 16:52:43 +01:00
intrigeri 3316f9cc73 rename: implemented new canrename hook
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 16:52:34 +01:00
intrigeri 741b26aa17 remove: implemented a new canremove hook; use it in the po plugin
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 16:44:39 +01:00
intrigeri 5c2f6cb893 Merge commit 'upstream/master' into prv/po 2009-01-01 13:34:00 +01:00
intrigeri c3af3840a2 Render.pm: also use 'our' for $backlinks_calculated
Since %backlinks are now declared with 'our', this variable must be as well.

Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 13:07:08 +01:00
intrigeri 5412a95fd0 po(myurlto): more robust run_by_editpage logic
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 01:14:06 +01:00
intrigeri 37b8822762 po: some code/comments refactoring
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 01:08:40 +01:00
intrigeri 856de5734d po: follow new coding style (removed Vim folding markers
)
Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 01:08:35 +01:00
intrigeri 85f865b5d9 po: added postscan hook, to make pages depend on the pages linking to them
... so that nicepagetitle hook's effects, such as translation status displayed
in links, are updated when the linked page changes.

The replacement of 'my %backlinks' with 'our %backlinks' in Render.pm made this
work: previously, every postscan hook was called with an almost empty
%backlinks, which defeated all my attempts to implement this feature.

This feature hits performance a bit. Its cost was quite small in my real-world
use-cases (a few percents bigger refresh time), but could be bigger in worst
cases. Time will tell.

NB: this hack could also be used by my meta branch. It may even be a ikiwiki
optional feature.

Signed-off-by: intrigeri <intrigeri@boum.org>
2009-01-01 01:08:10 +01:00
intrigeri 885e4b607a po: new po_translation_status_in_links option
... to make configurable the last implemented feature.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-31 16:45:55 +01:00
intrigeri be092e5639 po(nicepagetitle): forgot to display %
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-31 16:34:08 +01:00
intrigeri 63c2bf57cb po(percenttranslated): fix issue with leading /
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-31 16:31:18 +01:00
intrigeri 0d874f0b69 po(nicepagetitle): append translation status to links to translated pages
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-31 15:45:05 +01:00
intrigeri 805e16ec65 po: inject our own (currently a no-op) nicepagetitle function
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-31 15:40:32 +01:00
intrigeri 149a3e65a7 po: fix redirect after edit, using a somehow tricky hack
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-31 13:02:48 +01:00
intrigeri bd10381103 po: delete translations of deleted master pages
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-31 11:47:18 +01:00
Joey Hess 3e8b7a6b19 websetup: Avoid a crash when a new array setup item has been added in a new ikiwiki release, and is thus not present in the setup file yet.
This happened with camelcase_ignore. The code tried to convert the undef
value for it into an array.
2008-12-31 00:44:54 -05:00
Joey Hess 0daa4eb521 make sure value is defined before using it as an array 2008-12-31 00:08:46 -05:00
intrigeri cd62acfb47 po: remove debug statements 2008-12-30 23:10:12 +01:00
intrigeri f586eafe90 po: remove renamed pages special handling, not needed anymore
Thanks to the new rename hook behaviour, the whole renaming work is now done
by the rename plugin, and we don't need to remember which pages were renamed.
2008-12-30 23:00:46 +01:00
intrigeri 5738f30a29 the rename hook can now change the list of pages to rename
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-30 22:55:04 +01:00
intrigeri c01485ae1a renamed the renamepage hook to renamelink, added rename hook
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-30 21:36:40 +01:00
intrigeri 21add7ffa8 Merge commit 'upstream/master' into prv/po
Conflicts:

	debian/control
	debian/copyright
	doc/ikiwiki/pagespec.mdwn

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-12-30 18:24:36 +01:00
Joey Hess f34dc3d8bd htmlbalance: Demand-load HTML::TreeBuilder to avoid failing test suite if it is not present. 2008-12-29 15:08:18 -05:00
Joey Hess 0711c0c548 comments: Add cache avoidance.
This got lost when we added the jump-to-comment anchor.
2008-12-28 22:20:22 -05:00
Joey Hess ec14786c90 releasing version 2.72 2008-12-28 15:05:05 -05:00
Joey Hess 25879952b1 typo 2008-12-26 21:45:12 -05:00
Joey Hess c4f3d0554a Merge branch 'master' into next 2008-12-26 16:11:13 -05:00
Joey Hess 7da319efc6 inline: Run format hook first
inline has a format hook that is an optimisation hack. Until this hook
runs, the inlined content is not present on the page. This can prevent
other format hooks, that process that content, from acting on inlined
content. In bug ##509710, we discovered this happened commonly for the
embed plugin, but it could in theory happen for many other plugins (color,
cutpaste, etc) that use format to fill in special html after sanitization.

The ordering was essentially random (hash key order). That's kinda a good
thing, because hooks should be independent of other hooks and able to run
in any order. But for things like inline, that just doesn't work.

To fix the immediate problem, let's make hooks able to be registered as
running "first". There was already the ability to make them run "last".

Now, this simple first/middle/last ordering is obviously not going to work
if a lot of things need to run first, or last, since then we'll be back to
being unable to specify ordering inside those sets. But before worrying about
that too much, and considering dependency ordering, etc, observe how few
plugins use last ordering: Exactly one needs it. And, so far, exactly one
needs first ordering. So for now, KISS.

Another implementation note: I could have sorted the plugins with
first/last/middle as the primary key, and plugin name secondary, to get a
guaranteed stable order. Instead, I chose to preserve hash order. Two
opposing things pulled me toward that decision:

1. Since has order is randomish, it will ensure that no accidental
   ordering assumptions are made.
2. Assume for a minute that ordering matters a lot more than expected.
   Drastically changing the order a particular configuration uses could
   result in a lot of subtle bugs cropping up. (I hope this assumption is
   false, partly due to #1, but can't rule it out.)
2008-12-26 16:09:23 -05:00
Joey Hess 6f1539320b Merge branch 'master' into next 2008-12-26 14:07:25 -05:00
Joey Hess 9db06329c9 comments: Deal with users entering unqualified or partial urls.
People seem to be able to expect to enter www.foo.com and get away with it.
The resulting my.wiki/www.foo.com link was not ideal.

To fix it, use URI::Heuristic to expand such things into a real url. It
even looks up hostnames in the DNS if necessary.
2008-12-26 14:07:19 -05:00
Joey Hess 914c839ceb Merge branch 'master' into next
Conflicts:

	IkiWiki/Plugin/googlecalendar.pm
2008-12-25 16:36:16 -05:00
Joey Hess 0d406010ff googlecalendar: Add runtime deprecation warning. 2008-12-25 16:31:58 -05:00
Joey Hess 3fbe2569ff remove deprecated googlecalendar plugin 2008-12-24 16:22:35 -05:00
Joey Hess 7ba65e7f4b remove deprecated admin prefs
A new ikiwiki-transition moveprefs subcommand can pull the old data out of
the userdb and inject it into the setup file.

Note that it leaves the old values behind in the userdb too. I did this
because I didn't want to lose data if it fails writing the setup file for
some reason, and the old data in the userdb will only use a small amount of
space. Running the command multiple times will mostly not change anything.
2008-12-24 16:16:03 -05:00
Joey Hess c9e65fded1 camelcase: Add camelcase_ignore setting. 2008-12-23 19:11:03 -05:00
Joey Hess 678d467a40 finalise version 3.00 of the plugin api 2008-12-23 16:34:19 -05:00
Joey Hess 14a9e704c1 enable aggregate_internal by default 2008-12-23 16:08:21 -05:00
Simon McVittie 05bb65fc68 recentchanges_link CGI: If the linked page is internal, use its permalink
This fixes a bug, that comments appear in recentchanges as broken links.
2008-12-22 23:02:08 +00:00
Joey Hess 79d2d44db2 Merge commit 'smcv/openid' 2008-12-21 13:13:28 -05:00
Simon McVittie d0d598e429 comments: substitute commentsurl and atomcommentsurl for use in feeds 2008-12-21 17:15:49 +00:00
Simon McVittie 801dc76bf0 openid: in &openiduser, allow subdirectory-style providers to end with '/'
This improves the display of OpenIDs like 'http://id.mayfirst.org/jamie/'
(taking an example from the IkiWiki commit log).
2008-12-21 16:36:22 +00:00
Simon McVittie e0cd19f30b openid: in &openiduser, let domain-style providers have arbitrarily many subdomains
This leads to better display for OpenIDs like smcv.pseudorandom.co.uk
and thm.id.fedoraproject.org (to take a couple of examples from the
IkiWiki commit history).
2008-12-21 16:36:10 +00:00
Simon McVittie 95b3bbbf7c comments: run pagetemplate hooks
This fixes the bug that comments are always said to be from an anonymous
user at an unknown IP address.
2008-12-21 15:08:14 +00:00
Simon McVittie bc66a00b90 comments: linkify and preprocess preview with correct 'page' param 2008-12-21 15:07:36 +00:00
Joey Hess c84fcdd32a meta: Process meta date during scan pass so that the date will always affect sorting in inlines. 2008-12-21 01:52:08 -05:00
Joey Hess c53a3a1d3e avoid storing transient state in pagestate
None of the comment state needs to be stored through the a later run of
ikiwiki, so move it all from pagestate to a more transient storage.

This is assuming that we'll never want to add pagespecs to search against
the comment state. Pagespecs like author() are why the meta plugin does
store its meta data in pagestate -- the data can be needed later to match
against.
2008-12-20 20:55:38 -05:00
Simon McVittie 9e889c39ed comments: Rename COMMENTURL to ADDCOMMENTURL to avoid confusion with COMMENTAUTHORURL
Also refactor page.tmpl to use if/else rather than unless/if.
2008-12-20 17:34:55 +00:00
Simon McVittie 8ed94c0a18 comments: pass COMMENTOPENID to templates 2008-12-20 17:34:55 +00:00
Simon McVittie 8a9f4e225f comments: remove linkuser(), it's been integrated into preprocess() now 2008-12-20 17:34:55 +00:00
Simon McVittie f4e69ed815 _comment directive: if the user looks like an OpenID, store that 2008-12-20 17:34:54 +00:00
Joey Hess 61f8ea7f1d avoid uninitialized value
This can happen when a new field,
such as the new lasttry, is added.
2008-12-19 17:57:09 -05:00
Joey Hess 301733ba13 fix comment permalink to always point to comment parent page 2008-12-19 17:33:40 -05:00
Joey Hess 4bdeec4961 remove cruft
wtf does it do? absolutely nothing
2008-12-19 14:09:39 -05:00
Joey Hess 79a787a466 rename comments_form to editcomment 2008-12-19 14:07:22 -05:00
Joey Hess ddabb010b2 rename comments_display to comment 2008-12-19 14:03:26 -05:00
Joey Hess f7fc062a12 replace discussion links on pages with comments link
The thinking here is that having both a Discussion page and comments for
the same page is redundant, and certianly not what you want if you enable
comments for a page. At first I considered making configurable via pagespec
what pages got discussion links. But that would mean testing a new pagespec
for every page, and a redundant config setting to keep in sync. So intead,
take a lead from my previous change to make inlined pages have a comments
link, and change the discussion link at the top of regular pages to link to
their comments.

(Implementation is a bit optimised to avoid redundant pagespec checking.)
2008-12-19 13:55:41 -05:00
Joey Hess 7521dd6c75 jump to comment after posting
Jumping to the just posted comment was the imputus, but I killed a number
of birds here.

Added a INLINEPAGE template variable, which can be used to add anchors to
any inline template.

To keep that sufficiently general, it is the full page name, so the
comment anchors and links changed form.

Got rid of the FIXMEd hardcoded html anchor div.

More importantly, the anchor is now to the very top of the comment, not the
text below. So you can see the title, and how it attributes you.

Avoid changing the permalink of pages that are not really comments, but
happen to contain the _comment directive. I think that behavior was a bug,
though not a likely one to occur since _comment should only really be used
on comment pages.
2008-12-18 20:58:16 -05:00
Joey Hess f3bec255e4 aggregate: If a feed fails to be downloaded, try again immediatly next time aggregation is run, even if the usual time has not passed. Closes: #508622 (Michael Gold) 2008-12-17 21:27:28 -05:00
Joey Hess 81165dd2e0 jump to comments anchor after post
Not ideal, it would be nicer to jump to the actual comment posted, but no
anchor is available.
2008-12-17 20:29:55 -05:00
Joey Hess 339bfbd44a typo 2008-12-17 20:22:42 -05:00
Joey Hess cd7ac8f72a add Comments link when displaying a page inline
This link will supplant the usual Discussion link for pages
that have comments enabled.
2008-12-17 19:38:02 -05:00
Joey Hess 5feffc8b0b fix test when comments_closed_pagespec is empty 2008-12-17 19:06:29 -05:00
Joey Hess 140c0bacba change around comments pagespecs
I think it is clearer to have one pagespec that controls all pages with
comments, and a separate pagespec that can be used to close new comments on
a subset of those pages.
2008-12-17 18:50:04 -05:00
Joey Hess 9b837fd5ed fix default values for config settings
defaults cannot be set in getsetup, do it in checkconfig to avoid
uninitialized value warnings.
2008-12-17 17:05:49 -05:00
Joey Hess bb93fccf06 Coding style change: Remove explcit vim folding markers. 2008-12-17 15:22:16 -05:00
Joey Hess 985b229be6 checksessionexpiry: rework
This function as factored out was a bit confusing, I think this makes more
sense.
2008-12-17 14:26:08 -05:00
Joey Hess 613a54a3cb Merge branch 'master' into comments 2008-12-17 14:06:57 -05:00
Joey Hess f9b87a9f8b monotone: When getting the log, tell monotone how many entries we want, rather than closing the pipe, which it dislikes. (thm) 2008-12-17 13:59:12 -05:00
Joey Hess b2366f764b rename: Fix double-escaping of page name in edit box.
titlepage normally escapes, but so does formbuilder.
2008-12-17 13:56:10 -05:00
Joey Hess 15ec55eff5 elide unnecessary variables 2008-12-12 15:38:23 -05:00
Joey Hess ef972a871b remove fixme
sessioncgi hooks are always called with the wiki locked
2008-12-12 15:25:12 -05:00
Joey Hess 928f6938d2 fix redefinition of $author 2008-12-12 15:22:43 -05:00
Joey Hess 9557c7c890 move related code together 2008-12-12 15:19:01 -05:00
Joey Hess f3735891ca whitespace 2008-12-12 15:13:07 -05:00
Joey Hess 18eeb068a6 don't explicitly use inline
loadplugin("inline") should take care of that
2008-12-12 15:10:17 -05:00
Joey Hess 2a7849b838 avoid unnecessary variable 2008-12-12 15:08:06 -05:00
Joey Hess 0ced5995d5 get rid of the [postcomment] hack
I think that using a flag variable is sorta cleaner.

(This is untested.)
2008-12-12 15:05:26 -05:00
Joey Hess 38c92e63bb move getsetup to usual place 2008-12-12 14:59:23 -05:00
Simon McVittie 473160c947 htmlbalance: don't compact whitespace, and set misc other options
Not compacting whitespace is the most important one: now that we run
sanitize hooks on individual posted comments in the comments plugin,
whitespace that is significant to Markdown (but not HTML) is lost.
(cherry picked from commit cb5aaa3cee)
2008-12-12 14:23:12 -05:00
Joey Hess 41efa5ac92 Merge branch 'master' into comments 2008-12-12 14:21:08 -05:00
Joey Hess 88e8d4bf8d meta: Pass info to htmlscrubber so htmlscrubber_skip can take effect. 2008-12-12 14:06:45 -05:00
Simon McVittie 1942fc3bd6 comments: Store dates in GMT and in ISO-8601
The [[!_comment]] directive is a serialization format, not something for
presentation to users, so we should use the least ambiguous possible
representation.
2008-12-12 11:02:41 +00:00
Joey Hess 8d3a3c6a1e simplifiy logic 2008-12-11 17:31:57 -05:00
Simon McVittie f2d5ead6af comments: Change internal-use-only directive from [[!comment]] to [[!_comment]] 2008-12-11 21:23:55 +00:00
Simon McVittie dd1fa13bce comments: Use new feedfile, emptyfeeds options to inline 2008-12-11 21:19:50 +00:00
Simon McVittie 3560460eb6 comments: don't interpolate IP into anonymous user's "name"
If an admin wants the IP in the comment display template they can still
get it (the default template shows it).
2008-12-11 21:14:05 +00:00
Simon McVittie 1698364da0 comments: fix invocation of possibly_foolish_untaint 2008-12-11 21:14:05 +00:00
Simon McVittie fbf145ca3f comments: avoid warning if there's no subject 2008-12-11 21:14:05 +00:00
Simon McVittie a5889912b3 comments: Optionally allow anonymous commenters to set their name/URL.
Also provide a way for the comment template to pick up the verified
username/IP.
2008-12-11 21:14:05 +00:00
Simon McVittie 0a69c7ed56 comments: Remove some dead code 2008-12-11 21:14:05 +00:00
Simon McVittie 44a7d77a30 comments: rename main field to "editcontent" consistent with editpage
This has the side-effect that Ikiwiki's default style.css gives the text
box 100% width.
2008-12-11 21:14:05 +00:00
Simon McVittie edb69335f2 comments: instead of hard-coding mdwn, allow any supported page format 2008-12-11 21:14:05 +00:00
Simon McVittie 9af0f04df3 comments: Save comments as a file with one big [[!comment]] directive.
This delays all comment formatting until the last possible time, allows
us to set metadata without worrying that commenters may be able to evade
it, and means that changes to how a comment is saved can be handled
gracefully. It also gives us somewhere to put the commenter's username
or IP address for later reference.
2008-12-11 21:14:05 +00:00
Simon McVittie 6a986a8a0b Remove dead code for preprocessing [[!comments]] 2008-12-11 21:14:05 +00:00
Simon McVittie 1d696aef2c comments: Duplicate logic and CGI hook from recentchanges to link user pages correctly 2008-12-11 21:14:05 +00:00
Simon McVittie f88870f102 Qualify name of formattime() correctly 2008-12-11 21:14:04 +00:00
Simon McVittie 80e84e32bf Delay checking for session expiry til we actually post a comment 2008-12-11 21:14:04 +00:00
Simon McVittie 24bfc3fdc5 comments: record the time at which each comment was posted 2008-12-11 21:14:04 +00:00
Simon McVittie e66e2c2a7e comments: Use a checkconfig hook to get the default value of comments_pagename 2008-12-11 21:14:04 +00:00
Simon McVittie 4ff161ba0b comments: render comments/commenturl in page.tmpl 2008-12-11 21:14:04 +00:00
Simon McVittie 49eabc676a comments: use global config to decide whether commenting is allowed, and for name of page
Also:
* decide comment page name sooner
* set permalink on it
2008-12-11 21:14:04 +00:00
Simon McVittie a9b0b3da5f comments: use global configuration for allow_directives, commit, and pagename 2008-12-11 21:14:04 +00:00
Simon McVittie d35a2bd2de comments: Add some global configuration 2008-12-11 21:14:04 +00:00
Simon McVittie 4972baac4d comments: make preprocess a no-op 2008-12-11 21:14:04 +00:00
Simon McVittie c9bb8b03a4 comments: document what linkuser does 2008-12-11 21:14:03 +00:00
Simon McVittie 404792c618 comments: add a stub pagetemplate hook to show the comments 2008-12-11 21:14:03 +00:00
Simon McVittie 3abfc1d71c comments: Use HTML entities to escape directives 2008-12-11 21:14:03 +00:00
Simon McVittie 430ac61f21 Embed comments into comments_embed.tmpl rather than concatenating in perl 2008-12-11 21:14:03 +00:00
Simon McVittie 286dbb0541 comments: use CGI module's checksessionexpiry 2008-12-11 21:14:03 +00:00
Simon McVittie 9a6005a212 editpage: factor out checksessionexpiry into IkiWiki::CGI 2008-12-11 21:14:03 +00:00
Simon McVittie cb5aaa3cee htmlbalance: don't compact whitespace, and set misc other options
Not compacting whitespace is the most important one: now that we run
sanitize hooks on individual posted comments in the comments plugin,
whitespace that is significant to Markdown (but not HTML) is lost.
2008-12-11 21:14:03 +00:00
Simon McVittie 249ea2ed75 comments: remove allowhtml option, just switch it on all the time
Now that posts are individually sanitized, that should be safe.
2008-12-11 21:14:03 +00:00
Simon McVittie 4663f364bb comments: load inline and mdwn lazily 2008-12-11 21:14:03 +00:00
Simon McVittie 9d92fd5eb0 comments: don't rely on mdwn getting loaded first 2008-12-11 21:14:03 +00:00
Simon McVittie ebe140201e comments: sanitize the body of each comment before posting it
This should ensure that users can't "break out" from the enclosing
<div>, making it impossible to forge comments (assuming htmlscrubber
is enabled, and so is either htmlbalance or htmltidy).
2008-12-11 21:14:03 +00:00
Simon McVittie 57e40b9ce5 Fix typo that led to comments being blanked 2008-12-11 21:14:02 +00:00
Simon McVittie 3d4aa065d6 postcomment: Rename plugin to comments, use *._comment files
The PageSpec is still called "postcomment" since that's what it means.
2008-12-11 21:14:02 +00:00
Simon McVittie 3c9ccb406b Rename smcvpostcomment plugin to postcomment to propose for inclusion 2008-12-11 21:14:02 +00:00
Simon McVittie b7db3444a5 smcvpostcomment: allow commenting to be closed 2008-12-11 21:14:02 +00:00
Simon McVittie f49603bf86 smcvpostcomment: import other plugins lazily and remove unnecessary use of CGI 2008-12-11 21:14:02 +00:00
Simon McVittie 442e4e7e12 smcvpostcomment: allow inlining to be disabled, and pass through atom etc. better 2008-12-11 21:14:02 +00:00
Simon McVittie bb4eb07bdd smcvpostcomment: make allowhtml etc. configurable, and don't allow commenting on pages where comments have never been allowed 2008-12-11 21:14:02 +00:00
Simon McVittie d18adfb1ad smcvpostcomment: indicate in form whether HTML and directives are allowed 2008-12-11 21:14:02 +00:00
Simon McVittie 1bd1b03766 smcvpostcomment: remove HTML if not allowed 2008-12-11 21:14:02 +00:00
Simon McVittie 660a4ef151 smcvpostcomment: always allow wikilinks, and do access control
wikilinks are harmless, so we might as well allow them.

Access control for this plugin is a bit odd, since we specifically
don't want to allow comments to be edited - so the check is whether the
user is allowed to edit a deliberately invalid page name,
page/commented/on[smcvpostcomment]. You can put smcvpostcomment(*)
or smcvpostcomment(some/subdir/*) in $config{anonok_pagespec}
or the opposite in $config{locked_pages} to allow "editing" (really
just posting) comments.
2008-12-11 21:14:02 +00:00
Simon McVittie 798dea2033 smcvpostcomment: reduce length of subject field 2008-12-11 21:14:02 +00:00
Simon McVittie 29862a8cc8 smcvpostcomment: explain what $fake is for 2008-12-11 21:14:01 +00:00
Simon McVittie 42b15f7633 smcvpostcomment: avoid warnings if form field 'body' is undef 2008-12-11 21:14:01 +00:00
Simon McVittie e65c7b73af smcvpostcomment: load inline plugin more forcibly 2008-12-11 21:14:01 +00:00
Simon McVittie 49835784d8 smcvpostcomment: use better names for special comment files 2008-12-11 21:14:01 +00:00
Simon McVittie bd8c4674a8 smcvpostcomment: use gettext where appropriate 2008-12-11 21:14:01 +00:00
Simon McVittie f77f7a02a6 Add initial version of a postcomment plugin (temporarily namespaced as smcvpostcomment) 2008-12-11 21:14:01 +00:00
Joey Hess b67632cdcd inline: Support feedfile option to change the filename of the feed generated. 2008-12-11 15:01:26 -05:00
Joey Hess 63eb9d834e inline: Support emptyfeeds=no option to skip generating empty feeds. 2008-12-11 14:04:38 -05:00
Joey Hess 38f5e3ba69 move feedpages application up
I wanted this nearer to the top, but decided to put it after the
add_depends. Reasoning: It's possible with a combinaton of feedpages and
show options to make @list and @feedlist contain completly differing sets
of pages. We want to add_depends all pages in both sets. We could combine
the two lists and add_depends that, but it's slightly more efficient to
defer reducing @feedlist, and add_depends whichever list is longer.
2008-12-11 13:58:40 -05:00
intrigeri 3190e5cea7 Merge commit 'upstream/master' into prv/po 2008-11-13 04:39:53 +01:00
intrigeri 5eed0fd97d po(change): reset renamed pages status at a better time
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-13 04:37:26 +01:00
intrigeri d795a295c9 po: initial infrastructure to deal with renamed master page
This is a skeleton that does nothing yet.
See the comments in the code for an overview of the issue that arises, due to
the renamepage hook never being called globally.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-13 03:55:55 +01:00
intrigeri c390056eb2 po(delete): added hook, and function skeleton
Not implemented yet, 'cos the renamepage hook has to come first.
Else translations would be deleted on rename, what a shame.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-13 01:38:22 +01:00
intrigeri cb1fe44f5d po(change): avoid losing information before guessing the same...
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-13 01:07:52 +01:00
intrigeri 8745d67f06 po(istranslatablefile): extracted this from istranslatable
... will need this soon to deal with master file deletion.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-13 00:56:23 +01:00
intrigeri 190c641c8a po(otherlanguages): return pages that should exist
... instead of already existing ones.
This fixes the "missing otherlanguages links on master pages just created via
the CGI" bug.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-12 23:27:30 +01:00
intrigeri 36312b13b4 po: memoized istranslatable, eventually
And enjoy a 10% rebuild time enhancement on a complex wiki full of maps and
other pseudo-dynamic content, with some other costly plugins enabled. So it
could well mean 20% on a more usual wiki.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-12 22:32:47 +01:00
intrigeri 10c4e858b8 po(change): flush Memoize cache, to fix bug after rename/remove
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-12 21:18:48 +01:00
intrigeri c440a39ba4 po(htmlize): ignore PO files not managed by this plugin
This way, the po plugin will not appropriate PO files it is not responsible for,
and PO files existing before this plugin was enabled can coexist peacefully with
our own ones.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-12 18:06:04 +01:00
intrigeri 2f27eb9693 po: ooops, fixed just introduced bug
(I just removed in istranslation and _istranslation the dependency on
istranslatable... which broke things in a subtle way, hard to see at the first
glance.)

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-12 17:52:00 +01:00
intrigeri e18a9d9a88 parentlinks: fixed links when po plugin is enabled
(and usedirs is disabled)

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-12 17:36:00 +01:00
intrigeri aed42eb34a po: fix istranslation/istranslatable for pages starting with /
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-12 17:29:12 +01:00
intrigeri f4815e3b12 po(mybestlink): fixed when fed with path beginning with /
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-12 16:54:51 +01:00
intrigeri eba2dee941 po: compute internal links from a slave page relative to its master page
e.g. a link appearing on a slave page links to its masterpage's subpages.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-12 15:04:50 +01:00
Joey Hess ecd4f0ee55 make unlockwiki drop the cgilock
This is necessary so that things that fork to the background,
like pinger, and inline ping, don't block other cgis from running.

Note that websetup also calls unlockwiki, before refreshing / rebuilding
the wiki. It makes perfect sense for that not to block other cgis.
2008-11-11 20:48:02 -05:00
intrigeri b19d0d3d24 Merge commit 'upstream/po' into prv/po 2008-11-12 01:08:57 +01:00
Joey Hess 0d1593a201 Merge commit 'intrigeri/po' into po 2008-11-11 17:52:51 -05:00
Joey Hess 2a56ec6644 Merge branch 'master' into po 2008-11-11 17:52:32 -05:00
intrigeri 40ffc92953 po: fixed bug when a new translatable page is created
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11 23:04:58 +01:00
intrigeri 2b4e76a961 po: change a bit the way links are generated
This will soon enable usage of translated page titles in link.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11 22:29:47 +01:00
Joey Hess eef8b966b3 O_CREATE needs mode 2008-11-11 15:53:55 -05:00
Joey Hess 9a48669f1e avoid multiple ikiwiki cgi processes piling up, eating all memory, and thrashing
Fixed by making the cgi wrapper wait on a cgilock.
If you had to set apache's MaxClients low to avoid ikiwiki thrashing
your server, you can now turn it up to a high value.

The downside to this is that a cgi call that doesn't need to call lockwiki
will be serialised by this so only one can run at a time. (For example,
do=search.) There are few such calls, and all of them call loadindex,
so each still eats gobs of memory, so serialising them still seems ok.
2008-11-11 15:40:04 -05:00
Joey Hess 6611f3a2d9 bzr: Fix dates for recentchanges. 2008-11-11 13:44:47 -05:00
intrigeri f0abaa9fc9 po: fixed link to home page when po_link_to=negotiated, added testcase
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11 18:42:14 +01:00
intrigeri f0e796d9a1 po(change): fix uninitialized variables when running IkiWiki::refresh()
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11 16:04:40 +01:00
intrigeri 43a1d36378 po: added HOMEPAGEURL template variable, documented when to use it
Hopefully all links should now be consistent with the chosen linking behavior,
but who knows...

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11 15:27:39 +01:00
intrigeri cfe101fff9 po: fixed link to homepage from non-translation page
Added testcases for this bug.
It remains broken when generated from <TMPL_VAR BASEURL>, though.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11 15:06:26 +01:00
intrigeri 6b82ef44b0 po: some code simplification/clarification
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11 14:11:34 +01:00
intrigeri 3d8d47d785 Merge commit 'upstream/master' into prv/po 2008-11-11 04:40:24 +01:00
intrigeri 0d8cbfc5e0 po(scan): make more clear what's being done
Mostly comments, and also a small code change: simplification and implementation
details hiding.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11 04:32:20 +01:00
intrigeri d57ef86380 po: reorder nearly all of the module code
It has grown up incrementally and new helper functions were added right in the
middle of the hooks, most often near the place they were used, which is
practical when doing initial development, but quite ugly afterwards, when helper
functions are useful to separate logic and implementation details.

Today's refactoring commits have brought the code to a much more maintainable
state, IMHO.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-11 04:05:39 +01:00
Joey Hess 53752bcb5d remove redundant link munge
This is not needed now that tagpage returns a page name starting with a
slash.

(Also fixes a minor bug that the edit links started with double slashes due
to the hack.)
2008-11-10 21:47:29 -05:00
Joey Hess f8a09ba105 tag: Normalize tagbase so leading/trailing slashes in it don't break things. 2008-11-10 19:48:58 -05:00
Joey Hess f0e58faefa Add rel=nofollow to recentchanges_links for the same (weak) reasons it was earlier added to edit links. 2008-11-10 18:05:30 -05:00
intrigeri a7d329c173 po(match_lang, match_currentlang): use the lang() function
... now that it exists, instead of duplicating it.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10 21:30:06 +01:00
intrigeri b4ab0d0b9e po: rewrote otherlanguagesloop()
It is now more elegant IMHO, and the output is now sorted according to the
language name (instead of code).

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10 21:19:21 +01:00
intrigeri c5513548c9 po: factorize extraction of a slave page's masterpage and lang
The very same code was repeated at dozens of places.

NB: the real work is now done is _istranslation(), which is memoized,
so the additional function calls overhead should be compensated.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10 20:40:44 +01:00
intrigeri 864bc2d9d0 po(otherlanguagesloop): start factorizing
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10 18:38:25 +01:00
intrigeri 1255acc02c po: finish abstracting %filtered by putting it into a blackbox
i.e. it is invisible for everyone but its accessors/mutators

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10 15:30:49 +01:00
intrigeri 38cdda66d7 po: actually use pofiles() function, to enhance code clarity
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10 15:09:56 +01:00
intrigeri 5575786803 po: abstract "doing something for the same page in every other language"
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10 14:55:21 +01:00
intrigeri 532ec56a5f po: abstract implementation details for %translations building and resetting
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10 13:56:46 +01:00
intrigeri 3174b4c6f3 po: abstract %filtered implementation details
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10 13:51:00 +01:00
intrigeri 00732f19b9 po: clarify error messages
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10 13:22:50 +01:00
intrigeri 6fc898df75 po: clarify code with some comments
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10 13:14:42 +01:00
intrigeri aef1b0f503 po: prevent a slave page to depend on itself
It has never caused harm yet, but it might in the future.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-10 12:48:27 +01:00
intrigeri 646d7bf6a3 po(refreshpot): define the input charset before read()'ing
... to prevent the use of Encode::Guess::guess_encoding() in
Locale::Po4a::Transtractor (just a minor security measure, dependent on po4a
internals, but we have no reason to think Encode::Guess is not safe).

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-08 21:32:04 +01:00
intrigeri f652af11fd Merge commit 'upstream/master' into pub/po 2008-11-07 22:19:34 +01:00
intrigeri a0ac346079 po: finished backlinks implementation
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-07 22:17:54 +01:00
intrigeri 34ab884242 po: implemented linking/backlinks specification for po_link_to=negotiated
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-07 21:27:00 +01:00
intrigeri 3e341e64c2 po: added pofiles() function, will use this soon
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-07 21:23:23 +01:00
intrigeri 4879a7f033 po: add comments
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-07 16:33:10 +01:00
Joey Hess 11d377af81 txt: Do not encode quotes when filtering the txt, as that broke later parsing of any directives on the page. 2008-11-06 20:49:18 -05:00
Joey Hess db5ea4d4f0 meta: Plugin is now enabled by default since the basewiki uses it. 2008-11-06 16:08:11 -05:00
Joey Hess ecf2399f4f aggregate: Try to query XML::Feed for the base url when derelevatising links. Since this needs the just released XML::Feed 0.3, as well as a not yet released XML::RSS, it will fall back to the old method if no xml:base info is available. 2008-11-06 16:05:10 -05:00
intrigeri daa04ae436 po: fix link to homepage in special case
... by wrapping IkiWiki::urlto in order to workaround hard-coded
/index.$config{htmlext}, which is wrong when usedirs=0 and po_link_to=current
and translatable homepage

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-06 17:28:04 +01:00
intrigeri 8b001dbb00 po: redesign (once more) automatic POT/PO files update
Now use the change hook to update these files, check them into VCS, and trigger
IkiWiki::refresh as needed. The needsbuild hook's help was required to prevent
infinite looping.

This more rigorous way of doing this fixes recentchanges (that was previously
not updated in some cases), and probably is a better long-term solution than the
two previously tested ones.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-06 15:54:55 +01:00
intrigeri 802be94104 po: use prep_writefile before creating any files in refreshpot and refreshpo
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-06 14:17:33 +01:00
intrigeri 10af328ff1 po: syntax warning fix
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-06 14:08:33 +01:00
intrigeri 7ad5c5cbdc po: fixed whitespace
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-06 13:55:03 +01:00
intrigeri 769be3d48e po: po_link_to is safe, and fallbacks to a working value if needed
warnings are displayed if it is set to an invalid or incompatible value
(e.g. po_link_to=negotiated and disabled usedirs)

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-06 13:47:09 +01:00
intrigeri 419de149a6 po: mark po_translatable_pages as a safe configuration setting
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-06 13:29:48 +01:00
intrigeri 34afa2c07d po: po_master_language and po_slave_languages are safe config settings
... and check their validity in checkconfig

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-06 13:26:45 +01:00
intrigeri c96dd00480 po: added license and copyright
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-06 13:01:33 +01:00
intrigeri 1f54c13ec2 Merge commit 'upstream/po' into prv/po
Conflicts:

	IkiWiki/Plugin/po.pm
	doc/plugins/po.mdwn

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-06 12:28:31 +01:00
Joey Hess 17bd930bc9 first pass over code
Only change of note is quoting some strings in a regexp, just in case
(also avoids the . matching any character!)

Mostly whitespace changes of no consequence.
2008-11-05 15:18:07 -05:00
Joey Hess ae37bca0e2 backup refs to injected subs later
In case two plugins both inject replacements for these subs,
backup the ref just before injecting to make sure the most
recent version is seen.
2008-11-05 15:09:54 -05:00
Joey Hess 9b16e7f148 minor layout changes 2008-11-05 15:09:04 -05:00
Joey Hess 7e95723dad avoid hitting the shell with system() 2008-11-05 14:45:45 -05:00
Joey Hess 9bedf53c0f another reason to require rebuilds (and not be marked safe)
the plugin changes html filenames, so requiring a manual transition to
enable
2008-11-05 13:57:48 -05:00
Joey Hess 127a8a3701 Merge commit 'intrigeri/po' 2008-11-05 13:50:26 -05:00
Joey Hess 42b4abee1d use error for two messages 2008-11-05 01:38:36 -05:00
intrigeri 3e0c52c524 po plugin(filter): redesign temp file management
... in a way compatible with various File::Temp versions.
The result is far from being perfect (see comments in the code for details),
but it does work.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-05 01:36:44 +01:00
intrigeri 4c6c00ccdf Merge commit 'upstream/master' into prv/po 2008-11-04 23:39:15 +01:00
intrigeri 225e21f6c5 po plugin: redesign refresh mechanism after master page update
manually triggering IkiWiki::refresh() was at least dubious, and more or less
buggy (it randomly broke the whole backlinks feature); thinking a bit more to
add the necessary bits to @needsbuild seems like a better way. don't play with
ikiwiki's internals if not absolutely needed.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-04 23:32:32 +01:00
intrigeri bc5b875de8 po plugin: remove broken parentlinks for home page's translations
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-04 20:05:21 +01:00
intrigeri cfcb7454db po plugin: aesthetics
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-04 19:23:58 +01:00
intrigeri c731a81b43 po plugin: fix preview for PO files
As a trick, use editcontent hook to mark the page as unfiltered, to force our
filter() sub's to proceed again.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-04 18:24:43 +01:00
intrigeri c7fbcf6c5e po plugin: slave pages link to the master's discussion page
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-03 00:52:27 +01:00
intrigeri 9bd3262f50 po plugin: replace %hash=undef with undef %hash
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-02 23:12:43 +01:00
intrigeri 773de05a7a po plugin: force utf-8 encoding in POT files
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-02 21:35:52 +01:00
intrigeri 2ebc0bb82d po plugin: fix linking from a translation to its master page
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-02 20:08:38 +01:00
intrigeri 37a9e64291 po plugin: fix targetpage for home page's translations
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-02 18:54:53 +01:00
intrigeri 439ba4490a po plugin: removed last (?) bit of deprecated custom hook
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-02 18:51:00 +01:00
intrigeri 950c29679d po plugin: replace targetpage hook with wrapper function
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-02 18:48:56 +01:00
intrigeri 439a2d3c44 Revert "added the targetpage hook"
This reverts commit fc299df955.
Such functionality can now be achieved using the inject() function.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-02 18:34:10 +01:00
intrigeri 307d11541a po plugin: replace tweakurlpath hook with a wrapper function
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-02 18:29:23 +01:00
Joey Hess d71caffb7b preprocess text before htmlizing it 2008-11-02 12:21:15 -05:00
intrigeri 7c173aca3e Revert "added hook urlpath" and "rename urlpath hook into tweakurlpath..."
This reverts commits d9b9022c13 and
39d44d443d. This functionality should now be
achieved using the new inject() function.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-02 18:08:50 +01:00
intrigeri 502a3433c4 po plugin: replace tweakbestlink hook with a wrapper function
... thanks to the new inject() feature.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-02 17:56:15 +01:00
intrigeri fafa98ea96 disable istranslatable memoization
It makes some test cases cry once every two tries; this may be related to the
artificial way the testsuite is run, or not. In the meantime, stop memoizing
this function.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-11-02 16:44:42 +01:00
intrigeri 7713653878 Merge commit 'origin/master' into prv/po 2008-11-02 13:11:00 +01:00
Joey Hess bb841f94f4 format: New plugin, allows embedding differntly formatted text inside a page (ie, otl inside a mdwn page, or syntax highlighted code inside a page). 2008-10-31 16:42:20 -04:00
Joey Hess ae0a9d50be set ctime in --render mode if not known
Avoids some uninitialised value warnings.
2008-10-30 14:50:33 -04:00
Joey Hess 354d22e27b don't rely on plugin load order when determining generated directives
Instead, shortcuts will explicitly be marked as such when registered, and
listdirectives can filter them out.
2008-10-30 13:41:19 -04:00
Joey Hess 33a0e84ddb fix preview of shortcuts
Move shortcut processing back to checkconfig, and avoid it failing if the
srcdir is not defined.
2008-10-29 14:20:31 -04:00
Joey Hess 5b7677faba fix display of error msg 2008-10-29 13:38:26 -04:00
Joey Hess 8530e827b0 git: Allow [[sha1_commit]] to be used in the diffurl, to support cgit. 2008-10-27 14:45:54 -04:00
Joey Hess d3d3999410 do no-op post_commit test in wrapper
This speeds up web commits by 1/4th of a second or so, since perl does
not have to start up for the post commit hook.

perl's locking is completly FuBar, since it's impossible to tell what perl
flock() really does, and thus difficult to write code in other languages
that interoperates with perl's locking. (Let alone interoperating with
existing fcntl locking from perl...)

In this particular case, I think I was able to find a way to avoid the
insanity, mostly. The C code does a true flock(2), and if perl is using an
incompatable lock method that does not use the same locking primative at
the kernel level, then the C code's test will fail, and it will go ahead
and run the perl code. Then the perl code's test will test the right thing.

On Debian, at least lately, perl's flock() does a true flock(2), so the
optimisation does work.
2008-10-26 15:13:04 -04:00
Joey Hess 7ddea03684 move untrusted committer test into the wrapper
This saves around 1/4th second per trusted commit since ikiwiki
doesn't need to start up.
2008-10-26 14:03:18 -04:00
Joey Hess 4a7ac5c251 remember how to write C code
been a while!
2008-10-24 15:49:55 -04:00
Joey Hess 146192d5b0 the pre-receive wrapper needs to be suid after all
It needs to write to the user db.
2008-10-24 15:47:42 -04:00
Joey Hess 761dee41b1 export CALLER_UID 2008-10-24 15:46:29 -04:00
Joey Hess 739e2ca0b4 can't lock wiki due to permissions (probably)
luckily, don't really need to here
2008-10-24 15:02:54 -04:00
Joey Hess 1a883b3c50 include temp file for attachment change too 2008-10-24 13:44:03 -04:00
Joey Hess 0196e1f9fc updates 2008-10-24 13:29:41 -04:00
Joey Hess fbcb8553df really fix calls to check_can* 2008-10-24 13:29:30 -04:00
Joey Hess 85f4b99710 untrusted committers code seems to be fully working
Still need to investigate possible races, and test some more.
2008-10-23 18:05:57 -04:00
Joey Hess f349e4ef36 fix calls to check_*
These throw errors, do not have useful return codes.
2008-10-23 18:05:12 -04:00
Joey Hess ad9e443f22 check_canattach hooked up 2008-10-23 16:56:40 -04:00
Joey Hess 4669eab596 more work on untrusted committers
Wired up check_canedit and check_canremove, still need to deal with
check_canattach, and test.
2008-10-23 16:29:50 -04:00
Joey Hess 094af3d113 initial support for git repos with untrusted committers
Still need to wire up the calls to check_* , but it's cold out here and my
hands are going numb, so enough for now.
2008-10-22 20:52:34 -04:00
Joey Hess e75818572f function injection overhaul
Add an inject function, that can be used by plugins that want to replace
one of ikiwiki's functions with their own version. (This is a scary thing
that grubs through the symbol table, and replaces all exported occurances
of a function with the injected version.)

external: RPC functions can be injected to replace exported functions.

Removed the stupid displaytime hook, and use injection instead.
2008-10-21 17:57:19 -04:00
Joey Hess 327adadf04 disable warnings when redefining functions 2008-10-21 17:03:08 -04:00
Joey Hess ee1ccfa863 use relativedate as the css class for dates that should display relative 2008-10-20 19:22:22 -04:00
Joey Hess a2839de936 tag: When tagpage is set, force the links created by tagging to point at the toplevel tagpage, and not closer subpages.
The html links already went there, but internally the links were not
recorded as absolute, which could cause confusing backlinks etc.

For example, with tagbase=tags, if blog/tags/bar existed and blog/foo was
tagged bar, it would link to /tags/bar. But, the link would be recorded
simply as a link to tags/bar, and so later blog/tags/bar would appear to
have the backlink.
2008-10-20 18:17:03 -04:00
Joey Hess 5e52bfb2e7 inline: Only the last feed link was put on the page, fix this to include all feed links. So rss will be included along with atom, and pages with multiple feeds will get links added for all feeds. 2008-10-20 15:25:45 -04:00
intrigeri fadb26bc15 Merge commit 'origin/master' into prv/po 2008-10-20 14:33:19 +02:00
Joey Hess 423fae6f18 Use the pure perl Data::Dumper when generating setup files to ensure that utf-8 characters are written out as such, and not as the encoded perl strings the C Data::Dumper produces.
Note that the text produced by the C version was interpreted fine
when ikiwiki loaded the setup file. But it was not user-friendly.
2008-10-19 21:23:48 -04:00
Joey Hess 3e992b758b Fix issue with utf-8 in wikiname breaking session cookies, by entity-encoding the wikiname in the session cookie. 2008-10-19 21:07:12 -04:00
Joey Hess fd9393ef85 add displaytime hook
Need to use a hook because an exported function cannot be reliably
overridden. The replacement verstion was actually only affecting plugins
loaded after it.

formattime doesn't need a hook, since there's no reason to export it.
2008-10-19 20:12:37 -04:00
Joey Hess db146d9f1e need to use localtime, fix width 2008-10-19 19:39:32 -04:00
Joey Hess 2b569f99d9 fix relativedate timezone inclusion
The machine parseable date needs to include a timezone.

Also, simplified the interface for date display.
2008-10-19 19:21:44 -04:00
Joey Hess 2321906cd7 mark up date so relativedate will work 2008-10-19 15:17:00 -04:00
intrigeri 8211910566 po plugin: set every configuration item to unsafe
We will check later which ones are actually safe enough for websetup.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-19 17:19:42 +02:00
intrigeri f096a9d798 po plugin: added ISTRANSLATION and ISTRANSLATABLE template variables
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-19 00:05:13 +02:00
intrigeri 629968fc89 po plugin(refreshpot): prevent PO references to be written
... else we can fall into some kind of nasty infinite loop, when two ikiwiki
instances don't store their working copy of the repository at the same place:
every POT file update in one repository would trigger an update of the same POT
file in the others repository, and so on.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 21:47:49 +02:00
intrigeri a0deb3038c po plugin: do not allow msgmerge to create backup files
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 19:18:22 +02:00
intrigeri 892809bb53 po plugin: only refresh private module variables when needed
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:13 +02:00
intrigeri 7b7865150f po plugin: add correct dependencies on pages using OTHERLANGUAGES
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:13 +02:00
intrigeri 1aad01f841 po plugin: bugfix (OTHERLANGUAGES)
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:12 +02:00
intrigeri 1d76762517 po plugin: initial implementation of automatic POT/PO update
The updated or created PO files are put under version control.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:12 +02:00
intrigeri 1e69eb482f po plugin: rebuild %translations after having created missing POT/PO files
This is not needed yet, but when newly created POT/PO files are added to
%pagesources and other data structures, we'll need this.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:12 +02:00
intrigeri 58c77a01f7 po plugin: create missing POT/PO files in needsbuild hook
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:12 +02:00
intrigeri 6add615928 po plugin: added and documented PERCENTTRANSLATED template variable
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:12 +02:00
intrigeri 1a670d3aca po plugin: make translation percentage available in OTHERLANGUAGES loop
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:12 +02:00
intrigeri 8867316125 po plugin: added currentlang() custom PageSpec function
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:12 +02:00
intrigeri ce9db89896 po plugin: added lang() custom PageSpec function
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:11 +02:00
intrigeri d4f787ef52 po plugin: make any slave page dependent on the corresponding master page
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:11 +02:00
intrigeri a8e8613fa1 po plugin: bugfix - only refresh POT/PO for translatable pages
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:11 +02:00
intrigeri dc74c8e577 po plugin: do not trust po4a functions return value
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:11 +02:00
intrigeri 6424d748a4 po plugin: refresh PO files when a master page is updated
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:11 +02:00
intrigeri d5b5cfb8e4 po plugin: refresh POT files when a master page is updated
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:11 +02:00
intrigeri bd237d48cf po plugin: build %translations in needsbuild hook rather than scan
... because we'll need this data to refresh POT/PO files in needsbuild hook

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:11 +02:00
intrigeri a28559798a po plugin: created OTHERLANGUAGES template loop
It currently only provides basic translations/master pages links.
Updated documentation accordingly.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:10 +02:00
intrigeri 32cc0b336a po plugin: po_slave_languages is a hash, rather than a hash of hashes
The latter seems to be unsupported by ikiwiki config system.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:10 +02:00
intrigeri ae827a43f8 po plugin: build %translations at scan time
... so that we can consider it as complete at preprocess time

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:10 +02:00
intrigeri 08df9dcef7 po plugin: memoize istranslatable and _istranslation
Both functions are called very often, and:
- istranslatable has no side effect
- _istranslation is the helper function, without any side effect, for the
  istranslation function

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:10 +02:00
intrigeri 1e874b3f0a po plugin[filter]: avoid converting more than once per destfile
Only the first filter function call on a given {page,destpage} must convert it
from the PO file, subsequent calls must leave the passed $content unmodified.

Else, preprocessing loops are the rule.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:10 +02:00
intrigeri 52728bb6ea po plugin: bugfix (calling function in wrong module)
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:10 +02:00
intrigeri 458ccebdd3 po plugin: added *.pot to wiki_file_prune_regexps
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:10 +02:00
intrigeri e163b037bf po plugin: move translatable pages to setup file, refactor
Replaced [[!translatable]] directive with po_translatable_pages setting.

Moved istranslatable/istranslation code to helper functions leaving place for
future caching and/or memoization. The PageSpec functions still work.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:10 +02:00
intrigeri ffd1fff775 po plugin: allow pagestate update (bugfix)
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:09 +02:00
intrigeri b0b87d1584 po plugin: respect documented convention to store pagestate
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:09 +02:00
intrigeri 79d6f52d30 po plugin: implemented po_link_to=current
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:09 +02:00
intrigeri 0791e5afe3 po plugin: added istranslatable() pagespec function, and use it
(do not name non-translatable pages index.LL.html)

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:09 +02:00
intrigeri fdc7974b2a po plugin: implemented po_link_to=negotiated
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:09 +02:00
intrigeri e82c6b1908 po plugin: implement linking specification in one of the main cases
i.e. in case usedirs is enabled and po_link_to_current_language is disabled

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:09 +02:00
intrigeri c8330da6c0 po plugin: add po_link_to_current_language option, check config
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:08 +02:00
intrigeri 1975d4d35f po plugin: use pagespec_match() instead of direct match_istranslation calls
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:08 +02:00
intrigeri 258c49ae55 po plugin: added [[!translatable]] directive
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:08 +02:00
intrigeri d9b9022c13 added hook urlpath
This hook can be used to modify the internal urls generated by ikiwiki.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:08 +02:00
intrigeri bd50ba3e83 po plugin: switch to page.LL.html naming convention
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:08 +02:00
intrigeri 45d08022bb po plugin: name rendered master pages like slave ones (page.html.LL)
Apache's content negotiation transparently redirects any old URL (page.html) to
the new one, depending on the client preferred language (i.e. a German browser
will be fed with page.html.de). Transition to this naming convention is then
really smooth.

This naming convention allows one to deliberately display the master page, even
if her browser is configured for another language.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:07 +02:00
intrigeri b90f8397f6 po plugin: reworked available options
- renamed po_supported_languages to po_slave_languages
- added po_master_language option, which will soon be useful

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:07 +02:00
intrigeri 575d4021e3 po plugin: htmlize translated content as if it was the same type as the master page
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:07 +02:00
intrigeri 1b5f610a97 po plugin: convert PO to master page's type in filter hook
Master page's type htmlize hook should also be run in po's htmlize hook,
but let's proceed step by step.

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:07 +02:00
intrigeri 75fc44ce2f po plugin: factorize most checks into a new match_istranslation PageSpec
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:07 +02:00
intrigeri 50f1fd43da po plugin: initial work
- .po is a new supported wiki page type
- PO files are rendered verbatim into HTML
- override targetpage to ease Content Negotiation

Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:07 +02:00
intrigeri fc299df955 added the targetpage hook
Signed-off-by: intrigeri <intrigeri@boum.org>
2008-10-18 15:49:07 +02:00
Joey Hess cb9a695443 fix url 2008-10-17 22:04:43 -04:00
Joey Hess 35c56622ea tweak recentchanges permalink code
Need to handle the case where url is not set.
2008-10-17 21:54:42 -04:00
Joey Hess fdb5da46b0 Patch for anchor-based change permalinks in recent changes feed
from JasonBlevins
2008-10-17 21:49:55 -04:00
Joey Hess 745dc1c62f add missing getsetup hook 2008-10-17 21:29:05 -04:00
Joey Hess 02ec92c6cb make relativedate work for the dates on the recentchanges page
Having a always current relative date on recentchanges is very, very nice.
2008-10-17 21:21:07 -04:00
Joey Hess 7390a7a072 relativedate: New javascript-alicious plugin that makes all dates display relative, in a very nice way, if I say so myself. 2008-10-17 20:47:32 -04:00
Joey Hess 79b376f991 Add an underlay for javascript, and add ikiwiki.js containing some utility code.
* Add an underlay for javascript, and add ikiwiki.js containing some utility
  code.
* toggle: Stop embedding the full toggle code on each page using it, and
  move it to toggle.js in the javascript underlay.
2008-10-17 20:28:18 -04:00
Joey Hess f36080ae02 aggregate: Avoid bug that caused immediate expiration of items with a date in the future. 2008-10-16 18:20:16 -04:00
Joey Hess 78a69e5bd6 only darcs add files not yet in version control 2008-10-16 17:20:17 -04:00
Joey Hess 7eb512205f updated from pesco's darcs repo, current to Oct 11 version 2008-10-15 19:38:21 -04:00
Joey Hess 1f7f5d5e0e Merge branch 'master' into darcs 2008-10-15 19:36:48 -04:00
Joey Hess b8f4b9c799 inline: Use the feed's description in the rss and atom links. Closes: #502113 2008-10-15 14:45:28 -04:00
Joey Hess 02e39bf704 fix prototype 2008-10-14 15:47:19 -04:00
Joey Hess c39112e6ef inline: Allow MTIME to be used in inlinepage.tmpl. 2008-10-14 15:00:46 -04:00
Joey Hess 3b27af4a29 Pass HTTPS variable through the wrapper so that CGI->https can be used by plugins. Closes: #502047 2008-10-13 12:32:16 -04:00
Joey Hess 643c0f1afc optimise url parsing and add guard against failure to parse 2008-10-10 17:09:33 -04:00
Peter Simons f9957d11ed google plugin: Use google.com to search the local site.
Google allows has a nice feature, sitesearch, that allows anyone to
limit search results to a specific site. Obviously, this feature can be
used to provide a search engine for the local ikiwiki site without the
need to install any additional software. Just enable the 'google' plugin
and make sure that --url uses the proper hostname. Thanks to Joey for
helping to get the Perl implementation right.
2008-10-10 17:05:02 -04:00
Joey Hess a473cb2f74 orphans: Fix unquoted page name in regexp. 2008-10-09 19:09:16 -04:00
Joey Hess d3ca495e61 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.) 2008-10-08 17:47:38 -04:00
Joey Hess 1e17ea0b65 avoid $_ in a few other for loops
These were probably not currently buggy, but let's avoid bugs being
introduced by the functions called clobbering $_.
2008-10-06 16:19:54 -04:00
Joey Hess fea76a11bc remove: Avoid $_ breakage. (Stupid, stupid perl.)
This avoids another one of those $_ scoping issues where a deep call to a
function that changes $_ clobbers the array that is being looped over.
2008-10-06 16:10:47 -04:00
Joey Hess 3b47dae9ca remove, rename: Allow acting on attachments as a page is being created. 2008-10-02 12:53:53 -04:00
Joey Hess c945952381 attachment: Support adding attachments to pages even as they are being created. 2008-10-02 12:48:06 -04:00
Joey Hess e0fd02acf1 don't special case preview
Whenever the edit form is submitted, but not saved, the page location
select should reduce to the currently selected value. This was only done
when previewing before, but is also needed in order to support the case of
adding an attachment to a page that is just being created.

Before this change, the attachment plugin would get a weird value in
$form->field("page"), that did not reflect the actual page location.
2008-10-02 12:42:46 -04:00
Joey Hess bf386e22f5 inline: Fix handling of rootpage that doesn't exist.
It makes sense to use bestlink to determine which page rootpage refers to,
but if no page matches, just use the raw value.
2008-10-01 17:29:03 -04:00
Joey Hess 917f54a777 add pesco's darcs plugin 2008-10-01 17:24:06 -04:00
Joey Hess 826af4600a fix subpage rename bug with indexpages
If indexpages is enabled, then foo/index.mdwn will look like a subpage
of foo, so an additional check is needed to avoid trying to rename it
twice.
2008-10-01 14:43:28 -04:00
Joey Hess 733171bf3f support indexpages 2008-09-29 19:08:12 -04:00
Joey Hess 121efb246f Removed the pagefile function, which was confusingly close in name to
newpagefile.

Note that newpagefile is not used here (or in recentchanges) because
the internal use pages they generate are transient and unlikely to
benefit from being put each in their own subdir.
2008-09-29 18:59:20 -04:00
Joey Hess 2ba168ac83 use newpagefile 2008-09-29 18:52:42 -04:00
Joey Hess a7fd6debc5 support indexpages when renaming pages
Note that the page filename code used here and in editpage are identical..
2008-09-29 18:29:53 -04:00
Joey Hess 40007b8111 support indexpages when creating new pages
Initial draft, may need to factor new page filename code out into helper
function if other plugins need to do the same..
2008-09-29 18:19:44 -04:00
Joey Hess bb4211e326 avoid unnecessarily rebuilding pages with complex conditionals
I noticed that ikiwiki/formatting was beilg rebuilt when any page changed.
This turned out to be because it contained a complex conditional
"enabled(foo) or enabled(bar)", and the conditional plugin did not notice
that this consisted only of enabled() tests, and copied it unchanged into
add_depends. Thus, the page's dependencies were satisfied by any page
change.

The fix is to beef up the parser so that it can handle that and more
complex conditionals, and detect if they consist only of such tests.
2008-09-29 18:05:39 -04:00
Joey Hess 6b01fca253 use gettext 2008-09-29 17:06:56 -04:00
Joey Hess c4be16703f fix handing of case of file first created by preview but then saved
To handle this, avoid populating %renderedfiles in preview,
and in expiry, check if the file is in %renderedfiles, if it is
do not delete it since it was saved.
2008-09-29 13:25:31 -04:00
Joey Hess 2ff3c8aee7 editpage: Be more aggressive (and less buggy) about cleaning up temporary files rendered during page preview. 2008-09-27 18:02:33 -04:00
Joey Hess 61426a7186 Reorganize index file, add a format version field.
Upgrades to the new index format should be transparent.

The version field is 3, because 1 was the old textual index, 2 was the
pre-versioned format.

This also includes some efficiency improvements to index loading, by
not copying a hash and using a reference.
2008-09-27 16:35:56 -04:00
Joey Hess 55a0361a47 template: Make edit link for new templates ensure the page is located under toplevel templates directory. 2008-09-27 15:18:36 -04:00
Joey Hess 67f38832aa htmltidy robustness fixes
* htmltidy: Avoid returning undef if tidy fails. Also avoid returning the
  untidied content if tidy crashes. In either case, it seems best to tidy
  the content to nothing.
* htmltidy: Avoid spewing tidy errors to stderr.
2008-09-27 14:27:42 -04:00
Joey Hess 9ec9d6901d Export pagetitle, titlepage, linkpage. 2008-09-27 14:27:42 -04:00
Joey Hess bfab23ce33 typo 2008-09-27 14:27:42 -04:00
Joey Hess 316ef6571b pagetype is exported 2008-09-27 13:34:46 -04:00
Joey Hess 7351d545d9 Merge commit 'smcv/beautify'
Conflicts:

	IkiWiki/Plugin/recentchanges.pm

Note that smcv's approach of using urlto also gets the url right when
redirecting to a non-html file, which is a better approach than my recent
fix to recentchanges
2008-09-27 13:00:48 -04:00
Joey Hess f181962dfc typo 2008-09-27 12:50:39 -04:00
Joey Hess 89256ab870 htmlscrubber: Add a config setting that can be used to disable the scrubber acting on a set of pages. 2008-09-26 18:07:37 -04:00
Joey Hess 83429adf04 decode utf-8 in recentchanges_link parameter 2008-09-26 15:40:01 -04:00
Joey Hess bce2a34c19 tag: Make edit link for new tags ensure that the tags are created inside tagbase, when it's set. 2008-09-25 20:25:07 -04:00
Joey Hess 965f7310fe git: Fix handling of utf-8 filenames in recentchanges.
Seems that the problem is that once the \nnn coming from git is converted
to a single character, decode_utf8 decides that this is a standalone
character, and not part of a multibyte utf-8 sequence, and so does nothing.
I tried playing with the utf-8 flag, but that didn't work. Instead, use
decode("utf8"), which doesn't have the same qualms, and successfully
decodes the octets into a utf-8 character.

Rant:

Think for a minute about fact that any and every program that parses git-log,
or git-show, etc output to figure out what files were in a commit needs to
contain this snippet of code, to convert from git-log's wacky output to a
regular character set:

if ($file =~ m/^"(.*)"$/) {
	($file=$1) =~ s/\\([0-7]{1,3})/chr(oct($1))/eg;
}

(And it's only that "simple" if you don't care about filenames with
embedded \n or \t or other control characters.)

Does that strike anyone else as putting the parsing and conversion in the
wrong place (ie, in gitweb, ikiwiki, etc, etc)? Doesn't anyone who actually
uses git with utf-8 filenames get a bit pissed off at seeing \xxx\xxx
instead of the utf-8 in git-commit and other output?
2008-09-25 18:26:42 -04:00
Joey Hess e1ba137317 attachment: Add admin() pagespec to test if the uploading user is a wiki admin. 2008-09-25 16:49:30 -04:00
Joey Hess 093e815440 aggregate: Avoid uninitialized value warnings for pages with no recorded ctime.
I saw this in the wild, apparently a page was not present on disk, but was
in the aggregate db, and not marked as expired either. Not sure how that
happened, but such pages should get marked as expired since they have an
effectively zero ctime.
2008-09-25 15:38:51 -04:00
Joey Hess 3f5ba52ee0 recentchanges: Fix redirects to non-page files. 2008-09-25 13:46:12 -04:00
Joey Hess e00df8575f rename: Hide type field from rename form when renaming attachments. 2008-09-23 19:31:34 -04:00
Joey Hess 40dc92a67b multiple rename support is working
most edge cases seem handled too
2008-09-23 19:21:05 -04:00
Joey Hess 544da9b0da Merge branch 'master' into tova 2008-09-23 17:42:38 -04:00
Joey Hess 8e0180d8ca rename, remove: Don't rely on a form parameter to tell whether the page should be treated as an attachment. 2008-09-23 17:41:05 -04:00
Joey Hess cf4db49567 factor out fixlinks 2008-09-23 17:26:46 -04:00
Joey Hess 9b57602394 factor out do_rename 2008-09-23 17:04:01 -04:00
Joey Hess 9cbc46f49a add checkbox to rename subpages too 2008-09-23 16:56:57 -04:00
Joey Hess 8494104b39 layout 2008-09-23 14:57:13 -04:00
Joey Hess 9cbcda14ac Print a debug message if a page has multiple source files. 2008-09-23 13:32:41 -04:00
Joey Hess a32c0ecd51 include perl error in warning about openid
it may be some other module missing, this way you can tell by reading the
log
2008-09-23 12:59:43 -04:00
Simon McVittie c7804cafa5 Fix typo in skeleton.pm.example: sessionncgi (with extra n)
(cherry picked from commit 72ffc85d6acb8b99839ac98a2c23dbef410b5666)
2008-09-23 12:47:02 -04:00
Simon McVittie 7f82594410 remove: redirect via urlto(), avoiding mentions of index.html 2008-09-21 18:26:48 +01:00
Simon McVittie 02923917c8 recentchanges: construct redirections via urlto(), avoiding mentions of index.html 2008-09-21 18:26:48 +01:00
Simon McVittie 97e3263ad1 poll: Use urlto to produce redirection URLs, avoiding mentions of index.html 2008-09-21 18:26:48 +01:00
Simon McVittie e73987b01d editpage: beautify redirection URLs, avoiding exposing the implementation detail that index.html exists 2008-09-21 18:26:42 +01:00
Joey Hess 4c68e149e5 handle templates with special characters in name
The template field is really a link, so needs to be converted to a page
name in stored state.
2008-09-20 23:00:19 -04:00
Joey Hess 5e713047b4 avoid uninitialised value warning 2008-09-20 22:51:42 -04:00
Joey Hess 12eb585353 add missing page name sanity check 2008-09-20 22:48:22 -04:00
Joey Hess 748d375954 avoid warning if percent value is not numeric 2008-09-20 16:31:27 -04:00
Joey Hess 84347a1247 avoid duplicate template lookup 2008-09-20 16:23:15 -04:00
Joey Hess 6088ad861c revert colon part of change 2008-09-20 16:21:04 -04:00
Joey Hess a6fc3b411f edittemplate patch from Willu
* edittemplate: Default new page file type to the same type as the template.
  (willu)
* edittemplate: Add "silent" parameter. (Willu)
* edittemplate: Link to template, to allow creating it. (Willu)
2008-09-20 16:19:09 -04:00
Joey Hess 9a9b25346d i18n 2008-09-19 13:52:01 -04:00
Joey Hess 779c5214f3 progress: Display an error if the progress cannot be parsed, and allow the percent parameter to only optionally end with "%". 2008-09-19 13:09:50 -04:00
Joey Hess 914c92c4e1 fix check for nonexistant content 2008-09-17 18:19:52 -04:00
Joey Hess 89953e3e19 store ctime for use by expiry code
The expiry code does need to make sure to sort in ctime order, even if
expiring by count, so it expires the right ones.
2008-09-17 18:11:22 -04:00
Joey Hess 1cb4154bc8 aggregate: Support atom feeds with only a summary element, and no content elements. 2008-09-17 15:56:58 -04:00
Joey Hess da7c6eb1b4 editdiff: Broken since 2.62 due to wrong syntax, now fixed. 2008-09-17 14:34:02 -04:00
Joey Hess b540b263de aggregate: Allow expirecount to work on the first pass. (expireage still needs to wait for the pages to be rendered though) 2008-09-17 14:27:31 -04:00
Joey Hess ee94407891 rootpage is not a pagespec
So ./posts won't be interpreted right. Just "posts" should do, I think.
2008-09-14 13:50:34 -04:00
Joey Hess bc7381c4f9 listdirectives: Enable use of the directives underlay. 2008-09-11 18:46:32 -04:00
Joey Hess d76c8aa013 change git hook description
It doesn't have to be a post-update hook.
2008-09-11 15:53:25 -04:00
Joey Hess d9d783c4bc goodstuff update
* goodstuff: Remove otl plugin from the bundle since it needs a significant
  external dependency and is not commonly used. If you use otl, make sure
  you explicitly enable it now.
* goodstuff: Add more, progress, and table plugins to the bundle.
2008-09-09 16:11:16 -04:00
Joey Hess 5d53fab853 img: Support sizes like 200x. Closes: #475149 2008-09-09 15:20:06 -04:00
Joey Hess 6f46cc3b31 progress: New plugin to generate progress bars (willu) 2008-09-09 14:44:58 -04:00
Joey Hess 2b53de66a0 ddate: Stop clobbering timeformat when not enabled. 2008-09-08 19:40:23 -04:00
Joey Hess f888ceafee minor optimisation 2008-09-08 12:28:56 -04:00
Joey Hess 0f67e7d969 editpage: New core plugin factoring out page editing to allow disabling it if desired. 2008-09-05 13:57:25 -04:00
Joey Hess 7d3047b6d8 UNIVERSAL not used in this plugin 2008-09-05 13:44:52 -04:00
Joey Hess 3c022e2cd7 use yesno 2008-09-02 18:20:17 -04:00
Joey Hess 657bf7846d table: Support header=column to make the table header be the first column of the data. (AlexandreDupas) 2008-09-02 14:57:20 -04:00
Joey Hess b7458c48d8 filecheck: Fall back to testing for binary or plain text files if no mime type is detected. 2008-09-01 15:00:15 -04:00
Joey Hess 000c87f510 don't fail if %config is not set 2008-09-01 11:26:03 -04:00
Joey Hess 2a29641097 Set cookies HttpOnly. 2008-08-28 16:09:58 -04:00
Joey Hess 2b602e2e9f filecheck: Fixed two bits broken in move from attachment. 2008-08-28 13:04:45 -04:00
Joey Hess b9efeba972 humansize moved to filecheck
It's not used there, but it makes sense to keep it there as it's the
inverse of parsesize.
2008-08-27 15:31:48 -04:00
Joey Hess b1d8437f8a if extrafooter is already set, append to it
to interoperate with future plugins using it
2008-08-26 18:04:45 -04:00
Joey Hess a326ffed1f autoindex: Avoid re-adding previously deleted (or renamed) pages. 2008-08-26 14:39:47 -04:00
Joey Hess 042a057778 color: New plugin from ptecza. 2008-08-26 13:22:34 -04:00
Joey Hess 6364949dfc remove dead code 2008-08-26 12:28:59 -04:00
Joey Hess d06096ad0d edittemplate: Don't wipe out edits on preview. 2008-08-25 20:51:10 -04:00
Joey Hess 78e34fbdc2 filecheck: New plugin factoring out the PageSpec additions that were originally part of the attachment plugin. 2008-08-25 19:52:34 -04:00
Joey Hess 8eb65c1ef1 update 2008-08-25 14:21:04 -04:00
Joey Hess 4956623ee6 rename plugin
I don't want to be stuck renameing it later if preprocessor directives are
turned into postprocessor directives. Also, "directives" is shorter and
clearer than "preprocessors".
2008-08-25 13:38:44 -04:00
Joey Hess c62cbc31c2 indentation, style, and fixed name of preprocessor_description_dir 2008-08-25 13:36:06 -04:00
Joey Hess 029edd9b45 plugin by willu 2008-08-25 13:28:25 -04:00
Joey Hess 69e35d3c51 willu's teximg changes
* teximg: The prefix is configurable, and has changed to not include the
  nonstandard mhchem by default. (willu)
* teximg: dvipng is used if available to render images. Its output is
  antialiased and better than dvips. If not available, the old dvips+convert
  chain will be used. (willu)
* Drop suggests on texlive-science, add suggests on dvipng.
2008-08-24 15:21:51 -04:00
Joey Hess 9b10f5eab2 map: The fix for #449285 was buggy and broke display of parents in certian circumstances.
The use of $dummy was not sufficient, because it only stuck around for the
first element after a dummy parent, and was then lost. Instead, use a
$addparent that contains the actual dummy parent, so it can be compared
with the new item to see if we're still under that parent or have moved to
another one.
2008-08-23 13:10:49 -04:00
Joey Hess d84e43faac fix my broken fix 2008-08-23 12:48:01 -04:00
Joey Hess d23943ebea fix off-by-one, and fix link
The link was broken if the inserted dir was not under the destpage
2008-08-23 12:37:19 -04:00
Joey Hess 15a0a151bf fix links to inserted parent pages
The parent page names had "/" prepended, which caused broken links.
2008-08-23 12:28:18 -04:00
Joey Hess 3069c7b36a fix directory uniquification code 2008-08-22 21:52:03 -04:00
Joey Hess 4643233c18 monotone updates
- Try to configure a wrapper
- Fix (?) ikiwiki-makerepo repo name mangling
- Add big warning about passphrases
- Doc updates
2008-08-22 00:22:02 -04:00
Joey Hess 6cf96b5819 Fix bug in wikiname sanitisation in the setup automator. 2008-08-21 23:40:11 -04:00
Joey Hess 00a4271290 improve handling of typoed or problem rcs 2008-08-21 23:07:29 -04:00
Joey Hess 5d83e7359d graphviz: Fix breakage of the name of the preprocessor directive. 2008-08-14 14:44:30 -04:00
Joey Hess 6432d15cb4 fix a common case typo 2008-08-12 15:48:44 -04:00
Joey Hess d50376a05d default to looking at page source file if no file is specified
This will allow these pagespecs to be used a bit more generally.
2008-08-12 15:34:47 -04:00
Joey Hess 88e389ef1e error if ping fails, rather than printing debug 2008-08-11 13:03:30 -04:00
Joey Hess 3de7d39ec6 use srcfile/destfile
avoids a commit message of "renamed foo to foo"
2008-08-07 16:20:35 -04:00
Joey Hess 11550f9593 avoid link fixup if page name stayed the same 2008-08-07 16:17:50 -04:00
Joey Hess 46b9a83b61 page file type rename patch from willu 2008-08-07 16:09:41 -04:00
Joey Hess 581381e335 inline: Ignore parent dirs when sorting pages by title. 2008-08-07 15:47:59 -04:00
Joey Hess adc2eb3d8c Options set in the setup file are now immediatly loaded by ikiwiki -setup. This allows later switches to override them. Previously, setup file options overrode most command line options. 2008-08-06 01:58:04 -04:00
Joey Hess 6fb6d51524 fix inverted test 2008-08-06 01:15:48 -04:00
Joey Hess 86660e9c82 external: Fix support for hooks called in an array context. 2008-08-06 01:05:44 -04:00
Joey Hess 9cb415f4a4 autoindex: Ignore internal pages, and take underlay directories into account. Also, avoid making index pages for directories that contain no files. 2008-08-06 00:04:05 -04:00
Joey Hess bf8558f346 save to real setup file, and rebuild/refresh 2008-08-05 20:11:56 -04:00
Joey Hess 83888b75f1 save the full path to the setup file 2008-08-05 20:11:23 -04:00
Joey Hess 46b3f54ab6 typo 2008-08-05 19:58:33 -04:00
Joey Hess 4b4bce5006 Revert "typo"
This reverts commit c8d3626c51.
2008-08-05 19:39:30 -04:00
Joey Hess 4b994ffed1 avoid forcing syslog setting
This avoids forcing the setting to 0 if it was not set at all.
2008-08-05 19:36:53 -04:00
Joey Hess c8d3626c51 typo 2008-08-05 19:30:09 -04:00
Joey Hess 6e2f9e97f3 Add simple patch to silence a warning when using monotone 2008-08-04 15:00:47 -04:00
Joey Hess e48f8ff8a9 hm 2008-08-04 14:53:11 -04:00
Joey Hess 0c3291d4f3 plugin enable/disable working and bugfixes 2008-08-03 22:16:38 -04:00
Joey Hess a4ce6550eb loosen qw regexp 2008-08-03 22:16:38 -04:00
Joey Hess 6d15912e8f work around strange problem with banned_users
Its value was being ignored. Some kind of formbuilder bug?
Anyway, prefixing all keys with a section seems like a good idea
generally, in case there's ever overlap.
2008-08-03 21:06:13 -04:00
Joey Hess 4b79a43db6 checkboxes back 2008-08-03 20:51:46 -04:00
Joey Hess 2a712c8817 use radio, not checkbox, for booleans
Had to do this due to one of CGI::FormBuilder's more annoying quirks -- it
loses the value of a checkbox field with only one option, always treating
it as checked.
2008-08-03 20:20:25 -04:00
Joey Hess 3905645342 add plugin safe/rebuild info (part 3 of 3) 2008-08-03 19:36:11 -04:00
Joey Hess 219afc3f9c support rebuild tristate
also some fixes to change minimisation logic
2008-08-03 18:23:17 -04:00
Joey Hess 018321f2c8 fix misc breakage from plugin safe/rebuild data addition 2008-08-03 18:17:13 -04:00
Joey Hess 39195de96e add plugin safe/rebuild info (part 2 of 3)
(brain.. melting..)
2008-08-03 17:20:21 -04:00
Joey Hess 1230e914b1 anonok is safe 2008-08-03 17:03:20 -04:00
Joey Hess 1a37848346 move plugin toggles to before config setting again 2008-08-03 16:58:16 -04:00
Joey Hess b7d6a49be4 ui improvements 2008-08-03 16:46:38 -04:00
Joey Hess aacec52a07 show force disabled plugins in advanced mode 2008-08-03 16:43:42 -04:00
Joey Hess 903213e63f add plugin safe/rebuild info (part 1 of 2)
too many plugins.. brain exploding..
2008-08-03 16:40:12 -04:00
Joey Hess 9e0cbb73fe plugin safe/rebuild controls 2008-08-03 16:23:41 -04:00
Joey Hess 4405cebd0a add advanced and basic modes 2008-08-03 14:57:24 -04:00
Joey Hess 5c0f539950 avoid adding extra disabled fields for arrays 2008-08-03 14:41:53 -04:00
Joey Hess d00f3edf13 properly support all types of data in arrays 2008-08-03 14:39:34 -04:00
Joey Hess 0f06504422 remove description_html, add link 2008-08-03 14:36:17 -04:00
Joey Hess 5ef45ca7e1 support arrays 2008-08-03 00:27:27 -04:00
Joey Hess d8b49840dd update 2008-08-02 23:59:40 -04:00
Joey Hess 7baa6320e0 rebuild detection 2008-08-02 23:32:40 -04:00
Joey Hess 8c02d670d0 pull values from form to config 2008-08-02 23:14:59 -04:00
Joey Hess f6babf662b fix syntax error with corrupt data
Just because it's supposed to be an integer or boolean doesn't mean the
vlaue really is..
2008-08-02 23:14:23 -04:00
Joey Hess 94c59d3254 collect a hash of shown fields
Need to do this to know what fields to take from CGI.
(Can't trust that only safe ones are sent..)
2008-08-02 23:06:25 -04:00
Joey Hess c762b65ce4 show unsafe options (RO) by default
Small data leak, but only to admins, and I think it's worth it to see the
stuff that cannot be configured.
2008-08-02 22:50:09 -04:00
Joey Hess 5dbd053da3 avoid syslog whining from broken plugins 2008-08-02 22:22:53 -04:00
Joey Hess 6f65cb1cbe avoid setting default value in websetup_force_plugins
This would make changes not be seen later.
2008-08-02 22:20:26 -04:00
Joey Hess 15341aed01 don't install demo external plugins by default 2008-08-02 16:53:20 -04:00
Joey Hess 4708aeceb3 websetup form display done 2008-08-02 16:41:37 -04:00
Joey Hess b0f4767448 basic form display done 2008-08-02 16:41:36 -04:00
Joey Hess 102f29e500 add description_html 2008-08-02 16:41:36 -04:00
Joey Hess 0b6dd9247b refactor 2008-08-02 16:41:35 -04:00
Joey Hess d3cad5d2ca relocate 2008-08-02 16:41:35 -04:00
Joey Hess 680cd2fbc3 skeleton of web setup plugin 2008-08-02 16:41:35 -04:00
Joey Hess 25c35b6e90 banned_users move to setup file, stage 1 2008-08-01 17:39:17 -04:00
Joey Hess 190a845fe1 hide deprecated values if empty after save 2008-08-01 17:39:17 -04:00
Joey Hess f41448d9ca rcs plugin loading reorg
Move rcs plugin load to loadplugins; move duplicate rcs detection logic out
of individual plugins and into loadplugins. Avoids checkconfig failing when
run twice.
2008-08-01 16:45:05 -04:00
Joey Hess bb394fdae8 admin prefs move to setup file, stage 1
The locked pages configuration is moving to a locked_pages option in the
setup file, and the allowed attachments configuration to
allowed_attachments. The admin prefs page can still be used for these, but
that's depreacted and will only be shown if there's currently a value.
2008-08-01 16:45:04 -04:00
Joey Hess 041923a89e Merge branch 'master' into autoconfig
Conflicts:

	IkiWiki/Plugin/git.pm
	debian/changelog
	po/ikiwiki.pot
2008-07-31 19:35:37 -04:00
Joey Hess f7b8f2297c Add test for old versions of git that don't support --cleanup=verbatim, and munge empty commit messages. 2008-07-31 19:23:54 -04:00
Joey Hess 6c8a8dd13b add guard against enabling multiple rcs plugins 2008-07-30 14:32:48 -04:00
Joey Hess 12c5786df4 Merge branch 'tova' into autoconfig
Conflicts:

	debian/changelog
2008-07-29 15:54:45 -04:00
Joey Hess f0090d8c57 check generated pages in
I considered not checking them in, or making the checkin configurable.
However, then they would remain not checked in if edited by a user, which is
probably not desired.

Note that passing undef as the username/ip to rcs_commit_staged may not
result in ideal behavior; the commit may seem to come from "anonymous" with
some revision control systems. Most of them handle it a bit better and just
have it come from whatever user is running the build.
2008-07-29 15:51:25 -04:00
Joey Hess a02c3f46ea initial draft 2008-07-29 15:39:01 -04:00
Joey Hess 37245a9988 add refresh hook 2008-07-29 15:04:34 -04:00
Joey Hess 73af360e99 fix cgiurl check 2008-07-27 19:21:56 -04:00
Joey Hess 9be28d7865 handle options with no value and no example value 2008-07-27 19:19:04 -04:00
Joey Hess 9607452346 typo 2008-07-27 16:11:06 -04:00
Joey Hess 950850f639 add new wiki to wikilist 2008-07-27 16:01:29 -04:00
Joey Hess 929a70a16d password prompt for admin user 2008-07-27 15:44:11 -04:00
Joey Hess c755bfd1d8 automator improvements 2008-07-27 15:16:03 -04:00
Joey Hess 3d4c32dace lose the ugly $rawsetup, use a function 2008-07-27 15:08:10 -04:00
Joey Hess 3d139e4312 rcs hook setup for the two I know 2008-07-27 01:50:43 -04:00
Joey Hess f28b57526c setup automator
"ikiwiki -setup /etc/ikiwiki/simple.setup"
can be used set up a new wiki in seconds
2008-07-27 01:39:11 -04:00
Joey Hess e1f7146041 avoid clobbering example diffurl 2008-07-27 00:54:15 -04:00
Joey Hess 4ef96e2d99 Merge branch 'master' into autoconfig 2008-07-26 23:22:42 -04:00
Joey Hess 618e3c1075 use new style error handling 2008-07-26 23:15:35 -04:00
Enrico Zini e3713772f7 Added cutpaste plugin.
I'm wondering if cutandpaste wouldn't be a better name.
2008-07-26 23:08:17 -04:00
Enrico Zini 02078c406c Handle the case when HTML got tidied.
This fixes debian bug #492529.
2008-07-26 23:05:57 -04:00
Joey Hess 6a64d13352 allow --dumpsetup to be used w/o specifying srcdir and destdir
shortcut tried to use srcdir in checkconfig; change it to not so this will
work.
2008-07-26 23:00:44 -04:00
Joey Hess 67a63e7860 fixups 2008-07-26 22:38:43 -04:00
Joey Hess 6154dd03cb finish with rcs plugin conversion 2008-07-26 22:28:18 -04:00
Joey Hess 14cd75746a Version control backends promoted to first-class plugins 2008-07-26 22:27:24 -04:00
Joey Hess 82f0facb62 fixups 2008-07-26 21:14:07 -04:00
Joey Hess 42ac4ec009 remove default values in getsetup
They were a bit confusing, since they did not actually set the default, and
example values are sufficient.
2008-07-26 21:07:15 -04:00
Joey Hess c83fd4a328 wrapper setup reorg
Flattened the wrapper setup, as this lets it be handled better by the
setup generation code.
2008-07-26 21:00:11 -04:00
Joey Hess 38618838c9 add example wrapper and fix formatting 2008-07-26 19:49:45 -04:00
Joey Hess cecd3bf725 historyurl can be undef 2008-07-26 19:37:25 -04:00
Joey Hess 8051316904 add missing setup options, tweak others' display 2008-07-26 19:28:15 -04:00
Joey Hess bb872ea1e8 filter out demo plugins 2008-07-26 19:11:31 -04:00
Joey Hess 52bbdbb1a5 load all plugins when generating setup 2008-07-26 19:10:11 -04:00
Joey Hess f892cc8c50 two typos 2008-07-26 19:05:52 -04:00
Joey Hess 477654003f clarify wording 2008-07-26 18:33:18 -04:00
Joey Hess 56b9b85e33 tla done too 2008-07-26 18:31:27 -04:00
Joey Hess 2bbe1bf9af move more settings out to rcs 2008-07-26 18:29:33 -04:00
Joey Hess 90b310b93c getsetup-ize svn and bzr 2008-07-26 18:26:56 -04:00
Joey Hess 21af3ae336 add folding 2008-07-26 18:14:21 -04:00
Joey Hess b277e00d4e add gensetup for hg 2008-07-26 18:13:16 -04:00
Joey Hess 66739016fa add gensetup for git 2008-07-26 18:10:01 -04:00
Joey Hess 9bcb649efe typos 2008-07-26 17:58:20 -04:00
Joey Hess 0e0ee9b2ce make monotone use hooks, add getsetup
Rather than every monotone rcs_ function calling check_config, just put it
in a checkconfig hook. (But the chdir still needs to be done by every
hook.)
2008-07-26 17:49:25 -04:00
Joey Hess cab1ac75c9 refactor 2008-07-26 15:43:25 -04:00
Joey Hess b073359b18 refactor 2008-07-26 15:39:41 -04:00
Joey Hess 1c00717cb2 can now dump fully functional setup files 2008-07-26 15:34:38 -04:00
Joey Hess cd029da493 typo 2008-07-26 14:56:10 -04:00
Joey Hess 26db34e1d6 adminemail may be undefined 2008-07-26 14:54:50 -04:00
Joey Hess 79f637a436 typo 2008-07-26 14:44:49 -04:00
Joey Hess 49e86d2562 turn booleans into questions 2008-07-26 14:43:47 -04:00
Joey Hess abab46f983 add info for all common setup file options, and most internal ones 2008-07-26 14:39:12 -04:00
Joey Hess 1ba84c3a6b predefine pingurl 2008-07-26 14:38:58 -04:00
Joey Hess c2507d33cb allow account_creation_password to not be defined 2008-07-26 14:02:36 -04:00
Joey Hess 6b19afb3ef fixes 2008-07-26 13:10:52 -04:00
Joey Hess 9169c3247f standardising and documenting getsetup 2008-07-26 13:07:48 -04:00
Joey Hess 255172215e fixes 2008-07-26 12:53:07 -04:00
Joey Hess 5bea644fdd add dumpsetup option; refactor 2008-07-26 12:46:31 -04:00
Joey Hess 62cd2e0a5d setup dumping improvements 2008-07-26 12:01:10 -04:00
Joey Hess e727d5b6e9 more formatting 2008-07-26 02:04:30 -04:00
Joey Hess fe2fe5aa4b improve formatting 2008-07-26 01:58:36 -04:00
Joey Hess 278ae9afea add ability to generate setup files
quite nice ones, too, with comments and everything
2008-07-26 01:35:26 -04:00
Joey Hess 0d7bc7402c fix plugin name 2008-07-26 00:45:32 -04:00
Joey Hess 426200b34a avoid fatal error in sanitize 2008-07-26 00:45:21 -04:00
Joey Hess 84c905ec20 finish adding getsetup hooks to plugins 2008-07-26 00:38:13 -04:00
Joey Hess d0bd30824e Merge branch 'master' into autoconfig 2008-07-25 19:27:15 -04:00
Joey Hess b7bf566f55 attachment: Use relative paths when inserting links. 2008-07-25 19:22:29 -04:00
Joey Hess 1f8b0460c3 added getsetup hooks for all plugins up to recentchanges 2008-07-25 18:05:55 -04:00
Joey Hess cf6c2f142f add getsetup
Also, avoid dying with a fatal error if multimarkdown is enabled and the
module doesh't load.
2008-07-25 17:52:00 -04:00
Joey Hess bf6198baf3 add getconfig for inline
Also, moved the pingurl getopt parsing to inline.
2008-07-25 17:24:52 -04:00
Joey Hess a71b9a1cf1 fix feed urls
The fix for colons involved adding "./" to some urls. Due to the weird way
inline called urlto, these snuck into feed urls and permalinks. Fix it by
adding an optional third parameter to urlto.
2008-07-25 16:16:44 -04:00
Jelmer Vernooij 3575798564 bzr: Version directories on the fly, ignore directories when retrieving
changes.

Now passes t/bazaar.t again.
2008-07-25 20:13:45 +02:00
Joey Hess c401cf4f0c Merge commit 'jelmer/master' 2008-07-25 12:03:34 -04:00
Joey Hess 89e0de5bc4 improved, possibly faster getelementsbyclass by willu 2008-07-25 01:43:37 -04:00
Joey Hess 99b59f2d62 toggle: Fix incompatability between javascript and webkit. 2008-07-25 01:24:20 -04:00