Чтобы описать некоторые классы C ++ и предоставить практические рекомендации, мы годами успешно используем вики на базе MediaWiki. Документированные классы обычно определяются в пространстве имен C ++, поэтому мы используем вики-страницы, названные в честь cppnamespace::classname
условность.
Год назад расширение Semantic MediaWiki (SMW) было включено для вики.
Сегодня я начал просматривать статистику вики и обнаружил, что некоторые подозрительные атрибуты «используются, но не определены». Как я обнаружил, они были вызваны столкновением особого значения Синтаксис атрибута SMW применяется к Пространство имен C ++ разделитель ::
это вызывает проблемы на вики-страницах со ссылками на страницы, названные полностью определенными классами. SMW всегда сокращает имя до имени класса.[1]
Если я напишу в вики текст,
[[MyNamespace::MyClass]]
[[MyNamespace::MyClass|MyNamespace::MyClass]]
[[MyClass|MyNamespace::MyClass]]
…отобразится визуализированная вики-страница,
MyClass MyClass MyClass
…и страница, которая связана с Мои занятия в каждом случае.
Обычно я решал подобные проблемы, представляя новый шаблон MediaWiki.[2]. Но я не уверен в лучшем решении в этом особом случае, потому что есть много страниц, которые будут затронуты. Так что меня интересует предыдущий опыт с этим. (ни Google, ни SO пока не помогли)
Если у вас была такая же проблема, какое решение вы нашли?
В соответствии с http://semantic-mediawiki.org/wiki/Help:Properties_and_types
Чтобы сделать обычную ссылку с :: без создания свойства, экранируйте разметку с двоеточием впереди,
например [[: C ++ :: operator]].