即刻App年轻人的同好社区
下载
App内打开
DIYgod小可爱
136关注1k被关注4夸夸
写代码是热爱,写到世界充满爱!
博客 diygod.cc
DIYgod小可爱
7月前
在博客融入一个跨平台作品集

长久以来

我一直将个人博客视为一个理想的展示个人 IP “个人网站”,而不仅仅是发布文章的平台。我曾在 2014 年初学编程时使用 WordPress 建站 《世界,你好!》;入了前端坑后,在 2017 年我转向了 Hexo 《做了一点微小的改动》;Web3 飞升后 2022 年我换成了 xLog 《第一个开源链上博客系统 xLog》。然而,无论我使用什么博客系统,一直都存在一个问题,那就是如何优雅地汇集和展示我在其他平台发布的作品,最好还能直接显示外站的数据。我之前通常以文章形式发布作品,并在文章中附上链接,然而这样做显然不够优雅,读者还需要额外点击链接进行跳转。

灵感降临

我在学习达芬奇剪辑时,发现了影视飓风的网站,它通过外链方式列出了他们在 B 站发布的视频,其中包括标题、封面图、发布时间、播放量等信息。这个发现给了我启发,我完全可以在 xLog 上制作一个装载了我在各个平台作品的作品集,这里面可以有我发布在 B 站的视频、我在 GitHub 上维护的仓库、我参与的小宇宙播客甚至是我在 pixiv 上创作的画作。这样,当人们访问我的博客时,将不只是看到文章,而是会看到更丰富多元的我,这让我的博客更接近一个真正意义上的 “个人网站”。

下手

想法萌发后,实现就简单了。

xLog 后台进行了优化和清晰的分类:文章、页面、作品集,以消除类型增多后可能带来的用户困扰。

设计了一个全新的编辑页,不同于文章和页面,这里只保留封面、标题、摘要、发布时间,并新增外部链接字段。

实现了作品信息的自动填充功能,减轻了手动输入的负担。这是通过获取链接的 Open Graph 信息实现的,涉及到的字段包括 og:image og:title og:description og:date

把作品展示在首页和独立的作品集页

数据的获取和展示,对于 “偷数据” 经验丰富的 RSSHub 作者来说,这是得心应手的一环,首先针对 bilibili、小宇宙、GitHub、pixiv、Twitter 这几个平台进行了抓取,获取到播放量和评论数并在 xLog 的卡片上进行展示,同时考虑到源站可能的压力和反爬,我特别设置了足够长的数据缓存。

如今,这个简单实用的小功能已经落地实现了,可以看看我的作品集页,你是否也想要尝试在 xLog 建立属于自己的个人作品集呢?

在博客融入一个跨平台作品集 - DIYgod

92
DIYgod小可爱
8月前
🥰

枕霞旧梦: 在区块链上搭建了个人博客,写下了第一篇博文 🌠01 搭建过程 1.1 安装一个以太坊钱包 我选择了一个用的人比较多的Metamask,去它的官网安装一个浏览器插件就可以。 1.2 免费领取一笔$CSB 在Faucethttps://faucet.crossbell.io/可以免费领取一小笔$CSB。 1.3 在xLog中创建一个新站点 在https://xlog.app/的仪表盘中创建一个新站点,还可以更改头像、横幅、域名等等,然后就可以开始写作了。 最开始知道https://xlog.app/是看了@pseudoyu 的这篇《周报 #25 - 基于 Crossbell 的个人信息输出与同步系统》https://www.pseudoyu.com/zh/2023/01/09/weekly_review_20230109/,后来又无意中在即刻刷到@DIYgod小可爱 的这篇《第一个开源链上博客系统 xLog》https://diygod.me/xlog,又顺着看了Songkeys的这篇《五分钟拥有一个区块链和 IPFS 上的去中心化博客》https://song.xlog.app/5m-zh,于是就跟着教程开始搭建。 🌠02 使用感受 感觉还蛮不错的,搭建成本比较低,默认主题就蛮好看的,在各端打开体验都蛮好的,功能也基本满足现阶段我对于博客的一些需求,可以自定义域名、主页、导航栏等,无论是创作、修改,还是评论、点赞和赞赏都很方便,可以支持MD文件导入,也可以MD格式一键导出,最重要的是,其中的所有数据都是由自己掌握的。 而且这不仅仅是一个可以创作博客的地方,同时还是一个社区,有着不错的交互生态,还可以与一些其他相关项目无缝衔接,以及文章用内网也能打开。创始人@DIYgod小可爱 在@辛宝Otto 的这期播客https://www.xiaoyuzhoufm.com/episode/645a76f67d934b85051081c8中说,他每天都会去社区看一看大家写的文章,然后点赞、评论等等,想要社区更有人情味一些,他觉得如果在写博客的时候有更多的人去看,也许会更有动力一些。 🌠03 我为什么写博客 3.1 更加包容和开放,可以相对自由地表达 各个内容平台各种争夺流量,显得愈加封闭与排他,风口也是收缩得越来越紧了。博客是一块还算清净的地方,能够相对自由地去表达。而且写下的每一个字都属于自己而非平台,有排版自由,有删改自由,有检索自由,也有超链接自由。 3.2 可以交到志同道合的朋友 我固然也喜欢与朋友碰面相聚畅谈,但是我仍旧认为,通过一个人的文字能更好地认识和了解他,尤其是看一个人更新了许多年的博客,就仿佛会觉得和这个人已经交谈了很久一样。 所谓的社交对我而言,不仅仅是吃喝玩乐这样简单,我想要的是遇到同路人,想要是好奇心的碰撞,想要的是我在探索自己热爱的事情的时候,也遇到同样走在这条路上的对方,我来到这里,是为了和举着灯在我身上看到自己的人相逢,我们在某个节点,在彼此身上认出自己。 去记录与分享,去与人类建立链接,去找寻志同道合之人。 🌠04 我的博客地址 这是我的xLog博客访问地址:https://hellotangman.xlog.app/,内容会包括我读书心得、摄影作品、编程学习、写写画画、户外徒步、访古见闻等,跟着好奇心,去探索我觉得酷的东西。 希望以电子报分享所见所思的方式,结识更多朋友,碰撞出更多思维火花。

10
DIYgod小可爱
1年前
博客更新:《2022 年终总结》 (需要魔法上网)

https://diygod.me/2022

20
DIYgod小可爱
1年前
空中出现的黑魔标记(麻瓜只能看到一张滑稽的人脸)
10
DIYgod小可爱
1年前
五分钟拥有一个区块链和 IPFS 上的去中心化博客

2023 年了,你还在写博客嘛?你的博客内容载体,是像 medium、微信公众号这种封闭的第三方平台,还是自建的在 GitHub 上开源的博客框架?

还是最酷炫、最象征自由、最未来、最充满无尽可能的博客解决方案

五分钟拥有一个区块链和 IPFS 上的去中心化博客

55
DIYgod小可爱
1年前
第一个开源链上博客系统 xLog

官网:xlog.app
GitHub:github.com

优雅:开箱即用,零成本低门槛,精心设计的默认主题

区块链:所有博客数据,包括网站配置、文章、关注、评论、点赞等,都由你签名并发布在区块链上,以 NFT 的形式存在,只能由掌管私钥的你自己控制

交互丰富:你可以在区块链上关注你喜欢的博客,评论、点赞文章或把文章铸造为 NFT

高度可定制:自定义域名、导航栏、自定义样式等,当然,它们都是存储在区块链上的

丰富的生态:可以与蓬勃发展的 Crossbell 所有生态应用无缝集成,写博客不再孤单
1615
DIYgod小可爱
2年前
5 分钟使用 Unidata 把 NFT 展示在自己博客里
diygod.me
17
DIYgod小可爱
2年前
公布个新的开源项目:💡 Unidata - 提供人类友好的 Web3 数据的便捷访问

Web3 的魅力在于数据属于用户自己,但由于区块链低效的效率和设计,再加上数据格式标准的缺失,访问和展示自己或用户的 Web3 数据是一件极度困难的事情。所以我做了开源项目 Unidata(unidata.app),给 Web3 开发者提供人类友好的 Web3 数据的便捷访问。

Ethereum NFT 数据是目前 Web3 最常使用的数据,所以我使用 Ethereum NFT 来举例。

1. Ethereum NFT 使用 EIP-721 标准,它的数据格式非常“灵活”,比如一个 NFT 的图片可能根据发布者不同的喜好使用 `image` `image_url` 或 `animation_url` 等各种不统一的字段,甚至根本不是一个图片,还可能是视频、3D 模型等,这给前端展示带来了很多麻烦。

2. 获取一个地址拥有的全部 Ethereum NFT 也非常麻烦,由于 Ethereum 的设计,想要获取它需要读取这个地址的全部交易记录,而且 Ethereum 不止主网,还有 Polygon、BSC、Arbitrum、fantom、Gnosis 等各种侧链,这对前端是一个不可能的工作,目前各种各样的数据索引服务可以部分解决这个问题,但这些服务返回的数据格式各不相同、功能各有优劣、各支持了不同的链,应该如何选择呢?

针对第一个问题,Unidata 设计了一系列友好和统一的数据格式,分为 Profiles、Links、Assets、Notes 四个部分。Ethereum NFT 属于 Assets 的格式。通过 Unidata 返回的固定的数据格式,前端不再需要做麻烦的适配混乱的数据格式的工作。

另外值得一提的是不止 Ethereum NFT,Unidata 目前还支持了 Solana NFT,Ethereum NFT 和 Solana NFT 的数据格式也是统一的,Unidata 还将继续支持更多的 Assets 来源,他们的格式也都会是统一的。

解决完第一个问题,第二个问题也就很容易解决了。Unidata 的做法是把各个服务返回的数据统一成相同的格式并做聚合。比如 OpenSea 服务支持了主网,Alchemy 服务支持了 Polygon,Moralis 服务支持了 BSC、Arbitrum、fantom,POAP 服务支持了 Gnosis 链的 POAP NFT。通过 Unidata 一行代码就可以同时使用这些服务同时获取到主网、Polygon、BSC、Arbitrum、fantom、POAP 的所有 NFT 了。可以在这里看在线演示(unidata.app/guide/assets/ethereum-nft/#live-demo)。

除了 Assets,Unidata 还有 Profiles、Links、Notes 三个部分。

Assets(unidata.app/guide/assets/) 目前支持了 Ethereum NFT(Mainnet、Polygon、BSC、Arbitrum、Fantom、Gnosis、POAP)、Solana NFT、Alchemy、Solscan、Moralis、OpenSea。

Notes(unidata.app/guide/notes/) 目前支持了 Mirror Entry、Ethereum NFT Activity(Mainnet、Polygon、BSC、Arbitrum、Fantom、Gnosis、POAP)、RSS3。

Profiles(unidata.app/guide/profiles/) 目前支持了 ENS、Crossbell、Infura。

Links(unidata.app/guide/links/) 目前支持了 CyberConnect。

还有很多正在不断添加中,可以在文档看目前支持的所有服务和数据源(unidata.app/guide/#supported-sources)。

💡 Unidata - 提供人类友好的 Web3 数据的便捷访问

22