Leaving programmed a post for today just to test programmed posts.
This commit is contained in:
parent
5a1fb097c5
commit
49cedaa5fc
@ -2,6 +2,7 @@
|
|||||||
<title>Comercios de Burguillos.</title>
|
<title>Comercios de Burguillos.</title>
|
||||||
<description>
|
<description>
|
||||||
<p>Aquí puedes encontrar información acerca de los comercios de Burguillos.</p>
|
<p>Aquí puedes encontrar información acerca de los comercios de Burguillos.</p>
|
||||||
|
<p>¿Quieres que tu comercio aparezca aquí? Contacta con <a href="mailto:contact@owlcode.tech">contact@owlcode.tech</a></p>
|
||||||
</description>
|
</description>
|
||||||
<priority>2</priority>
|
<priority>2</priority>
|
||||||
<menu_text>Comercios</menu_text>
|
<menu_text>Comercios</menu_text>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<p>Esta página es software libre, puedes tomar cualquier parte del código de la página para tu propia web o programa mientras cumplas con la licencia AGPLv3 or later, puedes encontrar su código aquí.</p>
|
<p>Esta página es software libre, puedes tomar cualquier parte del código de la página para tu propia web o programa mientras cumplas con la licencia AGPLv3 or later, puedes encontrar su código aquí.</p>
|
||||||
</description>
|
</description>
|
||||||
<priority>3</priority>
|
<priority>999</priority>
|
||||||
<menu_text>Esta página</menu_text>
|
<menu_text>Esta página</menu_text>
|
||||||
<slug>esta-pagina</slug>
|
<slug>esta-pagina</slug>
|
||||||
</category>
|
</category>
|
||||||
|
10
content/categories/talleres.xml
Normal file
10
content/categories/talleres.xml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<category>
|
||||||
|
<title>Talleres en Burguillos.</title>
|
||||||
|
<description>
|
||||||
|
<p>Aquí puedes encontrar información acerca de los talleres y actividades disponibles en Burguillos.</p>
|
||||||
|
<p>¿Quieres que tu taller o actividad aparezca aquí? Contacta con <a href="mailto:contact@owlcode.tech">contact@owlcode.tech</a></p>
|
||||||
|
</description>
|
||||||
|
<priority>3</priority>
|
||||||
|
<menu_text>Talleres</menu_text>
|
||||||
|
<slug>talleres</slug>
|
||||||
|
</category>
|
25
content/posts/0000008-taller-de-macrame.xml
Normal file
25
content/posts/0000008-taller-de-macrame.xml
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
<post>
|
||||||
|
<author>Burguillos.info</author>
|
||||||
|
<date>2022-11-14T12:00+00:00</date>
|
||||||
|
<title>Últimas plazas para Taller de Macrame.</title>
|
||||||
|
<ogdesc>Últimas plazas para Taller de Macrame.</ogdesc>
|
||||||
|
<category>talleres</category>
|
||||||
|
<img src="/img/poster-macrame-preview.png"/>
|
||||||
|
<slug>ultimas-plazas-taller-de-macrame</slug>
|
||||||
|
<content>
|
||||||
|
<img alt="Poster del taller" src="/img/poster-macrame.png"/>
|
||||||
|
|
||||||
|
<p>Ultima hora, nos hemos enterado de un taller de Macramé planeado para el 26 de Noviembre de 10:00 a 18:00 en la Mercería la Gallina Costurera localizada en Avenida Pepe Luna.</p>
|
||||||
|
<p>El taller está organizado por Maka Guijo y costará 45€ por persona.</p>
|
||||||
|
|
||||||
|
<p>Los materiales vienen incluidos con el precio de la plaza.</p>
|
||||||
|
|
||||||
|
<p>Si os preguntáis.-¿Qué es el Macramé?.- No os angustieis que yo os lo cuento.</p>
|
||||||
|
<p>Según Wikipedia, el Macramé es la técnica de crear tejidos mediante el uso de nudos decorativos.</p>
|
||||||
|
|
||||||
|
<p>Usando Macramé puedes crear regalos preciosos para tus familiares o amigos; o incluso quedarte tú con tu obra para exponerla, en el cartel se puede apreciar algunas de las cosas que se pueden realizar mediante el uso de Macramé.</p>
|
||||||
|
|
||||||
|
<p>Si quieres pasar un buen rato y divertirte con este peculiar estilo de artesanía no dudes en contactar con <a href="tel:+34611489981">611 489 981</a>, no esperes hasta el último momento ya que las plazas son limitadas.</p>
|
||||||
|
|
||||||
|
</content>
|
||||||
|
</post>
|
@ -12,6 +12,7 @@ use Const::Fast;
|
|||||||
use Mojo::DOM;
|
use Mojo::DOM;
|
||||||
use Path::Tiny;
|
use Path::Tiny;
|
||||||
use DateTime::Format::ISO8601;
|
use DateTime::Format::ISO8601;
|
||||||
|
use DateTime;
|
||||||
use SVG;
|
use SVG;
|
||||||
use Capture::Tiny qw/capture/;
|
use Capture::Tiny qw/capture/;
|
||||||
|
|
||||||
@ -25,8 +26,6 @@ const my $SVG_HEIGHT => 627;
|
|||||||
const my $SVG_EMBEDDED_IMAGE_MAX_WIDTH => 1000;
|
const my $SVG_EMBEDDED_IMAGE_MAX_WIDTH => 1000;
|
||||||
const my $SVG_EMBEDDED_IMAGE_MAX_HEIGHT => 200;
|
const my $SVG_EMBEDDED_IMAGE_MAX_HEIGHT => 200;
|
||||||
|
|
||||||
my $iso8601 = DateTime::Format::ISO8601->new;
|
|
||||||
|
|
||||||
my $cached_posts_by_category;
|
my $cached_posts_by_category;
|
||||||
my $cached_posts_by_slug;
|
my $cached_posts_by_slug;
|
||||||
|
|
||||||
@ -34,9 +33,30 @@ sub new {
|
|||||||
return bless {}, shift;
|
return bless {}, shift;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub _ReturnCacheFilter {
|
||||||
|
my $self = shift;
|
||||||
|
my %posts_by_category_filtered;
|
||||||
|
my %posts_by_slug_filtered;
|
||||||
|
my $iso8601 = DateTime::Format::ISO8601->new;
|
||||||
|
my $current_date = DateTime->now;
|
||||||
|
for my $category ( keys %$cached_posts_by_category ) {
|
||||||
|
for my $post ( @{ $cached_posts_by_category->{$category} } ) {
|
||||||
|
my $date_post = $iso8601->parse_datetime( $post->{date} );
|
||||||
|
if ( $date_post > $current_date ) {
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
$posts_by_slug_filtered{ $post->{slug} } = $post;
|
||||||
|
$posts_by_category_filtered{ $post->{category} } //= [];
|
||||||
|
push @{ $posts_by_category_filtered{ $post->{category} } }, $post;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return (\%posts_by_category_filtered, \%posts_by_slug_filtered);
|
||||||
|
}
|
||||||
|
|
||||||
sub Retrieve {
|
sub Retrieve {
|
||||||
|
my $self = shift;
|
||||||
if ( defined $cached_posts_by_category && defined $cached_posts_by_slug ) {
|
if ( defined $cached_posts_by_category && defined $cached_posts_by_slug ) {
|
||||||
return ( $cached_posts_by_category, $cached_posts_by_slug );
|
return $self->_ReturnCacheFilter;
|
||||||
}
|
}
|
||||||
$cached_posts_by_category = {};
|
$cached_posts_by_category = {};
|
||||||
$cached_posts_by_slug = {};
|
$cached_posts_by_slug = {};
|
||||||
@ -60,6 +80,7 @@ sub Retrieve {
|
|||||||
or die "Missing content at $post_file.";
|
or die "Missing content at $post_file.";
|
||||||
my $image_element = $dom->at(':root > img');
|
my $image_element = $dom->at(':root > img');
|
||||||
my $image;
|
my $image;
|
||||||
|
|
||||||
if ( defined $image_element ) {
|
if ( defined $image_element ) {
|
||||||
$image = $image_element->attr->{src};
|
$image = $image_element->attr->{src};
|
||||||
}
|
}
|
||||||
@ -79,7 +100,7 @@ sub Retrieve {
|
|||||||
$cached_posts_by_slug->{$slug} = $post;
|
$cached_posts_by_slug->{$slug} = $post;
|
||||||
push @$category_posts, $post;
|
push @$category_posts, $post;
|
||||||
}
|
}
|
||||||
return ( $cached_posts_by_category, $cached_posts_by_slug );
|
return $self->_ReturnCacheFilter;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub PostPreviewOg {
|
sub PostPreviewOg {
|
||||||
@ -158,8 +179,7 @@ sub _AttachImageSVG {
|
|||||||
y => $y,
|
y => $y,
|
||||||
width => $width,
|
width => $width,
|
||||||
height => $height,
|
height => $height,
|
||||||
-href => "data:$format;base64,"
|
-href => "data:$format;base64," . encode_base64( $image->slurp )
|
||||||
. encode_base64( $image->slurp )
|
|
||||||
);
|
);
|
||||||
return $y + $height + 50;
|
return $y + $height + 50;
|
||||||
}
|
}
|
||||||
|
BIN
public/img/poster-macrame-preview.png
Normal file
BIN
public/img/poster-macrame-preview.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 716 KiB |
BIN
public/img/poster-macrame.png
Normal file
BIN
public/img/poster-macrame.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.8 MiB |
Loading…
Reference in New Issue
Block a user