Doxygen — кросплатформна система документування початкового коду програм[1], яка підтримує C++, Сі, Objective-C, Python, Java, IDL, PHP, Perl, C#, Фортран, VHDL і, частково, D.

Приклад документації, згенерованої Doxygen

Doxygen генерує документацію на основі набору вихідних текстів і також може бути налаштований для вилучення структури програми з недокументованих вихідних текстів. Можливе складання графів залежностей програмних об'єктів, діаграм класів та вихідних кодів з гіперпосиланнями.

Приклад програми мовою C++ (згенерована документація — на рисунку):

class Time {
 
    public:
 
       /**
        * Constructor that sets the time to a given value.
        *
        * @param timemillis Number of milliseconds
        *        passed since Jan 1, 1970.
        */
       Time (int timemillis) {
           // the code
       }
 
       /**
        * Get the current time.
        *
        * @return A time object set to the current time.
        */
       static Time now () {
           // the code
       }
};

Doxygen має вбудовану підтримку генерації документації в форматі HTML, LaTeX, man, RTF і XML. Також результати його роботи можуть бути легко конвертовані в CHM, PostScript, PDF.

Для HTML-представлення документації, що розміщується на web-серверах, існує зручний спосіб організації пошуку (за допомогою створюваного Doxygen'ом PHP-модуля) і посилань на зовнішню документацію.

Doxygen використовується в багатьох проектах, в тому числі KDE, Pidgin, Torque Game Engine, AbiWord, Mozilla, FOX toolkit, Crystal Space, Drupal. Є вбудована підтримка в KDevelop.

Doxygen — консольна програма в стилі класичної Unix. Вона працює подібно компілятору, аналізуючи вихідні тексти і створюючи документацію. Додаткові параметри для створення документації можуть читатись із конфігураційного файлу, що має простий текстовий формат.

Для спрощення маніпуляцій з конфігураційним файлом (який містить досить багато налаштувань), існує кілька програм з графічним інтерфейсом: програма doxywizard (реалізована з використанням Qt-3) поставляється разом з Doxygen; програма Doxygate[2] заснована на Qt версії 4. Пізніше doxywizard був переписаний на Qt-4 і проект Doxygate був закритий.

Примітки ред.

  1. Doxygen // Generate documentation from source code [Архівовано 18 жовтня 2014 у Wayback Machine.] (англ.)
  2. Doxygate. Архів оригіналу за 31 грудня 2014. Процитовано 13 жовтня 2014.