DevExpert Testimonials
Overview
Automates testimonial import, profile image cropping, and AI Expert section management.
Quick start
- •Install dependencies (first time only):
bash
python -m pip install -r scripts/requirements.txt
- •Import from Google Sheets (recommended). Run from the repo root:
- •Ensure gog is authenticated:
gog auth loginorgog auth manage.
bashpython scripts/sync_testimonials_from_sheet.py \ --ai-auto
- •Ensure gog is authenticated:
- •The script:
- •Detects rows where "Publicado en web" is empty.
- •Downloads photos from Drive via
gog drive download. - •Inserts line breaks automatically.
- •Generates new IDs in
src/data/testimonials.json. - •Crops images to 400x400 with face detection.
- •(Optional) Updates
src/pages/cursos/expert/ai.astro. - •Marks "Publicado en web" with
x. - •Stores temporary downloads in
tmp/testimonials-sync.
- •Manual TSV fallback:
bash
python scripts/import_testimonials.py \ --input /ruta/testimonios.txt
Input format (flexible)
Prefer TSV (tab-separated) with columns in this order:
code
fecha \t nombre \t posicion \t titulo \t texto \t rating \t ruta_imagen
- •Optional fields: posicion, rating, ruta_imagen.
- •If there is no image, leave the column empty.
- •Dates are normalized to
YYYY-MM-DD HH:MM:SSwhen recognized.
Images
- •File names are generated from
nombre+titulo(slug), e.g.:- •
Santiago Perez Barber+AI Expert->santiago-perez-barber-ai-expert.jpg
- •
- •Uses face detection (OpenCV). If no face is detected, it uses center-crop.
- •Default size: 400x400. Change with
--image-size. - •Existing images are not overwritten unless
--overwrite-imagesis passed.
Google Sheets
- •Current sheet schema:
references/sheet-schema.md. - •"Publicado en web": any non-empty value is considered published.
- •Configure defaults in
~/.config/skills/config.jsonunderdevexpert_testimonials:- •
account - •
sheet_id - •
gid(optional)
- •
Example:
json
{
"devexpert_testimonials": {
"account": "you@example.com",
"sheet_id": "spreadsheet_id_here",
"gid": 123456789
}
}
AI Expert
- •The script lists current IDs in
ai.astroand the new ones detected by title. - •To write a specific list:
bash
python scripts/import_testimonials.py \ --input /ruta/testimonios.txt \ --ai-ids "35051,42724,42725"
- •If
--ai-idsis omitted, the script prompts for IDs (interactive stdin only). - •To auto-update with new IDs:
bash
python scripts/import_testimonials.py \ --input /ruta/testimonios.txt \ --ai-auto
Useful options
- •
--testimonials-jsonchange thetestimonials.jsonpath. - •
--images-dirchange the destination images folder. - •
--ai-astrochange the AI Expert page path. - •
--dry-runshow what would change without writing. - •
--ai-autoautomatically adds new AI Expert IDs.
Scripts
- •
scripts/import_testimonials.pyImports testimonials, processes images, and proposes/updates AI Expert IDs. - •
scripts/sync_testimonials_from_sheet.pySyncs from Google Sheets, downloads Drive images, and marks "Publicado en web".