Skip to content

Commit 16c6e86

Browse files
author
julioest
committed
refactor: Replace Library Item contributor markup with User Profile component
1 parent f5ea86c commit 16c6e86

3 files changed

Lines changed: 17 additions & 25 deletions

File tree

core/views.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1733,7 +1733,7 @@ def get_context_data(self, **kwargs):
17331733

17341734
demo_library_items = []
17351735
demo_libs_qs = Library.objects.filter(
1736-
slug__in=["geometry", "asio", "filesystem"]
1736+
slug__in=["accumulators", "filesystem", "asio", "geometry", "beast"]
17371737
).prefetch_related("categories", "authors")
17381738
for lib in demo_libs_qs:
17391739
lv = (
@@ -1763,10 +1763,16 @@ def get_context_data(self, **kwargs):
17631763
if lv and lv.cpp_standard_minimum
17641764
else "C++03"
17651765
),
1766-
"contributor_name": author.display_name if author else "Unknown",
1767-
"contributor_role": "Contributor",
1768-
"contributor_avatar_url": f"{settings.STATIC_URL}img/v3/demo_page/Avatar.png",
1769-
"contributor_badge_url": f"{badge_img}/badge-first-place.png",
1766+
"author": {
1767+
"name": author.display_name if author else "Unknown",
1768+
"role": "Contributor",
1769+
"avatar_url": (
1770+
f"https://github.com/{author.github_username}.png"
1771+
if author and author.github_username
1772+
else f"{settings.STATIC_URL}img/v3/demo_page/Avatar.png"
1773+
),
1774+
"badge_url": f"{badge_img}/badge-first-place.png",
1775+
},
17701776
"doc_url": reverse(
17711777
"library-detail",
17721778
kwargs={

templates/v3/examples/_v3_example_section.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ <h3>{{ section_title }}</h3>
249249
<div class="v3-examples-section__example-box">
250250
<ul class="library-item-list">
251251
{% for item in demo_library_items %}
252-
{% include "v3/includes/_library_item.html" with variant="list" library_name=item.library_name library_url=item.library_url description=item.description categories=item.categories cpp_version=item.cpp_version contributor_name=item.contributor_name contributor_role=item.contributor_role contributor_avatar_url=item.contributor_avatar_url contributor_badge_url=item.contributor_badge_url doc_url=item.doc_url %}
252+
{% include "v3/includes/_library_item.html" with variant="list" library_name=item.library_name library_url=item.library_url description=item.description categories=item.categories cpp_version=item.cpp_version author=item.author doc_url=item.doc_url %}
253253
{% endfor %}
254254
</ul>
255255
</div>
@@ -261,7 +261,7 @@ <h3>{{ section_title }}</h3>
261261
<h3>{{ section_title }}</h3>
262262
<div class="v3-examples-section__example-box" style="display: flex; gap: 16px; flex-wrap: wrap;">
263263
{% for item in demo_library_items %}
264-
{% include "v3/includes/_library_item.html" with variant="card" library_name=item.library_name library_url=item.library_url description=item.description categories=item.categories cpp_version=item.cpp_version contributor_name=item.contributor_name contributor_role=item.contributor_role contributor_avatar_url=item.contributor_avatar_url contributor_badge_url=item.contributor_badge_url doc_url=item.doc_url %}
264+
{% include "v3/includes/_library_item.html" with variant="card" library_name=item.library_name library_url=item.library_url description=item.description categories=item.categories cpp_version=item.cpp_version author=item.author doc_url=item.doc_url %}
265265
{% endfor %}
266266
</div>
267267
</div>

templates/v3/includes/_library_item.html

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,15 @@
88
description (string, required) - Short library description
99
categories (list, required) - List of {label, url, variant} dicts for category tags
1010
cpp_version (string, required) - e.g. "C++ 14" — rendered as neutral tag
11-
contributor_name (string, required) - Contributor display name
12-
contributor_role (string, optional) - Contributor role, e.g. "Contributor". Omit to hide.
13-
contributor_avatar_url (string, optional) - Avatar image URL
14-
contributor_badge_url (string, optional) - Badge icon image URL
11+
author (dict, required) - Author object for _user_profile.html (name, role, avatar_url, badge_url)
1512
doc_url (string, required) - Documentation link URL
1613
extra_attrs (string, optional) - Extra HTML attributes for analytics
1714

1815
Usage (list):
19-
{% include "v3/includes/_library_item.html" with variant="list" library_name="Boost.Geometry" library_url="#" description="A library for solving geometry problems." categories=cats cpp_version="C++ 14" contributor_name="Barend Gehrels" contributor_avatar_url="/img/avatar.png" doc_url="/libs/geometry/doc/" %}
16+
{% include "v3/includes/_library_item.html" with variant="list" library_name="Boost.Geometry" library_url="#" description="A library for solving geometry problems." categories=cats cpp_version="C++ 14" author=author doc_url="/libs/geometry/doc/" %}
2017

2118
Usage (card):
22-
{% include "v3/includes/_library_item.html" with variant="card" library_name="Boost.Asio" description="Portable networking and low-level I/O." categories=cats cpp_version="C++ 11" contributor_name="Christopher Kohlhoff" doc_url="/libs/asio/doc/" %}
19+
{% include "v3/includes/_library_item.html" with variant="card" library_name="Boost.Asio" description="Portable networking and low-level I/O." categories=cats cpp_version="C++ 11" author=author doc_url="/libs/asio/doc/" %}
2320
{% endcomment %}
2421
{% if variant == "list" %}<li class="library-item library-item--list" {{ extra_attrs|safe }}>{% else %}<div class="library-item library-item--card" {{ extra_attrs|safe }}>{% endif %}
2522

@@ -39,18 +36,7 @@
3936
</div>
4037

4138
<div class="library-item__contributor">
42-
{% include "v3/includes/_avatar_v3.html" with src=contributor_avatar_url name=contributor_name size="xl" %}
43-
<div class="library-item__contributor-info">
44-
<span class="library-item__contributor-name">{{ contributor_name }}</span>
45-
{% if contributor_role %}
46-
<span class="library-item__contributor-role">
47-
{{ contributor_role }}
48-
{% if contributor_badge_url %}
49-
<img class="library-item__contributor-badge" src="{{ contributor_badge_url }}" alt="" width="16" height="16" aria-hidden="true" loading="lazy" decoding="async">
50-
{% endif %}
51-
</span>
52-
{% endif %}
53-
</div>
39+
{% include "v3/includes/_user_profile.html" with author=author %}
5440
</div>
5541

5642
<div class="library-item__actions">

0 commit comments

Comments
 (0)