WallpaperMachine
당신이 사랑하는 배경화면, 맥에서 새롭게 만나보세요
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗App web para ver cómo ha cambiado un mismo día del año (mes + día) en una estación de AEMET, desde su primer registro (como muy pronto 1920) hasta hoy.
/) y opción "Usar mi ubicación".?estacion=3195&dia=10-13), así que se puede compartir.fetch nativo)npm install
cp .env.example .env
Rellenar AEMET_API_KEY en .env.
Ejecutar en desarrollo:
npm run dev
GET /api/stations: inventario de estaciones.GET /api/stations/cached: estaciones ya descargadas y si su histórico está completo.GET /api/evolution/jobs/enqueue?station=XXXX&month=MM&day=DD: devuelve el resultado al instante si está en caché; si no, encola la descarga y devuelve un jobId.GET /api/evolution/jobs/:jobId: estado, progreso, tiempo estimado y resultado parcial del trabajo.GET /api/background: búsquedas de histórico en segundo plano en curso.Solo se aceptan estaciones que existan en el inventario de AEMET, para no gastar la cuota con indicativos inventados.
FETCH_TIMEOUT_MS: timeout para llamadas HTTP salientes a AEMET (por defecto 20000).AEMET_REQUEST_DELAY_MS: pausa entre peticiones a AEMET para no agotar la cuota (por defecto 1000).EVOLUTION_JOB_RETENTION_MINUTES: minutos que se conserva el estado de trabajos completados/fallidos.EVOLUTION_ENQUEUE_LIMIT_PER_MIN: límite por minuto para GET /api/evolution/jobs/enqueue.EVOLUTION_STATUS_LIMIT_PER_MIN: límite por minuto para el estado de trabajos y /api/background..cache/ por defecto. Se puede cambiar con CACHE_DIR. En producción debe apuntar a un disco/volumen persistente: si el disco del servicio es efímero (Render, Railway, Heroku, Fly sin volumen…), la caché se borra en cada despliegue o reinicio y las estaciones dejan de aparecer en verde..cache/stations/<estacion>/<año>-H1.json (enero-junio) y -H2.json (julio-diciembre)..cache/stations/<estacion>/meta.json y, a partir de ahí, cualquier fecha de esa estación responde al instante con el histórico completo.RECENT_DATA_TTL_HOURS horas (por defecto 12).GTM-K4V42VXB). La etiqueta de Google Analytics 4 (G-N7Q7DCPW4L) se configura dentro del contenedor, no en el código.public/js/analytics.js carga GTM solo después de que el visitante pulse «Aceptar» en la barra negra inferior. «Declinar» no carga nada. La decisión se guarda en localStorage (secalienta-consent) y se puede cambiar con «Preferencias de cookies» en la pantalla de bienvenida; al retirar el consentimiento se borran las cookies _ga* y se recarga la página.server.js permite los dominios de Google necesarios sin habilitar scripts inline.