Як щодо чогось на зразок сфінкса ?
Ви записуєте свою документацію в reStructuredText (синтаксис схожий на Markdown, який використовує переповнення стека) у текстові файли у звичайному тексті (= простий у керуванні версіями), а Sphinx розплющує HTML-сторінки.
Два найвидатніших користувачів Sphinx (про яких я знаю) - мова Python та TortoiseHG (див. Посилання на створену документацію про Sphinx).
Редагувати:
Я просто прочитав, що ви говорите про внутрішню проектну документацію, а не про документацію для кінцевого користувача.
На мою думку, щось на зразок Sphinx - це найкращий спосіб і для внутрішньої документації (за умови, що ви можете змусити своїх аналітиків писати reStructuredText), оскільки:
- Ви можете легко керувати версіями документів (а текстові файли відрізняються значно більше, ніж менше, ніж двійкові файли, такі як .doc або .pdf).
- Якщо розробник хоче добре читати .doc або .pdf файл, він може створити його за допомогою Sphinx з джерел.
Якщо Сфінкс занадто складний, є навіть більш простий спосіб: ви можете написати свою документацію в Markdown і використовувати Pandoc для створення (наприклад) .rtf, .doc або .pdf файлів (це може зробити набагато більше).
Мені Pandoc легше почати роботу, ніж Сфінкс, але Pandoc не може створити приємні ієрархії меню, як Sphinx (як, наприклад, у документації Python та TortoiseHG, яку я пов’язував вище).
Незалежно від того, який з інструментів ви використовуєте, якщо у вас є внутрішній веб-сервер і сервер збірки, ви можете налаштувати його так, щоб сервер збірки генерував вихід HTML і копіював це на веб-сервері кожного разу, коли хтось щось підштовхує до документації. Тож вашим аналітикам навіть не доводиться думати про остаточний результат, вони просто зобов'язані здійснити та просувати свої зміни.