Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -262,10 +262,10 @@ PLATFORMS
x86_64-linux

DEPENDENCIES
base64
bigdecimal
csv
github-pages
base64 (~> 0.2)
bigdecimal (~> 3.1)
csv (~> 3.3)
github-pages (~> 228)
webrick (~> 1.8)

BUNDLED WITH
Expand Down
199 changes: 160 additions & 39 deletions assets/css/style.scss
Original file line number Diff line number Diff line change
Expand Up @@ -47,25 +47,25 @@ section#profiles {
}

nav.posts {
font-size: 0.7em;
display: block;
width: auto;
overflow: hidden;
font-size: 0.7em;
display: block;
width: auto;
overflow: hidden;
}

nav.posts a {
display: block;
width: 50%;
float: left;
margin: 1em 0;
display: block;
width: 50%;
float: left;
margin: 1em 0;
}

nav.posts a:link {
text-decoration: none;
}

nav.posts .next {
text-align: right;
text-align: right;
}

footer {
Expand All @@ -77,53 +77,174 @@ footer {
text-align: center;
}

/* ==============================
Events Section (Table Style)
============================== */

.events {
display: grid;
grid-gap: 10px;
grid-template-columns: repeat(auto-fill, minmax(190px, 1fr) ) ;
grid-gap: 0;
grid-template-columns: repeat(3, 1fr); /* fixed 3 columns, adjust as needed */
border: 1px dotted #b5e853; /* outer container border */
background: transparent;
}

.events .entry {
transition: background-color 1s ease;
background-color: #444;
background: transparent;
color: #fff;
border-radius: 5px;
padding: 20px;
padding: 15px;
font-size: 0.8em;
text-align: left;
transition: background-color 0.5s ease;
border-right: 1px dotted #b5e853;
border-bottom: 1px dotted #b5e853;
}

@keyframes pulse {
from {
transform: scale3d(1, 1, 1);
}

50% {
transform: scale3d(1.05, 1.05, 1.05);
}
/* Remove right border on last column items */
.events .entry:nth-child(3n) {
border-right: none;
}

to {
transform: scale3d(1, 1, 1);
}
/* Remove bottom border on last row items */
.events .entry:nth-last-child(-n + 3) {
border-bottom: none;
}

.events .entry:hover,
.events .entry:focus,
.events .entry:active {
animation: pulse 1s;
background-color: #666;
/* Hover effect */
.events .entry:hover {
background-color: rgba(255, 255, 255, 0.05);
}

a.fill-div {
display: block;
height: 100%;
width: 100%;
text-decoration: none;
color: #b5e853;
cursor: pointer;
display: block;
height: 100%;
width: 100%;
text-decoration: none;
color: #b5e853;
cursor: pointer;
}

.events .entry .metadata {
font-size: 0.7em;
text-align: center;
color: white;
text-align: left;
color: #b5e853;
margin-top: 0.5em;
}

.events-container {
position: relative;
}

.fun-images {
display: flex;
align-items: flex-end;
gap: 10px; /* space between SVGs */
}

.fun-images svg {
cursor: pointer;
}

/* Little man arm animation */
.fun-images .left-arm,
.fun-images .right-arm {
transform-origin: 12px 8px; /* shoulder pivot */
transition: transform 0.2s ease;
}

.fun-images .walker:hover .left-arm {
transform: rotate(-20deg);
}

.fun-images .walker:hover .right-arm {
transform: rotate(20deg);
}

.fun-images .walker, .fun-images .computer, .fun-images .christmas-tree {
width: 20px;
height: 20px;
margin-right: -15px;
}

.fun-images .walker{
width: 22px;
height: 22px;
margin-bottom: -4px;
margin-left: -2px;
}

.fun-images .walker line {
transform-origin: 12px 8px; /* pivot at shoulder for arms */
transition: transform 0.2s ease;
}

/* only arms rotate */
.fun-images .walker .left-arm:hover {
transform: rotate(20deg); /* lift left arm slightly */
}

.fun-images .walker .right-arm:hover {
transform: rotate(-20deg); /* lift right arm slightly */
}

/* optional: rotate both arms when hovering over entire SVG */
.fun-images .walker:hover .left-arm {
transform: rotate(20deg);
}

.fun-images .walker:hover .right-arm {
transform: rotate(-20deg);
}

.fun-images .christmas-tree {
cursor: pointer;
margin-bottom: 2px;
}
.fun-images .branch {
transition: transform 0.3s ease;
}

/* Each tier of branches pivots at its connection point */
.fun-images .branch:nth-child(3),
.fun-images .branch:nth-child(4) {
transform-origin: 40px 15px;
}

.fun-images .branch:nth-child(5),
.fun-images .branch:nth-child(6) {
transform-origin: 40px 28px;
}

.fun-images .branch:nth-child(7),
.fun-images .branch:nth-child(8) {
transform-origin: 40px 41px;
}

.fun-images .branch:nth-child(9),
.fun-images .branch:nth-child(10) {
transform-origin: 40px 54px;
}

.fun-images .branch:nth-child(11),
.fun-images .branch:nth-child(12) {
transform-origin: 40px 67px;
}

.fun-images .christmas-tree:hover .branch {
transform: rotate(-8deg);
}
.fun-images .christmas-tree:hover .branch:nth-child(even) {
transform: rotate(8deg);
}

.fun-images .computer {
cursor: pointer;
}

.fun-images .computer .screen-text {
transition: opacity 0.3s ease;
}

.fun-images .computer:hover .screen-text {
opacity: 1;
}
90 changes: 72 additions & 18 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,80 @@
layout: default
---

<div class="events">
<div class="events-container">
<div class="fun-images">
<!-- Computer -->
<svg class="computer" width="30" height="30" viewBox="0 0 30 30">
<rect x="2" y="5" width="20" height="15" stroke="#b5e853" fill="transparent" stroke-width="2"/>
<line x1="2" y1="20" x2="22" y2="20" stroke="#b5e853" stroke-width="2"/> <!-- keyboard line -->
<line x1="12" y1="20" x2="12" y2="25" stroke="#b5e853" stroke-width="2"/> <!-- stand -->
<text class="screen-text" x="12" y="16" fill="#b5e853" font-size="8" text-anchor="middle" opacity="0">42</text>
</svg>

<!-- This loops through the paginated posts -->
{% for post in paginator.posts %}
<div class="entry">
{% include frontpage_post.html entry=post %}
</div>
{% endfor %}
<!-- Christmas tree -->
<svg class="christmas-tree" width="80" height="100" viewBox="0 0 80 100">
<!-- Trunk -->
<line class="trunk" x1="40" y1="70" x2="40" y2="95" stroke="#b5e853" stroke-width="4"/>

<!-- Star on top -->
<circle cx="40" cy="8" r="3" fill="#b5e853"/>

<!-- Branches - creating triangular tree shape -->
<!-- Top tier -->
<line class="branch" x1="40" y1="15" x2="32" y2="20" stroke="#b5e853" stroke-width="2.5"/>
<line class="branch" x1="40" y1="15" x2="48" y2="20" stroke="#b5e853" stroke-width="2.5"/>

<!-- Second tier -->
<line class="branch" x1="40" y1="28" x2="27" y2="34" stroke="#b5e853" stroke-width="3"/>
<line class="branch" x1="40" y1="28" x2="53" y2="34" stroke="#b5e853" stroke-width="3"/>

<!-- Third tier -->
<line class="branch" x1="40" y1="41" x2="22" y2="48" stroke="#b5e853" stroke-width="3"/>
<line class="branch" x1="40" y1="41" x2="58" y2="48" stroke="#b5e853" stroke-width="3"/>

<!-- Fourth tier -->
<line class="branch" x1="40" y1="54" x2="17" y2="62" stroke="#b5e853" stroke-width="3.5"/>
<line class="branch" x1="40" y1="54" x2="63" y2="62" stroke="#b5e853" stroke-width="3.5"/>

<!-- Bottom tier -->
<line class="branch" x1="40" y1="67" x2="12" y2="75" stroke="#b5e853" stroke-width="4"/>
<line class="branch" x1="40" y1="67" x2="68" y2="75" stroke="#b5e853" stroke-width="4"/>
</svg>

</div>

<!-- Pagination links -->
{% if paginator.total_pages > 1 %}
<div class="pagination">
{% if paginator.previous_page %}
<a href="{{ paginator.previous_page_path }}" class="previous">Previous</a>
{% endif %}
<span class="page_number ">Page: {{ paginator.page }} of {{ paginator.total_pages }}</span>
{% if paginator.next_page %}
<a href="{{ paginator.next_page_path }}" class="next">Next</a>

<!-- Little man -->
<svg class="walker" width="20" height="30" viewBox="0 0 24 30">
<circle cx="12" cy="4" r="2" fill="#b5e853"/> <!-- head -->
<line class="body" x1="12" y1="6" x2="12" y2="14" stroke="#b5e853" stroke-width="2"/> <!-- body -->
<line class="left-arm" x1="12" y1="8" x2="8" y2="12" stroke="#b5e853" stroke-width="2"/> <!-- left arm -->
<line class="right-arm" x1="12" y1="8" x2="16" y2="12" stroke="#b5e853" stroke-width="2"/> <!-- right arm -->
<line class="left-leg" x1="12" y1="14" x2="8" y2="20" stroke="#b5e853" stroke-width="2"/> <!-- left leg -->
<line class="right-leg" x1="12" y1="14" x2="16" y2="20" stroke="#b5e853" stroke-width="2"/> <!-- right leg -->
</svg>
</div>


<div class="events">
<!-- This loops through the paginated posts -->
{% for post in paginator.posts %}
<div class="entry">
{% include frontpage_post.html entry=post %}
</div>
{% endfor %}

</div>

<!-- Pagination links -->
{% if paginator.total_pages > 1 %}
<div class="pagination">
{% if paginator.previous_page %}
<a href="{{ paginator.previous_page_path }}" class="previous">Previous</a>
{% endif %}
<span class="page_number ">Page: {{ paginator.page }} of {{ paginator.total_pages }}</span>
{% if paginator.next_page %}
<a href="{{ paginator.next_page_path }}" class="next">Next</a>
{% endif %}
</div>
{% endif %}
</div>
{% endif %}