aboutsummaryrefslogtreecommitdiff
path: root/doc/forum/Regex_for_Valid_Characters_in_Filenames.mdwn
diff options
context:
space:
mode:
authorJoey Hess <joey@gnu.kitenet.net>2009-12-10 22:16:58 -0500
committerJoey Hess <joey@gnu.kitenet.net>2009-12-10 22:16:58 -0500
commit5d4ef9cecc2079355099ed7ede016611945e2fba (patch)
treea515944aa8a536f4f7576e46383ddb3663f1c4cd /doc/forum/Regex_for_Valid_Characters_in_Filenames.mdwn
parent43b251aec4e5c788cd1c9ae2f3ca3725462de8b7 (diff)
downloadikiwiki-5d4ef9cecc2079355099ed7ede016611945e2fba.tar
ikiwiki-5d4ef9cecc2079355099ed7ede016611945e2fba.tar.gz
split out the toplevel discussion page into individual forum posts
backdated to the date the topic was discussed to avoid flooding
Diffstat (limited to 'doc/forum/Regex_for_Valid_Characters_in_Filenames.mdwn')
-rw-r--r--doc/forum/Regex_for_Valid_Characters_in_Filenames.mdwn19
1 files changed, 19 insertions, 0 deletions
diff --git a/doc/forum/Regex_for_Valid_Characters_in_Filenames.mdwn b/doc/forum/Regex_for_Valid_Characters_in_Filenames.mdwn
new file mode 100644
index 000000000..618576f81
--- /dev/null
+++ b/doc/forum/Regex_for_Valid_Characters_in_Filenames.mdwn
@@ -0,0 +1,19 @@
+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
+> `[-[:alnum:]_.:/+]`
+>
+> The 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]]
+
+[[!meta date="2008-01-18 23:40:02 -0500"]]