Extension:DoxyWiki

From MediaWiki.org

Jump to: navigation, search
Manual on MediaWiki Extensions
List of MediaWiki Extensions
Doxywiki

Release status: beta

Implementation User interface, Special page, Tag
Description Integrates doxygen into MediaWiki.
Author(s) THE-EYE (RnrTalk)
Last Version 1.0 (May 13 2008)
License No license specified
Download current revision
Example online example


Please note: our download host sometimes is off line, try again latter if not work!

More..: the english version of this page is comming up! Until then use Google's machine translation.


Contents

[edit] Para que sirve Doxywiki

DoxyWiki es una extension para MediaWiki que integra la documentacion generada por la herramienta doxygen dentro de la funcionalidad de Mediawiki. En nuestra empresa, desde hacia tiempo utilizabamos exitosamente Mediawiki como herramienta central de documentacion y disenio de nuestros desarrollos, con la desventaja de tener otra interface para la documentacion de referencia de nuestro codigo fuente. Por tal motivo he desarrollado esta herramienta que espero les agrade y sea util.

[edit] Como funciona?

Esta implementado en 2 partes:

La primera parte es un desarrollo en c++ integrado a doxygen (vea: Instalacion y Configuracion) este genera la organizacion jerarquica de la documentacion construyendo archivos formateados y likeados entre si a la manera MediaWiki.

Luego se utiliza la segunda parte, desarrollada en PHP en la forma de una SpecialPage de Mediawiki. Esta es responsable de los Indices generales y la renderizacion final para mostrar al usuario.

[edit] Instalacion y Configuracion

Para utilizar la herramienta por ahora son varios pasos... suerte!

[edit] Descargar doxygen y compilar

Lo primero que debemos hacer es descargar la revision 629 del SVN de doxygen y compilarla a la manera indicada para asegurarons que esta ok.

para obtener los fuentes de doxygen ejecute:

# mkdir doxygen-svn; cd doxygen-svn
# svn co https://doxygen.svn.sourceforge.net/svnroot/doxygen/trunk
# cd trunk
# ./configure
# make

[edit] Instalar el parche doxygen_r999_v9.patch

En la distribucion hay un archivo de extension .patch que es el parche que se debe aplicar a doxygen para que realize la salida con formato mediawiki.

# pwd
.../doxygen-svn/trunk
# cd src
# patch -p1 </location/of/doxygen_r999_v9.patch
patching file wikidocvisitor.h
patching file docvisitor.h
patching file libdoxygen.pro.in
patching file wikigen.cpp
patching file doxygen.cpp
patching file config.l
patching file wikidocvisitor.cpp
patching file pagedef.h
patching file wikigen.h
# cd ..
# ./configure
# make

[edit] Instalar el componente PHP para MediaWiki

Dentro de la distribucion, hay una carpeta llamada Doxywiki. Esta debe ser copiada al directorio extensions de MediaWiki y como siempre se hace incluir en LocalSettings.php la siguiente linea...


require_once( "extensions/DoxyWiki/DoxyWiki.php" );

Ademas hay que subir a la wiki (con Upload File) las imagenes que estan en la carpeta DoxWiki/images/.

[edit] Procesar el Codigo Fuente Documentado

Lo siguiente es procesar el codigo fuente documentado con el archivo de salida de la compilacion del doxygen patcheado (.../doxygen-svn/trunk/bin/doxygen)

Para poder hacerlo necesitamos el archivo de configuracion de doxygen. Aqui hay un ejemplo: (llamado doxyconf.txt en este caso)

# :P
PROJECT_NAME           = My Project 1.0
PROJECT_NUMBER         = 1.0
OUTPUT_DIRECTORY       = /path/to/output/dir
OUTPUT_LANGUAGE        = Spanish
REPEAT_BRIEF           = NO
ABBREVIATE_BRIEF       = 
ALWAYS_DETAILED_SEC    = NO
STRIP_FROM_PATH        = /path/to
SHORT_NAMES            = YES
SEPARATE_MEMBER_PAGES  = NO
ALIASES                = 
BUILTIN_STL_SUPPORT    = NO
DISTRIBUTE_GROUP_DOC   = NO
SUBGROUPING            = YES
EXTRACT_PRIVATE        = YES
EXTRACT_STATIC         = YES
SORT_BRIEF_DOCS        = YES
SORT_BY_SCOPE_NAME     = YES
SHOW_DIRECTORIES       = YES
INPUT                  = MyProj.php MyProj.i18n.php docs/
FILE_PATTERNS          = *.php *.doc
RECURSIVE              = YES
EXAMPLE_PATH           = 
EXAMPLE_RECURSIVE      = NO
IMAGE_PATH             = 
ALPHABETICAL_INDEX     = YES
COLS_IN_ALPHA_INDEX    = 5
GENERATE_HTML          = YES
HTML_OUTPUT            = html/
GENERATE_LATEX         = NO
GENERATE_RTF           = NO
GENERATE_MAN           = NO
GENERATE_WIKI          = YES
WIKI_PROJECT           = myproject
WIKI_OUTPUT            = wiki/

Luego ejecutamos:


# /path/to/doxygen doxyconf.txt

Esto generara la documentacion en fto doxywiki en la carpeta /path/to/output/dir/wiki/.

Ahora nos falta solamente configurar el proyecto ...

[edit] Configurar los proyectos de Doxywiki

Una vez instalado, y con la documentacion generada se debe crear un articulo con el nombre 'Mediawiki:Doxywikiprj'. Se recomienda protegerlo. En este se formatea por asi decirlo la tabla de proyectos doxywiki.

En esta tabla se asigna toda la informacion que esta extension necesita para generar acceder a los articulos y para la navegacion general, descripciones adicionales, etc. A partir de ella se crea el indice general.

Formato de Mediawiki:Doxywikiprj:

Continuando el Ejemplo:

myproject,My Project Title 1.0,/path/to/output/dir/wiki,/home/dev/src/,es,alpha,My Project Long Description.
other,Other 4.2,/path/to/other/wiki,/home/other/src/,en,alpha,The other one.

Por cada linea en este articulo se hace considera un proyecto. Cada linea se divide en 7 columnas separadas por , (comma).

Significado de las columnas:

  1. nombre: el mismo nombre que se asigno en WIKI_PROJECT, tiene que ver con los indices.
  2. titulo: El nombre usado en el indice y la navegacion. Corto.
  3. pathwiki: el path donde se encuentran los archivos .wiki
  4. pathsrc: el path al codigo fuente (todavia no se usa)
  5. lang: el idioma en que esta escrita la documentacion. (todavia no se usa)
  6. estado: Estado de la documentacion (todavia no se usa)
  7. longdesc: Espacio para una descripcion detallada.

Una vez grabada esta pagina acceder a la pagina http://.../Special:DOXYWIKI y listo.

Enjoy!

Personal tools