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
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