Contenido
Ernesto Villanueva
¿Cruzvillegas para la SCJN?
Se puede ver en Eréndira un hilo conductor que conjuga la defensa jurídica de los derechos humanos con la justicia social con apego a la Constitución y a las leyes.
// ------------------------------------------------------------------------------------------------------------------------------- // 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 // ======================================
CIUDAD DE MÉXICO (apro).- La nueva terna enviada por el presidente, Andrés Manuel López Obrador, para integrar el espacio vacante en la Suprema Corte de Justicia de la Nación por la renuncia de Arturo Saldívar, significa un cambio no menor; antes bien, significativo y de gran calado porque abre la probabilidad –no sólo la posibilidad formal– de que en el Senado de la República se pueda configurar la mayoría calificada requerida para ratificar a una de las integrantes de la terna de referencia.
Si en la primera terna la figura de Bertha Alcalde era la opción menos cuestionable para los partidos de oposición por filias y fobias partidistas (no porque las candidatas carecieran de adecuadas prendas profesionales), en la actual las condiciones son distintas. En efecto, la incorporación de Eréndira Cruzvillegas facilita la negociación parlamentaria para alcanzar esa mayoría calificada, sin tener que llegar al extremo de que sea el presidente el que designe finalmente quién de la terna será ministra de la SCJN que debe ser la última opción y creo que esa convicción es ampliamente compartida.
Y es que no es para menos. Eréndira Cruzvillegas es una abogada experta en derechos humanos con un gran reconocimiento entre propios y extraños desde hace varias décadas. La conocí cuando fue directora del Centro Nacional de Comunicación Social A.C. (Cencos), una reconocida organización dedicada a visibilizar a grupos y sectores vulnerables que no suelen ser parte de las fuentes de los medios de comunicación, y desde ahí he seguido con interés su labor.
Después fue relatora para la libertad de expresión de la Comisión de Derechos Humanos del entonces Distrito Federal, donde escribió un interesante libro sobre la libertad de expresión en las sentencias de la Corte Interamericana de Derechos Humanos con el doctor Sergio García Ramírez, quien fue juez y presidente de dicha Corte. Más tarde fue visitadora general en la Comisión Nacional de Derechos Humanos y es cercana al padre Alejandro Solalinde y su causa.
Se puede ver en Eréndira un hilo conductor que conjuga la defensa jurídica de los derechos humanos con la justicia social con apego a la Constitución y a las leyes, quien además no ha sido militante activa ni dirigente partidista, que en estas épocas de crispación ello abona a construir acuerdos en el Senado. Con toda convicción puedo afirmar que Eréndira es hoy en este asunto el centro de una teoría de conjuntos porque goza del respeto y reconocimiento de los más distintos grupos de la comunidad.
No tengo objeción ni cuestionamiento alguno para Lenia Batres y Bertha Alcalde, menos pongo en duda sus prendas profesionales, pero no creo que sean hoy las mejores cartas para generar la empatía que permita trascender las fronteras de la vida partidista y militante. De esta suerte, es de esperar que la fracción parlamentaria de Morena privilegie el perfil que pueda lograr la mayor aceptación posible entre el Senado.
De igual modo, es menester que los partidos de oposición evalúen por sus méritos a quienes integran la terna y no caigan en la posición facilista de que cualquier propuesta presidencial es mala per se y debe ser rechazada. La altura de miras y el interés superior del país reclaman madurez e inteligencia emocional. Esperemos que estas virtudes no se evaporen por intereses ajenos al público.
@evillanuevamx
Comentarios
Otras Noticias
// 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: