Skip to content

brams153/Notion_Automation_Data-Base

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 Markdown Link Sync to Notion & TickTick

Python License GitHub Actions Notion API AI-Assisted Model

Un script de automatización en Python diseñado para leer enlaces desde un archivo Markdown local y sincronizarlos automáticamente como tareas en TickTick y registros en una base de datos de Notion. Pensado para ejecutarse sin intervención humana mediante GitHub Actions.

✨ Características

  • Parseo Inteligente: Lee archivos .md y clasifica los enlaces por Categoría (#) y Subcategoría (##).
  • Auto-Etiquetado: Extrae palabras clave de la descripción para usarlas como etiquetas.
  • Prevención de Rate-Limiting: Incorpora pausas estratégicas para no saturar las APIs de Notion y TickTick.
  • Ejecución Flexible: Usa argparse para procesar cualquier archivo Markdown ingresado por terminal.
  • CI/CD Ready: Configurado para ejecutarse diariamente o al detectar cambios mediante GitHub Actions.

Advertencia

Este coddigo esta apoyado y creado en gran parte por IA.Entiendo las criticas razonables al vibe coding pero no estoy familiarizado en apis (y no me interesa,con sinceridad).La idea es que alguien mas lo aproveche,personalice y mejore :)

Advertencia 2

La conexión con github actions esta pendiente de desarrollar

📋 Requisitos Previos

Para usar este proyecto, necesitarás:

  • Python 3.10 o superior.
  • Una integración interna en Notion (API Key).
  • El ID de tu base de datos de Notion.
  • Un Token de acceso a la API de TickTick.

🛠️ Instalación y Preparación

1. Clonar el repositorio

git clone [https://github.com/TU-USUARIO/TU-REPOSITORIO.git](https://github.com/TU-USUARIO/TU-REPOSITORIO.git)
cd TU-REPOSITORIO

2. Crea y activa un entorno virtual:

Esto mantendrá las librerías del proyecto aisladas de tu sistema global.

Bash

python3 -m venv venv

# Para activar en Linux o macOS:
source venv/bin/activate  

# Para activar en Windows:
venv\Scripts\activate

3. Instala las dependencias:

Asegúrate de tener un archivo requirements.txt en la raíz con las librerías necesarias (requests, notion-client).

Bash

pip install -r requirements.txt

📖 Formato del Archivo de Entrada (input_links.md)

Para que el script procese correctamente los enlaces, el archivo debe seguir esta estructura de Markdown:

# Categoría Principal
## Subcategoría
- [Título del Enlace](https://url-ejemplo.com): Descripción detallada para generar etiquetas.
  • Categorías: Se definen con # y ##.
  • Enlaces: Deben seguir el formato - [Título](URL): Descripción.
  • Tags: El script extraerá automáticamente palabras de más de 5 letras de la descripción.

⚙️ Configuración de Variables de Entorno

El script requiere las siguientes variables configuradas en GitHub Secrets o en un archivo .env local:

Variable Descripción
NOTION_API_KEY Token de integración de Notion.
TICKTICK_ACCESS_TOKEN Token de acceso OAuth de TickTick.
LIBRARY_DB_ID ID de la base de datos de Notion donde se guardarán los links.

🔄 Flujo de Trabajo

  1. Lectura: El script busca el archivo input_links.md.
  2. Parsing: Identifica títulos, URLs y descripciones mediante Regex.
  3. Sincronización: - Crea una tarea en TickTick.
  • Crea una página en la base de datos de Notion vinculando el ID de TickTick.
  1. Logs: Informa en consola el progreso de cada enlace procesado.

🤖 Automatización con GitHub Actions

Este repositorio está configurado para:

  • Ejecutarse automáticamente al hacer push en input_links.md.
  • Detenerse de forma segura si las variables de entorno no están presentes.

📄 Licencia

Este proyecto está bajo la Licencia MIT.

About

Un script de automatización en Python diseñado para leer enlaces desde un archivo Markdown local y sincronizarlos automáticamente como tareas en TickTick y registros en una base de datos de Notion. Pensado para ejecutarse sin intervención humana mediante GitHub Actions.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages