Avisar de un error
¿Una fecha de reinado mal, una frontera que no cuadra, una batalla en el sitio equivocado? Cuenta qué has visto y en qué año; una plantilla te guía.
Abrir un avisoCada país, guerra o acontecimiento es un pequeño fichero con su fuente. Corrígelo o amplíalo; no hace falta programar.
Elige según el tiempo que tengas. Todas cuentan.
¿Una fecha de reinado mal, una frontera que no cuadra, una batalla en el sitio equivocado? Cuenta qué has visto y en qué año; una plantilla te guía.
Abrir un avisoAñade o corrige gobernantes, población, batallas, acontecimientos o territorios, siempre con su fuente. Se edita en tu copia del proyecto y llega por pull request. Es donde más ayuda hace falta.
Ver ejemplos con el asistenteJavaScript sin dependencias ni compilación, y un pequeño servidor en Python estándar. Mejoras de interfaz, accesibilidad o rendimiento son bienvenidas.
Ver el repositorioEl panel de administración incluye un asistente que convierte cada ficha en un formulario. Te avisa de los errores antes de guardar y escribe el fichero con el formato correcto.
Solo funciona en tu equipo. La web publicada no tiene panel ni guarda cambios: descarga el proyecto, edita las fichas en local con el asistente y propón los cambios con un pull request en GitHub. Se publican cuando alguien del proyecto los revisa y los fusiona.
Haz un fork del repositorio y clónalo en tu equipo. Solo necesitas Python.
En la carpeta del proyecto, python api/servidor.py. Abre http://localhost:9000/admin.html#editor; la primera vez crearás un usuario y una contraseña locales.
Escoge Países, Conflictos, Eventos o Territorios, busca la ficha o pulsa + Nuevo. Revisar cambios muestra los errores y las líneas que cambiarán; Guardar en datos/ escribe el fichero en tu copia y el mapa local lo muestra al recargar.
Haz commit de los ficheros de datos/, súbelos a tu fork y abre un pull request contando qué cambias y de dónde sale. Hasta entonces, el cambio solo existe en tu equipo.
Felipe II aparece en España de 1556 a 1598. Si una fecha estuviera mal:
wikipedia-es:Felipe II de España.Si escribes un año de fin anterior al de inicio, el asistente no deja guardar y te dice por qué: «'desde' (1556) es posterior a 'hasta' (1550)».
wikipedia-es:Universidad de Salamanca y Licencia CC BY-SA.Al guardar se crea datos/eventos/1218-fundacion-de-la-universidad-de-salamanca.json y aparece como ⭐ en el mapa de 1218.
La Guerra de los Treinta Años aún no tiene la batalla de la Montaña Blanca (1620).
No te preocupes por el orden: al guardar, las batallas se ordenan por año.
En países, Vínculos con otras fichas relaciona reinos entre sí (predecesor, sucesor, parte de, incluye, antecesor territorial): eliges la otra ficha de una lista y el vínculo inverso se escribe solo en ella. Así, al seguir España en el mapa se resaltan también Castilla, Aragón o Navarra en su época.
Antes del pull request, git diff te enseña exactamente qué ha escrito el asistente. Si otra persona ha cambiado la misma ficha mientras la editabas, el asistente no la sobrescribe y te pide recargarla. En países y conflictos el Identificador no se cambia desde aquí, y los polígonos de las zonas se editan como texto.
Todo el conocimiento del mapa vive en datos/. Cada cambio toca solo su fichero, el diff se lee de un vistazo y dos personas no chocan aunque trabajen a la vez.
datos/
paises/<id>.json espana.json, rd-congo.json, sacroimperio.json…
conflictos/<id>.json guerra-de-los-cien-anos.json…
eventos/<año>-<nombre>.json 1492-descubrimiento-de-america.json, 480ac-batalla-de-salamina.json…
territorios/<nombre>.json gibraltar.json, ceuta.json…
schema/ el contrato de cada tipo de ficha (JSON Schema)
Nombre, nombres en los mapas y por época, gobernantes con fechas, población, escudos y banderas, reseña, fuentes y marca de revisión.
Guerras con inicio, fin y bandos; zonas de frente u ocupadas por fases, y sus batallas con coordenadas y año.
Acontecimientos e inventos con año, lugar y descripción breve. El fichero empieza por el año: 480ac-… para el 480 a. C.
Enclaves e islas que no se ven a escala mundial, con el país del que heredan el color y desde cuándo.
Los años negativos son a. C., las coordenadas son siempre [latitud, longitud] y casi todos los campos son opcionales. Las fronteras son ficheros GeoJSON aparte, de historical-basemaps.
El resumen; la guía completa detalla cada campo con ejemplos.
Solo necesitas Python para servirlo en tu equipo.
python api/servidor.py abre el mapa en http://localhost:9000/ y el panel en /admin.html.
Con el asistente del panel, que valida y guarda por ti, o con cualquier editor de texto en datos/.
python api/formatear.py y python api/validar.py. Si ambos están en verde, la integración continua también lo estará.
Comprueba en el mapa los años que tocan tus datos y cuenta qué añades y de dónde sale. Al fusionarse, se publica solo.
Asistente de edición de fichas y conectores con Wikidata, Wikipedia y Our World in Data que dejan propuestas para revisar. Solo funciona en tu equipo.
formatear.pyFormato canónico: claves en orden fijo, listas por año, tabuladores. Los diffs solo muestran cambios reales.
validar.pyEsquema, años, coordenadas, nombres en los mapas, referencias y marcas de revisión. Cada aviso indica fichero y campo.
compilar.py y dividir.pyJuntan datos/ en el historia.json que descarga la web, y al revés. Normalmente los lanzan el servidor y el despliegue.
En cada push a main, GitHub Actions formatea, valida y, si todo pasa, publica la web.
Cada dato cita de dónde sale en fuentes: Wikipedia, Wikidata, un libro, un censo. Sin fuente no se acepta.
Nombres, fechas y cifras, nunca párrafos copiados. Los textos que se guardan van atribuidos y con su licencia.
Nombres y textos en español; la interfaz también existe en inglés.
Antes de proponer un cambio, el formateador y el validador deben pasar sin errores.