Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info

master
Joey Hess 2008-05-28 15:38:36 -04:00
commit 774a5f86b2
5 changed files with 20 additions and 11 deletions

View File

@ -10,4 +10,4 @@ log back in, try out the OpenID signup process if you don't already have an
OpenID, and see how OpenID works for you. And let me know your feelings about
making such a switch. --[[Joey]]
[[poll 57 "Accept only OpenID for logins" 18 "Accept only password logins" 35 "Accept both"]]
[[poll 58 "Accept only OpenID for logins" 18 "Accept only password logins" 35 "Accept both"]]

View File

@ -7,6 +7,8 @@ hnb installed, since it uses the commandline interface of `hnb` program.
It is roughly based on the `otl` plugin but uses `mktemp` to create temporary files since `hnb` has no "quiet" switch and otherwise the hnb version number and other as well as the output file name always would be in the output itself.
For now it's available for download at <http://noone.org/hnb/hnb.pm>. It's available under the GPL
For now [[XTaran]]'s currently used version is available for download at <http://noone.org/hnb/hnb.pm>. The Mercurial repository is at <http://noone.org/hg/ikiwiki/plugin>.
The hnb plugin is available under the GPL.
TODO: Make a switch to allow both HTML export routines of hnb (`export_html` and `export_htmlcss`) to be used.

View File

@ -4,16 +4,25 @@ namely this line:
system("hnb '$params{page}.hnb' 'go root' 'export_html $tmp' > /dev/null");
This could potentially allow execution of artibtary shell code, if the filename
contains a single quote. Which ikiwiki doesn't allow by default, but I prefer
to never involve a shell where one is not needed. The otl plugin is a good
example of how to safely fork a child process without involving the shell.
contains a single quote.
* Fixed with version 0.02 by usage of `$params{content}` -- XTaran
Which ikiwiki doesn't allow by default, but I prefer to never involve a shell where one is not needed. The otl plugin is a good example of how to safely fork a child process without involving the shell.
* Had a look at that one as example before writing the hnb plugin, but hnb has different input/output characteristics. I would prefer another solution, too, but as long as it works and is secure, I'm fine with the current (fixed :-) ) solution -- [[XTaran]].
Other problems:
* Use of shell mktemp from perl is suboptimal. File::Temp would be better.
* Fixed with version 0.02 -- [[XTaran]]
* The htmlize hook should not operate on the contents of `$params{page}.hnb`.
The content that needs to be htmlized is passed in to the hook in
`$params{content}`.
* Fixed with version 0.02 -- [[XTaran]]
If these problems are resolved and a copyright statement is added to the file,
* Copyright Statement is in their for about a month. -- [[XTaran]]
I'd be willing to include this plugin in ikiwiki. --[[Joey]]

View File

@ -8,8 +8,6 @@ Here's another one with *emphasised* text.
do ë characters work? Sure.
Hupple hupple hupple hupple snork.
There are Polish diacritical characters: ą, ć, ę, ł, ń, ó, ś, ż, ź.
Korean characters test : 한글테스트입니다.

View File

@ -51,14 +51,14 @@ To dump the entire database contents:
'email' => 'joey@kitenet.net',
[...]
Editing values is simply a matter of changing values and calling Storable::nstore().
So to change a user's password:
Editing values is simply a matter of changing values and calling `Storable::nstore()`.
So to change a user's email address:
joey@kodama:~/src/joeywiki/.ikiwiki> perl -le 'use Storable; my $userinfo=Storable::retrieve("userdb"); $userinfo->{"foo"}->{email}=q{foo@bar}; Storable::lock_nstore($userinfo, "underdb")'
joey@kodama:~/src/joeywiki/.ikiwiki> perl -le 'use Storable; my $userinfo=Storable::retrieve("userdb"); $userinfo->{"foo"}->{email}=q{foo@bar}; Storable::lock_nstore($userinfo, "userdb")'
To remove that user:
joey@kodama:~/src/joeywiki/.ikiwiki> perl -le 'use Storable; my $userinfo=Storable::retrieve("userdb"); delete $userinfo->{"foo"}; Storable::lock_nstore($userinfo, "underdb")'
joey@kodama:~/src/joeywiki/.ikiwiki> perl -le 'use Storable; my $userinfo=Storable::retrieve("userdb"); delete $userinfo->{"foo"}; Storable::lock_nstore($userinfo, "userdb")'
I've not written actual utilities to do this yet because I've only needed
to do it rarely, and the data I've wanted has been different each time.