Contenido
‘The outpost”, serie de ciencia ficción en Syfy
// ------------------------------------------------------------------------------------------------------------------------------- // 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).- Syfy proyecta desde el 5 de enero la segunda temporada de la serie de ciencia ficción The outpost, en la que la actriz Jessica Green vuelve a defender al mundo con su papel de Talon, la única sobreviviente de una raza llamada Blackbloods.
Contiene 13 episodios, de 60 minutos cada uno, y se proyectan los domingos a las 20:00 horas.
Ahora, tras derrotar a Dred y recuperar la Fortaleza, Talon y Gwynn (Imogen Waterhouse) se preparan para la guerra contra la Orden Primaria. Además, Talon duda si será la elegida de la Profecía porque al invocar a Lu-Qiri permitió que otras criaturas se filtraran en el mundo con ellos.
También actúan en dicha etapa --creada por Jason Faller y Kynan Griffin-- Jake Stormoen, Anand Desai-Barochia, Adam Johnson, Robyn Malcolm, Kevin McNally y Paloma Bloyd, entre otros.
Más realidad
Para el actor estadunidense Jake Stormoen, así es la segunda época de The outpost:
“Desde los primeros minutos se siente mejor ubicada en la realidad, en comparación con la primera, la cual fue grabada en Utah, Estados Unidos, mientras que los nuevos episodios se rodaron en Serbia y al este de Europa. Eso fue muy acertado, ya que permitió darle mayor realismo debido a la calidad de los escenarios y ambientes dentro de la trama, veremos castillos, ruinas y más. El escenario es ahora cuatro o cinco veces más grande”.
Además, resalta el héroe espadachín en una entrevista que entrega Syfy a este medio:
“Mantenemos la esencia de la primera temporada, pero combinada con más aventura, y especialmente con mi personaje se viven victorias, derrotas y una serie de emociones más complejas y profundas”.
Retos actorales
Sobre sus retos actorales en el proyecto, explica:
“Esta vez interpretar a Garret fue más complicado de lo que esperaba. En el primer ensayo, sólo tenía guiones hasta el segundo episodio, así que no sabía cómo se daría esta nueva temporada. Como actor te preparas para posibles cambios a los que se pueda enfrentar tu personaje. Pero me atrevo a decir que Garret es el que más cambios sufre a lo largo de esta nueva historia, pasa por muchas cosas y más que un desafío en escenas de acción o de demanda física. Es preparar toda esa evolución mental y ese camino lleno de matices en los que al final tendrán sentido para toda la audiencia a lo largo de esta temporada”.
Confiesa que ama las historias de fantasía:
“Son divertidas. Desde pequeño amaba los relatos con dragones, caballeros y castillos. Uno de mis mayores sueños era convertirme en caballero medieval y pude vivirlo desde la primera temporada en The outpost, era el caballero con la brillante armadura que siempre luchaba por lo correcto y que siempre tomaba las mejores decisiones para el bien de todos. Ciertamente en esta segunda época, se ponen a prueba la moral y el código de honor del personaje, eso es lo que más me gustó, se empiezan a notar los cambios de Garret en general; sin duda, es algo que espero le guste a la audiencia, ver cómo se ensucia esa armadura brillante del chico bueno”.
En octubre pasado se informó que continúa la tercera temporada de The outpost. Se estrenará en el verano de este
También te puede interesar: “Vikingos” en su sexta y última temporada
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: