当前位置: 首页 > news >正文

通过 jekyll 构建 github pages 博客实战笔记

jekyll 搭建教程

jekyll 搭建教程

Gem

安装 Ruby,请访问 下载地址。

Jekyll

Jekyll 是一个简单且具备博客特性的静态网站生成器。

Jekyll 中文文档

极客学院中文文档

使用以下命令安装 Jekyll。

$ gem install jekyll

在中国可能需要使用代理软件。然后,请等待并学习如何使用它。

或者,您可以使用 rails 替代 Jekyll。

如果您使用的是 Mac,请使用以下命令。

$ sudo gem install jekyll
  • Git

您需要了解如何使用 Git。

Git 文档

In Windows

有时候工作需要,会使用 windows 系统。如果对于 blog 进行编辑,想看到效果十分麻烦。因此尝试在 windows 下安装 jekyll.

Install Ruby

一、Download

Download the fit installer for your computer;

二、Install

安装时勾选Add Ruby executables to your PATH;

三、Version

命令行输入如下

$ ruby -v
ruby 2.3.3p222 (2016-11-21 revision 56859) [x64-mingw32]

Install DevKit

一、Download

Download the fit installer for your computer;

选择匹配的软件。本次选择 DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe,
For use with Ruby 2.0 to 2.3 (x64 - 64bits only)

二、UnZip

下载并解压文件至路径如D:\Devkit下:

三、Run

$   cd d:\Devkit[D:\Devkit]$ ruby dk.rb init
[INFO] found RubyInstaller v2.3.3 at D:/Ruby23-x64Initialization complete! Please review and modify the auto-generated
'config.yml' file to ensure it contains the root directories to all
of the installed Rubies you want enhanced by the DevKit.

查看 config.yml 应该有如下内容

# This configuration file contains the absolute path locations of all
# installed Rubies to be enhanced to work with the DevKit. This config
# file is generated by the 'ruby dk.rb init' step and may be modified
# before running the 'ruby dk.rb install' step. To include any installed
# Rubies that were not automagically discovered, simply add a line below
# the triple hyphens with the absolute path to the Ruby root directory.
#
# Example:
#
# ---
# - C:/ruby19trunk
# - C:/ruby192dev
#
---
- D:/Ruby23-x64

四、Review & Install

[D:\Devkit]$ ruby dk.rb review
Based upon the settings in the 'config.yml' file generated
from running 'ruby dk.rb init' and any of your customizations,
DevKit functionality will be injected into the following Rubies
when you run 'ruby dk.rb install'.D:/Ruby23-x64[D:\Devkit]$ ruby dk.rb install
[INFO] Updating convenience notice gem override for 'D:/Ruby23-x64'
[INFO] Installing 'D:/Ruby23-x64/lib/ruby/site_ruby/devkit.rb'

Install Jekyll

一、Ensure gem has install

[D:\Devkit]$ gem -v
2.5.2

二、Install jekyll

Problem

  • Error: Permission denied - bind(2) for 127.0.0.1:4000

bind localhost:4000 failed

use

    $ netstat -ano$ tasklist /svc /FI "PID eq ${pid}"

pid is the result of thread who occupy localhost:4000; Use task manager to kill this thread;

  • Please add the following to your Gemfile to avoid polling for changes:
    gem ‘wdm’, ‘>= 0.1.0’ if Gem.win_platform?

gem ‘wdm’, ‘>= 0.1.0’ if Gem.win_platform?

I have tried times, but also failed. Luckily, jekyll is still work well.

  • jekyll-paginate
Configuration file: /Users/houbinbin/blog/houbb.github.io/_config.ymlDependency Error: Yikes! It looks like you don't have jekyll-paginate or one of its dependencies installed. In order to use Jekyll as currently configured, you'll need to install this gem. The full error message from Ruby is: 'cannot load such file -- jekyll-paginate' If you run into trouble, you can find helpful resources at http://jekyllrb.com/help/!
jekyll 3.1.3 | Error:  jekyll-paginate

solve method.

$ sudo gem install jekyll-paginate
  • 谷歌文件加载慢

fonts.googleapis.com加载慢解决办法

我是直接将semantic引用此文件的地方注释掉了。

TOC

TOC

把这个添加到文件中,就可以生成目录。

* any list
{:toc}

分页

base page zh_CN

最多页数限制

分页功能插件使得 paginator liquid 对象具有下列属性:

属性说明
page当前页码
per_page每页文章数量
posts当前页的文章列表
total_posts总文章数
total_pages总页数
previous_page上一页页码 或 nil(如果上一页不存在)
previous_page_path上一页路径 或 nil(如果上一页不存在)
next_page下一页页码 或 nil(如果下一页不存在)
next_page_path下一页路径 或 nil(如果下一页不存在)

Search

nice query

SEO

掌心 SEO

Rang SEO

优化 jekyll 站点的 SEO 技巧

博客写好之后,直接搜索基本搜索不到。

双边括号

特殊符号,比如使用 vue 学习的时候,就会用到双边花括号,但是这个是 jekyll 的内置符号。

解决方案如下:

{% raw %}
{% comment %} 这里是各种包含奇怪花括号 {{{0}}} 的地方 {% endcomment %}
{% endraw %}

TODO

文章置顶

has done!

多说

sitemap

  • 报错
$ gem install jekyll-sitemap
ERROR:  Could not find a valid gem 'Jekyll-sitemap' (>= 0), here is why:Unable to download data from https://gems.ruby-china.org/ - bad response Not Found 404 (https://gems.ruby-china.org/specs.4.8.gz)
  • 解决
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/

日志

https://gems.ruby-china.com/ added to sources
source https://rubygems.org/ not present in cache
  • 重新执行
sudo gem install jekyll-sitemap

日志

Fetching: jekyll-sitemap-1.2.0.gem (100%)
Successfully installed jekyll-sitemap-1.2.0
Parsing documentation for jekyll-sitemap-1.2.0
Installing ri documentation for jekyll-sitemap-1.2.0
Done installing documentation for jekyll-sitemap after 0 seconds
WARNING:  Unable to pull data from 'https://gems.ruby-china.org/': bad response Not Found 404 (https://gems.ruby-china.org/specs.4.8.gz)
1 gem installed

google/baidu 收录

  • 查看
site:https://houbb.github.io/

如果提示说:找不到和您查询的“site:https://houbb.github.io/”相符的内容或信息,说明未被收录。

如果搜索结果中你第一眼就看到了你的博客站点,说明已被收录,不用再继续看下面的内容了。

博客书写规范和心德

写了大概3年多的博客,回首看收获了很多。

为了以后博客的更好管理,规定如下标准。

标题标准

时间:2022-05-29

发现 search 无法工作,debug 发现标题如果出现 ",会导致 json 的解析失败。

url

统一采用:

yyyy-MM-dd-${category}-${order}-name-${order}.md

所有名称统一使用小写的形式。

所有同一个类型的博客,放在一起形成一个系列。

除非确定一定不会扩展的内容,建议还是学习所有的知识都是从 00-overview 开始。

tag

常见的 tag 规定如下:

overview  概览
quick-start 快速开始
why-so-fast 为什么速度这么快
why-choose 为什么选择这个技术
project-architecture 项目架构
in-action 实战
summary 总结
sh 新知识(stay-hungry)
sf 旧知识(stay-foolish)

技术分类则根据实际需要

一遍文章的行文

作为技术文章,建议有以下几个部分:

  1. 开篇:介绍技术的背景,实际的业务场景

  2. 概念理论:

  3. 实战测试:

  4. 拓展发散:

  5. 总结归纳:

参考资料

  • seo

http://vdaubry.github.io/2014/10/21/SEO-for-your-Jekyll-blog/

https://crispgm.com/page/48-tips-for-jekyll-you-should-know.html

Jekyll自动生成站点地图

如何让谷歌和百度搜索到自己GitHub上的博客

  • Jekyll SEO Tag

https://github.com/jekyll/jekyll-seo-tag

  • sitemap

http://faso.me/notes/2013/07/27/jekyll-sitemap-without-plugin/index.html

  • ruby

https://www.jianshu.com/p/60f3707cb3ce?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

GitHub 博客-- Jekyll–代码高亮,Liquid 转义字符

相关文章:

通过 jekyll 构建 github pages 博客实战笔记

jekyll 搭建教程 jekyll 搭建教程 Gem 安装 Ruby,请访问 下载地址。 Jekyll Jekyll 是一个简单且具备博客特性的静态网站生成器。 Jekyll 中文文档 极客学院中文文档 使用以下命令安装 Jekyll。 $ gem install jekyll在中国可能需要使用代理软件。然后&#xff…...

【AI美图】第09期效果图,AI人工智能汽车+摩托车系列图集

期待中的未来AI汽车 欢迎来到未来的世界,一个充满创新和无限可能的世界,这里有你从未见过的科技奇迹——AI汽车。 想象一下,你站在十字路口,繁忙的交通信号灯在你的视线中闪烁,汽车如潮水般涌来,但是&…...

网线的制作集线器交换机路由器的配置--含思维导图

🎬 艳艳耶✌️:个人主页 🔥 个人专栏 :《产品经理如何画泳道图&流程图》 ⛺️ 越努力 ,越幸运 一、网线的制作 1、网线的材料有哪些? 网线 网线是一种用于传输数据信号的电缆,广泛应…...

LLM微调(四)| 微调Llama 2实现Text-to-SQL,并使用LlamaIndex在数据库上进行推理

Llama 2是开源LLM发展的一个巨大里程碑。最大模型及其经过微调的变体位居Hugging Face Open LLM排行榜(https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard)前列。多个基准测试表明,就性能而言,它正在接近GPT-3.5…...

柔性数组(结构体成员)

目录 前言: 柔性数组: 给柔性数组分配空间: 调整柔性数组大小: 柔性数组的好处: 前言: 柔性数组?可能你从未听说,但是确实有这个概念。听名字,好像就是柔软的数…...

C#合并多个Word文档(微软官方免费openxml接口)

g /// <summary>/// 合并多个word文档&#xff08;合并到第一文件&#xff09;/// </summary>/// <param name"as_word_paths">word文档完整路径</param>/// <param name"breakNewPage">true(默认值)&#xff0c;合并下一个…...

MySQL 5.7依赖的软件包和下载地址

​​​​​​​yum install ncurses-devel openssl openssl-devel gcc gcc-c ncurses ncurses-devel bison make -y mysql下载地址 下载地址...

图论 | 网络流的基本概念

文章目录 流网路残留网络增广路径割最大流最小割定理最大流Edmonds-Karp 算法算法步骤程序代码时间复杂度 流网路 流网络&#xff1a; G ( V , E ) G (V, E) G(V,E) 有向图&#xff0c;不考虑反向边s&#xff1a;源点t&#xff1a;汇点 c ( u , v ) c(u, v) c(u,v)&#xff…...

【音视频 | AAC】AAC音频编码详解

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; &#x1f923;本文内容&#x1f923;&a…...

redis基本用法学习(C#调用NRedisStack操作redis)

redis官网文档中推荐C#中使用NRedisStack包连接并操作redis&#xff0c;本文学习C#调用NRedisStack操作redis的基本方式。   新建Winform项目&#xff0c;在Nuget包管理器中搜索并安装NRedisStack包&#xff0c;如下图所示&#xff1a; 主要调用StackExchange.Redis命名空间下…...

[CVPR 2023:3D Gaussian Splatting:实时的神经场渲染]

文章目录 前言小结 原文地址&#xff1a;https://blog.csdn.net/qq_45752541/article/details/132854115 前言 mesh 和点是最常见的3D场景表示&#xff0c;因为它们是显式的&#xff0c;非常适合于快速的基于GPU/CUDA的栅格化。相比之下&#xff0c;最近的神经辐射场&#xf…...

【SpringBoot快速入门】(4)SpringBoot项目案例代码示例

目录 1 创建工程3 配置文件4 静态资源 之前我们已经学习的Spring、SpringMVC、Mabatis、Maven&#xff0c;详细讲解了Spring、SpringMVC、Mabatis整合SSM的方案和案例&#xff0c;上一节我们学习了SpringBoot的开发步骤、工程构建方法以及工程的快速启动&#xff0c;从这一节开…...

Linux服务器 部署飞书信息发送服务

项目介绍&#xff1a; 飞书信息发送服务是指将飞书信息发送服务部署到一个Linux服务器上。飞书是一款企业级的即时通讯和协作工具&#xff0c;支持发送消息给飞书的功能。通过部署飞书信息发送服务&#xff0c;可以方便内网发送信息给外网飞书。 项目代码结构展示&#xff1a; …...

用C#也能做机器学习?

前言✨ 说到机器学习&#xff0c;大家可能都不陌生&#xff0c;但是用C#来做机器学习&#xff0c;可能很多人还第一次听说。其实在C#中基于ML.NET也是可以做机器学习的&#xff0c;这种方式比较适合.NET程序员在项目中集成机器学习模型&#xff0c;不太适合专门学习机器学习&a…...

Python PDF格式转PPT格式

要将PDF文件转换为PPT&#xff0c;我实在python3.9 环境下转成功的&#xff0c;python3.11不行。 需要 pip install PyMuPDF代码说话 # -*- coding: utf-8 -*-""" author: 赫凯 software: PyCharm file: xxx.py time: 2023/12/21 11:20 """im…...

搭建知识付费平台?明理信息科技为你提供全程解决方案

明理信息科技saas知识付费平台 在当今数字化时代&#xff0c;知识付费已经成为一种趋势&#xff0c;越来越多的人愿意为有价值的知识付费。然而&#xff0c;公共知识付费平台虽然内容丰富&#xff0c;但难以满足个人或企业个性化的需求和品牌打造。同时&#xff0c;开发和维护…...

漫谈UNIX、Linux、UNIX-Like

漫谈UNIX、Linux、UNIX-Like 使用了这么多年Redhat、Ubuntu等Linux、Windows、Solaris操作系统&#xff0c;你是否对UNIX、Unix-Like&#xff08;类UNIX&#xff09;还是不太清楚&#xff1f;我以前一直认为Unix-Like就等于Linux。其实&#xff0c;由UNIX派生出来而没有取得UN…...

Netty Review - Netty与Protostuff:打造高效的网络通信

文章目录 概念PrePomServer & ClientProtostuffUtil 解读测试小结 概念 Pre 每日一博 - Protobuf vs. Protostuff&#xff1a;性能、易用性和适用场景分析 Pom <dependency><groupId>com.dyuproject.protostuff</groupId><artifactId>protostuff-…...

在ClickHouse数据库中启用预测功能

在这篇博文中&#xff0c;我们将介绍如何将机器学习支持的预测功能与 ClickHouse 数据库集成。ClickHouse 是一个快速、开源、面向列的 SQL 数据库&#xff0c;对于数据分析和实时分析非常有用。该项目由 ClickHouse&#xff0c; Inc. 维护和支持。我们将探索它在需要数据准备以…...

目标检测YOLO实战应用案例100讲-树上果实识别与跟踪计数(续)

目录 3.2 损失函数优化 3.3 实验过程 3.3.1 果实图像采集 3.3.2 数据扩增...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中&#xff0c;我们会遇到使用 java 调用 dll文件 的情况&#xff0c;此时大概率出现UnsatisfiedLinkError链接错误&#xff0c;原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用&#xff0c;结果 dll 未实现 JNI 协…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案

这个问题我看其他博主也写了&#xff0c;要么要会员、要么写的乱七八糟。这里我整理一下&#xff0c;把问题说清楚并且给出代码&#xff0c;拿去用就行&#xff0c;照着葫芦画瓢。 问题 在继承QWebEngineView后&#xff0c;重写mousePressEvent或event函数无法捕获鼠标按下事…...

Rust 开发环境搭建

环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行&#xff1a; rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu ​ 2、Hello World fn main() { println…...

十九、【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建

【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建 前言准备工作第一部分:回顾 Django 内置的 `User` 模型第二部分:设计并创建 `Role` 和 `UserProfile` 模型第三部分:创建 Serializers第四部分:创建 ViewSets第五部分:注册 API 路由第六部分:后端初步测…...