GitHub Pages教程:免费托管静态网站

# GitHub Pages教程:免费托管静态网站

## 什么是GitHub Pages

GitHub Pages是GitHub提供的免费静态网站托管服务,它允许你:
– 托管个人、组织或项目的网站
– 直接从GitHub仓库生成网站
– 支持自定义域名
– 无需服务器配置

## 类型的GitHub Pages

### 1. 个人/组织站点

– 仓库名称:`username.github.io` 或 `organization.github.io`
– 网站URL:`https://username.github.io`
– 内容来自 `main` 分支

### 2. 项目站点

– 仓库名称:任意
– 网站URL:`https://username.github.io/repository`
– 内容可以来自 `main` 分支的 `docs` 文件夹或 `gh-pages` 分支

## 创建个人站点

### 步骤1:创建仓库

1. 登录GitHub
2. 点击”New repository”
3. 仓库名称设置为 `your-username.github.io`
4. 选择公开仓库
5. 勾选”Initialize this repository with a README”
6. 点击”Create repository”

### 步骤2:添加内容

1. 克隆仓库到本地
“`bash
git clone https://github.com/your-username/your-username.github.io.git
cd your-username.github.io
“`

2. 创建 `index.html` 文件
“`html



My GitHub Pages Site

Hello, World!

Welcome to my GitHub Pages site.



“`

3. 提交并推送更改
“`bash
git add .
git commit -m “Initial commit”
git push origin main
“`

### 步骤3:访问网站

– 等待几分钟,然后访问 `https://your-username.github.io`

## 使用Jekyll构建网站

### 什么是Jekyll

Jekyll是一个静态站点生成器,GitHub Pages默认支持它。它可以:
– 自动生成静态网站
– 支持Markdown和Liquid模板
– 提供主题系统
– 简化网站维护

### 安装Jekyll(本地开发)

“`bash
# 安装Ruby(如果未安装)
# 然后安装Jekyll和bundler
gem install bundler jekyll

# 在仓库目录中初始化Jekyll
jekyll new . –force

# 安装依赖
bundle install

# 本地预览
bundle exec jekyll serve
“`

### 配置Jekyll

编辑 `_config.yml` 文件:

“`yaml
name: Your Site Name
description: Your site description
permalink: pretty

# 主题设置
theme: minima

# 插件
gems:
– jekyll-feed
– jekyll-seo-tag
“`

## 自定义域名

### 步骤1:购买域名

从域名注册商(如GoDaddy、Namecheap等)购买域名。

### 步骤2:配置DNS

在域名注册商的控制面板中添加DNS记录:

– **A记录**:指向GitHub Pages的IP地址
– 185.199.108.153
– 185.199.109.153
– 185.199.110.153
– 185.199.111.153

– **CNAME记录**:对于项目站点
– 主机记录:`www`
– 指向:`username.github.io`

### 步骤3:在GitHub中设置

1. 进入仓库设置
2. 找到”GitHub Pages”部分
3. 在”Custom domain”字段中输入你的域名
4. 点击”Save”

5. 在仓库根目录创建 `CNAME` 文件,内容为你的域名:
“`
yourdomain.com
“`

## 最佳实践

### 内容组织

– 使用 `_posts` 目录存放博客文章
– 使用 `_pages` 目录存放静态页面
– 使用 `assets` 目录存放图片、CSS和JavaScript

### 主题选择

– 使用GitHub Pages支持的默认主题
– 从GitHub Marketplace选择主题
– 自定义主题

### 性能优化

– 压缩图片
– 最小化CSS和JavaScript
– 使用CDN
– 启用缓存

### 搜索引擎优化(SEO)

– 使用 `jekyll-seo-tag` 插件
– 编写清晰的标题和描述
– 使用语义化HTML
– 提交站点地图

## 高级功能

### 使用GitHub Actions自动构建

创建 `.github/workflows/build.yml` 文件:

“`yaml
name: Build and Deploy

on:
push:
branches: [ main ]

jobs:
build:
runs-on: ubuntu-latest
steps:
– uses: actions/checkout@v2
– name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ‘2.7’
– name: Install dependencies
run: |
bundle install
– name: Build site
run: bundle exec jekyll build
– name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./_site
“`

### 集成第三方服务

– Google Analytics:跟踪网站访问
– Disqus:添加评论功能
– Netlify:增强部署选项

通过GitHub Pages,你可以免费托管专业的静态网站,无论是个人博客、项目文档还是作品集,都可以轻松实现。