Author: R.W.Flurando
Tags: 博客, blog, GitHub Pages, 网站
自我感觉对如何写博客有些了解啊
所以呢写一篇0基础入门教程,或者说导论吧。
你应当满足以下条件,才适合阅读本文
是的,就两条,咋滴。
GitHub Pages
好处是免费,坏处是只能放静态网页,动态功能需要第三方提供。
不过静态网页不需要全部自己弄好上传,已经有许多github actions可以帮你从文本之类的生成一个完整网页,非常方便。
其他静态网页托管
有免费的,比如surge.sh和Cloudflare Pages之类,但不推荐,那些是面向开发的,不是个人博客的选择。
当然也有付费托管,更不推荐了,除非你是托管wordpress啊托管writefreely之类的,不如直接付费租服务器。(有钱随意,买个省心,但要小心有的锁数据,要付费最好直接租服务器之类的)
租服务器搭建
预算够的时候推荐,按照网上教程搭建一两个自由软件服务是很方便的,出问题就到社区问,总有人教你怎么解决。
直接内网服务
和租服务器类似,但好处是机器放自己家里,数据不在运营商手上,更放心,缺点是问运营商要个正常的能对外服务的IP很麻烦。
费用甚至比租还要高,我是说你的人工时间费用。
本文作为入门教程,仅谈及GitHub Pages的使用。
另外几个仅作普及,就不在这里展开了。
注意,以下如果遇到不知所云的话可以安全跳过,当然你乐意查更好。
注册GitHub帐号。
没啥特别的,注册,看中文提示自己弄。
注意Google的Captcha和GitHub的两个js源要放行。
建立GitHub Pages
注意,GH Page有两种,一种是你的帐号主页,一种是项目主页,当然都是静态的。
打比方你的帐号名是Flurando,和我一样,那么帐号主页默认是你自己名为flurando.github.io的git仓库的主要分支。
是的,不区分大小写。
你如果有一个这样的仓库,并且里面整个index.html,访问flurando.github.io就可以看到了。
什么?你没有,当然,新注册的肯定空啊,这个是要自己点加号按钮新建的。
另一种是项目页面,这个你每个项目都可以有。
比如说我有个仓库叫blog,里面用Python Pelican的Github Action安排的博客文章,那么它的页面就是flurando.github.io/blog/。
是的,你只有一个域名,所以最好别让你flurando.github.io仓库里的文件夹名字和你其他仓库名冲突。
今天呢,我就讲用项目页面做个人博客,由于我们要用github action帮你运行静态网站生成器并弄到github pages,所以主页那个其实差不多,就不细说了。
如果你想要成熟方案,可以直接fork我的blog仓库,把我的原本文章删掉,然后在.github/workflows/下的一个.yml或.yaml文件里将theme那行换成你喜欢的Pelican主题(注意,未必要填写github仓库链接,但格式必须和我写的那个类似,具体请移步Pelican文档中Publish to GitHub部分)。文章呢就按着我那个格式写,整个一两篇你就会了,markdown不难的。
不过,你大概也猜到了,我干嘛写这教程,明明连GitHub官方都有小白Jykell教程,当然是安利自己的私货啦!
昨天看到SystemCrafter的文章,一看指向链接,原来org publish这么厉害嘛?
我虽然不会弄org publish,甚至垃圾校园网连Melpa都换黑洞了,但我有用github action搭配静态网站生成器的经验啊!(详见我的haunt-github-page-template)
于是我直接扔了作业,哈,哪有什么作业?连夜把用github actions把emacs org当静态生成器给调好了,现在处于勉强能用,但是……总之吧,有的地方因为设计失败还要再修改修改,但横竖是产出网页了。
我的建议是由于org是地表潜力最大的标记方法,所以追求文字通用性的建议用org publish。
由于Scheme是地表最优雅的编程语言,所以追求自由的建议用Guile Haunt。
至于其他的选项,你喜欢就好,适合自己的才是最好的,孩子。(忍耐中……)
如果你会英语或者手头有良好的翻译程序,现在就可以看看 我的项目README生成html页面 或者直接去 项目首页 。
下面我用中文说一下,你直接fork或者点那个use this template使用模板,然后把你的org文件放进去,git push等一段时间就可以了!
可以说非常方便。
有人说css什么的怎么办,到时候会自动放进gh-pages分支的相同位置,总之你不用担心。
没了,就两步。
当然了,你得会用git,其实只需要会git add
,git commit -m "<你对本次提交的说明>"
和git push
就够了。
这三个和本篇无关,就略过吧。