-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
245 lines (238 loc) · 32.8 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="generator" content="Hugo 0.133.0">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="robots" content="noodp" />
<title>Kyden 鸢舞</title><meta name="Description" content="Kyden's Blog Site"><meta property="og:url" content="https://lutianen.github.io/">
<meta property="og:site_name" content="Kyden 鸢舞">
<meta property="og:title" content="Kyden 鸢舞">
<meta property="og:description" content="Kyden's Blog Site">
<meta property="og:locale" content="en">
<meta property="og:type" content="website">
<meta property="og:image" content="https://lutianen.github.io/Kyden.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="https://lutianen.github.io/Kyden.png">
<meta name="twitter:title" content="Kyden 鸢舞">
<meta name="twitter:description" content="Kyden's Blog Site">
<meta name="application-name" content="Kyden">
<meta name="apple-mobile-web-app-title" content="Kyden"><meta name="theme-color" content="#ffffff"><meta name="msapplication-TileColor" content="#da532c"><link rel="canonical" href="https://lutianen.github.io/" /><link rel="alternate" href="/index.xml" type="application/rss+xml" title="Kyden 鸢舞">
<link rel="feed" href="/index.xml" type="application/rss+xml" title="Kyden 鸢舞"><link rel="stylesheet" href="/css/style.min.cf6878db51c51b2d04ae155284a4403dbee8db33e16c066f954c95279c271fcd.css" integrity="sha256-z2h421HFGy0ErhVShKRAPb7o2zPhbAZvlUyVJ5wnH80="><link rel="preload" href="https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/all.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
<noscript><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/all.min.css"></noscript><link rel="preload" href="https://cdn.jsdelivr.net/npm/[email protected]/animate.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
<noscript><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/animate.min.css"></noscript><script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "WebSite",
"url": "https:\/\/lutianen.github.io\/","inLanguage": "en","author": {
"@type": "Person",
"name": "Kyden"
},"description": "Kyden's Blog Site","image": "https:\/\/lutianen.github.io\/Kyden.ico","thumbnailUrl": "https:\/\/lutianen.github.io\/","license": "This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.","name": "Kyden 鸢舞"
}
</script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-KXETF8WGNH"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-KXETF8WGNH');
</script>
</head>
<body data-header-desktop="auto" data-header-mobile="auto"><script type="text/javascript">(window.localStorage && localStorage.getItem('theme') ? localStorage.getItem('theme') === 'dark' : ('dark' === 'auto' ? window.matchMedia('(prefers-color-scheme: dark)').matches : 'dark' === 'dark')) && document.body.setAttribute('theme', 'dark');</script>
<div id="mask"></div><div class="wrapper"><header class="desktop" id="header-desktop">
<div class="header-wrapper">
<div class="header-title">
<a href="/" title="Kyden 鸢舞"><img
class="lazyload logo"
src="/svg/loading.min.svg"
data-src="/Kyden.ico"
data-srcset="/Kyden.ico, /Kyden.ico 1.5x, /Kyden.ico 2x"
data-sizes="auto"
alt="/Kyden.ico"
title="/Kyden.ico" /></a>
</div>
<div class="menu">
<div class="menu-inner"><a class="menu-item" href="/posts/"> Posts </a><a class="menu-item" href="/tags/"> Tags </a><a class="menu-item" href="/categories/"> Categories </a><a class="menu-item" href="/about/"> About </a><a class="menu-item" href="https://github.com/lutianen" title="GitHub" rel="noopener noreffer" target="_blank"><i class='fab fa-github fa-fw' aria-hidden='true'></i> </a><span class="menu-item delimiter"></span><span class="menu-item search" id="search-desktop">
<input type="text" placeholder="Type Something..." id="search-input-desktop">
<a href="javascript:void(0);" class="search-button search-toggle" id="search-toggle-desktop" title="Search">
<i class="fas fa-search fa-fw" aria-hidden="true"></i>
</a>
<a href="javascript:void(0);" class="search-button search-clear" id="search-clear-desktop" title="Clear">
<i class="fas fa-times-circle fa-fw" aria-hidden="true"></i>
</a>
<span class="search-button search-loading" id="search-loading-desktop">
<i class="fas fa-spinner fa-fw fa-spin" aria-hidden="true"></i>
</span>
</span><a href="javascript:void(0);" class="menu-item theme-switch" title="Switch Theme">
<i class="fas fa-adjust fa-fw" aria-hidden="true"></i>
</a></div>
</div>
</div>
</header><header class="mobile" id="header-mobile">
<div class="header-container">
<div class="header-wrapper">
<div class="header-title">
<a href="/" title="Kyden 鸢舞"><img
class="lazyload logo"
src="/svg/loading.min.svg"
data-src="/Kyden.ico"
data-srcset="/Kyden.ico, /Kyden.ico 1.5x, /Kyden.ico 2x"
data-sizes="auto"
alt="/Kyden.ico"
title="/Kyden.ico" /></a>
</div>
<div class="menu-toggle" id="menu-toggle-mobile">
<span></span><span></span><span></span>
</div>
</div>
<div class="menu" id="menu-mobile"><div class="search-wrapper">
<div class="search mobile" id="search-mobile">
<input type="text" placeholder="Type Something..." id="search-input-mobile">
<a href="javascript:void(0);" class="search-button search-toggle" id="search-toggle-mobile" title="Search">
<i class="fas fa-search fa-fw" aria-hidden="true"></i>
</a>
<a href="javascript:void(0);" class="search-button search-clear" id="search-clear-mobile" title="Clear">
<i class="fas fa-times-circle fa-fw" aria-hidden="true"></i>
</a>
<span class="search-button search-loading" id="search-loading-mobile">
<i class="fas fa-spinner fa-fw fa-spin" aria-hidden="true"></i>
</span>
</div>
<a href="javascript:void(0);" class="search-cancel" id="search-cancel-mobile">
Cancel
</a>
</div><a class="menu-item" href="/posts/" title="">Posts</a><a class="menu-item" href="/tags/" title="">Tags</a><a class="menu-item" href="/categories/" title="">Categories</a><a class="menu-item" href="/about/" title="">About</a><a class="menu-item" href="https://github.com/lutianen" title="GitHub" rel="noopener noreffer" target="_blank"><i class='fab fa-github fa-fw' aria-hidden='true'></i></a><a href="javascript:void(0);" class="menu-item theme-switch" title="Switch Theme">
<i class="fas fa-adjust fa-fw" aria-hidden="true"></i>
</a></div>
</div>
</header><div class="search-dropdown desktop">
<div id="search-dropdown-desktop"></div>
</div>
<div class="search-dropdown mobile">
<div id="search-dropdown-mobile"></div>
</div><main class="main">
<div class="container"><div class="page home" data-home="posts"><div class="home-profile"><div class="home-avatar"><a href="/posts/" title="Posts"><img
class="lazyload"
src="/svg/loading.min.svg"
data-src="https://www.gravatar.com/avatar/24ce0493091bf25d8c5a0813709f69f5?s=240&d=mp"
data-srcset="https://www.gravatar.com/avatar/24ce0493091bf25d8c5a0813709f69f5?s=240&d=mp, https://www.gravatar.com/avatar/24ce0493091bf25d8c5a0813709f69f5?s=240&d=mp 1.5x, https://www.gravatar.com/avatar/24ce0493091bf25d8c5a0813709f69f5?s=240&d=mp 2x"
data-sizes="auto"
alt="https://www.gravatar.com/avatar/24ce0493091bf25d8c5a0813709f69f5?s=240&d=mp"
title="https://www.gravatar.com/avatar/24ce0493091bf25d8c5a0813709f69f5?s=240&d=mp" /></a></div><h1 class="home-title">Kyden's Blog Site</h1><div class="home-subtitle"><div id="id-1" class="typeit"></div></div></div>
<article class="single summary" itemscope itemtype="http://schema.org/Article"><h1 class="single-title" itemprop="name headline">
<a href="/effective-go/">Effective Go</a>
</h1><div class="post-meta"><span class="post-author"><a href="https:github.com/lutianen" title="Author" rel="author" class="author"><i class="fas fa-user-circle fa-fw" aria-hidden="true"></i>Kyden</a></span> <span class="post-publish">published on <time datetime="2024-08-15">2024-08-15</time></span> <span class="post-category">included in <a href="/categories/golang/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Golang</a></span></div><div class="content"><p>如何编写清晰、地道的 Go 代码</p></div><div class="post-footer">
<a href="/effective-go/">Read More</a><div class="post-tags">
<i class="fas fa-tags fa-fw" aria-hidden="true"></i> <a href="/tags/golang/">Golang</a></div></div>
</article><article class="single summary" itemscope itemtype="http://schema.org/Article"><h1 class="single-title" itemprop="name headline">
<a href="/design-pattern/">Design Pattern</a>
</h1><div class="post-meta"><span class="post-author"><a href="https:github.com/lutianen" title="Author" rel="author" class="author"><i class="fas fa-user-circle fa-fw" aria-hidden="true"></i>Kyden</a></span> <span class="post-publish">published on <time datetime="2024-07-28">2024-07-28</time></span> <span class="post-category">included in <a href="/categories/design-patten/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Design Patten</a></span></div><div class="content"><p>设计模式: 在特定环境下人们解决某类重复出现的一套成功或有效的解决方案.</p></div><div class="post-footer">
<a href="/design-pattern/">Read More</a><div class="post-tags">
<i class="fas fa-tags fa-fw" aria-hidden="true"></i> <a href="/tags/design-patten/">Design Patten</a></div></div>
</article><article class="single summary" itemscope itemtype="http://schema.org/Article"><h1 class="single-title" itemprop="name headline">
<a href="/go-proj-layout/">Stardard Go Project Layout</a>
</h1><div class="post-meta"><span class="post-author"><a href="https:github.com/lutianen" title="Author" rel="author" class="author"><i class="fas fa-user-circle fa-fw" aria-hidden="true"></i>Kyden</a></span> <span class="post-publish">published on <time datetime="2024-07-13">2024-07-13</time></span> <span class="post-category">included in <a href="/categories/golang/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Golang</a> <a href="/categories/project-layout/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Project Layout</a> <a href="/categories/stardard/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Stardard</a></span></div><div class="content"><p>Go 应用程序项目的基本布局介绍</p></div><div class="post-footer">
<a href="/go-proj-layout/">Read More</a><div class="post-tags">
<i class="fas fa-tags fa-fw" aria-hidden="true"></i> <a href="/tags/golang/">Golang</a>, <a href="/tags/project-layout/">Project Layout</a>, <a href="/tags/stardard/">Stardard</a></div></div>
</article><article class="single summary" itemscope itemtype="http://schema.org/Article"><h1 class="single-title" itemprop="name headline">
<a href="/context-of-go/">Context of Go</a>
</h1><div class="post-meta"><span class="post-author"><a href="https:github.com/lutianen" title="Author" rel="author" class="author"><i class="fas fa-user-circle fa-fw" aria-hidden="true"></i>Kyden</a></span> <span class="post-publish">published on <time datetime="2024-06-01">2024-06-01</time></span> <span class="post-category">included in <a href="/categories/golang/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Golang</a> <a href="/categories/context/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Context</a></span></div><div class="content"><p>Context:当需要在多个 Goroutine 中传递上下文信息时,可以使用 Context 实现</p></div><div class="post-footer">
<a href="/context-of-go/">Read More</a><div class="post-tags">
<i class="fas fa-tags fa-fw" aria-hidden="true"></i> <a href="/tags/golang/">Golang</a>, <a href="/tags/context/">Context</a></div></div>
</article><article class="single summary" itemscope itemtype="http://schema.org/Article"><h1 class="single-title" itemprop="name headline">
<a href="/golang-escape-analysis/">Golang Escape Analysis</a>
</h1><div class="post-meta"><span class="post-author"><a href="https:github.com/lutianen" title="Author" rel="author" class="author"><i class="fas fa-user-circle fa-fw" aria-hidden="true"></i>Kyden</a></span> <span class="post-publish">published on <time datetime="2024-05-19">2024-05-19</time></span> <span class="post-category">included in <a href="/categories/golang/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Golang</a> <a href="/categories/%E9%80%83%E9%80%B8%E5%88%86%E6%9E%90/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>逃逸分析</a> <a href="/categories/escape-analysis/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Escape Analysis</a> <a href="/categories/heap/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Heap</a> <a href="/categories/stack/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Stack</a></span></div><div class="content"><p>深入理解 Golang Escape Analysis:变量何时逃逸?</p></div><div class="post-footer">
<a href="/golang-escape-analysis/">Read More</a><div class="post-tags">
<i class="fas fa-tags fa-fw" aria-hidden="true"></i> <a href="/tags/golang/">Golang</a>, <a href="/tags/%E9%80%83%E9%80%B8%E5%88%86%E6%9E%90/">逃逸分析</a>, <a href="/tags/escape-analysis/">Escape Analysis</a>, <a href="/tags/heap/">Heap</a>, <a href="/tags/stack/">Stack</a></div></div>
</article><article class="single summary" itemscope itemtype="http://schema.org/Article"><h1 class="single-title" itemprop="name headline">
<a href="/gmp-of-go/">深入理解 GMP</a>
</h1><div class="post-meta"><span class="post-author"><a href="https:github.com/lutianen" title="Author" rel="author" class="author"><i class="fas fa-user-circle fa-fw" aria-hidden="true"></i>Kyden</a></span> <span class="post-publish">published on <time datetime="2024-05-15">2024-05-15</time></span> <span class="post-category">included in <a href="/categories/golang/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Golang</a> <a href="/categories/gmp/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>GMP</a> <a href="/categories/goroutine/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Goroutine</a> <a href="/categories/machine/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Machine</a> <a href="/categories/process/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Process</a></span></div><div class="content"><p>深入理解 GMP: Go 的调度流程本质上是一个生产-消费流程.</p></div><div class="post-footer">
<a href="/gmp-of-go/">Read More</a><div class="post-tags">
<i class="fas fa-tags fa-fw" aria-hidden="true"></i> <a href="/tags/golang/">Golang</a>, <a href="/tags/gmp/">GMP</a>, <a href="/tags/goroutine/">Goroutine</a>, <a href="/tags/machine/">Machine</a>, <a href="/tags/process/">Process</a></div></div>
</article><article class="single summary" itemscope itemtype="http://schema.org/Article"><h1 class="single-title" itemprop="name headline">
<a href="/netpoll-of-network-program-for-golang/">Netpoll of Network Program for Golang</a>
</h1><div class="post-meta"><span class="post-author"><a href="https:github.com/lutianen" title="Author" rel="author" class="author"><i class="fas fa-user-circle fa-fw" aria-hidden="true"></i>Kyden</a></span> <span class="post-publish">published on <time datetime="2024-05-08">2024-05-08</time></span> <span class="post-category">included in <a href="/categories/netpoll/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Netpoll</a> <a href="/categories/epoll/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Epoll</a> <a href="/categories/network-program/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Network Program</a> <a href="/categories/golang/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Golang</a> <a href="/categories/linux/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Linux</a></span></div><div class="content"><p>深入剖析 Golang 网络编程之 Netpoll,主要涉及 Linux 环境下的 Epoll 初始化、 Go 网络编程基本流程(Listen、Accept、Read、Write)以及netpoll 执行流程</p></div><div class="post-footer">
<a href="/netpoll-of-network-program-for-golang/">Read More</a><div class="post-tags">
<i class="fas fa-tags fa-fw" aria-hidden="true"></i> <a href="/tags/netpoll/">Netpoll</a>, <a href="/tags/epoll/">Epoll</a>, <a href="/tags/network-program/">Network Program</a>, <a href="/tags/golang/">Golang</a>, <a href="/tags/linux/">Linux</a></div></div>
</article><article class="single summary" itemscope itemtype="http://schema.org/Article"><h1 class="single-title" itemprop="name headline">
<a href="/go-profile/">Profile and Optimize for Go</a>
</h1><div class="post-meta"><span class="post-author"><a href="https:github.com/lutianen" title="Author" rel="author" class="author"><i class="fas fa-user-circle fa-fw" aria-hidden="true"></i>Kyden</a></span> <span class="post-publish">published on <time datetime="2024-04-20">2024-04-20</time></span> <span class="post-category">included in <a href="/categories/golang/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Golang</a> <a href="/categories/profile/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Profile</a> <a href="/categories/optimize/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Optimize</a></span></div><div class="content"><p>Golang 常见的性能剖析 (Profile) 与优化 (Optimize)</p></div><div class="post-footer">
<a href="/go-profile/">Read More</a><div class="post-tags">
<i class="fas fa-tags fa-fw" aria-hidden="true"></i> <a href="/tags/golang/">Golang</a>, <a href="/tags/profile/">Profile</a>, <a href="/tags/optimize/">Optimize</a></div></div>
</article><article class="single summary" itemscope itemtype="http://schema.org/Article"><h1 class="single-title" itemprop="name headline">
<a href="/linter-go/">深入解读 Golang 常用 Linter 工具及最佳实践</a>
</h1><div class="post-meta"><span class="post-author"><a href="https:github.com/lutianen" title="Author" rel="author" class="author"><i class="fas fa-user-circle fa-fw" aria-hidden="true"></i>Kyden</a></span> <span class="post-publish">published on <time datetime="2024-04-19">2024-04-19</time></span> <span class="post-category">included in <a href="/categories/golang/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Golang</a> <a href="/categories/linter/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Linter</a> <a href="/categories/static-check/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Static Check</a> <a href="/categories/ci/cd/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>CI/CD</a></span></div><div class="content"><p>在 Golang 生态系统中,Linter 工具是开发者提升代码质量的关键。
本文将深入介绍几款常用的 Linter 工具及其最佳实践,帮助您在开发中避免常见错误并提高代码的可维护性。</p></div><div class="post-footer">
<a href="/linter-go/">Read More</a><div class="post-tags">
<i class="fas fa-tags fa-fw" aria-hidden="true"></i> <a href="/tags/golang/">Golang</a>, <a href="/tags/linter/">Linter</a>, <a href="/tags/static-check/">Static Check</a>, <a href="/tags/ci/cd/">CI/CD</a></div></div>
</article><article class="single summary" itemscope itemtype="http://schema.org/Article"><h1 class="single-title" itemprop="name headline">
<a href="/typora-theme/">Typora Theme</a>
</h1><div class="post-meta"><span class="post-author"><a href="https:github.com/lutianen" title="Author" rel="author" class="author"><i class="fas fa-user-circle fa-fw" aria-hidden="true"></i>Kyden</a></span> <span class="post-publish">published on <time datetime="2024-04-18">2024-04-18</time></span> <span class="post-category">included in <a href="/categories/typora/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Typora</a> <a href="/categories/theme/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Theme</a> <a href="/categories/markdown/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Markdown</a> <a href="/categories/software/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Software</a></span></div><div class="content"><p>分享一个好看的 Typora 主题</p></div><div class="post-footer">
<a href="/typora-theme/">Read More</a><div class="post-tags">
<i class="fas fa-tags fa-fw" aria-hidden="true"></i> <a href="/tags/typora/">Typora</a>, <a href="/tags/theme/">Theme</a>, <a href="/tags/markdown/">Markdown</a>, <a href="/tags/software/">Software</a></div></div>
</article><article class="single summary" itemscope itemtype="http://schema.org/Article"><h1 class="single-title" itemprop="name headline">
<a href="/archlinuxnote/">Arch Linux 使用指南</a>
</h1><div class="post-meta"><span class="post-author"><a href="https:github.com/lutianen" title="Author" rel="author" class="author"><i class="fas fa-user-circle fa-fw" aria-hidden="true"></i>Kyden</a></span> <span class="post-publish">published on <time datetime="2024-04-17">2024-04-17</time></span> <span class="post-category">included in <a href="/categories/linux/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Linux</a> <a href="/categories/software/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Software</a></span></div><div class="content"><p>详细介绍日常使用 Arch Linux 时的各种问题与解决方案,例如 Arch 安装、常用软件推荐、系统优化等</p></div><div class="post-footer">
<a href="/archlinuxnote/">Read More</a><div class="post-tags">
<i class="fas fa-tags fa-fw" aria-hidden="true"></i> <a href="/tags/arch/">Arch</a>, <a href="/tags/linux/">Linux</a>, <a href="/tags/software/">Software</a></div></div>
</article><article class="single summary" itemscope itemtype="http://schema.org/Article"><h1 class="single-title" itemprop="name headline">
<a href="/build-blog/">GitHub Pages + Hugo 建博客站</a>
</h1><div class="post-meta"><span class="post-author"><a href="https:github.com/lutianen" title="Author" rel="author" class="author"><i class="fas fa-user-circle fa-fw" aria-hidden="true"></i>Kyden</a></span> <span class="post-publish">published on <time datetime="2024-04-17">2024-04-17</time></span> <span class="post-category">included in <a href="/categories/github-pages/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Github Pages</a> <a href="/categories/hugo/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Hugo</a> <a href="/categories/%E5%8D%9A%E5%AE%A2/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>博客</a> <a href="/categories/linux/"><i class="far fa-folder fa-fw" aria-hidden="true"></i>Linux</a></span></div><div class="content"><p>借助于 Github Pages 提供的静态网站托管服务,并采用了 Hugo 这一开源项目,加快了建站流程,而且有多种开源网站主题可供选择.</p></div><div class="post-footer">
<a href="/build-blog/">Read More</a><div class="post-tags">
<i class="fas fa-tags fa-fw" aria-hidden="true"></i> <a href="/tags/github-pages/">Github Pages</a>, <a href="/tags/hugo/">Hugo</a>, <a href="/tags/%E5%8D%9A%E5%AE%A2/">博客</a>, <a href="/tags/linux/">Linux</a></div></div>
</article></div></div>
</main><footer class="footer">
<div class="footer-container"><div class="footer-line" itemscope itemtype="http://schema.org/CreativeWork"><i class="far fa-copyright fa-fw" aria-hidden="true"></i><span itemprop="copyrightYear">2024</span><span class="author" itemprop="copyrightHolder"> <a href="https://github.com/lutianen" target="_blank">Kyden</a></span> | <span class="license"><a rel="license external nofollow noopener noreffer" href="https://creativecommons.org/licenses/by-nc/4.0/" target="_blank">CC BY-NC 4.0</a></span></br><script>
function siteTime() {
var seconds = 1000;
var minutes = seconds * 60;
var hours = minutes * 60;
var days = hours * 24;
var years = days * 365;
var today = new Date();
var startYear = 2024;
var startMonth = 4;
var startDate = 18;
var startHour = 12;
var startMinute = 57;
var startSecond = 2;
var todayYear = today.getFullYear();
var todayMonth = today.getMonth() + 1;
var todayDate = today.getDate();
var todayHour = today.getHours();
var todayMinute = today.getMinutes();
var todaySecond = today.getSeconds();
var t1 = Date.UTC(startYear, startMonth, startDate, startHour, startMinute, startSecond);
var t2 = Date.UTC(todayYear, todayMonth, todayDate, todayHour, todayMinute, todaySecond);
var diff = t2 - t1;
var diffYears = Math.floor(diff / years);
var diffDays = Math.floor((diff / days) - diffYears * 365);
var diffHours = Math.floor((diff - (diffYears * 365 + diffDays) * days) / hours);
var diffMinutes = Math.floor((diff - (diffYears * 365 + diffDays) * days - diffHours * hours) /
minutes);
var diffSeconds = Math.floor((diff - (diffYears * 365 + diffDays) * days - diffHours * hours -
diffMinutes * minutes) / seconds);
if (startYear == todayYear) {
document.getElementById("sitetime").innerHTML = "已安全运行 " + diffDays + " 天 " + diffHours +
" 小时 " + diffMinutes + " 分钟 " + diffSeconds + " 秒";
} else {
document.getElementById("sitetime").innerHTML = "已安全运行 " + diffYears + " 年 " + diffDays +
" 天 " + diffHours + " 小时 " + diffMinutes + " 分钟 " + diffSeconds + " 秒";
}
}
setInterval(siteTime, 1000);
</script>
<span id="sitetime">载入运行时间...</span>
</div>
</div>
</footer></div>
<div id="fixed-buttons"><a href="#" id="back-to-top" class="fixed-button" title="Back to Top">
<i class="fas fa-arrow-up fa-fw" aria-hidden="true"></i>
</a><a href="#" id="view-comments" class="fixed-button" title="View Comments">
<i class="fas fa-comment fa-fw" aria-hidden="true"></i>
</a>
</div><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/css/lightgallery-bundle.min.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/build/cookieconsent.min.css"><script type="text/javascript" src="https://polyfill.io/v3/polyfill.min.js?features=Array.prototype.fill%2CArray.prototype.find%2CArray.from%2CIntersectionObserver%2CMath.sign%2CObject.assign%2CPromise%2CObject.entries%2Chtml5shiv%2CObject.values%2Cfetch%2CElement.prototype.after"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/[email protected]/dist/ofi.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/[email protected]/dist/autocomplete.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/[email protected]/dist/algoliasearch-lite.umd.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/[email protected]/lazysizes.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/[email protected]/lightgallery.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/[email protected]/plugins/thumbnail/lg-thumbnail.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/[email protected]/plugins/zoom/lg-zoom.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/[email protected]/dist/clipboard.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/[email protected]/sharer.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/[email protected]/dist/index.umd.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/[email protected]/dist/katex.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/[email protected]/dist/contrib/auto-render.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/[email protected]/dist/contrib/copy-tex.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/[email protected]/dist/contrib/mhchem.min.js"></script><script type="text/javascript" src="https://cdn.jsdelivr.net/npm/[email protected]/build/cookieconsent.min.js"></script><script type="text/javascript">window.config={"code":{"copyTitle":"Copy to clipboard","maxShownLines":24},"cookieconsent":{"content":{"dismiss":"Got it!","link":"Learn more","message":"This website uses Cookies to improve your experience."},"enable":true,"palette":{"button":{"background":"#f0f0f0"},"popup":{"background":"#1aa3ff"}},"theme":"edgeless"},"data":{"id-1":"读书不是为了雄辩和驳斥,也不是为了轻信和盲从,而是为了思考和权衡。—弗兰西斯·培根"},"lightgallery":true,"math":{"delimiters":[{"display":true,"left":"$$","right":"$$"},{"display":true,"left":"\\[","right":"\\]"},{"display":true,"left":"\\begin{equation}","right":"\\end{equation}"},{"display":true,"left":"\\begin{equation*}","right":"\\end{equation*}"},{"display":true,"left":"\\begin{align}","right":"\\end{align}"},{"display":true,"left":"\\begin{align*}","right":"\\end{align*}"},{"display":true,"left":"\\begin{alignat}","right":"\\end{alignat}"},{"display":true,"left":"\\begin{alignat*}","right":"\\end{alignat*}"},{"display":true,"left":"\\begin{gather}","right":"\\end{gather}"},{"display":true,"left":"\\begin{CD}","right":"\\end{CD}"},{"display":false,"left":"$","right":"$"},{"display":false,"left":"\\(","right":"\\)"}],"strict":false},"search":{"algoliaAppID":"PASDMWALPK","algoliaIndex":"index.en","algoliaSearchKey":"b42948e51daaa93df92381c8e2ac0f93","highlightTag":"em","maxResultLength":10,"noResultsFound":"No results found","snippetLength":30,"type":"algolia"},"typeit":{"cursorChar":"|","cursorSpeed":1000,"data":{"id-1":["id-1"]},"duration":100,"speed":30}};</script><script type="text/javascript" src="/js/theme.min.d7121d72cd85153ec9d35a888cee3eb28c2700ca763f649a538f6c772d750021.js" integrity="sha256-1xIdcs2FFT7J01qIjO4+sownAMp2P2SaU49sdy11ACE="></script><script type="text/javascript">
window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());
gtag('config', 'G-KXETF8WGNH', { 'anonymize_ip': true });
</script><script type="text/javascript" src="https://www.googletagmanager.com/gtag/js?id=G-KXETF8WGNH" async></script></body>
</html>