15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > 用Github Page快速创建项目文档网站

用Github Page快速创建项目文档网站

时间:2023-08-14 15:54:01 | 来源:网站运营

时间:2023-08-14 15:54:01 来源:网站运营

用Github Page快速创建项目文档网站:本文分为3个部分:

  1. 如何为你的项目快速搭建文档网站?(基于GitHub Pages和RunDocs)
  2. 如何将基于Github Pages的网页映射到自定义域名上?
  3. 重要且难缠,欢迎讨论】如何处理当前境内运营商将*.http://github.io错误的解析到127.0.0.1导致基于Github Page的网页很难在境内访问的问题(访问报错*.http://github.io拒绝访问/拒绝连接)



1. 如何为你的项目快速搭建文档网站?(基于GitHub PagesRunDocs

如果你也遇到了下列困难,那么阅读这一章节可以帮你省下很多初学者走弯路的时间:

基于GitHub Pages(网页服务)和RunDocs(网站模板)可以让你在5分钟内就建好你的项目文档网站!!!而且有动态导航栏、支持较复杂的文档结构!!!而且基本没有学习成本!!!基本上唯一需要的就是熟悉markdown和github的日常使用了。在这里感谢Github Page和RunDocs !orzzzzz

RunDocs的模板如下图,这种风格在很多知名Python库的文档网页上都可以看到,依照本文可以快速生成下面样式的文档网站。




建站步骤分成如下几步:

1.1 Github Page设置

注意:

首先,在项目的repository新建文件夹`/docs`创建分支`gh-pages`,用于存放网页相关的文件(如果没有repo参考github page官网教程);

随后,在项目repo的主页点击Settings,进入Options界面向下拉,找到"Github Pages"部分,将publishing source设置为在上一步新建的docs文件夹或gh-pages分支,随后点击choose a theme为网页选择主题,随便选个默认的就好,后面反正会改成RunDocs的主题,完成后就可以看到只有标题的网页了~下面的custom domain是用来设置github page的自定义域名的,目前先不用理会。

现在你的Github Page网站就初步建好啦(虽然还没内容),成功的标志是repo的setting/options/Github Pages部分,有一条高亮的消息“Your site is published at ......”,这个就是目前网页的网址了~

1.2 RunDocs设置

RunDocs和jekyll的官方文档其实非常详细,使用方法也非常简单,但是对于初学者而言缺失了0到1的部分(可能作者觉得这部分太self-explained了),笔者花了些时间才弄清楚应该怎么组织多层级的网页,希望下面的部分能作为官方文档的补充,让刚起步的你走的轻松点~

此前介绍了docs文件夹和gh-pages分支两种存储网页相关文件的方式,下面均以docs为例介绍。

首先将项目pull到本地方便操作,随后按RunDocs官方教程,在docs文件夹中创建下面四个文件(Gemfile和Makefile没有后缀),这些文件设置了网页的主题等信息,如果docs已经有了同名文件可以直接覆盖:

(PS, 官方教程Gemfile · RunDocs结合官方Github示例rundocs.io食用更佳)

这四个文件的内容如下:

Gemfile

source "https://gems.ruby-china.com"gem "jekyll-rtd-theme"gem "github-pages", group: :jekyll_pluginsMakefile

DEBUG=JEKYLL_GITHUB_TOKEN=blank PAGES_API_URL=http://0.0.0.0default: @gem install jekyll bundler && bundle installupdate: @bundle updateclean: @bundle exec jekyll cleanbuild: clean @${DEBUG} bundle exec jekyll build --profile --config _config.yml,.debug.ymlserver: clean @${DEBUG} bundle exec jekyll server --livereload --config _config.yml,.debug.yml_config.yml

title: Your project namelang: endescription: a catchy description for your projectremote_theme: rundocs/jekyll-rtd-themereadme_index: with_frontmatter: trueexclude: - Makefile - CNAME - Gemfile - Gemfile.lock.debug.yml

remote_theme: falsetheme: jekyll-rtd-theme

1.3 文档层级设计和文档内容文件放置

下面会结合实际案例,介绍一下RunDocs模板的核心玩法~

(如果有不够直观的地方,可以阅读的同时,参考我的Github Page或RunDocs官方案例)

首先/docs文件夹下,放置一个README.md文件,访问者一点开页面,就能看到这个markdown文档的内容,通常可用放一下整个项目的简介以及子页面的跳转链接,链接的语法用[文本](链接);




/docs文件夹的子文件夹对应了左侧导航栏的一级页面(下图红圈),下面介绍如何创建。

下图展示了/docs文件夹的全貌,Chinese, English, Notebooks, API均为一级页面,分别对应上图的四个一级页面“中文文档”、“English Document”、“Example Notebooks”、“API Reference”。下面将介绍如何创建一级页面和下属的二级页面

子文件夹中的README.md文件是一级页面命名和排序的关键

---sort: 1---为一级页面创建二级子页面

下图展示了一级页面“中文文档”文件夹,README.md用于此一级页面的排序和命名,1.intro.md和2.usage.md分别是两个子页面(文档开头的sort分别为1和2,代表子页面的排序),如果需要,可以去Github查看详细文件内容 文件夹“中文文档”




2. 如何将基于Github Pages的网页映射到自定义域名上?

首先要有一个经实名认证、配置了DNS解析服务的域名,可以在腾讯云/阿里云等服务商注册和配置。我注册的域名是bubu.blue

为你的项目设计一个二级域名,我的是scorecard-bundle.bubu.blue,填写到项目的repo的setting/options/Github Pages/custom domain部分,点save, 勾选enforce https使得最终的网站可以通过https访问。

在docs文件夹下新建CNAME文件,无后缀,文件内容就是二级域名:scorecard-bundle.bubu.blue。

最后,在域名的服务商的控制台的域名解析页面,添加CNAME解析记录,主机填二级域名的名称(我的例子中是scorecard-bundle),映射的目标是第一步已经创建成功的github page的域名 xxxx.github.io. (注意结尾要跟一个英文句号)

然后等最多10分钟,就可以通过自定义的域名访问网页啦~成功的标志跟之前一样,repo的setting/options/Github Pages部分,有一条高亮的消息“Your site is published at ......”

注意!!!最近境内访问Github Page有时候会有问题,解决方法请继续往下看~

3.【重要且难缠,欢迎讨论】如何处理当前境内运营商将*.http://github.io错误的解析到127.0.0.1导致基于Github Page的网页很难在境内访问的问题(访问报错*.http://github.io拒绝访问/拒绝连接)


笔者搭了github page后通过自定义域名解析到了自己的二级域名上,发现不用vpn经常就访问不了(访问报错xxxx拒绝访问/拒绝连接),经过查资料和研究,问题的原因应该是http://xxxx.github.io这个域名被解析成本地ip 127.0.0.1(虽然网站解析到了自己的域名,但背后还是github page的github.io域名),目前我按下面的方法设置一下域名解析就解决了,但我在这个领域比较小白,不确定这么做会不会有什么隐患,比如IP过段时间会不会失效?。。。先分享出来 ,欢迎大家指正。




解决方案:github page自定义域名需要在域名提供商的控制台设置CNAME的解析,但有的运营商会吧http://xxxx.github.io解析成127.0.0.1导致无法访问,我们可以先确定http://xxxx.github.io的真实ip,为境内用户添加映射到这个真实ip的A记录(线路选境内,因为主要是境内访问有这个问题,境外可以正常访问),然后问题就解决了~ 我是通过站长之家查询到我的域名对应了4个IP,把其中的两个设置成了境内的A记录解析(腾讯云的免费DNS解析最多两个A记录)

PS: 原来的CNAME解析可以保留,所以我现在为这个二级域名设置了3个解析,一个CNAME解析到http://xxx.github.io,两个针对境内的A解析到http://xxx.github.io对应的两个IP上

PPS: 个人猜想,很多博客正常可能是由于映射到了一级域名上,直接添加了A记录的解析所以就避开了运营商把http://xxx.github.io错误的解析为127.0.0.1的问题

关键词:项目,创建

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭