这是使用github pages搭建的个人主页。
github pages简介:官方链接。
github pages使用了CNAME record技术,参考:链接1、链接2、Custom domains in Github Pages。
注:Read the Docs也是一个很好的搭建个人主页的网站。
有3种类型的 Github Pages 站点(sites):project, user 和 organization 。
Project sites 连接到 github 上特定 project ,比如 Javascript library 或 recipe collection。user 或 organization sites 连接到 github.com 的特定账户。
发布 user site ,你必须创建一个你的个人账户下的一个名为 <username>.github.io
的 repository 。发布 organization site ,你必须创建一个组织所有的名为 <organization>.github.io
的 repository 。除非你使用 custom domain ,否则 user 和 organization sites 将位于 http(s)://<username>.github.io
或 http(s)://<organization>.github.io
。
project site 的源文件存储在作为 project 的相同的 repository 中。除非使用 custom domain , 否则 project sites 将位于 http(s)://<username>.github.io/<repository>
或 http(s)://<organization>.github.io/<repository>
。
有关如何自定义影响您网站的域名的更多信息,参见"About custom domains and GitHub Pages"。
每个 github 账户允许创建 1 个 user 或 organization 站点。无论是被组织还是个人所有,project 站点的个数不限制。
参考官方文档。
例如,你的project站点配置的发布源是gh-pages
分支,然后在gh-pages
分支上创建了一个about/contact-us.md
文件,你将可以在https://<user>.github.io/<repository>/about/contact-us.html
访问它。
你也可以使用Jekyll
等静态站点生成器来给你的github page配置一个主题。
参考官方文档。
推荐的markdown编辑器:
- VSCode:免费。VSCode原生支持Markdown,安装一些插件可以帮助更快地编写markdown文件。
- Typora:现在已经开始收费。
VSCode markdown插件:
- Mardown All in One: 提供快捷键,帮助更快的编写markdown文件。
- Markdown+Math:提供数学公式支持。
- Markdown Preview Enhanced: 将原生markdown预览的黑色背景改成白色。
- Markdown Preview Github Styling:提供Github风格的预览。
在线表格生成器:可以生成Markdown、Text、HTML、LaTex、MediaWiki格式的表格。
WSL,Windows Subsystem for Linux,是Windows提供的轻量级Linux虚拟机。
安装教程:见链接。
启用systemctl的方法:链接。
替代方法:不需要启动systemctl,因为会比较占用资源,启动也会变慢。可以使用service命令替代。
使用ssh连接到服务器时,需要服务器运行着sshd程序,否则连接不上,会出现"Connection refused"错误。
参考链接。
查看openssh-server有没有安装:
dpkg --list | grep ssh
注:如果安装了openssh-server,执行which sshd可以看到路径。
WSL默认没有安装openssh-server,安装方法:
sudo apt-get install openssh-server
启动ssh:
sudo service ssh start
git push
不再支持输入用户名和密码,当提示输入密码时,需要输入personal access token.
步骤1:在github上创建personal access token;
步骤2:在命令行上使用personal access token;
步骤3:为了避免每次都需要输入personal access token,可以将其缓存在git client上:
gh auth login
注:使用gh
命令需要先安装GitHub CLI:
sudo apt-get install gh
2.2.4 执行git pull/push时,出现"The authenticity of host 'github.com (20.205.243.166)' can't be established. ED25519 key fingerprint is SHA256:..."错误
报错解释:
这个报错信息通常出现在使用SSH连接到一个新的主机时。它表示你的计算机无法验证远程服务器的身份,因为服务器的公钥不在你本地计算机的known_hosts文件中。这是SSH为了防止"中间人"攻击而进行的安全检查。
解决方法:
验证指纹信息:你可以查看远程主机的指纹信息,并与服务器gitee.com的公钥指纹进行对比,确保它们匹配。你可以在~/.ssh/known_hosts文件中找到已知主机的公钥指纹。
如果确认指纹正确无误,且你信任这个服务器,可以添加这个主机及其公钥到你的known_hosts文件中,以便SSH不再警告。执行以下命令:
ssh-keyscan -H gitee.com >> ~/.ssh/known_hosts
如果你不想添加到known_hosts文件中,可以在第一次连接时使用ssh -o StrictHostKeyChecking=no来跳过这个检查。但这样做会降低安全性。
如果你是在多个服务器上使用相同的IP地址,并且之前已经添加过这个IP的记录,那么可能是服务器的公钥发生了变化,这种情况下你应该联系服务器管理员确认公钥的变更。
注意:在实际生产环境中,不建议无条件信任新的SSH指纹,除非你完全了解这个服务器的来源和身份。
以下几种静态站点生成器都可以用来搭建个人主页。如果使用除JekyII外的工具,则需要配置Github Actions以构建和发布你的站点。
mkdocs是一个快速的静态网页生成器。
发布个人网站的方法:参见mkdocs-material官网。
Jekyll 是一个静态站点生成器,内置对 GitHub Pages 的支持和简化的构建进程。