Contenido
Las becas 2019: más de lo mismo y todavía peor
// ------------------------------------------------------------------------------------------------------------------------------- // PHOTOSWIPE
var initPhotoSwipeFromDOM = function(gallerySelector) {
// parse slide data (url, title, size ...) from DOM elements // (children of gallerySelector) var parseThumbnailElements = function(el) { var thumbElements = el.childNodes, numNodes = thumbElements.length, items = [], figureEl, linkEl, size, item;
for(var i = 0; i < numNodes; i++) {
figureEl = thumbElements[i]; //
// include only element nodes if(figureEl.nodeType !== 1) { continue; }
linkEl = figureEl.children[0]; // element
size = linkEl.getAttribute('data-size').split('x');
// create slide object item = { src: linkEl.getAttribute('href'), w: parseInt(size[0], 10), h: parseInt(size[1], 10) };
if(figureEl.children.length > 1) {
//
if(linkEl.children.length > 0) {
// thumbnail element, retrieving thumbnail url
item.msrc = linkEl.children[0].getAttribute('src');
}
item.el = figureEl; // save link to element for getThumbBoundsFn items.push(item); }
return items; };
// find nearest parent element var closest = function closest(el, fn) { return el && ( fn(el) ? el : closest(el.parentNode, fn) ); };
// triggers when user clicks on thumbnail var onThumbnailsClick = function(e) { e = e || window.event; e.preventDefault ? e.preventDefault() : e.returnValue = false;
var eTarget = e.target || e.srcElement;
// find root element of slide var clickedListItem = closest(eTarget, function(el) { return (el.tagName && el.tagName.toUpperCase() === 'FIGURE'); });
if(!clickedListItem) { return; }
// find index of clicked item by looping through all child nodes // alternatively, you may define index via data- attribute var clickedGallery = clickedListItem.parentNode, childNodes = clickedListItem.parentNode.childNodes, numChildNodes = childNodes.length, nodeIndex = 0, index;
for (var i = 0; i < numChildNodes; i++) { if(childNodes[i].nodeType !== 1) { continue; } if(childNodes[i] === clickedListItem) { index = nodeIndex; break; } nodeIndex++; } if(index >= 0) { // open PhotoSwipe if valid index found openPhotoSwipe( index, clickedGallery ); } return false; };
// parse picture index and gallery index from URL (#&pid=1&gid=2) var photoswipeParseHash = function() { var hash = window.location.hash.substring(1), params = {};
if(hash.length < 5) { return params; } var vars = hash.split('&'); for (var i = 0; i < vars.length; i++) { if(!vars[i]) { continue; } var pair = vars[i].split('='); if(pair.length < 2) { continue; } params[pair[0]] = pair[1]; } if(params.gid) { params.gid = parseInt(params.gid, 10); } return params; }; var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) { var pswpElement = document.querySelectorAll('.pswp')[0], gallery, options, items; items = parseThumbnailElements(galleryElement); // define options (if needed) options = { // define gallery index (for URL) galleryUID: galleryElement.getAttribute('data-pswp-uid'), getThumbBoundsFn: function(index) { // See Options -> getThumbBoundsFn section of documentation for more info var thumbnail = items[index].el.getElementsByTagName('img')[0], // find thumbnail pageYScroll = window.pageYOffset || document.documentElement.scrollTop, rect = thumbnail.getBoundingClientRect();
return {x:rect.left, y:rect.top + pageYScroll, w:rect.width}; }
};
// PhotoSwipe opened from URL if(fromURL) { if(options.galleryPIDs) { // parse real index when custom PIDs are used // http://photoswipe.com/documentation/faq.html#custom-pid-in-url for(var j = 0; j < items.length; j++) { if(items[j].pid == index) { options.index = j; break; } } } else { // in URL indexes start from 1 options.index = parseInt(index, 10) - 1; } } else { options.index = parseInt(index, 10); } // exit if index not found if( isNaN(options.index) ) { return; } if(disableAnimation) { options.showAnimationDuration = 0; } // Pass data to PhotoSwipe and initialize it gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options); gallery.init(); }; // loop through all gallery elements and bind events var galleryElements = document.querySelectorAll( gallerySelector ); for(var i = 0, l = galleryElements.length; i < l; i++) { galleryElements[i].setAttribute('data-pswp-uid', i+1); galleryElements[i].onclick = onThumbnailsClick; } // Parse URL and open gallery if it contains #&pid=3&gid=1 var hashData = photoswipeParseHash(); if(hashData.pid && hashData.gid) { openPhotoSwipe( hashData.pid , galleryElements[ hashData.gid - 1 ], true, true ); } }; // execute above function initPhotoSwipeFromDOM('.my-gallery'); // ====================================== // FIN SCRIPTS PHOTOSWIPE // ======================================
Ajeno a las políticas de austeridad, transparencia y legalidad que promueve AMLO, el Sistema, en el contexto de las artes visuales, mantiene los mismos vicios que lo han caracterizado desde 1993 cuando fue creado por el presidente Carlos Salinas de Gortari para cooptar, controlar y debilitar la inteligencia intelectual y artística descontenta por su triunfo electoral.
Con una estrategia exitosa que se basó en el otorgamiento de estímulos económicos definidos erróneamente como becas, Salinas convirtió a los artistas en burócratas miedosos que parecen incapaces de crear si no tienen la beca.
Privilegiados por encima de otros profesionales, los artistas seleccionados en el SNCA reciben cada mes 15 salarios mínimos en periodos de tres años, que pueden repetirse infinitamente dejando de aplicar sólo durante un año. En la actualidad, con el incremento del salario mínimo, los becados del Sistema reciben alrededor de 35 mil pesos mensuales sin carga fiscal ni necesidad de aportaciones previas: ¿Qué otra profesión tiene estos beneficios?
En el otorgamiento del estímulo tampoco se considera la cotización de los autores, el estado de su mercado ni si tienen compromisos laborales de tiempo completo en instituciones gubernamentales o académicas. Una vez seleccionados, la beca se les otorga mensualmente aunque gocen de un mercado exitoso, y como el programa está dirigido a creadores de trayectoria media, la cotización de sus obras puede rebasar los 200 mil o 500 mil pesos.
En la selección de los beneficiados sólo se toma en cuenta el proyecto presentado sin evaluar su situación laboral y socioeconómica. Inclusive, no se les solicita por lo menos una constancia fiscal que registre sus ingresos y ventas.
La edición 2019 del SNCA no es diferente de las anteriores. Dividida en seis rubros que corresponden a escultura, fotografía, gráfica, medios alternativos, narrativa gráfica y pintura, la sección de artes visuales es como siempre la más abundante con 78 beneficiados, a diferencia de 40 que tiene la sección de letras.
Como en todas las ediciones, hay autorías que se repiten desde 1993. Seleccionado únicamente por un jurado –Héctor Velázquez– ya que los otros dos miembros manifestaron vínculos laborales y profesionales –Manuel Marín y Manuel Cocho, respectivamente–, el pintor y en los últimos años escultor Alberto Castro Leñero fue seleccionado en el rubro de escultura, sin tomar en cuenta que el artista ya ha sido beneficiado en seis ocasiones anteriores con el estímulo (1993, 1997, 2002, 2006, 2010, 2014). Cuando termine esta edición en 2022, Alberto Castro habrá gozado de 21 años o 252 meses con una beca de 15 salarios, que en la cotización actual suman lo correspondiente a 8 millones 820 mil pesos.
Otra decisión cuestionable se presentó en el rubro de pintura. Con base en el Código de ética y procedimientos del Fondo Nacional para la Cultura y las Artes –instancia que opera el SNCA–, los miembros del jurado tienen la obligación de firmar una Declaración de vínculo(s)/Conflicto de interés, y los miembros del jurado deben abstenerse de “conocer y evaluar la postulación con la que se generó el vínculo”. Publicadas en línea, en el rubro de pintura, si bien pueden leerse las declaraciones de Alejandra Alarcón, Franco Aceves, Bertha Kolteniuk y Raúl Herrera, falta la de Daniel Lezama, quien puede tener vínculos con algunos seleccionados.
Este texto se publicó el 20 de octubre de 2019 en la edición 2242 de la revista Proceso
Comentarios
// Obtener todos los elementos con clase .col-md-12 var colElements = document.querySelectorAll('.col-md-12');
// Iterar sobre cada elemento colElements.forEach(function(element) { // Verificar si tiene un hijo inmediato con clase .titulo-region var tituloRegion = element.querySelector('.titulo-region');
if (tituloRegion) { // Agregar la clase .is-sticky al elemento padre element.classList.add('is-sticky'); } });
// Obtener el elemento article dentro de .fila-especial-v2 .p50 var articleElement = document.querySelector('.home .fila-especial-v2 .p50 article');
// Obtener el texto del elemento .z-foto .bajada p var bajadaText = articleElement.querySelector('.z-foto .bajada p').textContent;
// Crear un nuevo elemento para mostrar el texto obtenido var textoElement = document.createElement('p'); textoElement.textContent = bajadaText;
// Obtener el elemento .z-txt .titulo dentro del article var tituloElement = articleElement.querySelector('.z-txt .titulo');
// Insertar el nuevo elemento al final del article articleElement.appendChild(textoElement);
Cortesía de Proceso.
Dejanos un comentario: