[testing : production]
dev = true
-firephp = true
+firephp = false
-minify.js = false
+;minify.js = false
seo.universalAnalytics = UA-4339912-9
public function blogBody(Fluidbook_Model_Blog $post) {
- $res = '<div class="content-wrapper grid">';
- $res .= '<div class="blog-post-body">';
+ $res = '<section class="content-wrapper grid">';
+ $res .= '<div class="blog-post-body" itemprop="articleBody">';
foreach ($post->getContent() as $content) {
// Author details
$photo = $this->imageProcess()->imageProcessGetUrl($this->author->getPhoto(), null, 120, 120);
- $res .= '<div class="blog-author" itemscope itemtype="http://schema.org/Person">';
+ $res .= '<div class="blog-author" itemprop="author" itemscope itemtype="http://schema.org/Person">';
$res .= '<div class="blog-author-photo" itemprop="image" style="background-image:url('. $photo .');"></div>';
$res .= '<div class="blog-author-details">';
$res .= '<h3 class="blog-author-name" itemprop="name">'. $this->author->getName() .'</h3>';
$res .= '</div>'; // .blog-author
$res .= '</div>'; // .blog-post-body
- $res .= '</div>'; // .content-wrapper
+ $res .= '</section>'; // .content-wrapper
return $res;
}
\r
foreach ($posts as $post) {\r
/* @var $post Fluidbook_Model_Blog */\r
- $res .= $this->htmlElement($this->blogIntro($post, false), 'article', ['itemProp' => 'blogPost']);\r
+ $res .= $this->htmlElement($this->blogIntro($post, false), 'article', ['itemscope' => null, 'itemtype' => 'http://schema.org/Article']);\r
}\r
\r
return $this->htmlElement($res, 'div', ['class' => 'blog-index']);\r
$title = $post->getTitle();
$title_tag = 'h1';
} else {
- $title = $this->link($post->getTitle(), $URL);
+ $title = $this->link($post->getTitle(), $URL, ['itemprop' => 'url']);
$title_tag = 'h2';
}
$res .= $this->dateTime(
$post->getPublishDate(),
CubeIT_Date::DAY .' '. CubeIT_Date::MONTH_NAME .' '. CubeIT_Date::YEAR,
- ['class' => 'blog-intro-date']
+ [
+ 'class' => 'blog-intro-date',
+ 'datetime' => $post->getPublishDate()->toString(Zend_Date::ISO_8601),
+ 'itemprop' => 'datePublished',
+ ]
);
- $res .= $this->title($title, $title_tag, ['class' => 'blog-intro-title']);
+ $res .= $this->title($title, $title_tag, ['class' => 'blog-intro-title', 'itemprop' => 'headline']);
$res .= $this->markupDotclear($post->getExcerpt(), [], ['class' => 'blog-intro-excerpt']);
$res .= '</div>'; // .col-2
$res .= '</div>'; // .grid
'data-header-theme' => $this->post->getIntroStyle(),
];
+echo '<article itemscope itemtype="http://schema.org/Article">';
echo $this->htmlElement($this->blogIntro($this->post), 'section', $attributes);
echo $this->blogBody($this->post);
+echo '</article>';
+
echo $this->contactFooter();
align-items: center;
// Extra padding to ensure text doesn't get too close to edges or overlap when under a header
- // Padding is symmetrical so that vertical centre is not thrown off
+ // Padding is symmetrical so that vertical centre is not thrown off. However, on smaller screens this is not relevant.
padding: 144px 0 !important;
@media @m1280 {
- padding: 86px 0 !important;
+ padding: 106px 0 66px !important;
}
@media @m900 {
- padding: 96px 0 !important;
+ padding: 116px 0 76px !important;
}
@media @m768 {
- padding: 75px 0 !important;
+ padding: 95px 0 55px !important;
}
@media @m1024 {
max-width: 1008px;
width: 100%;
+ @media @m1280 {
+ font-size: 22px;
+ }
@media @m1024 {
font-size: 20px;
}