OrgLens es una herramienta de línea de comandos diseñada para analizar, buscar y convertir archivos .org (formato utilizado por Org-mode en Emacs). Es ideal para usuarios que necesitan gestionar grandes cantidades de notas, documentos o proyectos estructurados en formato .org.
Con OrgLens, puedes:
- Buscar términos específicos dentro de archivos
.org. - Filtrar secciones basadas en criterios positivos (
si) y negativos (no). - Exportar los resultados en múltiples formatos:
JSON,TXT,ORG,Markdown,HTMLyCSV. - Procesar archivos comprimidos (
.zip,.tar.gz) automáticamente. - Usar un modo interactivo para realizar búsquedas repetidas sin reiniciar la herramienta.
- Python 3.8 o superior.
- Las siguientes bibliotecas de Python (se instalan automáticamente si usas
pip):argparsejsonzipfiletarfileglobshutil
-
Clona el repositorio:
git clone https://github.com/caalma/orglens.git cd orglens -
Ejecución directa
orglens-direct [argumentos]
El modo directo se utiliza para realizar búsquedas y exportaciones rápidas desde la línea de comandos.
orglens-direct [opciones] -i archivos_de_entrada| Opción | Descripción |
|---|---|
-s |
Términos a buscar (si). Separados por espacios. |
-n |
Términos a excluir (no). Separados por espacios. |
-f |
Formato de salida en consola: json, txt, org, md, csv. |
-o |
Archivos de salida. El formato se determina por la extensión del archivo. |
-i |
Archivos .org de entrada (pueden ser patrones como *.org o comprimidos). |
-r |
Usar expresiones regulares en la búsqueda. |
orglens-direct -s "horno" -n "manteca" -f txt -o resultado.txt -i test/*.orgEl modo interactivo permite realizar múltiples búsquedas sin reiniciar la herramienta.
orglens-interactive- Ingresa los archivos
.orga procesar (puedes usar patrones comotest/*.orgo archivos comprimidos). - Realiza búsquedas repetidas ingresando términos
siyno. - Los resultados se muestran en la consola en formato
txt.
Buscar "horno" en todos los archivos .org del directorio test/:
orglens-direct -s "horno" -f txt -i test/*.orgBuscar "horno" pero excluir secciones que contengan "manteca":
orglens-direct -s "horno" -n "manteca" -f org -i test/example.orgExportar resultados en diferentes formatos:
orglens-direct -s "horno" -o resultado.json resultado.txt resultado.org -i test/example.orgProcesar un archivo .zip que contiene archivos .org:
orglens-direct -s "tipografia" -f md -o resultado.md -i test.zip- Soporte para archivos comprimidos: Procesa archivos
.zipy.tar.gzautomáticamente. - Búsquedas avanzadas: Usa expresiones regulares para búsquedas más flexibles.
- Formatos de salida múltiples: Exporta resultados en
JSON,TXT,ORG,Markdown,HTMLyCSV. - Modo interactivo: Ideal para realizar búsquedas repetidas sin reiniciar la herramienta.
- Optimización de rendimiento: Procesa archivos grandes y múltiples archivos de manera eficiente.
OrgLens incluye soporte para autocompletado en la terminal Bash. Esto permite sugerir opciones, formatos de salida y archivos .org mientras usas el comando orglens-direct.
Para habilitar el autocompletado, asegúrate de que el archivo orglens-completion.bash esté en tu sistema y ejecuta el siguiente comando:
source /ruta/al/archivo/orglens-completion.bashTambién puedes agregar esta línea a tu archivo ~/.bashrc para que el autocompletado esté disponible automáticamente en todas tus sesiones:
echo "source /ruta/al/archivo/orglens-completion.bash" >> ~/.bashrc
source ~/.bashrc- Sugerencias para opciones como
-s,-n,-f,-o,-i, etc. - Completado automático de formatos de salida (
json,txt,org,md,csv,html). - Completado automático de archivos
.orgy patrones como*.org.
OrgLens incluye un instalador en Bash que simplifica la configuración inicial. Este instalador realiza las siguientes tareas:
- Configura el autocompletado para Bash.
- Crea enlaces simbólicos para
orglens-directyorglens-interactiveen el directorio~/.local/bin/.
-
Haz el script ejecutable:
chmod +x install.sh
-
Ejecuta el instalador:
./install.sh
-
Recarga tu shell para aplicar los cambios:
source ~/.bashrc
- Agrega el autocompletado al archivo
~/.bashrc. - Aplica permisos de ejecución a
orglens-directy aorglens-interactive. - Crea enlaces simbólicos para los scripts principales:
orglens-direct→~/.local/bin/orglens-directorglens-interactive→~/.local/bin/orglens-interactive
Con el instalador, tendrás acceso rápido a OrgLens desde cualquier ubicación en tu terminal.
OrgLens incluye un módulo para Emacs que permite interactuar con orglens-direct directamente desde el editor. Este módulo facilita la ejecución de búsquedas y la visualización de resultados en un buffer dedicado.
-
Guarda el archivo
orglens.elen tu directorio de configuración de Emacs (por ejemplo,~/.emacs.d/lisp/). -
Añade las siguientes líneas a tu archivo de configuración de Emacs (
~/.emacso~/.emacs.d/init.el):(add-to-list 'load-path "~/.emacs.d/lisp/") (require 'orglens)
-
Reinicia Emacs o evalúa el archivo de configuración:
M-x eval-buffer
-
Ejecuta el comando interactivo:
M-x orglens-search
-
Ingresa los parámetros solicitados:
- Términos a buscar (
si). - Términos a excluir (
no) (opcional). - Formato de salida (
txt,json,org, etc.). - Archivos/patrones de entrada (por ejemplo,
*.org test/*.org). - Archivos de salida (por ejemplo,
resultado.html).
- Términos a buscar (
Los resultados se mostrarán en un buffer llamado *OrgLens Results*.
- Soporte para múltiples archivos o patrones de entrada.
- Interpretación de rutas relativas al directorio actual.
- Visualización de resultados en un buffer de solo lectura.
- Soporte para indicar archivos de salida.
¡Las contribuciones son bienvenidas! Si encuentras un error o tienes una sugerencia, por favor abre un issue o envía un pull request en el repositorio.
Para contribuir:
- Fork del repositorio.
- Crea una nueva rama (
git checkout -b feature/nueva-funcionalidad). - Haz commit de tus cambios (
git commit -am 'Añadir nueva funcionalidad'). - Sube los cambios (
git push origin feature/nueva-funcionalidad). - Abre un pull request.
Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.