{% block title %}{{ entry.title }}{% end block %}
-{% block body %}
- <div class="page-header">
- <h1>
- <a href="/post/{{ entry.slug }}">{{ entry.title }}</a>
-
- <br>
+{% block header %}
+ <header class="jumbotron subhead" id="overview">
+ <div class="container">
+ <h1>
+ <i class="fa fa-comment"></i>
+ <a href="/post/{{ entry.slug }}">{{ entry.title }}</a>
+ </h1>
- <small>
- {{ _("by") }} <a href="/user/{{ entry.author.uid }}">{{ entry.author.name }}</a>,
- {{ locale.format_date(entry.published, shorter=True) }}
- </small>
- </h1>
- </div>
+ <p class="lead">
+ {{ _("by") }} <a href="/user/{{ entry.author.uid }}">{{ entry.author.name }}</a>
+ • {{ locale.format_date(entry.published, shorter=True) }}
+ </p>
+ </div>
+ </header>
+{% end header %}
+{% block body %}
{% if entry.is_draft() %}
<div class="alert alert-warning alert-dismissable">
<button type="button" class="close" data-dismiss="alert">×</button>
{% module PlanetAuthorBox(entry.author) %}
{% raw entry.text %}
+
+ <hr class="clear">
+
+ <p class="text-muted ac">
+ {{ _("Posted:") }} {{ locale.format_date(entry.published, shorter=True, relative=False) }}
+
+ •
+
+ {{ _("One view", "%(views)s views", entry.views) % { "views" : entry.views } }}
+ </p>
{% end block %}
self.db.execute("INSERT INTO planet_views(post_id, referer, location) \
VALUES(%s, %s, %s)", self.id, referer, location)
+ if hasattr(self, "_views"):
+ self._views += 1
+
+ @property
+ def views(self):
+ if not hasattr(self, "_views"):
+ res = self.db.get("SELECT COUNT(*) AS views FROM planet_views \
+ WHERE post_id = %s", self.id)
+
+ self._views = res.views
+
+ return self._views
+
class Planet(Object):
def get_authors(self):