diff options
author | Joey Hess <joey@kitenet.net> | 2008-01-19 16:17:43 -0500 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2008-01-19 16:17:43 -0500 |
commit | c18bf92d741a21e3a165695544012ef407192f6e (patch) | |
tree | 54d55d3d23a35fada4e888c8bd89af3de7412a21 /doc/index | |
parent | 20ab3bd8e4a4190dc19aa348c237fc3feef42322 (diff) | |
download | ikiwiki-c18bf92d741a21e3a165695544012ef407192f6e.tar ikiwiki-c18bf92d741a21e3a165695544012ef407192f6e.tar.gz |
web commit by http://adam.shand.net/: thanks joey.
Diffstat (limited to 'doc/index')
-rw-r--r-- | doc/index/discussion.mdwn | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/doc/index/discussion.mdwn b/doc/index/discussion.mdwn index 1e8dd2e17..d5a48f282 100644 --- a/doc/index/discussion.mdwn +++ b/doc/index/discussion.mdwn @@ -416,6 +416,8 @@ I'm playing around with various ways that I can use subversion with ikiwiki. ---- +# Regex for Valid Characters in Filenames + I'm sure that this is documented somewhere but I've ransacked the wiki and I can't find it. :-( What are the allowed characters in an ikiwiki page name? I'm writing a simple script to make updating my blog easier and need to filter invalid characters (so far I've found that # and , aren't allowed ;-)). Thanks for any pointers. -- [[AdamShand]] > The default `wiki_file_regexp` matches filenames containing only @@ -424,3 +426,12 @@ I'm sure that this is documented somewhere but I've ransacked the wiki and I can > The IkiWiki::titlepage() function will convert freeform text to a valid > page name. See [[todo/should_use_a_standard_encoding_for_utf_chars_in_filenames]] > for an example. --[[Joey]] + +>> Perfect, thanks! +>> +>> In the end I decided that I didn't need any special characters in filenames and replaced everything but alphanumeric characters with underscores. In addition to replacing bad characters I also collapse multiple underscores into a single one, and strip off trailing and leading underscores to make tidy filenames. If it's useful to anybody else here's a sed example: +>> +>> # echo "++ Bad: ~@#$%^&*()_=}{[];,? Iki: +_-:./ Num: 65.5 ++" | sed -e 's/[^A-Za-z0-9_]/_/g' -e 's/__*/_/g' -e 's/^_//g' -e 's/_$//g' +>> Bad_Iki_Num_65_5 +>> +>>--[[AdamShand]] |