不知道你是否也有想过彻底用本身的代码实现本身的我的博客?定制专属 UI、定制专属逻辑、在信息爆炸的时代真正地沉淀下属于本身的东西。我也曾经历了一样的纠结,最终下定决心作了本身的我的博客。虽然过程曲折,但一路风景很好、小路不少。看着被本身全新改版的网站,内心只有知足感,也笃定了知识分享和结识更多好友的初衷。就以此篇记录下网站 UI 改版的过程和感觉吧,缅怀过去,勿忘初心。
多图预警!!! 详细 UI 介绍共 18 张图(托管在 GitHub),国内用户请移步 原文. 这是个人小站哦后端
从 2018 年 1 月份开始,由于喜欢记录、分享,还想认识更多有趣的人,我开始着手搭建本身的我的网站。缓存
最第一版本的小站的 UI 设计和代码搭建花费了大概 2 个月的时间。当时对 UI 设计没有太多好的 idea,惟一能作的就是多去别人博客看看 UI 设计,来汲取灵感。服务器
因此初版的网页 UI 参考了 NexT 框架 、EvanYou 首页的 UI 设计,为了方便,使用了 Element-UI 来实现了后台管理系统(用来进行文章管理)。markdown
能够这么说,这个阶段主要是保证网站运行起来,有个衣服穿。至于衣服好很差看、协不协调,并非很重要。
网站第一次搭建起来,仍是很开心的(*^▽^*)。完彻底全是依靠本身的双手,一行行写出来的代码。架构
是的,当时就是想设计专属本身的风格,因此没有使用任何的开源博客框架的代码。那 2 个月就是对着 Vue 和 Koa 的文档写出来了网站的先后端,也是第一次买服务器、备案网站、作反向代理、读 CDN 文档、学 Webpack、作 SEO,怀念那些时光,让如今的网站有了基础。框架
通过奋战,网站成功搭建起来。首页的 UI就是下面这样:ide
是的,看过尤大大博客的都知道,这是他的首页样式,我就直接拿过来了。网站
而除了首页,其余全部的页面,都是采用的相似于阿里云平台控制台的 UI:屏幕左边放置导航栏。阿里云
这是文章浏览页面的 UI:idea
而一个博客,为了提升 seo 和反链数,友链最重要。友链界面是 UI:
和友链界面相似,介绍页面的 UI 设计也是这种时间线的方式:
管理界面的 UI 设计没有太出彩,直接借用了 Element-UI 的表格样式。由于管理界面最重要是保证数据交互的逻辑正确性,在此基础上,一个简洁优美的 UI 就足够了。
为何要本身从 0 开始搭建博客?很重要的一部分缘由是要方便 DIY,作本身喜欢的东西。我喜欢听歌,所以一拍脑门,就作了个听歌台。
固然,他是移动端兼容的。这里就不放置界面了。
除了大的页面架构,根据我当时的设想,我为博客浏览页面作了分页系统+节流缓存,固然,使用的是 Element-UI 的组件:
除此以外,每篇文章均可以导出(右下角按钮),而且有二维码分享的按钮(后来发现没什么用):
网站运行到 2018 年暑假,一站式问题解决的问题逐渐开始凸显,源码变成代码怪兽,开始变得难以维护。
此外,初期东借鉴、西借鉴后杂糅而成的网站的 UI,显得那么不搭。乱七八糟的风格让人看着心烦。
网站 UI 从新设计和代码重构,迫在眉睫。
吸收了以前的教训,意识到了网站应该突出主体功能。所以,管理系统、听歌台被抽离成了单独的应用,后台利用 Nginx 作反向代理,用二级域名记性访问。
除了架构,杂糅的 UI 也是诟病之一。此次果断的选择了极简主义的“扁平化”设计风格,很大程度参考了 Hacker 的 UI 设计,再次基础上,借助卡片和一些好看的小动态从新设计了友链、归档等界面。
我以为,如今的样子,才是一个技术博客该有的模样。
借助扁平化设计,将导航栏移动到了每页的最上方,而且附上了网站介绍。做为因此子路由都会引用的公共组件,大大提升了代码维护性。
如你所见,去掉了空洞的主页,主页进行了小范围的留白,但大部分以文章简介来填充。
结识朋友,认识更多志同道合的朋友,是人生一大乐趣。所以,友链页面的设计也是重中之重。
为了更多展现友链信息:头像、连接、介绍、昵称等,我设计了卡片动态。
固然,作了移动端兼容,欢迎手机访问。而在鼠标移入的时候,会有一个渐变的小动态,提升用户体验。
这个页面很简单,只要把后台数据写成 markdown 格式,样式渲染就和文章浏览页面是同样的,稍做修改便可:
我理解的归档是:分类+标签。并且对于我本身的网站来讲,分类和标签放在一块儿,页面显得更充实,以下图所示:
除此以外,当你鼠标划入相关内容名称时候,会有很好看的下划线划过的动态,小而别致,别具风趣。
点击相关分类或者标签,就进入了先关文章的汇总页面:
正如你所见,文章采用了 highlight.js 解析 markdown,而且本身写了下 markdown 的样式。
而就在最近几天,我添加了目录功能,就在上图的右侧。此功能,只有在屏幕宽度大于 768px 时候,才会启用。
也就是说,至少是 ipad 那么大的屏幕才能看到目录。毕竟手机屏幕就那么大,去除冗余功能是最优选择!
此次仍是想听歌,笑哭。而在扁平化设计的 UI 中,最好的选择确定是将其放入页面底部,以保证不影响主体功能和浏览体验。一样地,在移动端依旧不会加载此组件,这主要是获取歌曲资源会占用较大的移动端无线流量,从而形成页面阻塞。
此组件的名称是 aplayer,是 B 站的音频组件,我有幸贡献了源码。
当页面内容过多,必须有一个滚动按钮,来保证用户迅速回到导航栏(页面头部)。参考 NexT 的 UI 设计,基本如出一辙实现了他的滚动组件:
为了提升交流体验,必须引入评论系统。其实在实现这一部的时候,很累(作完上面的东西)。翻了翻开源的评论系统,发现了 Valine。
所以,在文章浏览页面、关于页面和友链页面,都引用了 Valine 组件:
当你缓慢拖到页面底部,你会发现页面的简介和备案号(我国独有哈哈哈),固然,不能让他们影响页面美观是吧?
不知道下次你会是什么模样?