Skip to content

Commit 36ad5f6

Browse files
authored
Projects Page restructure and New Home Banner for Impact Initiatives 2026 (#1206)
* Add projects page redesign with new components - Add split-section component with light/dark themes and configurable backgrounds - Add ordered-cards component for 4-card grid layout - Add projects data file with categories and descriptions - Add project page SVG assets and icons - Update projects.md with new layout and dynamic content - Add placeholder pages for collabs and community sections * feat: add Creative Block header theme and update projects page styling * feat: add hero animations and update banner images * feat: add hero mask reveal animation and localize GSAP * fix: add missing project ID 1 (Reference wallet) * Update projects with correct descriptions and funding section * feat(home): add Impact Initiatives callout and lock Creative Block theme * chore(images): optimize PNG assets and add OG images for projects page * style(header): flip text to be above image on mobile * feat(projects): improve OG tags and add nav_title support * chore(projects): change text from connect to join... * fix(projects): render markdown in projects list description reported by @swedishfrenchpress * style: improve projects page styling and fix content issues - Fix markdown bold formatting in projects YAML by moving commas inside markers - Enable markdown processing in project descriptions with markdownify filter - Fix bold text color inheritance with !important to override global styles - Add underlines to footer links for better visibility - Remove spacing between split sections on mobile - Update split section background graphics with new designs - Fix duplicate project images for projects 16 and 17 - Increase Impact Initiatives heading size to h2 for consistency * style(mobile): improve spacing and typography on projects page - Add spacing after projects grid on mobile - Increase intro text size to 24px on mobile - Increase intro text line-height to 1.4 on mobile for better readability * feat(projects): add Discord channel links for Humans of Bitcoin and BIP-353 - Add dedicated Discord channel link for Humans of Bitcoin project - Update channel name from #general to #humans-of-bitcoin - Add Discord channel link for BIP-353 (Human Bitcoin Addresses) project * optimize: compress projects page images Optimized 30 SVG and PNG files used on /projects page. Reference @GBKS for compression work. * optimize: replace supergraphic SVG with smaller PNG Converted supergraphic--community-projects-grid from SVG to PNG for reduced file size.
1 parent 5127234 commit 36ad5f6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+1746
-319
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ _site
33
.jekyll-cache
44
.jekyll-metadata
55
vendor
6+
.bundle/
7+
.claude/
8+
_/
69

710
# OS GENERATED
811
.DS_Store

_data/projects.yaml

Lines changed: 292 additions & 0 deletions
Large diffs are not rendered by default.

_includes/footer.html

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,19 @@
2020
{%- if my_page.title -%}
2121
{% assign current_page = page.url | replace:'/',' ' | truncatewords: 1,"" %}
2222
{% assign menu_page = my_page.url | replace:'/',' ' | truncatewords: 1,"" %}
23-
<a class="page-link{% if current_page == menu_page %} active{% endif %}" href="{{ my_page.url | relative_url }}">{{ my_page.title | escape }}</a>
23+
<a class="page-link{% if current_page == menu_page %} active{% endif %}" href="{{ my_page.url | relative_url }}">{{ my_page.nav_title | default: my_page.title | escape }}</a>
2424
{%- endif -%}
2525
{% endif %}
2626
{%- endfor -%}
2727
</nav>
2828

2929
</div>
3030

31+
{% if page.url == '/projects/' %}
32+
<script src="{{ "/js/gsap.min.js" | relative_url }}"></script>
33+
<script src="{{ "/js/ScrollTrigger.min.js" | relative_url }}"></script>
34+
{% endif %}
35+
3136
<script src="{{ "/js/scripts.js" | relative_url }}"></script>
3237
<script src="{{ "/js/lunr.min.js" | relative_url }}"></script>
3338
<script src="{{ "/js/themes.js" | relative_url }}"></script>

_includes/header.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
{%- if my_page.title -%}
1919
{% assign current_page = page.url | replace:'/',' ' | truncatewords: 1,"" %}
2020
{% assign menu_page = my_page.url | replace:'/',' ' | truncatewords: 1,"" %}
21-
<a class="page-link{% if current_page == menu_page %} active{% endif %}" href="{{ my_page.url | relative_url }}"{% if page.url == my_page.url %} aria-current="page"{% endif %}>{{ my_page.title | escape }}</a>
21+
<a class="page-link{% if current_page == menu_page %} active{% endif %}" href="{{ my_page.url | relative_url }}"{% if page.url == my_page.url %} aria-current="page"{% endif %}>{{ my_page.nav_title | default: my_page.title | escape }}</a>
2222

2323
{%- if my_page.title contains 'Guide' -%}
2424
{% include secondary-nav.html id="top" %}

_includes/home-banner.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
{% include_relative /assets/bitcoin-design-community-banner.svg svgId="banner-bitcoin-logo-svg" pathId="banner-bitcoin-logo-path" %}
66
</div>
77
<h1>
8-
Design bitcoin for everyone
8+
Design <em>your</em><br>new money
99
</h1>
10-
<p>Open-source design for bitcoin products.</p>
10+
<p>We're at a tipping point in Bitcoin's design culture, seeking creative leaders for impact initiatives shaping how ownership is experienced.</p>
1111
<div class="home-banner-buttons-wrapper">
12-
<a id="link-button-1" href="{{ site.discord_invite_url }}" rel="me">Join us on Discord</a>
13-
<a id="link-button-2" href="{{ "/guide" | relative_url }}" >Design guide</a>
12+
<a id="link-button-1" href="{{ "/projects" | relative_url }}">View Impact Initiatives</a>
13+
<a id="link-button-2" href="{{ "/guide" | relative_url }}">Bitcoin Design Guide</a>
1414
</div>
1515
</div>
1616
</div>

_includes/split-section.html

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<section class="split-section -full-width {{ include.class }}">
2+
<div class="split-section__graphic {{ include.graphic_class }}" style="{% if include.graphic_color %}background-color: {{ include.graphic_color }};{% endif %}{% if include.graphic_bg_image %}background-image: url('{{ include.graphic_bg_image }}'); background-position: center center; background-repeat: no-repeat; background-size: cover;{% endif %}">
3+
{% if include.graphic_image %}<img src="{{ include.graphic_image }}" alt="" class="split-section__graphic-image">{% endif %}
4+
</div>
5+
<div class="split-section__content" {% if include.content_color %}style="background-color: {{ include.content_color }};"{% endif %}>
6+
<div class="split-section__inner">
7+
{% if include.label %}
8+
<span class="split-section__label">{{ include.label }}</span>
9+
{% endif %}
10+
{% if include.headline %}
11+
<h2 class="split-section__headline">{{ include.headline }}</h2>
12+
{% endif %}
13+
<div class="split-section__body">
14+
{{ include.body }}
15+
</div>
16+
{% if include.cta_text %}
17+
<a href="{{ include.cta_url }}" class="button {{ include.cta_class | default: '-white' }}">{{ include.cta_text }}</a>
18+
{% endif %}
19+
</div>
20+
</div>
21+
</section>

_layouts/default.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
{%- include head.html -%}
55

6-
<body class="{% if page.path contains 'guide' %}sidebar{% endif %}">
6+
<body class="{% if page.path contains 'guide' %}sidebar{% endif %}{% if page.body_class %} {{ page.body_class }}{% endif %}">
77

88
<a class="skip-to-content-link" href="#main">
99
Skip to content

_sass/minima/_article.scss

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,26 @@ article.guide {
5454
border-color: var(--link-hover-color);
5555
}
5656
}
57+
58+
&.-white {
59+
background-color: white;
60+
color: #032869;
61+
62+
&:hover {
63+
background-color: rgba(255, 255, 255, 0.9);
64+
color: #032869;
65+
}
66+
}
67+
68+
&.-purple {
69+
background-color: #AE66D6;
70+
color: white;
71+
72+
&:hover {
73+
background-color: darken(#AE66D6, 10%);
74+
color: white;
75+
}
76+
}
5777
}
5878

5979
a.video-link,

_sass/minima/_ordered-cards.scss

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
// Ordered Cards Component
2+
// Fits within standard article.guide 800px content width
3+
4+
.ordered-cards-section {
5+
padding: $spacing-unit * 2 0;
6+
max-width: 800px;
7+
margin-left: auto;
8+
margin-right: auto;
9+
}
10+
11+
.ordered-cards-container {
12+
display: flex;
13+
gap: $spacing-unit * 0.5;
14+
align-items: flex-start;
15+
width: 100%;
16+
17+
@include media-query(medium-down) {
18+
flex-wrap: wrap;
19+
}
20+
21+
@include media-query(small) {
22+
flex-wrap: wrap;
23+
gap: $spacing-unit * 0.5;
24+
}
25+
}
26+
27+
.ordered-card {
28+
display: flex;
29+
flex-direction: column;
30+
gap: $spacing-unit * 0.5;
31+
flex: 1;
32+
min-width: 0;
33+
34+
@include media-query(medium-down) {
35+
flex: 1 1 calc(50% - #{$spacing-unit * 0.25});
36+
max-width: calc(50% - #{$spacing-unit * 0.25});
37+
}
38+
39+
@include media-query(small) {
40+
flex: 1 1 calc(50% - #{$spacing-unit * 0.25});
41+
max-width: calc(50% - #{$spacing-unit * 0.25});
42+
}
43+
44+
&__square {
45+
width: 100%;
46+
aspect-ratio: 1;
47+
overflow: hidden;
48+
display: flex;
49+
align-items: center;
50+
justify-content: center;
51+
52+
img {
53+
max-width: 50%;
54+
max-height: 50%;
55+
width: auto;
56+
height: auto;
57+
}
58+
}
59+
60+
&__text {
61+
display: flex;
62+
flex-direction: column;
63+
gap: $spacing-unit * 0.5;
64+
}
65+
66+
// Reuse split-section label pattern
67+
&__number {
68+
font-family: $code-font-family;
69+
font-size: $small-font-size;
70+
text-transform: uppercase;
71+
letter-spacing: 1.4px;
72+
line-height: 1;
73+
}
74+
75+
// Reuse base font size with tighter line-height
76+
&__description {
77+
font-size: $base-font-size;
78+
line-height: 1.2;
79+
letter-spacing: -0.02em;
80+
margin: 0;
81+
}
82+
}

0 commit comments

Comments
 (0)