For Chinese readers:

注:此文不是个人博客网站的建设教程。

print(‘Hello, World’)

那是我第一次,自己做出选择选定的人。我决定不论采取什么手段,都要夺回她。

——动漫电影《HELLO WORLD》

2022

10-06 星期四 上午

我打开了Harvard(哈佛大学)的一个公开课程,CS50x,我已经自学到了Week8: HTML, CSS, JavaScript,正如标题所讲,是教网络、网页前端设计相关的。

不能说它打开了我新世界的大门,但是确实成了这个网站建立的一个契机。

10-06 星期四 下午

我搜寻了各路资料,找到了Github,然后在知乎上找了各种教程。开始进行基本环境的设置以及搭建。

10-06 星期四 晚上

我发出了一条动态:

《HTML:从入门到Markdown》

两个小时之后,一个没有任何我自己内容的,Hexo自带的Hello, World界面,展现在了我的面前。

Hello, Hexo! And, Hello, World!

成功安装了Butterfly主题。

10-07 星期五 上午

了解人工智能作图,利用最近大火的NovelAI,氪了一点小钱钱买了月卡。我用我的surface画笔,画了一张抽象画:

用蹩脚的英语给了一个简单的描述。

A light blue hair girl, an anime girl under the starry sky with meteors flowing, the scenery just likes a dream, or a fantasy.

然后,我必须声明,它就是我在NovelAI上生成的第一张图片,绝对的No.1,没有进行过任何修改、调整,AI的画师太太,为我献上的第一幅画作。Hello, World, by AI illustrator.

虽然你仔细去看的话,耳朵的地方很奇怪,而且因为我抽象画问题的缘故,灰色的外套只穿上了一边(权当她只穿了一边袖子吧hhh,灰色外套的另一半在后面被身体挡住了)但是这些不足,刚刚好能说明,这是AI作图,而不是人类的创作,如果真的完美无瑕,我想在座的各位插画师太太都要担心一下自己的收入来源了()。不知为何,也许是赋予了这张画Hello,World的意义,也许是画作本身确实精彩,我非常喜爱这张插画。我还生成了一些类似的,但是我都不是很喜欢。

10-07 星期五 下午

部署图片和第一篇文章,正式发表我的网站。(虽然这个键盘属实奇怪,但是请忽视,可远观不可亵玩,不经意一瞅的话,其实挺好)

*第一篇文章三个语言版本都对应修改了屏幕上的代码哦!*

10-07 星期五 晚上

尝试修改一些主题,但是失败了。大概是因为css文件异常,网站失去了所有结构,只剩下支离破碎的文字和图片。(就像你网络不好的时候打开网站时的样子)

10-08 星期六 白天

利用学习之外的支离破碎的时间,了解了css到底是怎么工作的,以及github是怎么部署的。成功修改主题到想要的透明效果。虽然还花了挺长时间的。另外尝试了评论栏的部署。

10-08 星期六 晚上

个人网站和Telegram协作的个人博客系统正式启用。


也许,我想分享一些细节,还有一些经验,但是我并不打算写一篇教程,因为这是Computer Science的学习之路,遇到挫折,STFW, RTFM, GIYF! 自己尝试解决,你会收获很多。而不是走别人已经铺好的路,免费的教程已经足够多了,虽然他们并不完全适用,但是你反而能从这些“不适用”中学到很多。学会自学,在CS领域,是很重要的。

Telegram & Telegraph

你不能询问顾客,他们想要什么新产品,然后尝试给出他们所想要的。而是当你创造出顾客所要的产品时,他们就会想要拥有这个新玩意了!

——史蒂夫·乔布斯

Telegram:披着iOS“短信”外衣的通讯利器

注:本文只是从软件的前端设计出发,以技术和美学角度评价软件和平台的设计,本文不提供任何获取软件的方法,也不介绍该软件在当代时代背景下的用途,及推广任何群组或者频道。本文不推荐任何人使用该软件及其平台,该软件及平台因其高度隐私、私密的性质存在一定的危险性,请谨慎判断。

腾讯的产品,虽然因为社交圈覆盖的原因不得不用,但是我实在不喜欢他们的设计,一切都不像是为了用户体验服务而进行设计的,再加上不断臃肿的体积,PC端糟心的卡顿体验,越来越多没用的短视频、社交功能的加入,我已经搞不懂他们的产品到底是了什么而存在了。

打开Telegram,你看到的只有简洁的,“联系人”“聊天界面”“设置”,一切为了传递消息而设计。Telegram的设计语言,不管是从各个角度,都没有离开“通讯”两个字。

Simple is Best.

Telegram的通讯分为三种形式,“聊天”“群组”“频道”。频道是在其他社交平台上少见的形式,你可以理解成微信的公众号,集成在你的主界面上,随时可以点击进入查看。

与公众号不同的是,在Telegram中,单聊、群组、频道的界面几乎没有什么区别。频道,就像QQ群设置全体禁言,只有管理员才能发言的界面。

Telegram的设计语言就像iOS的“短信”一样简洁,但是却有着比“短信”高级得多的功能,隐藏在这简单的外表之下。

撤回销毁你发出的消息,管理你接收到的消息,你以什么身份发送这条讯息,你想让谁看这条讯息,这条讯息被谁查看到了,对方有没有已阅,对方在输入文字,还是在挑选表情包……你能想象到的功能,以及你想象不到的功能,全部都集成在了这个“短信”app上。

但是所有功能,都是为“通讯”而生,在通讯的时候,我该如何控制自己的隐私,该如何管理我的通讯录,做个真正的“机器人”来管理群聊、做一些和自己网站服务的联动。

但是再次强调,正是因为高度私密性,如果你使用不当,在不知情或者不彻底了解该软件机制的情况下,Telegram是一个及其危险的平台。

本文不推荐任何人使用该软件,也不会提供任何获取软件及账号的途径和该软件的使用方法。

vector space的前身

一次在QQ空间发动态的时候,我在想:为什么QQ空间不支持Markdown语法?并且在QQ空间发长文的时候,行间距和段落间距的控制实在是糟心,不管是编辑还是阅读,都得不到舒适的体验。

回归正题,我在电报(Telegram)上看到很多人开设了个人频道,用于记录自己的想法、生活,就像使用朋友圈一样。

抱着试试看的态度,我开设了自己的个人频道。命名为”mukiのvector space”,即该网站的前身。

虽然Telegram频道用来转发Twitter/Youtube各种网站链接,发图片,发短消息碎碎念都很适合,也可以加入tag去管理,但是还是不适合长文章,Markdown语法也是不全面的,比如“#”标题就不能添加。

但是,我意外发现了:

Telegraph:为隐私写作而生的优雅工具

你只需要打开Telegraph的网页,打开之后没有注册登录,直接就是文本编辑界面,填写标题和正文,随便起一个笔名,就可以发表了。

发表之后,只有你当前创造这篇文章的IP的浏览器可以修改其内容,你可以把这个链接发给任何人。但是没人知道这篇文章到底是不是你写的。

如果这个链接消失了,再也没有人能回忆起来他的网址,那么你这篇文章也确实再也找不到了。

如果你清除了浏览器的cookie,那么你对这篇文章的编辑权限也消失了。

你可以使用Markdown语法,但是很可惜,你需要在其他Markdown编译器上将你的.md编译,复制得到的编译文本,复制到Telegraph上;而不能直接在上边输入Markdown语法。

功能简单,但是足够用,而且简洁到极致的方便,让我很欣赏。

Tele-系软件的个人博客搭建

就这样子,在Telegram上发一些碎碎念,偶尔想发长文就在Telegraph上编辑,然后把链接扔到自己的频道上,用tag和链接来管理,建立一个目录,你就得到了一个简洁、易上手、而又方便管理的个人博客。

具体实现方法可以去我的频道(链接在公告栏Announcement中)参观,当然其他大部分人也都是这么做的。

这就是vector space前身的博客搭建过程。


个人网站 for blog

很简单:我们创建服务不是为了赚钱;我们赚钱是为了提供更好的服务。我们认为这才是做事的态度。

——马克·扎克伯格

我在学习UCB CS61A的时候,作业和实验中经常遇到不会写的代码,所以经常上Google去求助。总能检索进入到一些同样在学习这门课程的同学的个人网站中,他们在上边记录自己的学习笔记。

而且,有趣的是,大部分都是二次元风格。

更有趣的是,他们的设计结构看起来都类似,就像是一个模板出来的。

其实以前就意识到了这一点。有一些galgame分享网站,它们看起来简直一模一样,那个时候就在想,也许真的有模板这种东西帮助我们轻松做出一个漂亮的网站。

遇到问题,上知乎。

我得到了Github Pages这个答案。当然还有说WordPress的。Github更有一种Hacker的感觉,所以我选择了Github。

Github Pages

知乎上有太多的小白教程,也许没有任何基础也能成功搭建:去安装Node.js,去安装Git,得到一个Github账号,安装Hixo,将Github和本地目录成功连接上,写文章然后上传发布。

就是这么简单。

虽然我还是遇到了一些问题:

  1. 将本地文件部署到Github项目上的时候,Git分支搞错了。我还没学过Git,所以很懵。 而且还被 mastermain 给坑了。(Github老用户应该懂)

  2. Github项目的目录和本地的目录,总而言之还是那些地址的问题,折腾了很久。

最后看到本地预览的Hexo成功上传到Github上,并且显示在 https://kimino-muki.github.io 的时候,真的很激动,也终于松了口气。

Butterfly

安装Butterfly的过程也非常的顺利。

接下来就是各种配置。

.yml文件中进行设置,就像在vscode中用.json配置一样,所以说知识点确实是共通的。

但是我没能理解CSS的工作机制,本地预览正常,但是在上传到github之后似乎是没有加载到css文件所以整个网站失去了架构。

又花了点时间理解css。然后重新设置上了卡片透明的效果。

但是他们只告诉我把背景颜色设置成(255,255,255,0.9),前三者是RGB,最后一个是透明度,这是一个白色的透明效果。

如果在网页的白天模式下,确实显示下来是可以的。

但是如果换成夜晚模式,强烈的违和感让我实在不舒服。因为夜晚模式下应该是(0,0,0,0.5),最后一个透明度随便你怎么设置,但是RGB值得是黑色才行。

这个部分也是找了好久,才找到修改方案。不过反复试错、碰壁的过程也学会了不少css的知识。

Twikoo

再加入评论栏。看到不少人用Twikoo,所以我也选择了Twikoo。

一切顺利,直到注册Vercel这一步,都说不要用国内的邮箱,不然会注册失败。我还注意了,所以用的Gmail,结果账号还是被锁了。

给客服发邮件,等到他们美国时间上班的时候,两三封邮件来往,很快就解决了问题。


Summary

我们提出的概念是,所有的网页并不是平等的,人人生来平等—但网页不是。

——谢尔盖·布林

这就是整个博客建立起来的过程。

大概也是网页前端的学习过程。

不算曲折,还挺顺利。

接下来就是各种模块逐渐的加入。也会记载一些更新日志的,都会记录在#About My Website这个标签下。

但是一直也没有出教程的打算,因为网络上已经存在太多这样子的资源:Google/bing/知乎/msdn,太多供你参考的教程,虽然大多都是引用转载复制粘贴:毕竟谁也不愿意去做重复的无用功的,没有必要重复别人走过的路。尽量节省自己的时间去做些有意义的事情,学会利用别人的Abstraction,我一直觉得是计算机科学发展中最重要的精神之一。

如果你也感兴趣的话,不妨试着搭建一下自己的网站。

遇到困难可以评论区交流。

Thanks for reading, and have a nice day.