March 05, 2021

领取属于你的3D GitHub Story

#GitHub #可视化

最近 GitHub 为开发者带来了一个酷炫的应用,skyline.github.com,以 3D 城市模型的方式展现 GitHub Contributions 统计图,也去看看你的 GitHub Story 吧。

相比较平日里在 GitHub Profile 页看见的小绿格格来说 skyline 显得更加酷炫直观。

@xiaoluoboding's Skyline

skyline 支持以下几个好用的功能:

  • 按年份渲染
  • 下载 STL 格式的文件
  • VR 查看(暂未尝试)
  • 这周还加入了打印 3D 模型的功能

也有不少开发者拿到了打印后的纪念品。羡慕中 🍋🍋🍋

题图来自 Twitter

# GitHub Contributions

GitHub Profile 页面上默认的小绿格子,大家都很熟悉

github-contributions

值得一提的是,你也可能注意到了我的 GitHub Contributions Graph 右上角有一个按钮,可以切换 2D/3D 模式。这个功能是一个 Chrome 扩展支持的,名为:[GitHub Isometric Contributions] ,你也可以安装一个试试。效果如下:

github-contributions-3d

# 3D 文件查看器

你可能不知道的是 GitHub 支持查看 3D 文件,GitHub 可以托管和渲染扩展名为 .stl 的 3D 文件。这样一来,我们可以把 skyline.github.com 中下载的 .stl 文件上传到 GitHub 仓库中。

# GitHub Repo

https://github.com/xiaoluoboding/skylines/blob/main/xiaoluoboding-2020.stl

xiaoluoboding-2020.stl

# GitHub Gist

又或者可以使用 GitHub Gist 创建 .stl 文件

💡 Tips: Gist 是支持拖拽文件到编辑器内部的。

https://gist.github.com/xiaoluoboding/233eca90cc2fcad603d640d49c4dbe06

# skylines

我创建了 https://github.com/xiaoluoboding/skylines 仓库,将自 2013 年加入 GitHub 以来所有年份的 STL 文件整合到一个仓库中。编写了一个页面,以 Embed 嵌入的方式展现出来。你可以点击 [阅读原文] 查看

xiaoluoboding/skylines

# ASCII ART

有趣的 skyline.github.com 还给开发者留一个小彩蛋,当在 skyline 页面打开开发者工具的时候,会发现 skyline 在控制台为你打印了 GitHub Contributions 的 ASCII ART 版本,像这样:


        @xiaoluoboding's 2020 GitHub Skyline         

           ✧          ▁               ✦✧    ✧        
              ✦       █  ✧ ✦     ✧              █    
                      █         ✦             ▄ █    
✦▂             ▂✦     █▆  ✧▁         ✧    ▃   █ █▄▃  
▅█▂   ▃ ☽▃▃▁▃▅▆█▂▁▅   ██ ▁ █▆▇▆▅ ▂▆▇▅▆▁▁  █▂▁ █▇███✦▁
███▁█▁█▁████████████████▅███████▅███████▁▁█████████▅█

    https://skyline.github.com/xiaoluoboding/2020     
1
2
3
4
5
6
7
8
9
10
11

于是我又萌生了另一个想法,把 ASCII 版本的 GitHub Contributions 放在 Gist 上,然后在 GitHub Profile 页面作为一个项目钉住,实际效果如下图:

GitHub Profile

不过也没有那么好看啦。并且不是动态的,玩玩而已。

# 3D 打印

在网上查询了一下,.stl 文件确实可以用于 3D 打印,我也想收藏一个3D 打印出来的 Skyline 城市模型,以此激励自己保持热爱开源的心、继续盖更高的楼,目前还在查找国内的3D打印服务,后续收到成品再和大家分享吧。就酱。