Проблема jsdoc: отображается полный путь к исходному файлу (нежелательно)

Я использую jsdoc3 для своего проекта, и все прекрасно компилируется.

Но с этим я возился последние 2 дня и сдаюсь :(

При использовании самого простого вызова терминала MacOsX для запуска jsdoc я ВСЕГДА получаю полный путь к моему исходному файлу в сгенерированной документации.

Пример:

./jsdoc ../projectname/js/jsfile.js

В сгенерированном файле индекса я вижу h1 с «индексом», а под ним h2 с полным путем к файлу js:

/Users/username/projects/path/projectname/js/jsfile.js

Мне не нравится, что он показывает мой полный локальный путь...
После прочтения я подумал, что это будет относительно того, откуда я запускаю jsdoc.
Но все это имеет тот же точный результат:

cd /Users/username/projects/path/projectname
../jsdoc-master/jsdoc js/jsfile.js

так же как

cd /Users/username/projects/path/projectname/js
../../jsdoc-master/jsdoc jsfile.js

Проблема в том, что этот путь также используется со ссылками на номера строк и на странице исходного кода. И действительно не приятно, что отображается мой внутренний путь...

Я бы хотел, чтобы результат был projectname/js/jsfile.js или, по крайней мере, просто jsfile.js, но я не могу заставить это работать.

Я надеюсь, что кто-то может сказать мне, что я делаю неправильно.

С уважением,
Ян


person Jan Paepke    schedule 27.02.2014    source источник
comment
Какую конкретную версию jsdoc 3 вы используете?   -  person Louis    schedule 28.02.2014
comment
Вы можете попробовать еще раз с 3.2.2. 3.3.0-dev — это альфа-версия программного обеспечения. Если у вас все еще возникает проблема с 3.2.2, я бы предложил опубликовать в вашем вопросе фрагмент кода, который воспроизводит проблему.   -  person Louis    schedule 28.02.2014
comment
Привет, Луи, это действительно помогло! Путь сгенерирован правильно. Проблема сейчас в том, что 3.2.2, похоже, не может анализировать упорядоченные списки. :-/ Я мог бы использовать 3.3. а затем вручную исправляя сгенерированные файлы...   -  person Jan Paepke    schedule 28.02.2014
comment
Рад, что был полезен. Я не уверен, что вы подразумеваете под упорядоченными списками. Это новая директива @, добавленная в 3.3.0?   -  person Louis    schedule 28.02.2014
comment
Упорядоченные списки — это ‹ol›‹li›‹/li›‹/ol›, а неупорядоченные — ‹ul›... Я использую неупорядоченные списки в моем файле readme, который я включаю в свои документы. Поэтому в соответствии с синтаксисом уценки я использую * xzy. Также пробовал + и -, не повезло. 3.2.2 просто не анализирует его должным образом - 3.3.0 делает.   -  person Jan Paepke    schedule 28.02.2014


Ответы (1)


@Louis помог мне понять, что это проблема с альфа-версией.
3.2.2 не экспортировал полный путь к документам.

К сожалению, у него были другие проблемы, такие как отсутствие поддержки ненумерованных списков.
Поэтому я решил придерживаться версии 3.3.0 и написать сценарий оболочки, впоследствии исправляющий неправильный вывод jsdoc.
Содержимое файла оболочки:

./jsdoc-master/jsdoc ./projectname/js/jsfile.js
ABSPATH=$(cd "$(dirname "$0")"; pwd)
perl -pi -e "s?$ABSPATH/projectname/js/??g" ./out/*.html

Таким образом, это в основном удаляет полный путь из сгенерированных файлов html.
Это немного грязно, но это работает...

С уважением,
Ян

person Jan Paepke    schedule 28.02.2014
comment
Привет, ребята. Я разговаривал с разработчиком jsdoc, и оказалось, что это действительно ошибка в альфа-версии. Теперь он решен и работает, как ожидалось. - person Jan Paepke; 08.03.2014