(* COCANWIKI - a wiki written in Objective CAML.
* Written by Richard W.M. Jones <rich@merjis.com>.
* Copyright (C) 2004 Merjis Ltd.
- * $Id: wikilib.ml,v 1.1 2004/10/21 11:42:05 rich Exp $
+ * $Id: wikilib.ml,v 1.3 2004/11/01 16:24:50 rich Exp $
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
(* URL cannot begin with '_'. *)
else if url.[0] = '_' then
GenURL_BadURL
+ (* Titles which begin or end with spaces are probably mistakes. *)
+ else if isspace title.[0] || isspace title.[String.length title - 1] then
+ GenURL_BadURL
else (
(* Check that the URL doesn't already exist in the database. If it does
* then it probably means that another page exists with similar enough
let link_re = Pcre.regexp "\\[\\[\\s*(.+?)\\s*(?:\\|(.+?)\\s*)?\\]\\]"
let image_re =
- Pcre.regexp "^(image|thumb(?:nail)?):\\s*([a-z0-9][_a-z0-9]*\\.(?:jpg|jpeg|gif|ico|png))$"
+ Pcre.regexp "^(image|thumb(?:nail)?):\\s*([a-z0-9][-._a-z0-9]*\\.(?:jpg|jpeg|gif|ico|png))$"
let file_re =
Pcre.regexp "^file:\\s*([a-z0-9][-._a-z0-9]*)$"