Show description/content of posts/assets
This commit is contained in:
@@ -251,7 +251,7 @@ def render_project(project, api, extra_context=None, template_name=None):
|
|||||||
project.picture_square = utils.get_file(project.picture_square, api=api)
|
project.picture_square = utils.get_file(project.picture_square, api=api)
|
||||||
project.picture_header = utils.get_file(project.picture_header, api=api)
|
project.picture_header = utils.get_file(project.picture_header, api=api)
|
||||||
|
|
||||||
def load_latest(list_of_ids):
|
def load_latest(list_of_ids, node_type=None):
|
||||||
"""Loads a list of IDs in reversed order."""
|
"""Loads a list of IDs in reversed order."""
|
||||||
|
|
||||||
if not list_of_ids:
|
if not list_of_ids:
|
||||||
@@ -263,6 +263,11 @@ def render_project(project, api, extra_context=None, template_name=None):
|
|||||||
'picture': 1}
|
'picture': 1}
|
||||||
params = {'projection': projection, 'embedded': {'user': 1}}
|
params = {'projection': projection, 'embedded': {'user': 1}}
|
||||||
|
|
||||||
|
if node_type == 'post':
|
||||||
|
projection['properties.content'] = 1
|
||||||
|
elif node_type == 'asset':
|
||||||
|
projection['description'] = 1
|
||||||
|
|
||||||
list_latest = []
|
list_latest = []
|
||||||
for node_id in reversed(list_of_ids or ()):
|
for node_id in reversed(list_of_ids or ()):
|
||||||
try:
|
try:
|
||||||
@@ -278,8 +283,8 @@ def render_project(project, api, extra_context=None, template_name=None):
|
|||||||
|
|
||||||
return list_latest
|
return list_latest
|
||||||
|
|
||||||
project.nodes_featured = load_latest(project.nodes_featured)
|
project.nodes_featured = load_latest(project.nodes_featured, node_type='asset')
|
||||||
project.nodes_blog = load_latest(project.nodes_blog)
|
project.nodes_blog = load_latest(project.nodes_blog, node_type='post')
|
||||||
|
|
||||||
# Merge featured assets and blog posts into one activity stream
|
# Merge featured assets and blog posts into one activity stream
|
||||||
def sort_key(item):
|
def sort_key(item):
|
||||||
|
@@ -1615,6 +1615,10 @@ a.learn-more
|
|||||||
flex-direction: column
|
flex-direction: column
|
||||||
justify-content: space-between
|
justify-content: space-between
|
||||||
|
|
||||||
|
.description
|
||||||
|
font-size: .9em
|
||||||
|
padding-top: 5px
|
||||||
|
|
||||||
.title
|
.title
|
||||||
display: block
|
display: block
|
||||||
word-break: break-word
|
word-break: break-word
|
||||||
|
@@ -97,6 +97,12 @@ script.
|
|||||||
| {% endif %}
|
| {% endif %}
|
||||||
.info
|
.info
|
||||||
a.title(href="{{ url_for_node(node=n) }}") {{ n.name }}
|
a.title(href="{{ url_for_node(node=n) }}") {{ n.name }}
|
||||||
|
p.description(href="{{ url_for_node(node=n) }}")
|
||||||
|
| {% if n.node_type == 'post' %}
|
||||||
|
| {{ n.properties.content | striptags | truncate(125, end="... <small>read more</small>") | safe | hide_none }}
|
||||||
|
| {% else %}
|
||||||
|
| {{ n.description | striptags | truncate(125, end="... <small>read more</small>") | hide_none }}
|
||||||
|
| {% endif %}
|
||||||
span.details
|
span.details
|
||||||
span.what {% if n.properties.content_type %}{{ n.properties.content_type | undertitle }}{% else %}{{ n.node_type | undertitle }}{% endif %} ·
|
span.what {% if n.properties.content_type %}{{ n.properties.content_type | undertitle }}{% else %}{{ n.node_type | undertitle }}{% endif %} ·
|
||||||
span.when {{ n._updated | pretty_date }} by
|
span.when {{ n._updated | pretty_date }} by
|
||||||
|
Reference in New Issue
Block a user