GitHub Pages + Jekyll 博客搭建指南(静态网站搭建)

目录

  • 🚀 静态网站及其生成工具指南
    • 🌍 什么是静态网站?
      • 📌 静态网站的优势
      • ⚖️ 静态网站 VS 动态网站
    • 🚀 常见的静态网站生成器对比
    • 🛠️ 使用 GitHub Pages + Jekyll 搭建个人博客
      • 📌 1. 创建 GitHub 仓库
      • 📌 2. 安装 Jekyll(本地环境搭建)
        • 📌 安装 Ruby 和 Bundler
      • 📌 3. 创建 Jekyll 博客
      • 📌 4. 上传博客到 GitHub
      • 📌 5. 启用 GitHub Pages
    • 🎯 总结

🚀 静态网站及其生成工具指南

🌍 什么是静态网站?

静态网站(Static Website)指 所有网页内容(HTML、CSS、JavaScript、图片等)在服务器上是固定的,不需要服务器动态处理或数据库支持,用户访问时,服务器直接返回这些文件给浏览器进行展示。

📌 静态网站的优势

  1. 加载速度快:服务器直接返回静态文件,无需动态渲染。
  2. 安全性高:无数据库或后台逻辑,减少攻击风险。
  3. 部署简便:可托管在 GitHub Pages、Vercel、Netlify 等平台。
  4. 低维护成本:不需要服务器管理,适合长期运行。

⚖️ 静态网站 VS 动态网站

特点静态网站动态网站
内容更新需手动修改代码由数据库或后端代码动态生成
交互能力仅支持前端交互支持后端处理和数据库交互
访问速度快(直接返回页面)慢(服务器计算请求)
安全性高(无服务器端漏洞)低(可能有 SQL 注入、XSS 攻击)
适用场景博客、文档、企业官网论坛、电商、社交平台

🚀 常见的静态网站生成器对比

生成器语言适用场景特点
JekyllRuby博客、GitHub PagesGitHub Pages 官方支持,适合个人博客
HugoGo文档、博客、官网速度极快,单个二进制文件,无需安装依赖
HexoNode.js技术博客适合程序员,支持丰富插件和主题
GatsbyReact现代网站、数据驱动基于 React,支持 GraphQL,适用于动态内容
VuePressVue.js文档网站Vue 驱动,可作为技术文档平台

🛠️ 使用 GitHub Pages + Jekyll 搭建个人博客

📌 1. 创建 GitHub 仓库

  1. 访问 GitHub 并 登录

  2. 创建一个新的仓库,命名格式:

    yourusername.github.io
    

    (替换 yourusername 为你的 GitHub 用户名)

  3. 选择 Public(公开),点击 Create repository 创建仓库。


📌 2. 安装 Jekyll(本地环境搭建)

Jekyll 需要 Ruby 运行环境,建议使用最新版本的 Ruby。

📌 安装 Ruby 和 Bundler
  • Windows

    1. 安装 RubyInstaller

    2. Windows + R 输入 cmd ,运行以下命令检查安装:

      ruby -v
      gem -v
      

      若看到 Ruby 和 Gem 的版本号,则说明安装成功。

      在这里插入图片描述

  • macOS

    # 1. 在 Mac 上,推荐使用 Homebrew 安装 Ruby:
    brew install ruby# 2. 安装后,更新环境变量:
    echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.zshrc
    source ~/.zshrc# 3. 验证安装:
    ruby -v
    gem -v
    
  • Linux

    • Ubuntu/Debian 系统

      sudo apt update
      sudo apt install ruby-full build-essential zlib1g-dev
      ruby -v
      gem -v
      
    • CentOS 系统

      sudo yum install ruby
      ruby -v
      gem -v
      
  • 安装 Bundler(Ruby 依赖管理器)

    # 安装命令
    gem install bundler# 安装验证
    bundler -v
    

    在这里插入图片描述

    [!NOTE]

    注: gem install jekyll bundler 这条命令用于全局安装 Jekyll 和 Bundler,它不依赖于当前所在的目录。这意味着你可以在任何目录下打开 命令提示符(cmd) 后执行该命令,只需满足以下条件:

    1. Ruby 已安装:确保你已经在 Windows 系统上正确安装了 Ruby(推荐使用 RubyInstaller)

    2. PATH 环境变量已配置:安装 Ruby 后,请确认 Ruby 的 bin 目录已添加到系统的 PATH 环境变量中,这样你就可以在任意目录下使用 gem 命令。


📌 3. 创建 Jekyll 博客

cmd终端运行:

# 1.安装 Jekyll 和必要依赖:
gem install jekyll bundler# 2.初始化一个新的 Jekyll 项目:
jekyll new my-blog# 3.进入博客目录并安装依赖:
cd my-blog
bundle install# 4.启动本地服务器
bundle exec jekyll serve# 5.打开浏览器访问 http://127.0.0.1:4000 预览博客

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


📌 4. 上传博客到 GitHub

  1. 进入博客目录:

    cd my-blog
    
  2. 初始化 Git 仓库: 在终端中,确保进入你的博客目录并执行以下命令:

    # 在当前目录下初始化一个本地 Git 仓库
    git init# 将 “当前目录及其子目录中的所有文件” 添加到 Git 的暂存区(Staging Area)
    git add .# 将暂存区中的文件提交到本地的 Git 仓库,并附加一条提交说明(commit message)
    git commit -m "Initial commit"
    
  3. 关联 GitHub 远程仓库并推送:

    git remote add origin https://github.com/yourusername/yourusername.github.io.git
    git branch -M main
    
  4. 将代码推送到 GitHub:

    git push -u origin main
    

📌 5. 启用 GitHub Pages

  1. 进入 GitHub 仓库 SettingsPages

  2. Branch 选择 main 分支→ Folder: / (root),点击 Save

  3. 访问:

    https://yourusername.github.io
    

    你的博客已上线!🎉


🎯 总结

  • Jekyll:适合 GitHub Pages,简洁稳定。
  • Hugo:最快,适合大规模博客/文档。
  • Hexo:Node.js + 主题丰富,适合技术博客。
  • Gatsby:React + GraphQL,适合现代网站。
  • VuePress:Vue.js + 文档站点最佳。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/69723.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wow-agent

一、什么是wow-agent? wow-agent致力于在代码行数和依赖库数量之间取得均衡的最小值,用最划算的方式帮助您在本地搭建AI Agent,嵌入到您的生产工作环节中 Agent 核心组件:模型、工具、编排层 模型-- 用于理解输入、进行推理和决…

React进行路由跳转的方法汇总

在 React 中进行路由跳转有多种方法,具体取决于你使用的路由库和版本。以下是常见的路由跳转方法汇总,主要基于 react-router-dom 库。 1. 使用 useNavigate 钩子(适用于 react-router-dom v6) useNavigate 是 react-router-dom…

java8、9新特性

JAVA8 Lambda 表达式 (parameters) -> expression 或 (parameters) ->{ statements; } 提供了一种更为简洁的语法,尤其适用于函数式接口。相比于传统的匿名内部类,Lambda 表达式使得代码更为紧凑,减少了样板代码的编写。 它允许将函…

【Elasticsearch】cumulative_cardinality

1.定义与用途 cumulative_cardinality是一种父级管道聚合(Parent Pipeline Aggregation),用于在父级直方图(histogram)或日期直方图(date_histogram)聚合中计算累计基数。它主要用于统计在某个…

1.【线性代数】——方程组的几何解释

一 方程组的几何解释 概述举例举例一1. matrix2.row picture3.column picture 概述 三种表示方法 matrixrow picturecolumn picture 举例 举例一 { 2 x − y 0 − x 2 y 3 \begin{cases} 2x - y 0 \\ -x 2y 3 \end{cases} {2x−y0−x2y3​ 1. matrix [ 2 − 1 − 1 …

DeepSeek小白初识指南

1.什么是DeepSeek? DeepSeek是一个基于大语言模型(LLM)的智能助手,能够处理自然语言理解、生成、对话等任务。它广泛应用于聊天机器人、内容生成、数据分析等领域。 2.DeepSeek和OpenAI等大模型差异? 虽然DeepSeek和Op…

ZZNUOJ(C/C++)基础练习1091——1100(详解版)⭐

目录 1091 : 童年生活二三事(多实例测试) C C 1092 : 素数表(函数专题) C C 1093 : 验证哥德巴赫猜想(函数专题) C C 1094 : 统计元音(函数专题) C C 1095 : 时间间隔(多…

使用epoll与sqlite3进行注册登录

将 epoll 服务器 客户端拿来用 客户端:写一个界面,里面有注册登录 服务器:处理注册和登录逻辑,注册的话将注册的账号密码写入数据库,登录的话查询数据库中是否存在账号,并验证密码是否正确 额外功能&…

innovus如何分步长func和dft时钟

在Innovus工具中,分步处理功能时钟(func clock)和DFT时钟(如扫描测试时钟)需要结合设计模式(Function Mode和DFT Mode)进行约束定义、时钟树综合(CTS)和时序分析。跟随分…

[LeetCode]day20 383.赎金信

题目链接 题目描述 给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 示例 1&am…

PHP E-mail发送机制详解

PHP E-mail发送机制详解 引言 随着互联网的普及,电子邮件(E-mail)已经成为人们日常工作中不可或缺的通信工具。PHP作为一种流行的服务器端脚本语言,也提供了丰富的E-mail发送功能。本文将详细介绍PHP E-mail发送的机制&#xff…

java高级知识之集合

前言 集合是java开发中的重点内容,需要掌握的东西很多,面试中可问的东西很多,无论是深度还是广度。集合框架中Collection对应的实现类如下所示,这些都是要完全掌握,一个可以分为三大类List集合、Set‘集合以及Map集合…

51c自动驾驶~合集49

我自己的原文哦~ https://blog.51cto.com/whaosoft/13164876 #Ultra-AV 轨迹预测新基准!清华开源:统一自动驾驶纵向轨迹数据集 自动驾驶车辆在交通运输领域展现出巨大潜力,而理解其纵向驾驶行为是实现安全高效自动驾驶的关键。现有的开…

C# ASP.NET 介绍

.NET学习资料 .NET学习资料 .NET学习资料 一、概述 ASP.NET是由微软创建的一个开源 Web 框架,用于使用.NET 构建现代化的 Web 应用程序和服务。它为开发者提供了一套丰富的工具、库和编程模型,使得创建功能强大、高效且安全的 Web 应用变得更加容易。…

AI基础 -- AI学习路径图

人工智能从数学到大语言模型构建教程 第一部分:AI 基础与数学准备 1. 绪论:人工智能的过去、现在与未来 人工智能的定义与发展简史从符号主义到统计学习、再到深度学习与大模型的变迁本书内容概览与学习路径指引 2. 线性代数与矩阵运算 向量与矩阵的…

【05】RUST常用的集合函数宏类型

文章目录 常用集合VecStringHashMap 宏打印 类型Option<T> 常用集合 Vec 堆上连续内存vector可能出现扩容&#xff0c;把老元素copy到内存新位置 因此不允许let first &v[0];作用域内调用v.push(4); // 定义 let v: Vec<i32> Vec::new(); let v vec![1,…

Unity-Mirror网络框架-从入门到精通之MultipleMatches示例

文章目录 前言MultipleMatchesLobbyViewRoomViewMatchGUIPlayerGUI总结前言 在现代游戏开发中,网络功能日益成为提升游戏体验的关键组成部分。本系列文章将为读者提供对Mirror网络框架的深入了解,涵盖从基础到高级的多个主题。Mirror是一个用于Unity的开源网络框架,专为多人…

VMware Workstation创建虚拟机

目录 创建新的虚拟机 虚拟机快照功能 虚拟机添加空间 其他注意事项 创建新的虚拟机 打开VMware Workstation&#xff1a;启动软件后&#xff0c;点击“创建新的虚拟机”。 选择安装方式&#xff1a; 典型安装&#xff1a;适合大多数用户&#xff0c;会自动完成大部分配置…

DeepSeek AI R1推理大模型API集成文档

DeepSeek AI R1推理大模型API集成文档 引言 随着自然语言处理技术的飞速发展&#xff0c;大语言模型在各行各业的应用日益广泛。DeepSeek R1作为一款高性能、开源的大语言模型&#xff0c;凭借其强大的文本生成能力、高效的推理性能和灵活的接口设计&#xff0c;吸引了大量开发…

前后端交互方式

在现代 Web 开发中,前后端的高效交互是构建流畅、响应迅速应用的核心。随着技术的不断发展,传统的请求响应模型已不再满足复杂应用的需求。本文将探讨多种前后端交互的方式,从经典的 HTTP 请求到实时数据传输的 WebSocket、GraphQL 等协议,每种方法都有其独特的优势和适用场…