Сокращение перекрестных ссылок в документе Сфинкса - PullRequest
0 голосов
/ 13 сентября 2018

При использовании расширения intersphinx для перекрестных ссылок на объекты из внешних пакетов Python ссылки могут быть довольно длинными, если модуль, в котором определен объект, вложен в несколько уровней глубиной.В частности, я работаю с библиотекой Sympy, что приводит к тому, что постоянно приходится набирать такие вещи, как :class:`sympy.core.symbol.Symbol` повсюду.

Я знаю, что вы можете:

  1. Prepend a ~ символ для ссылки, чтобы ссылка отображалась только как «Символ» в сгенерированной документации.
  2. Усекает путь от начала , оставляя точку в начале, как .Symbol, .symbol.Symbol, .core.symbol.Symbol и т. Д.
  3. Просто используйте Symbol и рассчитывайте на Сфинкса, чтобы найти его, если я знаю, что не будет никаких конфликтов.

# 1 подходит для сгенерированной документации, но все еще очень многословен в исходных файлах.# 2 и # 3 короче, но пропускают самую важную часть, которая является фактическим корневым пакетом.

Есть ли способ сократить ссылки таким образом, чтобы удалить имена промежуточных модулей, но также сохранить пространство имен корневого пакета?Что-то вроде sympy.*.Symbol или sympy::Symbol?

...