Co powiesz na coś takiego jak Sfinks ?
Piszecie swoją dokumentację w reStructuredText (składnia jest podobna do Markdown, której używa przepełnienie stosu) do zwykłych plików tekstowych (= łatwa do kontroli wersji), a Sphinx wyrzuca strony HTML.
Dwaj najwybitniejsi użytkownicy Sfinksa (o których wiem) to język Python i TortoiseHG (zobacz linki do dokumentacji wygenerowanej przez Sfinksa).
EDYTOWAĆ:
Właśnie przeczytałem, że mówisz o dokumentacji wewnętrznej projektu, a nie dokumentacji użytkownika końcowego.
Moim zdaniem coś takiego jak Sphinx jest najlepszym sposobem na wewnętrzną dokumentację (pod warunkiem, że możesz poprosić analityków o napisanie reStructuredText), ponieważ:
- Możesz łatwo kontrolować wersję dokumentów (a różnice w plikach tekstowych zajmują o wiele, wiele mniej miejsca niż pliki binarne, takie jak .doc lub .pdf).
- Jeśli programista chce ładnego, czytelnego pliku .doc lub .pdf, może go utworzyć ze Sphinx ze źródeł.
Jeśli Sphinx jest zbyt skomplikowany, istnieje jeszcze prostszy sposób: możesz napisać swoją dokumentację w Markdown i użyć Pandoc do utworzenia (na przykład) plików .rtf, .doc lub .pdf (może to zrobić znacznie więcej).
Uważam, że Pandoc jest łatwiejszy do rozpoczęcia niż Sphinx, ale Pandoc nie może tworzyć ładnych hierarchii menu takich jak Sphinx (jak w dokumentacji Pythona i TortoiseHG, które podlinkowałem powyżej).
Bez względu na to, z którego narzędzia korzystasz, jeśli masz wewnętrzny serwer WWW i serwer kompilacji, możesz go skonfigurować tak, aby serwer kompilacji generował dane wyjściowe HTML i kopiował je na serwerze internetowym za każdym razem, gdy ktoś popycha coś do dokumentacji. Więc twoi analitycy nie muszą nawet myśleć o ostatecznym wyniku, muszą jedynie zatwierdzić i naciskać na swoje zmiany.