Casa dos Crivos mostra ilustração de dizeres de Braga até dia 25

Este ano a exposição colectiva ‘Braga 22×22’, instalada na Casa dos Crivos, homenageia o legado da palavra. Vinte e seis ilustradores aceitaram o desafio do Braga em Risco – Encontro de Ilustração, e deram formas e cores às mais variadas expressões típicas de Braga. Até 25 de Novembro.

ILUSTRADORES:

Ana Biscaia, Anabela Dias, André Caetano, Bárbara Rocha, Carla Nazareth, Cátia Vidinhas, Danuta Wojsciechowska, Evelina Oliveira, Fedra Santos, Helena Zália, Mafalda Milhões, Margarida Botelho, Marta Madureira, Marta Torrão, Natalina Cóias, Patrícia Figueiredo, Paulo Galindro, Rachel Caiano, Raquel Costa, Sandra Sofia Santos, Sara Feio, Sebastião Peixoto, Sérgio Ribeiro, Susana Carvalhinhos, Uma Joana, Zita Pinto.

Curadoria: Pedro Seromenho

HORÁRIOS

Terça a sexta | 10h00 às 13h00 | 15h00 às 18h30
Sábado e domingo | 14h30 às 18h00.

Entrada livre.

Jornal O Desportivo

<?php
function fetch_rss_cached($url, $cache_seconds = 600) {
    $key = 'rss_cache_' . md5($url);

    $cached = get_transient($key);
    if ($cached !== false) {
        return simplexml_load_string($cached);
    }

    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_USERAGENT, 'WP RSS Fetcher');

    $data = curl_exec($ch);
    curl_close($ch);

    if (!$data) return null;

    set_transient($key, $data, $cache_seconds);
    return simplexml_load_string($data);
}

function time_ago($datetime) {
    $time = strtotime($datetime);
    $diff = time() - $time;

    if ($diff < 60) return $diff . ' segundos atrás';
    if ($diff < 3600) return floor($diff / 60) . ' minutos atrás';
    if ($diff < 86400) return floor($diff / 3600) . ' horas atrás';
    if ($diff < 604800) return floor($diff / 86400) . ' dias atrás';
    return date('d/m/Y H:i', $time);
}

$rss = fetch_rss_cached('https://www.desportivovaledohomem.pt/category/destaque/feed/', 600);
if (!$rss || empty($rss->channel->item)) {
    echo '<!-- RSS vazio ou erro -->';
    return;
}

$items = $rss->channel->item;
$count = 0;

echo '<div class="rss-posts">';

foreach ($items as $item) {
    if ($count >= 5) break;

    $title = (string) $item->title;
    $link = (string) $item->link;
    $pubDate = (string) $item->pubDate;
    $timeAgo = time_ago($pubDate);

    $categoryText = isset($item->category[0]) ? (string) $item->category[0] : '';

    echo '<div class="rss-post">';
    echo '<p class="rss-meta">' . esc_html($timeAgo) . ' - ' . esc_html($categoryText) . '</p>';
    echo '<h3 class="rss-title"><a href="' . esc_url($link) . '" target="_blank" rel="noopener">' . esc_html($title) . '</a></h3>';
    echo '</div>';

    $count++;
}

echo '</div>';
?>
.rss-posts {
    font-family: "MYRIAD PRO";
    font-weight: 400;
}

.rss-post {
    padding: 10px 0;
    border-bottom: 1px solid #8E8E8D;
}

.rss-meta {
    color: #828282;
    font-size: 11px;
    margin-bottom: 0px;
    font-weight: 600;
}

.rss-title {
    font-size: 14px;
    line-height: 1.4;
    margin: 0;
}

.rss-title a {
    text-decoration: none;
    color: #363636;
    font-family: "Myriad Pro";
    font-weight: 400;
    font-size: 17px;
}

.rss-post:last-child {
    border: none;
}
Ver mais

Últimas Notícias

Ver mais