pull/1/head
Yax 5 years ago
parent 445a797c9a
commit c82ac0397d

@ -1,8 +1,5 @@
<article>
<div class="article">
<h1><a href="{{ base_path }}/{{ year }}/{{ slug }}.html">{{ title }}</a></h1>
<p class="meta">{{ category_label}}<span>{{ date }}</span></p>
<p class="meta">{{ category_label}}<span>{{ friendly_date }}</span></p>
<p class="summary">{{ summary }}</p>
<div>
<a class="more" href="{{ base_path }}/{{ year }}/{{ slug }}.html">Lire la suite...</a>
</div>
</article>

@ -1,5 +1,5 @@
<article>
<div class="article">
<h1>{{ title }}</h1>
<p class="meta">{{ category_label}}<span>{{ date }}</span></p>
<p class="meta">{{ category_label}}<span>{{ friendly_date }}</span></p>
{{ content }}
</article>
</div>

@ -36,6 +36,10 @@ import json
import datetime
from pathlib import Path
import unicodedata
import locale
# set user locale
locale.setlocale(locale.LC_ALL, '')
def fread(filename):
"""Read file and close the file."""
@ -87,6 +91,7 @@ def slugify(value):
value = re.sub('[^\w\s-]', '', value).strip().lower()
return re.sub('[-\s]+', '-', value)
def read_content(filename):
"""Read content and metadata from file into a dictionary."""
# Read file content.
@ -127,6 +132,17 @@ def read_content(filename):
return content
def clean_html_tag(text):
"""Remove HTML tags."""
while True:
original_text = text
text = re.sub('<\w+.*?>', '', text)
text = re.sub('<\/\w+>', '', text)
if original_text == text:
break
return text
def render(template, **params):
"""Replace placeholders in template with values from params."""
return re.sub(r'{{\s*([^}\s]+)\s*}}',
@ -171,6 +187,11 @@ def make_pages(src, dst, layout, **params):
return sorted(items, key=lambda x: x['date'], reverse=True)
def get_friendly_date(date_str):
dt = datetime.datetime.strptime(date_str, '%Y-%m-%d')
return dt.strftime('%d %b %Y')
def make_posts(src, src_pattern, dst, layout, category_layout, **params):
"""Generate posts from posts directory."""
items = []
@ -182,6 +203,7 @@ def make_posts(src, src_pattern, dst, layout, category_layout, **params):
page_params = dict(params, **content)
page_params['banner'] =' '
page_params['date_path'] = page_params['date'].replace('-', '/')
page_params['friendly_date'] = get_friendly_date(page_params['date'])
page_params['year'] = page_params['date'].split('-')[0]
# categories
@ -201,11 +223,11 @@ def make_posts(src, src_pattern, dst, layout, category_layout, **params):
summary_index = page_params['content'].find('<!-- more')
if summary_index > 0:
content['summary'] = render(page_params['content'][:summary_index], **page_params)
content['summary'] = clean_html_tag(render(page_params['content'][:summary_index], **page_params))
content['year'] = page_params['year']
content['category_label'] = page_params['category_label']
content['friendly_date'] = page_params['friendly_date']
items.append(content)
# TODO DEBUG

@ -141,6 +141,19 @@ a:hover, a:active {
padding-right: 20px;
}
.summary {
margin-top: 0px;
}
.article > h1 {
margin-bottom: 0px;
}
.meta {
margin-top: 0px;
margin-bottom: 0px;
}
.meta > span {
display: inline;
margin-right: 10px;

Loading…
Cancel
Save