17 octubre 2011

Microwiki

El feriado lluvioso de la semana pasada, lo dedique a un pequeño proyecto que tenia en mente hace tiempo: hacer una pequeña wiki.

¿Para que sirve? Sirve para tener un wiki sin necesidad de un servidor externo, guardando los archivos en forma de texto plano. La ventaja es que la documentación del proyecto se mantiene en una carpeta junto con el código, en una forma fácil de editar y buscar. El formato que usa es Markdown, que es lo suficientemente amigable y legible para mantener los archivos de texto sin necesidad del wiki.

Pueden encontrar el código en GitHub: https://github.com/dfernandez79/microwiki

Todavía esta en desarrollo, pero la funcionalidad básica de ver y editar esta disponible. Hay muchas cosas por hacer que voy a ir agregando cuando tenga tiempo, al menos la siguientes características van a estar terminadas para el "release 1.0":
  • Búsqueda de texto rápida (quizás usando Lucene). Mi objetivo es que browsear y buscar sea rápido, de lo contrario no le veo mucha ventaja sobre utilizar archivos Word u HTML :)
  • Paquete binario fácil de usar, la idea es que el típico caso de uso sea hacer checkout de los archivos fuentes e iniciar el wiki (ya sea por un comando o un icono) con cero configuración (por default voy a hacer que tome el subdirectorio docs del directorio actual).
  • Modo solo lectura (lo veo útil para integrar con Hudson u algún otro servidor de CI)
Otras cosas que me gustaría agregar a futuro son:
  • Soporte para LaTeX probablemente usando http://www.mathjax.org/.
  • Soporte para renderizar grafos de GraphViz directamente (la idea seria que los links a gráficos usando la notación ![Alt text](file.dot) de Markdown se muestren directamente como PNG).
Si tienen interés en chusmear el código fuente, las herramientas que use son:

2 comentarios:

  1. ¿Cómo se compara con TiddyWiki?

    ResponderEliminar
  2. @AD si estas buscando un software para hacer una wiki personal, probablemente TiddyWiki sea tu opción: Microwiki no esta terminado (y no te puedo garantizar que lo este en el corto plazo).

    Ahora si estas buscando un proyecto open source en el cual participar... bienvenido :)

    Si bien Microwiki es algo que empece en mis tiempos libres y esta dormido de hace tiempo, trate de hacer que el codigo sea legible y que todos los casos de uso tengan un test. Asi que puede ser un proyecto bueno para aprender Groovy y TDD (y quizás tambien algo de Lucene).

    Más alla de eso desconozco TiddyWiki, por lo que lei en el sitio web TiddyWiki es 100% HTML y JavaScript, eso significa que probablemente para acceder al filesystem y guardar el contenido termine usando las APIs web de Dropbox. La idea esta buena y no lo probe --pero a raiz de tu comentario lo voy a hacer.

    ResponderEliminar