✨ Key Features

🤖 Advanced AI

Uses Google Gemini AI to generate high-quality news with professional structure.

🌐 Web Extraction

Automatically downloads and extracts content from online news URLs.

📝 Customization

Custom instructions to focus content according to your needs.

📁 File Management

Automatically saves news and posts with smart names and dates.

🔗 Direct Links

Generates clean links without markdown formatting for easy use.

🧪 Complete Tests

Suite of 50 tests that guarantee code quality and reliability.

✨ Características Principales

🤖 IA Avanzada

Utiliza Google Gemini AI para generar noticias de alta calidad con estructura profesional.

🌐 Extracción Web

Descarga y extrae contenido automáticamente desde URLs de noticias online.

📝 Personalización

Instrucciones personalizadas para enfocar el contenido según tus necesidades.

📁 Gestión de Archivos

Guarda automáticamente noticias y posts con nombres inteligentes y fechas.

🔗 Enlaces Directos

Genera enlaces limpios sin formato markdown para fácil uso.

🧪 Tests Completos

Suite de 50 tests que garantizan la calidad y fiabilidad del código.

📦 Quick Installation

# Clone the repository
git clone https://github.com/fernand0/news_manager.git
cd news_manager

# Create virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Install in editable mode
pip install -e .

# Configure API key
echo "GOOGLE_API_KEY=your_api_key_here" > .env

📦 Instalación Rápida

# Clonar el repositorio
git clone https://github.com/fernand0/news_manager.git
cd news_manager

# Crear entorno virtual
python -m venv .venv
source .venv/bin/activate  # En Windows: .venv\Scripts\activate

# Instalar el CLI y las dependencias
pip install -e .

# Configurar API key
echo "GOOGLE_API_KEY=tu_api_key_aqui" > .env

🚀 Usage Examples

📄 From Local File

news-manager generate -i news.txt

🌐 From URL

news-manager generate --url "https://example.com/news"

🎯 With Instructions

news-manager generate --url "https://example.com" --prompt-extra "focus on technological aspects"

💾 Save Files

news-manager generate --url "https://example.com" --output-dir ./news

🚀 Ejemplos de Uso

📄 Desde Archivo Local

news-manager generate -i noticia.txt

🌐 Desde URL

news-manager generate --url "https://ejemplo.com/noticia"

🎯 Con Instrucciones

news-manager generate --url "https://ejemplo.com" --prompt-extra "céntrate en los aspectos tecnológicos"

💾 Guardar Archivos

news-manager generate --url "https://ejemplo.com" --output-dir ./noticias

📊 Example Output

Title: Spanish researchers develop new water purification technique

Text: Dr. Carlos Ruiz and Dr. Ana Martínez from the Madrid Institute of Technology have developed an innovative water purification technique using magnetic nanoparticles. Their project, supervised by Dr. Miguel García, has achieved significant results published in the prestigious journal Nature.

Links:
- https://www.nature.com/ (Example, replace with real link if available)
- https://www.mit.es/ (Example, replace with link to Madrid Institute of Technology)

Bluesky: Innovation in water purification! Drs. Ruiz & Martínez (Madrid Institute of Technology) develop technique with magnetic nanoparticles, published in Nature. #CleanWater #Nanotechnology #Innovation #SpanishScience [link to news]

📊 Salida de Ejemplo

Título: Investigadores españoles desarrollan nueva técnica de purificación de agua

Texto: El Dr. Carlos Ruiz y la Dra. Ana Martínez, del Instituto de Tecnología de Madrid, han desarrollado una innovadora técnica de purificación de agua utilizando nanopartículas magnéticas. Su proyecto, supervisado por el Dr. Miguel García, ha logrado resultados significativos publicados en la prestigiosa revista Nature.

Enlaces:
- https://www.nature.com/ (Ejemplo, reemplazar con link real si existe)
- https://www.mit.es/ (Ejemplo, reemplazar con link al Instituto de Tecnología de Madrid)

Bluesky: Innovación en purificación de agua! Los Drs. Ruiz & Martínez (Instituto de Tecnología de Madrid) desarrollan técnica con nanopartículas magnéticas, publicada en Nature. #AguaPotable #Nanotecnología #Innovación #CienciaEspañola [enlace a la noticia]

📏 Conventions

For special cases such as PhD thesis news, the system applies specific conventions for the title and the generated file name.
Example for thesis (see below in Spanish):

  • Title: The format will be: Lectura de Tesis de [nombre] [primer apellido], "[título de la tesis]"
  • Slug/URL: The generated file will include the author's first name and surname, plus keywords from the thesis title.

See all conventions in CONVENCIONES.md

📏 Convenciones

Para casos especiales como noticias de tesis doctoral, el sistema aplica convenciones específicas para el título y el nombre del archivo generado.

  • Título: El formato será: Lectura de Tesis de [nombre] [primer apellido], "[título de la tesis]"
  • Slug/URL: El archivo generado incluirá el nombre y primer apellido del autor, seguido de palabras clave del título de la tesis.

Ejemplo:

Lectura de Tesis de Nombre Apellido, "El título"
2025-07-15-nombre-apellido-el-titulo.txt

Consulta todas las convenciones en CONVENCIONES.md

🛠️ Tech Stack

Python 3.8+ Google Gemini AI Click CLI BeautifulSoup4 Requests pytest

📈 Advanced Features

  • Flexible Configuration: Environment variables for default files and directories
  • Smart Extraction: Automatic web content download with filtering
  • Smart Names: Automatic filename generation with dates and people
  • Interactive Mode: Custom instructions during execution
  • Error Handling: Robust validation and clear error messages
  • Complete Tests: 50 tests covering all functionalities

📈 Características Avanzadas

  • Configuración Flexible: Variables de entorno para archivos y directorios por defecto
  • Extracción Inteligente: Descarga automática de contenido web con filtrado
  • Nombres Inteligentes: Generación automática de nombres de archivo con fechas y personas
  • Modo Interactivo: Instrucciones personalizadas durante la ejecución
  • Manejo de Errores: Validación robusta y mensajes de error claros
  • Tests Completos: 50 tests que cubren todas las funcionalidades