pull/1/head
Yax 5 years ago
parent d9a5a5bc00
commit 184b04a857

@ -1 +1 @@
<span><a href="/{{ url }}.html">{{ category }}</a></span> <span><a href="/{{ url }}/">{{ category }}</a></span>

@ -1,8 +1,11 @@
<div> <div class="comment-detail">
<img src="https://www.gravatar.com/avatar/{{ avatar }}.jpg" style="float:left; margin-right:10px" height="32" <img src="https://www.gravatar.com/avatar/{{ avatar }}.jpg" style="float:left; margin-right:10px" height="32" width="32">
width="32"> <div class="comment-body">
<span>{{ author }}</span> <span class="comment-author">{{ author }}</span>
<span>{{ site }}</span> <!-- <span>{{ site }}</span> -->
<span> - {{ date }}</span> </span><span> - {{ date }}</span>
<p>{{ content }}</p> <p>{{ content }}</p>
</div> </div>
</div>

@ -1,5 +1,5 @@
<div class="article"> <div class="article">
<h1><a href="/{{ year }}/{{ slug }}.html">{{ title }}</a></h1> <h1><a href="/{{ post_url }}">{{ title }}</a></h1>
<p class="meta">{{ category_label}}<span>{{ friendly_date }}</span><span class="comment-indicator">{{ comment_label }}</span></p> <p class="meta">{{ category_label}}<span>{{ friendly_date }}</span><span class="comment-indicator">{{ comment_label }}</span></p>
<p class="summary">{{ summary }}</p> <p class="summary">{{ summary }}</p>
</div> </div>

@ -1,5 +1,5 @@
<div class="article"> <div class="article">
<h1><a href="/{{ year }}/{{ slug }}.html">{{ title }}</a></h1> <h1><a href="/{{ post_url }}">{{ title }}</a></h1>
<p class="meta">{{ category_label}}<span>{{ friendly_date }}</span></p> <p class="meta">{{ category_label}}<span>{{ friendly_date }}</span><span class="comment-indicator">{{ comment_label }}</span></p>
<p></p> <p></p>
</div> </div>

@ -36,7 +36,7 @@
<div><a href="/"><img src="/logos/logo@96px.png"></img></a></div> <div><a href="/"><img src="/logos/logo@96px.png"></img></a></div>
<div class="txtright" id="menu-blog"> <div class="txtright" id="menu-blog">
<a href="/">Blog</a> <a href="/">Blog</a>
<a href="/archives.html">Archives</a> <a href="/archives/">Archives</a>
</div> </div>
</div> </div>

@ -3,8 +3,11 @@
<p class="meta">{{ category_label}}<span>{{ friendly_date }}</span></p> <p class="meta">{{ category_label}}<span>{{ friendly_date }}</span></p>
{{ content }} {{ content }}
<div class="comment-separator"></div>
{{ comments }} {{ comments }}
<!--
<div id="comment-form"> <div id="comment-form">
<strong>Votre commentaire</strong> <strong>Votre commentaire</strong>
<form role="form" action="/newcomment" autocomplete="off" method="post"> <form role="form" action="/newcomment" autocomplete="off" method="post">
@ -17,7 +20,7 @@
<input class="hidden" id="token" name="token" type="text" placeholder="Blog" <input class="hidden" id="token" name="token" type="text" placeholder="Blog"
value="{{ stacosys_token }}"> value="{{ stacosys_token }}">
<input class="hidden" id="url" name="url" type="text" placeholder="Article" <input class="hidden" id="url" name="url" type="text" placeholder="Article"
value="{{ year }}/{{ slug }}"> value="/{{ post_url }}">
<input class="hidden" id="captcha" name="captcha" type="text" <input class="hidden" id="captcha" name="captcha" type="text"
placeholder="Etes vous humain ?"> placeholder="Etes vous humain ?">
</fieldset> </fieldset>
@ -44,6 +47,8 @@
class="button--info">Prévisualiser</button> class="button--info">Prévisualiser</button>
</form> </form>
</div> </div>
-->
</div> </div>
<script type="text/javascript"><!-- <script type="text/javascript"><!--
@ -63,4 +68,4 @@
} }
window.onload = showbonus; window.onload = showbonus;
--></script> --></script>

@ -1,7 +1,7 @@
<item> <item>
<guid>{{ site_url }}/{{ year }}/{{ slug }}.html</guid> <guid>{{ site_url }}/{{ post_url }}</guid>
<title>{{ title }}</title> <title>{{ title }}</title>
<link>{{ site_url }}/{{ year }}/{{ slug }}.html</link> <link>{{ site_url }}/{{ post_url }}</link>
<description> <description>
<![CDATA[ <![CDATA[
<p> <p>

@ -41,7 +41,6 @@ import locale
import requests import requests
import commonmark import commonmark
# set user locale # set user locale
locale.setlocale(locale.LC_ALL, "") locale.setlocale(locale.LC_ALL, "")
@ -117,7 +116,7 @@ def read_content(filename):
content[key] = val content[key] = val
# slugify post title # slugify post title
content['slug'] = slugify(content['title']) content["slug"] = slugify(content["title"])
# Separate content from headers. # Separate content from headers.
text = text[end:] text = text[end:]
@ -184,7 +183,9 @@ def get_friendly_date(date_str):
return dt.strftime("%d %b %Y") return dt.strftime("%d %b %Y")
def make_posts(src, src_pattern, dst, layout, category_layout, comment_layout, **params): def make_posts(
src, src_pattern, dst, layout, category_layout, comment_layout, **params
):
"""Generate posts from posts directory.""" """Generate posts from posts directory."""
items = [] items = []
@ -198,6 +199,7 @@ def make_posts(src, src_pattern, dst, layout, category_layout, comment_layout, *
page_params["date_path"] = page_params["date"].replace("-", "/") page_params["date_path"] = page_params["date"].replace("-", "/")
page_params["friendly_date"] = get_friendly_date(page_params["date"]) page_params["friendly_date"] = get_friendly_date(page_params["date"])
page_params["year"] = page_params["date"].split("-")[0] page_params["year"] = page_params["date"].split("-")[0]
page_params["post_url"] = page_params["year"] + "/" + page_params["slug"]
# categories # categories
categories = get_categories(page_params) categories = get_categories(page_params)
@ -215,36 +217,36 @@ def make_posts(src, src_pattern, dst, layout, category_layout, comment_layout, *
) )
# stacosys comments # stacosys comments
page_params['comment_count'] = 0 page_params["comment_count"] = 0
if params['stacosys_url']: if params["stacosys_url"]:
req_url = params['stacosys_url'] + '/comments' req_url = params["stacosys_url"] + "/comments"
query_params = dict( query_params = dict(
token=params['stacosys_token'], token=params["stacosys_token"], url="/" + page_params["post_url"] + "/"
url='/' + page_params['year'] + '/' + page_params['slug']
) )
resp = requests.get(url=req_url, params=query_params) resp = requests.get(url=req_url, params=query_params)
comments = resp.json()['data'] comments = resp.json()["data"]
out_comments = [] out_comments = []
for comment in comments: for comment in comments:
out_comment = render(comment_layout, author=comment['author'], avatar=comment.get('avatar',''), site=comment.get('site', ''), out_comment = render(
date=comment['date'], content=commonmark.commonmark(comment['content'])) comment_layout,
author=comment["author"],
avatar=comment.get("avatar", ""),
site=comment.get("site", ""),
date=comment["date"],
content=commonmark.commonmark(comment["content"]),
)
out_comments.append(out_comment) out_comments.append(out_comment)
page_params["comments"] = "".join(out_comments) page_params["comments"] = "".join(out_comments)
page_params['comment_count'] = len(comments) page_params["comment_count"] = len(comments)
content["year"] = page_params["year"] content["year"] = page_params["year"]
content["post_url"] = page_params["post_url"]
content["categories"] = page_params["categories"] content["categories"] = page_params["categories"]
content["category_label"] = page_params["category_label"] content["category_label"] = page_params["category_label"]
content["friendly_date"] = page_params["friendly_date"] content["friendly_date"] = page_params["friendly_date"]
content["comment_count"] = page_params["comment_count"] content["comment_count"] = page_params["comment_count"]
items.append(content) items.append(content)
# TODO DEBUG
# print(page_params)
# print(content)
# break
dst_path = render(dst, **page_params) dst_path = render(dst, **page_params)
output = render(layout, **page_params) output = render(layout, **page_params)
@ -279,13 +281,15 @@ def make_list(
item_params = dict(params, **post) item_params = dict(params, **post)
if "summary" not in item_params: if "summary" not in item_params:
item_params["summary"] = truncate(post["content"]) item_params["summary"] = truncate(post["content"])
if "comment_count" in item_params and item_params['comment_count']: if "comment_count" in item_params and item_params["comment_count"]:
if item_params['comment_count'] == 1: if item_params["comment_count"] == 1:
item_params['comment_label'] = '1 commentaire' item_params["comment_label"] = "1 commentaire"
else: else:
item_params['comment_label'] = str(item_params['comment_count']) + ' commentaires' item_params["comment_label"] = (
str(item_params["comment_count"]) + " commentaires"
)
else: else:
item_params['comment_label'] = '' item_params["comment_label"] = ""
item = render(item_layout, **item_params) item = render(item_layout, **item_params)
items.append(item) items.append(item)
params["content"] = "".join(items) params["content"] = "".join(items)
@ -310,7 +314,7 @@ def main():
"site_url": "http://localhost:8000", "site_url": "http://localhost:8000",
"current_year": datetime.datetime.now().year, "current_year": datetime.datetime.now().year,
"stacosys_token": "", "stacosys_token": "",
"stacosys_url": "" "stacosys_url": "",
} }
# If params.json exists, load it. # If params.json exists, load it.
@ -333,7 +337,7 @@ def main():
rss_item_xml = fread("layout/rss_item.xml") rss_item_xml = fread("layout/rss_item.xml")
sitemap_xml = fread("layout/sitemap.xml") sitemap_xml = fread("layout/sitemap.xml")
sitemap_item_xml = fread("layout/sitemap_item.xml") sitemap_item_xml = fread("layout/sitemap_item.xml")
# Combine layouts to form final layouts. # Combine layouts to form final layouts.
post_layout = render(page_layout, content=post_layout) post_layout = render(page_layout, content=post_layout)
list_layout = render(page_layout, content=list_layout) list_layout = render(page_layout, content=list_layout)
@ -342,7 +346,7 @@ def main():
blog_posts = make_posts( blog_posts = make_posts(
"posts", "posts",
"**/*.md", "**/*.md",
"_site/{{ year }}/{{ slug }}.html", "_site/{{ post_url }}/index.html",
post_layout, post_layout,
category_layout, category_layout,
comment_layout, comment_layout,
@ -361,7 +365,7 @@ def main():
if page == last_page: if page == last_page:
params["next_page"] = "" params["next_page"] = ""
else: else:
params["next_page"] = "page" + str(page + 1) + ".html" params["next_page"] = "/page" + str(page + 1) + "/"
if page == 1: if page == 1:
params["previous_page"] = "" params["previous_page"] = ""
make_list( make_list(
@ -374,10 +378,10 @@ def main():
**params **params
) )
else: else:
params["previous_page"] = "page" + str(page - 1) + ".html" params["previous_page"] = "/page" + str(page - 1) + "/"
make_list( make_list(
chunk, chunk,
"_site/page" + str(page) + ".html", "_site/page" + str(page) + "/index.html",
list_layout, list_layout,
item_layout, item_layout,
banner_layout, banner_layout,
@ -398,7 +402,7 @@ def main():
params["category"] = cat params["category"] = cat
make_list( make_list(
catpost[cat], catpost[cat],
"_site/" + slugify(cat) + ".html", "_site/" + slugify(cat) + "/index.html",
list_layout, list_layout,
item_nosummary_layout, item_nosummary_layout,
category_title_layout, category_title_layout,
@ -409,7 +413,7 @@ def main():
# Create archive page # Create archive page
make_list( make_list(
blog_posts, blog_posts,
"_site/archives.html", "_site/archives/index.html",
list_layout, list_layout,
item_nosummary_layout, item_nosummary_layout,
archive_title_layout, archive_title_layout,

@ -156,10 +156,29 @@ a:hover, a:active {
display: none; display: none;
} }
.comment-separator {
height:1px;
background:#717171;
border-bottom:2px solid #6E9CC7;
margin-bottom: 8px;
}
.comment-indicator { .comment-indicator {
color: coral; color: coral;
} }
.comment-author {
font-weight: bold;
}
.comment-detail {
margin-bottom: 25px;
}
.comment-body {
margin-left: 42px;
}
/* Footer */ /* Footer */
footer { footer {
background: #f0f0f0; background: #f0f0f0;

Loading…
Cancel
Save