On Fri, 4 Feb 2005 06:50:16 -0800 (PST), Rich Holton rich_holton@yahoo.com wrote:
How about the following resolution:
- Use some newly defined markup for the page title, if present
- Search the first paragraph/n words for a match to the link name
ignoring case, in bold. If found, use that as the page name.
Not an easy step, but possible I guess. Of course, it assumes, as does the rest of this, that you can guarantee a clean case-insensitive search (think different character encodings, etc) - and also that the title as written in the page is *punctuated* identically to that of the title. Of course, a page like [[acid]] would end up with its title displayed in all lowercase that way, which isn't necessarily a good thing, but it would lend some degree of consistency I guess.
- Default to the case of the link name (including redirect links).
Note that there is no way of knowing what *link* you came in by, only what *URL* - it might not have been an internal link at all. But yes, you could use that. Again, things like "acid", referred to in the middle of sentences, wouldn't become "Acid" as they do atm.
I don't yet know enough about the guts of the code to say if this is easy, hard, or impossible. But it seems like it could work conceptually.
An additional thought to throw into the ring is how to deal with the title in *generated* text, like Special:Watchlist, Special:Recentchanges, etc. Perhaps the 'display title' would have to be stored in the database, and updated whenever the page was edited. Come to think of it, that would make the checks a lot more efficient, too, because they could just be skipped on most views.
And that all assumes that Brion's comment about assumptions inherent in the code doesn't prove too huge an obstacle.
One question is how to deal with already existing pages where the name differs only in case.
That would be a problem if, say, the English Wikipedia switched to using the feature, but I think that's unlikely to happen for all sorts of reasons (it would have such far-reaching consequences, that pages with only case difference would the least of our worries). For smaller existing installations, it should be possible to craft a SQL query to find the titles which need changing, and then follow the backlinks to change references to them too.