diff --git a/_includes/repository/repo_card.html b/_includes/repository/repo_card.html new file mode 100644 index 0000000000000..18e9d798e1291 --- /dev/null +++ b/_includes/repository/repo_card.html @@ -0,0 +1,102 @@ +
+ +
+
+ + + +
+
+

{{ include.name }}

+

Loading...

+
+
+
+ + + + + + - + + + + + + - + +
+
+
+ + diff --git a/_pages/repositories.md b/_pages/repositories.md index 297735afd2e0b..69abe3994c521 100644 --- a/_pages/repositories.md +++ b/_pages/repositories.md @@ -17,9 +17,13 @@ nav_order: 3 ## GitHub Repositories {% if site.data.repositories.github_repos %} -
+
{% for repo in site.data.repositories.github_repos %} - {% include repository/repo.html repository=repo %} + {% assign repo_parts = repo | split: '/' %} + {% assign repo_owner = repo_parts[0] %} + {% assign repo_name = repo_parts[1] %} + {% include repository/repo_card.html repo=repo owner=repo_owner name=repo_name %} {% endfor %}
{% endif %} + diff --git a/_sass/_base.scss b/_sass/_base.scss index a755d599c7bbc..56768f2d91a78 100644 --- a/_sass/_base.scss +++ b/_sass/_base.scss @@ -320,6 +320,87 @@ footer.sticky-bottom { } } +// New repository cards +.repositories-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 1rem; + margin-top: 1rem; +} + +.repo-card { + border: 1px solid var(--global-divider-color); + border-radius: 6px; + transition: transform 0.2s ease, box-shadow 0.2s ease; + background-color: var(--global-card-bg-color); + + &:hover { + transform: translateY(-2px); + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); + } +} + +.repo-link { + text-decoration: none !important; + color: inherit; + display: block; + + &:hover { + text-decoration: none !important; + } +} + +.repo-header { + .repo-icon { + color: var(--global-text-color); + opacity: 0.6; + margin-top: 2px; + } +} + +.repo-name { + font-size: 1.1rem; + font-weight: 600; + color: var(--global-theme-color); + margin: 0; +} + +.repo-description { + font-size: 0.875rem; + color: var(--global-text-color); + opacity: 0.8; + margin: 0; + line-height: 1.4; +} + +.repo-stats { + font-size: 0.75rem; + color: var(--global-text-color); + opacity: 0.7; + + svg { + vertical-align: text-bottom; + } +} + +.repo-language { + display: inline-flex; + align-items: center; + + .language-color { + display: inline-block; + width: 12px; + height: 12px; + border-radius: 50%; + margin-right: 4px; + } +} + +.repo-stars, .repo-forks { + display: inline-flex; + align-items: center; +} + // Blog .header-bar {