A curated list of libraries & SDKs for the Bluesky API and AT Protocol
1{% assign info = include.project.info %}
2
3{% assign dates = '' | split: '' %}
4{% if info.last_release %}
5 {% assign dates = dates | push: info.last_release.published_at %}
6{% endif %}
7{% if info.last_tag %}
8 {% assign dates = dates | push: info.last_tag.committer_date %}
9{% endif %}
10{% assign last_release = dates | sort | last %}
11
12{% if info.user_name and (info.user_name != info.user_login) %}
13 {% assign user = '@' | append: info.user_login | append: ' (' | append: info.user_name | append: ')' %}
14{% else %}
15 {% assign user = '@' | append: info.user_login %}
16{% endif %}
17
18<li class="{% if info.user_login == 'bluesky-social' %}official{% endif %}">
19 <p class="title">
20 <a class="project-name" href="{{ include.project.url | default: include.project.urls[0] }}" target="_blank">{{ include.project.name | default: info.name }}</a>
21 <span class="author"><span class="dot">•</span>
22 <a href="{{ info.user_profile }}" target="_blank">{{ user }}</a></span>
23 {% if info.user_login == "bluesky-social" %}
24 <img class="butterfly" src="/assets/images/logo.png" width="16">
25 {% endif %}
26 <span class="stars">★ <span class="count">{{ info.stars }}</span></span>
27 </p>
28
29 <p class="description">
30 {{ include.project.description | default: info.description }}
31 </p>
32
33 {% if include.project.tags %}
34 <p class="tags">
35 {% for tag in include.project.tags %}
36 <span>{{ tag }}</span>
37 {% endfor %}
38 </p>
39 {% endif %}
40
41 <p class="stats">
42 <img src="/assets/images/release.png" width="15"> Last release: {{ last_release | date: "%b %Y" | default: "–" }}
43 <span class="separator">|</span>
44 <img src="/assets/images/commit.png" width="15"> Last commit: {{ info.last_commit.author_date | date: "%b %Y" }}
45 <span class="separator">|</span>
46 {% if info.license or include.project.license %}
47 <span class="license">{{ include.project.license | default: info.license | replace: "-", " " }}</span>
48 {% else %}
49 <span class="license unknown">Unknown</span>
50 {% endif %}
51 </p>
52</li>