A curated list of libraries & SDKs for the Bluesky API and AT Protocol

(wip) show more info on the list

+41 -4
+8
_plugins/inject_info.rb
··· 1 + Jekyll::Hooks.register :site, :post_read do |site| 2 + data = site.data 3 + data['projects'].each do |key, section| 4 + section['repos'].each do |repo| 5 + repo['info'] = data['github_info'][repo['url']] 6 + end 7 + end 8 + end
+1
assets/style.scss
··· 49 49 li { 50 50 margin: 16px 0px; 51 51 text-align: center; 52 + line-height: 125%; 52 53 } 53 54 } 54 55 }
+32 -4
index.html
··· 8 8 <div class="language"> 9 9 <h2>{{ data.name }}</h2> 10 10 <ul> 11 - {% for repo in data.repos %} 12 - <li> 13 - <a href="{{ repo.url }}">{{ repo.url }}</a> 14 - </li> 11 + {% assign repos = data.repos | sort: "info.stars", "first" | reverse %} 12 + {% for repo in repos %} 13 + {% assign info = repo.info %} 14 + {% if info %} 15 + 16 + {% assign dates = '' | split: '' %} 17 + {% if info.last_release %} 18 + {% assign dates = dates | push: info.last_release.published_at %} 19 + {% endif %} 20 + {% if info.last_tag %} 21 + {% assign dates = dates | push: info.last_tag.committer_date %} 22 + {% endif %} 23 + {% assign last_release = dates | sort | last %} 24 + 25 + {% if info.user_name %} 26 + {% if info.user_name != info.user_login %} 27 + {% assign user = '@' | append: info.user_login | append: ' (' | append: info.user_name | append: ')' %} 28 + {% else %} 29 + {% assign user = '@' | append: info.user_login %} 30 + {% endif %} 31 + {% else %} 32 + {% assign user = '@' | append: info.user_login %} 33 + {% endif %} 34 + 35 + <li> 36 + <a href="{{ repo.url }}" target="_blank">{{ info.name }}</a> 37 + by {{ user }} *{{ info.stars }}<br> 38 + {{ info.description }}<br> 39 + Last release: {{ last_release | date_to_string }} | 40 + commit: {{ info.last_commit.author_date | date_to_string }} | {{ info.license | replace: "-", " " }} 41 + </li> 42 + {% endif %} 15 43 {% endfor %} 16 44 </ul> 17 45 </div>