<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="https://bill74186.github.io/css/feed.min.css"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Bill Blog</title>
    <description>「一“码”之缘，有“源”再见！」    ——bill74186</description>
    <link>https://bill74186.github.io/</link>
    <atom:link href="https://bill74186.github.io/feed.xml" rel="self" type="application/rss+xml" />
    <pubDate>Thu, 09 Jul 2026 01:48:31 +0000</pubDate>
    <lastBuildDate>Thu, 09 Jul 2026 01:48:31 +0000</lastBuildDate>
    <generator>Jekyll v3.10.0</generator>
    
      <item>
        <title>一个月</title>
        <description>&lt;blockquote&gt;
  &lt;p&gt;恰有小感&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;在不知不觉间，一个月的时光匆匆流过。而我的博客也悄然无声的搭建了一个月&lt;/p&gt;

&lt;p&gt;期间，他经历了六一，经历高考，经历了端午，也经历了蜕变&lt;/p&gt;

&lt;h2 id=&quot;六一的起点&quot;&gt;六一的起点&lt;/h2&gt;

&lt;p&gt;说起来也挺有意思的，博客的诞生居然和「六一」有关。&lt;/p&gt;

&lt;p&gt;那天闲着没事刷 GitHub，看着 Hux 的个人博客，再看看自己那挂着 2048 游戏的主页——总觉得少了点什么。大概是儿童节给自己的一份礼物吧，一拍大腿：&lt;strong&gt;搞！&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;于是接下来的三天，基本就是与 Jekyll 搏斗的过程。改配置、调样式、压缩代码……晚上十点屏幕前的我，顶着黑眼圈对着一行报错发呆，心里还在想：这到底是过节还是渡劫？&lt;/p&gt;

&lt;p&gt;不过现在回头看，那三天的折腾反而成了最有意思的回忆。就像搭积木一样，一块一块地把自己的小窝垒起来——虽然简陋，但每一块都是自己亲手放上去的。&lt;/p&gt;

&lt;h2 id=&quot;从半成品到有点样子&quot;&gt;从「半成品」到「有点样子」&lt;/h2&gt;

&lt;p&gt;六月上旬的博客，用「半成品」来形容再贴切不过了。&lt;/p&gt;

&lt;p&gt;还记得六月七号那天写的那篇「进度已完成一半」吗？现在回头看，那时候所谓的「一半」，大概连三分之一都不到。评论系统被墙了，数学公式加载不出来，代码注释乱得一团糟……&lt;/p&gt;

&lt;p&gt;但有趣的地方就在这里——&lt;strong&gt;博客这东西，是会「生长」的。&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;先是把评论系统折腾明白了：&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;giscus&lt;/code&gt;、&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;utterances&lt;/code&gt;、&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gitalk&lt;/code&gt; 三套方案齐活，想用哪个用哪个&lt;/li&gt;
  &lt;li&gt;然后是 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;MathJax&lt;/code&gt;：从旧版本换成了 3.2.2，连 IE11 都能兼容（虽然没人用了）&lt;/li&gt;
  &lt;li&gt;接着是 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Microsoft Clarity&lt;/code&gt;、&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sitemap&lt;/code&gt;、&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;robots.txt&lt;/code&gt;……该有的配置一个不落&lt;/li&gt;
  &lt;li&gt;最后连 README 都搞出了简体、繁体、英文三个版本&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;就像养一棵小树苗，你每天给它浇浇水、修修枝，不知不觉间，它就已经枝繁叶茂了。&lt;/p&gt;

&lt;h2 id=&quot;那些敲出来的文字&quot;&gt;那些敲出来的文字&lt;/h2&gt;

&lt;p&gt;一个月，十二篇文章。&lt;/p&gt;

&lt;p&gt;说多不多，说少不少。从最开始的「Hello Blog」，到后来的 Python 入门、前端三件套、MathJax 测试、AI-Chat 项目介绍……&lt;/p&gt;

&lt;p&gt;写博客这件事，最有意思的地方在于——&lt;strong&gt;你以为你是在写给别人看，其实最后受益最多的是你自己。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;比如写那篇「HowToLearnPython」的时候，为了把知识点讲清楚，我自己又把基础过了一遍；写 AI-Chat 介绍文的时候，梳理项目脉络的过程中，居然还发现了几个之前没注意到的小 bug。&lt;/p&gt;

&lt;p&gt;写作，就是最好的思考方式。这句话以前听别人说总觉得有点玄，现在自己试过了才知道——是真的。&lt;/p&gt;

&lt;h2 id=&quot;技术背后的生活&quot;&gt;技术背后的生活&lt;/h2&gt;

&lt;p&gt;当然，这一个月不只有代码。&lt;/p&gt;

&lt;p&gt;六一的童趣、高考的紧张、端午的粽子……这些生活碎片，和 commit log 交织在一起，构成了这个六月独特的记忆。&lt;/p&gt;

&lt;p&gt;在这期间我还简简单单的写了一个 AI 聊天工具。现在它已经添加了 AI 绘画功能，非常完善了。&lt;/p&gt;

&lt;p&gt;有时候写代码写累了，就站起来走到窗边，看看楼下的树，吹吹风。然后回来继续敲键盘。&lt;/p&gt;

&lt;p&gt;博客就像一个小小的「时间胶囊」。每一篇文章、每一次提交、甚至每一个 bug 的修复，都在记录着这段时间里，你在想什么、在做什么、在为什么而兴奋。&lt;/p&gt;

&lt;p&gt;若干年后再回来看，也许会觉得当时的代码写得好烂，当时的想法好幼稚——但那又怎样呢？那就是你啊。&lt;/p&gt;

&lt;h2 id=&quot;关于接下来&quot;&gt;关于接下来&lt;/h2&gt;

&lt;p&gt;一个月说长不长，说短不短。&lt;/p&gt;

&lt;p&gt;博客从无到有，从简陋到精致，但我知道，这还远远不是终点。&lt;/p&gt;

&lt;p&gt;后面还有很多想做的事情：更完善的标签系统、更漂亮的主题样式、更多有意思的技术文章、更多生活里的碎碎念……&lt;/p&gt;

&lt;p&gt;当然，也可能会偷懒，好久不更新一篇（&lt;em&gt;划掉&lt;/em&gt;）。&lt;/p&gt;

&lt;p&gt;但不管怎样，这个小小的博客，会一直在这里。&lt;/p&gt;

&lt;p&gt;记录生活，记录思考，记录成长。&lt;/p&gt;

&lt;p&gt;就像它的名字一样——&lt;strong&gt;Bill Blog&lt;/strong&gt;，简简单单，却独一无二。&lt;/p&gt;

&lt;h2 id=&quot;后记&quot;&gt;后记&lt;/h2&gt;

&lt;p&gt;写完这篇文章的时候，看了一眼日历。&lt;/p&gt;

&lt;p&gt;六月就要过去了。&lt;/p&gt;

&lt;p&gt;这个六月，因为有了这个博客，好像变得不太一样了一些。&lt;/p&gt;

&lt;p&gt;谢谢你读到这里。&lt;/p&gt;

&lt;p&gt;愿我们都能在自己的小世界里，继续折腾，继续热爱。&lt;/p&gt;

&lt;p&gt;—— bill74186 记于 2026 年六月末&lt;/p&gt;
</description>
        <pubDate>Tue, 30 Jun 2026 00:00:00 +0000</pubDate>
        <link>https://bill74186.github.io/2026/06/30/One-Month/</link>
        <guid isPermaLink="true">https://bill74186.github.io/2026/06/30/One-Month/</guid>
        
        <category>生活</category>
        
        <category>个人</category>
        
        
      </item>
    
      <item>
        <title>AI-Chat</title>
        <description>&lt;blockquote&gt;
  &lt;p&gt;某天深夜，我对着某某 AI 说了一句话，然后开始思考：能不能自己也搭一个？&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;说起来，这个想法其实挺简单的。&lt;/p&gt;

&lt;p&gt;作为一个偶尔会和各种大语言模型打交道的人，我一直在想：能不能有一个自己的小工具，可以随时切换不同的模型，不用每次都去不同的网站注册账号、切换页面？再加上平时写代码的时候，总想用最快的速度问几个简单的问题，不需要打开浏览器，不需要登录，不需要忍受漫长的加载……&lt;/p&gt;

&lt;p&gt;于是，AI-Chat 就这么诞生了。&lt;/p&gt;

&lt;h2 id=&quot;初衷&quot;&gt;初衷&lt;/h2&gt;

&lt;p&gt;最初只是想做一个「能用、够用」的简单聊天页面。后来发现，市面上的模型各有特点——Spark 逻辑清晰，GLM 响应快，Quark 偶尔会有惊喜。既然各有优势，为什么不把它们都集合在一起？于是就有了现在的多模型切换功能。&lt;/p&gt;

&lt;p&gt;再后来，我想，既然命令行用得顺手，能不能也搞个终端版本？于是又折腾出了 Python、Node.js、PHP、Java、C、Shell……七种语言的客户端。说起来有点离谱，但确实都是我的日常使用场景。&lt;/p&gt;

&lt;h2 id=&quot;这个项目能做什么&quot;&gt;这个项目能做什么&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;网页版&lt;/strong&gt; 是最完整的体验，支持：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;🌐 &lt;strong&gt;三模型自由切换&lt;/strong&gt;：讯飞 Spark、智谱 GLM、夸克 Quark，想用哪个点一下就行&lt;/li&gt;
  &lt;li&gt;🌍 &lt;strong&gt;中英繁三语界面&lt;/strong&gt;：简体中文、繁体中文、English，自动切换不用重新加载&lt;/li&gt;
  &lt;li&gt;🌙 &lt;strong&gt;深色模式&lt;/strong&gt;：护眼必备，虽然只是个按钮的事，但确实每天都在用&lt;/li&gt;
  &lt;li&gt;🎭 &lt;strong&gt;自定义人设&lt;/strong&gt;：给 AI 设定一个角色，比如「帮我写代码的程序员」或者「用小学生都能听懂的话解释问题」&lt;/li&gt;
  &lt;li&gt;📝 &lt;strong&gt;Markdown 渲染&lt;/strong&gt;：代码高亮、表格、列表，输出格式好看很多&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;终端版&lt;/strong&gt; 则更适合那些喜欢敲命令的人：&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;python ai.py 今天天气怎么样
python ai.py 帮我写一个快排算法
python ai.py 用大白话解释什么是闭包
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;不用打开浏览器，不用等待网页加载，直接在终端里问完就走。对于经常在终端里工作的人来说，这种体验其实挺舒服的。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;绘画版&lt;/strong&gt; 是最近加的新功能，用的是 Pollinations AI。输入一段描述词，就能生成图片。不需要任何 API Key，不需要充值，打开就能用。当然，生成速度取决于网络和服务器心情，但作为一个小工具来说，够用了。&lt;/p&gt;

&lt;h2 id=&quot;技术上的一些选择&quot;&gt;技术上的一些选择&lt;/h2&gt;

&lt;p&gt;说实话，这个项目没有什么特别高深的技术。HTML + CSS + JavaScript，前端三件套。Markdown 渲染用的是 marked.js，图标用的 Font Awesome，都是现成的轮子。&lt;/p&gt;

&lt;p&gt;后端对接的是现成的 API，我自己只是做了一层封装和界面。所以代码量其实不大，维护起来也不累。&lt;/p&gt;

&lt;p&gt;至于为什么搞了那么多语言的终端版本……主要是自己平时用的环境不太一样。有时候在 Linux 上，有时候在 Windows 虚拟机上，有时候又只想用手机上的 Termux 跑一个 quick query。既然都做了，不如多写几个版本，反正逻辑都是一样的——发请求、收响应、打印出来。&lt;/p&gt;

&lt;h2 id=&quot;一些碎碎念&quot;&gt;一些碎碎念&lt;/h2&gt;

&lt;p&gt;做这个项目的过程中，我最大的感受是：&lt;strong&gt;很多看起来「不可能」的事情，其实就是多做一步的问题。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;比如多语言界面，一开始觉得挺麻烦的。后来想了个办法，把所有用户可见的文本都放在 HTML 的 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;data-*&lt;/code&gt; 属性里，JavaScript 动态读取。这样英文版和中文版的 HTML 结构完全一样，只是文本内容不同。改起来也方便，单独改一个文件就行。&lt;/p&gt;

&lt;p&gt;深色模式也是类似的思路，用 CSS 的 class 切换背景色和文字色，JavaScript 只负责维护一个状态。代码加起来可能还不到二十行。&lt;/p&gt;

&lt;p&gt;所以你看，技术上真的没什么门槛。关键是愿不愿意动手去做。&lt;/p&gt;

&lt;h2 id=&quot;最后&quot;&gt;最后&lt;/h2&gt;

&lt;p&gt;如果你感兴趣，可以直接访问在线版本试试：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://bill74186.github.io/AI-Chat/&quot;&gt;AI Chat 网页版&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://bill74186.github.io/AI-Chat/web/draw.html&quot;&gt;AI Draw 绘画版&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;或者在好友链接那里直接点击 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AI-Chat&lt;/code&gt; 访问，效果都一样&lt;/p&gt;

&lt;p&gt;代码完全开源，有问题或者建议可以提 Issue。如果觉得有用，给个 Star 就是最大的支持了。&lt;/p&gt;

&lt;p&gt;毕竟，能帮到一个人，就值了。&lt;/p&gt;
</description>
        <pubDate>Fri, 26 Jun 2026 00:00:00 +0000</pubDate>
        <link>https://bill74186.github.io/2026/06/26/AI-Chat/</link>
        <guid isPermaLink="true">https://bill74186.github.io/2026/06/26/AI-Chat/</guid>
        
        <category>项目</category>
        
        <category>个人</category>
        
        
      </item>
    
      <item>
        <title>测试mathjax</title>
        <description>&lt;blockquote&gt;
  &lt;p&gt;大学级别的数学题目&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&quot;测试-mathjax-322-专用高数综合例题含分式积分级数矩阵极限希腊字母分段函数&quot;&gt;测试 MathJax 3.2.2 专用高数综合例题（含分式、积分、级数、矩阵、极限、希腊字母、分段函数）&lt;/h2&gt;

&lt;h3 id=&quot;题目&quot;&gt;题目&lt;/h3&gt;

&lt;p&gt;设函数
\(f(x)=
\begin{cases}
\displaystyle \frac{\ln(1+x^2)}{x}, &amp;amp; x\neq 0\\[6pt]
0, &amp;amp; x=0
\end{cases}\)&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;求 $f’(0)$；&lt;/li&gt;
  &lt;li&gt;计算反常积分 $\displaystyle \int_{0}^{+\infty} \frac{x}{(1+x^2)^2}\mathrm{d}x$；&lt;/li&gt;
  &lt;li&gt;判断级数 $\displaystyle \sum_{n=1}^{\infty} \frac{(-1)^n \ln n}{\sqrt{n}}$ 的敛散性；&lt;/li&gt;
  &lt;li&gt;已知
\(A=
\begin{pmatrix}
1 &amp;amp; \alpha &amp;amp; 2\\
2 &amp;amp; 3 &amp;amp; \beta\\
0 &amp;amp; 1 &amp;amp; 1
\end{pmatrix}\)
$|A|=4$，求 $\alpha,\beta$ 关系式；&lt;/li&gt;
  &lt;li&gt;$z=x^3y+\sin(xy)$，求 $\displaystyle \frac{\partial^2 z}{\partial x\partial y}$&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;参考答案&quot;&gt;参考答案&lt;/h3&gt;

&lt;h4 id=&quot;1-导数&quot;&gt;1. 导数&lt;/h4&gt;

&lt;p&gt;\(f&apos;(0)=\lim_{x\to 0}\frac{f(x)-f(0)}{x-0}
=\lim_{x\to 0}\frac{\ln(1+x^2)}{x^2}\)
\(f&apos;(0)=\lim_{x\to0}\frac{x^2}{x^2}=1\)&lt;/p&gt;

&lt;h4 id=&quot;2-积分&quot;&gt;2. 积分&lt;/h4&gt;

&lt;p&gt;令 $u=1+x^2,\ \mathrm{d}u=2x\mathrm{d}x$
\(\int_{0}^{+\infty} \frac{x}{(1+x^2)^2}\mathrm{d}x
=\frac12\int_{1}^{+\infty} u^{-2}\mathrm{d}u
=\frac12\left.\left(-\frac1u\right)\right|_{1}^{+\infty}
=\frac12\)&lt;/p&gt;

&lt;h4 id=&quot;3-级数判别&quot;&gt;3. 级数判别&lt;/h4&gt;

&lt;p&gt;\(\left|\frac{(-1)^n \ln n}{\sqrt{n}}\right|=\frac{\ln n}{\sqrt{n}}\)
\(\lim_{n\to\infty}\frac{\ln n/\sqrt{n}}{1/n^{3/4}}
=\lim_{n\to\infty}\frac{\ln n}{n^{1/4}}=+\infty\)
记 $u_n=\dfrac{\ln n}{\sqrt{n}}$，设 $g(x)=\dfrac{\ln x}{\sqrt{x}}$
\(g&apos;(x)=\frac{\dfrac1x\cdot\sqrt{x}-\ln x\cdot \dfrac1{2\sqrt{x}}}{x}
=\frac{2-\ln x}{2x\sqrt{x}}\)
$x&amp;gt;e^2$ 时单调递减，交错级数条件收敛。&lt;/p&gt;

&lt;h4 id=&quot;4-行列式&quot;&gt;4. 行列式&lt;/h4&gt;

&lt;p&gt;\(|A|
=1\cdot\begin{vmatrix}3&amp;amp;\beta\\1&amp;amp;1\end{vmatrix}
-\alpha\cdot\begin{vmatrix}2&amp;amp;\beta\\0&amp;amp;1\end{vmatrix}
+2\cdot\begin{vmatrix}2&amp;amp;3\\0&amp;amp;1\end{vmatrix}\)
\(=3-\beta-2\alpha+4=7-2\alpha-\beta\)
\(7-2\alpha-\beta=4 \implies \boldsymbol{2\alpha+\beta=3}\)&lt;/p&gt;

&lt;h4 id=&quot;5-混合偏导&quot;&gt;5. 混合偏导&lt;/h4&gt;

&lt;p&gt;\(\frac{\partial z}{\partial x}=3x^2 y + y\cos(xy)\)
\(\frac{\partial^2 z}{\partial x\partial y}
=3x^2 + \cos(xy) - xy\sin(xy)\)&lt;/p&gt;
</description>
        <pubDate>Thu, 18 Jun 2026 00:00:00 +0000</pubDate>
        <link>https://bill74186.github.io/2026/06/18/mathjax/</link>
        <guid isPermaLink="true">https://bill74186.github.io/2026/06/18/mathjax/</guid>
        
        <category>博客</category>
        
        
      </item>
    
      <item>
        <title>网页三剑客</title>
        <description>&lt;blockquote&gt;
  &lt;p&gt;一篇教程文章&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&quot;网页三剑客htmlcssjs到底是什么&quot;&gt;网页三剑客HTML、CSS、JS到底是什么？&lt;/h2&gt;
&lt;p&gt;前端入门科普：网页三剑客HTML、CSS、JS到底是什么？一文看懂网页底层原理&lt;/p&gt;

&lt;p&gt;我们日常浏览的官网、博客、购物页面、短视频网页，所有看得见、点得动的网页，全部离不开前端三大基石，也就是大家常说的&lt;strong&gt;网页三剑客：HTML、CSS、JavaScript&lt;/strong&gt;。&lt;/p&gt;

&lt;p&gt;很多前端新手刚开始学习，始终分不清三者的区别，不知道各自负责什么工作。今天用通俗易懂的语言+极简可运行代码，分开拆解每一门技术，再讲解三者如何配合工作，零基础也能彻底看懂。&lt;/p&gt;

&lt;h3 id=&quot;一通俗类比一秒分清三者分工&quot;&gt;一、通俗类比：一秒分清三者分工&lt;/h3&gt;
&lt;p&gt;不用复杂术语，用盖房子类比，轻松记住三者定位：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;HTML：房屋骨架&lt;/strong&gt;&lt;br /&gt;
搭建网页整体结构，决定页面有标题、段落、按钮、图片，只有光秃秃的结构，无样式、无交互。&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;CSS：全屋装修&lt;/strong&gt;&lt;br /&gt;
负责页面所有外观样式，修改颜色、字体、布局、间距，让简陋的页面变得美观好看。&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;JavaScript：智能控制系统&lt;/strong&gt;&lt;br /&gt;
赋予网页交互能力，实现点击、弹窗、数据变化、动态特效，让静止的网页真正动起来。&lt;/p&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;一句话口诀：&lt;strong&gt;HTML搭结构，CSS做美化，JS做交互&lt;/strong&gt;。&lt;/p&gt;

&lt;h3 id=&quot;二单独详解三大技术各司其职&quot;&gt;二、单独详解：三大技术各司其职&lt;/h3&gt;

&lt;h4 id=&quot;1-html--网页骨架负责内容与结构&quot;&gt;1. HTML —— 网页骨架，负责内容与结构&lt;/h4&gt;
&lt;p&gt;HTML 全称&lt;strong&gt;超文本标记语言&lt;/strong&gt;，它&lt;strong&gt;不是编程语言&lt;/strong&gt;，没有逻辑、没有运算，唯一作用就是搭建网页结构，承载网页所有文字、图片、按钮、链接等内容。&lt;/p&gt;

&lt;p&gt;所有网页的基础都是HTML，没有HTML，网页就没有任何内容。&lt;/p&gt;

&lt;h5 id=&quot;核心作用&quot;&gt;核心作用&lt;/h5&gt;
&lt;ol&gt;
  &lt;li&gt;划分网页头部、主体、底部区域&lt;/li&gt;
  &lt;li&gt;放置文字、图片、链接、表单、列表等所有页面元素&lt;/li&gt;
  &lt;li&gt;搭建页面整体层级结构&lt;/li&gt;
&lt;/ol&gt;

&lt;h5 id=&quot;纯html代码示例无样式原生毛坯页面&quot;&gt;纯HTML代码示例（无样式，原生毛坯页面）&lt;/h5&gt;

&lt;div class=&quot;language-html highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
4
5
6
7
8
9
10
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;cp&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;title&amp;gt;&lt;/span&gt;纯HTML&lt;span class=&quot;nt&quot;&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
	&lt;span class=&quot;nt&quot;&gt;&amp;lt;h1&amp;gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
	&lt;span class=&quot;nt&quot;&gt;&amp;lt;p&amp;gt;&lt;/span&gt;HTML负责网页结构，是网页最基础的骨架&lt;span class=&quot;nt&quot;&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
	&lt;span class=&quot;nt&quot;&gt;&amp;lt;a&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;href=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;#&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;点击链接&lt;span class=&quot;nt&quot;&gt;&amp;lt;button&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;button&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;运行效果&lt;/strong&gt;：浏览器直接展示原生默认样式，字体丑陋、排版靠左、没有配色，是最原始的网页毛坯状态。&lt;/p&gt;

&lt;hr /&gt;

&lt;h4 id=&quot;2-css--网页美颜负责样式与布局&quot;&gt;2. CSS —— 网页美颜，负责样式与布局&lt;/h4&gt;
&lt;p&gt;CSS 全称&lt;strong&gt;层叠样式表&lt;/strong&gt;，专门用来修饰HTML结构，&lt;strong&gt;无法独立运行，必须依附HTML元素生效&lt;/strong&gt;。&lt;/p&gt;

&lt;p&gt;CSS不新增任何页面内容，只改变页面&lt;strong&gt;长相和排版&lt;/strong&gt;。&lt;/p&gt;

&lt;h5 id=&quot;核心作用-1&quot;&gt;核心作用&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;ol&gt;
      &lt;li&gt;修改文字大小、颜色、字体、行间距&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;ol&gt;
      &lt;li&gt;设置背景色、圆角、阴影、边框&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;ol&gt;
      &lt;li&gt;实现页面居中、多栏布局、弹性排版&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;ol&gt;
      &lt;li&gt;制作鼠标悬浮动画、渐变效果&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;ol&gt;
      &lt;li&gt;适配电脑、手机不同屏幕尺寸&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h5 id=&quot;htmlcss结合代码示例静态美观页面&quot;&gt;HTML+CSS结合代码示例（静态美观页面）&lt;/h5&gt;

&lt;div class=&quot;language-html highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;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
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;cp&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;&amp;lt;!-- HTML+CSS样式代码 --&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;style&amp;gt;&lt;/span&gt;
	&lt;span class=&quot;nt&quot;&gt;h1&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;nl&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;#2c3e50&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
		&lt;span class=&quot;nl&quot;&gt;text-align&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;center&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;nt&quot;&gt;p&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;nl&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;16px&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
		&lt;span class=&quot;nl&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;#666&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;nt&quot;&gt;button&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;nl&quot;&gt;padding&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;6px&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;12px&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
		&lt;span class=&quot;nl&quot;&gt;border&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;none&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
		&lt;span class=&quot;nl&quot;&gt;background-color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;#409eff&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
		&lt;span class=&quot;nl&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;#fff&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
		&lt;span class=&quot;nl&quot;&gt;border-radius&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;4px&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;c&quot;&gt;/* 鼠标悬浮按钮变色 */&lt;/span&gt;
	&lt;span class=&quot;nt&quot;&gt;button&lt;/span&gt;&lt;span class=&quot;nd&quot;&gt;:hover&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
		&lt;span class=&quot;nl&quot;&gt;background-color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;#66b1ff&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
	&lt;span class=&quot;nt&quot;&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;
	&lt;span class=&quot;nt&quot;&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
	&lt;span class=&quot;nt&quot;&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
	&lt;span class=&quot;nt&quot;&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;网页三剑客科普&lt;span class=&quot;nt&quot;&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
	&lt;span class=&quot;nt&quot;&gt;&amp;lt;p&amp;gt;&lt;/span&gt;HTML负责网页结构，CSS负责网页美化&lt;span class=&quot;nt&quot;&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
	&lt;span class=&quot;nt&quot;&gt;&amp;lt;a&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;href=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;#&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;点击链接&lt;span class=&quot;nt&quot;&gt;&amp;lt;button&amp;gt;&amp;lt;/button&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;运行效果&lt;/strong&gt;：页面排版整齐、配色舒适、按钮有悬浮效果，页面颜值拉满，但&lt;strong&gt;页面依旧是静止的，点击按钮没有任何反应&lt;/strong&gt;。&lt;/p&gt;

&lt;hr /&gt;

&lt;h4 id=&quot;3-javascript--网页灵魂负责交互与动态逻辑&quot;&gt;3. JavaScript —— 网页灵魂，负责交互与动态逻辑&lt;/h4&gt;
&lt;p&gt;简称JS，是&lt;strong&gt;真正的编程语言&lt;/strong&gt;，拥有变量、循环、判断、函数等完整编程逻辑，是网页实现交互的核心。&lt;/p&gt;

&lt;p&gt;静态页面做好结构和样式后，想要网页响应人的操作，必须依靠JS。&lt;/p&gt;

&lt;h5 id=&quot;核心作用-2&quot;&gt;核心作用&lt;/h5&gt;

&lt;ul&gt;
  &lt;li&gt;
    &lt;ol&gt;
      &lt;li&gt;监听鼠标点击、键盘输入、页面滚动等操作&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;ol&gt;
      &lt;li&gt;弹窗提示、表单校验、数据判断&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;ol&gt;
      &lt;li&gt;动态修改页面文字、颜色、样式&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;ol&gt;
      &lt;li&gt;对接后端接口，请求网络数据&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;ol&gt;
      &lt;li&gt;实现轮播图、倒计时、弹窗、下拉菜单等网页特效&lt;/li&gt;
    &lt;/ol&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h5 id=&quot;htmlcssjs完整代码示例可交互网页&quot;&gt;HTML+CSS+JS完整代码示例（可交互网页）&lt;/h5&gt;

&lt;div class=&quot;language-html highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;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
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;cp&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;html&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
	&lt;span class=&quot;nt&quot;&gt;&amp;lt;title&amp;gt;&lt;/span&gt;三剑客完整页面&lt;span class=&quot;nt&quot;&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;
	&lt;span class=&quot;nt&quot;&gt;&amp;lt;style&amp;gt;&lt;/span&gt;
		&lt;span class=&quot;nt&quot;&gt;h1&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
			&lt;span class=&quot;nl&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;#2c3e50&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
			&lt;span class=&quot;nl&quot;&gt;text-align&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;center&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
		&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
		&lt;span class=&quot;nt&quot;&gt;p&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
			&lt;span class=&quot;nl&quot;&gt;font-size&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;16px&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
			&lt;span class=&quot;nl&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;#666&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
		&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
		&lt;span class=&quot;nt&quot;&gt;button&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
			&lt;span class=&quot;nl&quot;&gt;padding&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;6px&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;12px&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
			&lt;span class=&quot;nl&quot;&gt;border&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;none&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
			&lt;span class=&quot;nl&quot;&gt;background-color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;#409eff&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
			&lt;span class=&quot;nl&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;#fff&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
			&lt;span class=&quot;nl&quot;&gt;border-radius&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;4px&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
			&lt;span class=&quot;nl&quot;&gt;cursor&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;pointer&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
		&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
		&lt;span class=&quot;nt&quot;&gt;button&lt;/span&gt;&lt;span class=&quot;nd&quot;&gt;:hover&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
			&lt;span class=&quot;nl&quot;&gt;background-color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;#66b1ff&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
		&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;nt&quot;&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;网页&lt;span class=&quot;nt&quot;&gt;&amp;lt;/h1&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;&amp;lt;p&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;HTML结构 | CSS美化 |&lt;span class=&quot;nt&quot;&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;button&lt;/span&gt; &lt;span class=&quot;na&quot;&gt;onclick=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;clickBtn()&quot;&lt;/span&gt;&lt;span class=&quot;nt&quot;&gt;&amp;gt;&lt;/span&gt;点击我触发交互&lt;span class=&quot;c&quot;&gt;&amp;lt;!-- JS交互代码 --&amp;gt;&lt;/span&gt;
	&lt;span class=&quot;nt&quot;&gt;&amp;lt;script&amp;gt;&lt;/span&gt;
		&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;clickBtn&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
			&lt;span class=&quot;nx&quot;&gt;alert&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;JS生效啦！网页已经可以交互了✨&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
		&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
	&lt;span class=&quot;nt&quot;&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class=&quot;nt&quot;&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;运行效果&lt;/strong&gt;：页面美观整洁，点击按钮会弹出提示框，网页真正实现人机交互，变成完整可用的网页。&lt;/p&gt;

&lt;h3 id=&quot;三三者配合流程浏览器如何渲染网页&quot;&gt;三、三者配合流程：浏览器如何渲染网页？&lt;/h3&gt;
&lt;p&gt;浏览器打开网页时，会按照固定顺序执行三类代码，缺一不可：&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;第一步：解析HTML&lt;/strong&gt;&lt;br /&gt;
读取HTML代码，生成网页DOM结构，渲染出所有文字、按钮、图片等基础内容。&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;第二步：加载CSS&lt;/strong&gt;&lt;br /&gt;
读取CSS样式，给所有HTML元素统一美化，完成页面布局和视觉优化，生成静态美观页面。&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;第三步：执行JavaScript&lt;/strong&gt;&lt;br /&gt;
运行JS代码，监听用户操作，动态修改页面内容和样式，实现所有交互功能。&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;四三者核心区别总结表&quot;&gt;四、三者核心区别总结表&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;技术&lt;/th&gt;
      &lt;th&gt;角色定位&lt;/th&gt;
      &lt;th&gt;核心功能&lt;/th&gt;
      &lt;th&gt;语言类型&lt;/th&gt;
      &lt;th&gt;是否可独立运行&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;HTML&lt;/td&gt;
      &lt;td&gt;网页骨架&lt;/td&gt;
      &lt;td&gt;搭建结构、存放页面内容&lt;/td&gt;
      &lt;td&gt;标记语言&lt;/td&gt;
      &lt;td&gt;可以，仅显示浏览器原生简陋页面&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;CSS&lt;/td&gt;
      &lt;td&gt;网页美颜&lt;/td&gt;
      &lt;td&gt;美化样式、完成页面布局&lt;/td&gt;
      &lt;td&gt;样式表语言&lt;/td&gt;
      &lt;td&gt;不可以，必须依托HTML才能生效&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;JS&lt;/td&gt;
      &lt;td&gt;网页灵魂&lt;/td&gt;
      &lt;td&gt;编写逻辑、实现人机交互&lt;/td&gt;
      &lt;td&gt;脚本编程语言&lt;/td&gt;
      &lt;td&gt;可以，可独立运行代码；操作网页必须依赖HTML&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 id=&quot;五新手学习顺序建议&quot;&gt;五、新手学习顺序建议&lt;/h3&gt;
&lt;ol&gt;
  &lt;li&gt;先学&lt;strong&gt;HTML&lt;/strong&gt;：打好页面结构基础，熟悉各类标签用法&lt;br /&gt;&lt;/li&gt;
  &lt;li&gt;再学&lt;strong&gt;CSS&lt;/strong&gt;：掌握页面布局和美化技巧，做出好看的静态页面&lt;br /&gt;&lt;/li&gt;
  &lt;li&gt;最后学&lt;strong&gt;JavaScript&lt;/strong&gt;：学习编程逻辑，实现网页交互特效&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;所有前端框架（Vue、React、uniapp）、小程序、移动端网页，&lt;strong&gt;全部都是基于这三门基础技术封装而来&lt;/strong&gt;，学好网页三剑客，才算真正入门前端。&lt;/p&gt;

&lt;h3 id=&quot;文末总结&quot;&gt;文末总结&lt;/h3&gt;
&lt;ul&gt;
  &lt;li&gt;HTML：&lt;strong&gt;有内容&lt;/strong&gt;，让网页有东西可看&lt;/li&gt;
  &lt;li&gt;CSS：&lt;strong&gt;有颜值&lt;/strong&gt;，让网页变得好看&lt;/li&gt;
  &lt;li&gt;JS：&lt;strong&gt;有灵魂&lt;/strong&gt;，让网页可以互动&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;三者相辅相成，共同构成了整个互联网网页的底层地基，学好这三门技术，你就已经敲开了前端开发的大门。&lt;/p&gt;
</description>
        <pubDate>Wed, 17 Jun 2026 00:00:00 +0000</pubDate>
        <link>https://bill74186.github.io/2026/06/17/WhatIsThe-HTML-CSS-JS/</link>
        <guid isPermaLink="true">https://bill74186.github.io/2026/06/17/WhatIsThe-HTML-CSS-JS/</guid>
        
        <category>教程</category>
        
        
      </item>
    
      <item>
        <title>如何学习Python</title>
        <description>&lt;h2 id=&quot;如何快速学习python&quot;&gt;如何快速学习Python&lt;/h2&gt;

&lt;h3 id=&quot;前言&quot;&gt;前言&lt;/h3&gt;
&lt;p&gt;在编程语言百花齐放的今天，Python 凭借其简洁的语法、强大的生态和广泛的应用场景，成为无数编程入门者的首选语言。很多人都听过“Python 简单易学”的说法，但真正上手时却常常陷入“看了就会，写了就废”的困境。本文将围绕五个核心问题，带你理清 Python 学习的思路，掌握快速入门的正确方法。&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;什么是-python-&quot;&gt;什么是 Python ？&lt;/h3&gt;
&lt;p&gt;Python 是一门&lt;strong&gt;高级、解释型、面向对象&lt;/strong&gt;的通用编程语言，由荷兰程序员吉多·范罗苏姆（Guido van Rossum）于 1991 年正式发布。它的设计哲学是“优雅、明确、简单”，核心目标是让程序员能够用更少的代码完成更多的工作。&lt;/p&gt;

&lt;p&gt;与 C、Java 等语言相比，Python 语法极度接近自然语言，去掉了繁琐的括号、类型声明和内存管理等底层细节。同样一个功能，Python 的代码量往往只有其他语言的几分之一。&lt;/p&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;c1&quot;&gt;# Python 实现一行输出 Hello World
&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Hello World&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Python 也是解释型语言，代码无需编译即可运行，写完就能看到结果，非常适合快速验证想法。同时它拥有极其丰富的第三方库生态，几乎所有领域都有成熟的工具包可以直接调用。&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;学了-python-有什么用&quot;&gt;学了 Python 有什么用？&lt;/h3&gt;

&lt;p&gt;Python 被称为“万能语言”，不是因为它在每个领域都最强，而是因为它几乎&lt;strong&gt;无处不在&lt;/strong&gt;。学习 Python 之后，你可以涉足这些方向：&lt;/p&gt;

&lt;h4 id=&quot;1-数据分析与可视化&quot;&gt;1. 数据分析与可视化&lt;/h4&gt;

&lt;p&gt;利用 Pandas、NumPy、Matplotlib 等库，快速处理海量表格数据、生成统计图表，是运营、财务、科研等岗位提效的利器。&lt;/p&gt;

&lt;h4 id=&quot;2-人工智能与机器学习&quot;&gt;2. 人工智能与机器学习&lt;/h4&gt;

&lt;p&gt;Python 是 AI 领域的事实标准语言，TensorFlow、PyTorch、Scikit-learn 等主流框架均基于 Python 开发，从传统机器学习到大模型应用都离不开它。&lt;/p&gt;

&lt;h4 id=&quot;3-自动化脚本与办公提效&quot;&gt;3. 自动化脚本与办公提效&lt;/h4&gt;

&lt;p&gt;批量处理文件、自动整理数据、定时发送邮件、操控 Excel/Word……几行代码就能替代几小时的重复劳动，显著提升工作效率。&lt;/p&gt;

&lt;h4 id=&quot;4-web-后端开发&quot;&gt;4. Web 后端开发&lt;/h4&gt;

&lt;p&gt;借助 Django、Flask、FastAPI 等框架，可以快速搭建网站接口和后台服务，开发效率远高于多数后端语言。&lt;/p&gt;

&lt;h4 id=&quot;5-网络爬虫与信息采集&quot;&gt;5. 网络爬虫与信息采集&lt;/h4&gt;

&lt;p&gt;通过 Requests、BeautifulSoup、Scrapy 等工具，自动化采集网络公开数据，用于市场分析、舆情监控、资料整理等场景。&lt;/p&gt;

&lt;p&gt;除此之外，Python 在自动化运维、游戏开发、科学计算、区块链等领域也都有广泛应用。哪怕不做专职程序员，掌握 Python 也能成为你职场中的核心竞争力。&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;如何快速学习-python-&quot;&gt;如何快速学习 Python ？&lt;/h3&gt;

&lt;p&gt;“快速学习”不等于“跳过基础”，而是&lt;strong&gt;用最短的时间建立完整的知识体系，避开无效学习&lt;/strong&gt;。这里给出一套高效的学习路径：&lt;/p&gt;

&lt;h4 id=&quot;第一阶段夯实基础12-周&quot;&gt;第一阶段：夯实基础（1~2 周）&lt;/h4&gt;

&lt;p&gt;优先掌握核心语法，不要在细枝末节上死磕。重点攻克这些内容：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;变量、数据类型、输入输出&lt;/li&gt;
  &lt;li&gt;条件判断与循环结构&lt;/li&gt;
  &lt;li&gt;列表、字典、元组、集合四大数据结构&lt;/li&gt;
  &lt;li&gt;函数定义、参数传递、返回值&lt;/li&gt;
  &lt;li&gt;文件读写与异常处理&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;学习要点&lt;/strong&gt;：不要同时看多套教程，选一套系统课程跟着走，每个知识点配套 3~5 个练习题即可。&lt;/p&gt;

&lt;h4 id=&quot;第二阶段进阶提升23-周&quot;&gt;第二阶段：进阶提升（2~3 周）&lt;/h4&gt;

&lt;p&gt;理解面向对象编程思想，掌握类与对象、继承、封装、多态等概念；同时开始接触常用标准库，比如 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;os&lt;/code&gt;、&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;time&lt;/code&gt;、&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;random&lt;/code&gt;、&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;re&lt;/code&gt; 正则表达式等。&lt;/p&gt;

&lt;h4 id=&quot;第三阶段专项深入按需学习&quot;&gt;第三阶段：专项深入（按需学习）&lt;/h4&gt;

&lt;p&gt;基础打牢后，不要盲目学全栈，选定一个方向深耕。想做数据分析就学 Pandas；想做自动化就主攻文件操作和脚本开发；想做 Web 就深入一个框架。&lt;/p&gt;

&lt;h4 id=&quot;避坑提醒&quot;&gt;避坑提醒&lt;/h4&gt;

&lt;ul&gt;
  &lt;li&gt;不要沉迷“收集资料”，硬盘里存几十 G 教程不会让你学会编程&lt;/li&gt;
  &lt;li&gt;不要死磕冷门语法，90% 的场景只会用到 10% 的知识点&lt;/li&gt;
  &lt;li&gt;不要频繁切换语言，先把一门学到能用的程度再考虑扩展&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;是否动手实践写代码&quot;&gt;是否动手实践写代码？&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;答案是肯定的，而且是必须动手。&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;编程是一门技能，不是知识。只看视频、只看书本，就像只看游泳教程不下水，永远学不会。很多人陷入“听课都懂，自己写就大脑空白”的误区，本质就是动手太少。&lt;/p&gt;

&lt;p&gt;动手写代码的意义在于：&lt;/p&gt;

&lt;p&gt;1.&lt;strong&gt;纠正认知偏差&lt;/strong&gt;：很多语法你以为懂了，一写就会发现各种报错&lt;br /&gt;
2.&lt;strong&gt;培养调试能力&lt;/strong&gt;：排查错误、定位 Bug 是程序员的核心能力&lt;br /&gt;
3.&lt;strong&gt;形成肌肉记忆&lt;/strong&gt;：写得多了，基础语法才能信手拈来&lt;br /&gt;
4.&lt;strong&gt;建立成就感&lt;/strong&gt;：跑通一个程序、解决一个问题，是持续学习的动力来源&lt;/p&gt;

&lt;p&gt;哪怕是最简单的例子，也一定要亲手敲一遍，而不是复制粘贴。每一个报错都是进步的机会，不要害怕出错。&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;动手实践起来吧&quot;&gt;动手实践起来吧！&lt;/h3&gt;

&lt;p&gt;说再多不如动手写几行。这里准备了三个入门级小练习，你可以立刻打开编辑器尝试实现。&lt;/p&gt;

&lt;h4 id=&quot;练习-1猜数字游戏&quot;&gt;练习 1：猜数字游戏&lt;/h4&gt;

&lt;p&gt;程序随机生成一个 1~100 的数字，用户循环输入猜测，程序提示“太大了”或“太小了”，直到猜对为止。&lt;/p&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;  
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;random&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;target&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;random&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;randint&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;100&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;count&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;while&lt;/span&gt; &lt;span class=&quot;bp&quot;&gt;True&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;try&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;num&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;int&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;请输入你猜的数字：&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;count&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;num&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;target&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;太大了！&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;elif&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;num&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;target&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;太小了！&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
            &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sa&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;恭喜你猜对了！答案就是 &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;target&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;，你一共猜了 &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;count&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s&quot;&gt; 次&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
            &lt;span class=&quot;k&quot;&gt;break&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;except&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;ValueError&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;请输入有效的整数！&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h4 id=&quot;练习-2批量重命名文件&quot;&gt;练习 2：批量重命名文件&lt;/h4&gt;

&lt;p&gt;将指定文件夹下所有 txt 文件按顺序重命名为 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;file_1.txt&lt;/code&gt;、&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;file_2.txt&lt;/code&gt;……&lt;/p&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;  
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;os&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;folder_path&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;./test_files&quot;&lt;/span&gt;  &lt;span class=&quot;c1&quot;&gt;# 替换为你的文件夹路径
&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;count&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;listdir&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;folder_path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;endswith&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;.txt&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;old_path&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;folder_path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;filename&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;new_path&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;join&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;folder_path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;sa&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;file_&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;count&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;.txt&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;os&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;rename&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;old_path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;new_path&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;count&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sa&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;共重命名了 &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;count&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s&quot;&gt; 个文件&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h4 id=&quot;练习-3九九乘法表&quot;&gt;练习 3：九九乘法表&lt;/h4&gt;

&lt;p&gt;用循环打印出标准的九九乘法表。&lt;/p&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
4
5
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;  
&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;range&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;j&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;range&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sa&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;×&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;*&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;end&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\t&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;完成这三个练习后，你就已经跨过了 Python 的入门门槛。接下来可以从自己的真实需求出发，找一个小项目完整做下来——比如做一个记账脚本、爬取自己喜欢的网站数据、写一个简单的待办清单工具。&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;写在最后&quot;&gt;写在最后&lt;/h3&gt;

&lt;p&gt;快速学习 Python 的秘诀，总结起来就是：先抓主干、边学边练、以用促学。不要追求“完全学会了再动手”，编程永远是边做边学的过程。&lt;/p&gt;

&lt;p&gt;从你写下第一行 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;print(&quot;Hello World&quot;)&lt;/code&gt; 开始，就已经走在了正确的路上。保持耐心，持续输出代码，很快你就能感受到 Python 带来的效率与乐趣。&lt;/p&gt;
</description>
        <pubDate>Sun, 14 Jun 2026 00:00:00 +0000</pubDate>
        <link>https://bill74186.github.io/2026/06/14/HowToLearnPython/</link>
        <guid isPermaLink="true">https://bill74186.github.io/2026/06/14/HowToLearnPython/</guid>
        
        <category>教程</category>
        
        <category>学习</category>
        
        
      </item>
    
      <item>
        <title>博客的进度</title>
        <description>&lt;blockquote&gt;
  &lt;p&gt;完成了&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&quot;博客进度&quot;&gt;博客进度&lt;/h2&gt;

&lt;p&gt;回应上期博客内容，我已经把博客的评论系统做好了&lt;/p&gt;

&lt;p&gt;并且制作了③套评论系统，可供大家使用：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;giscus&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;utterances&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gitalk&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;这三套在国内是可以稳定运行且 UI 界面都很不错的评论系统&lt;/p&gt;

&lt;p&gt;后面我会慢慢细讲&lt;/p&gt;

&lt;h2 id=&quot;修改方面&quot;&gt;修改方面&lt;/h2&gt;

&lt;p&gt;历经两周的修改融合，我已经修改一下基本内容：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;完全个人化博客，不再依赖Hux部分源代码&lt;/li&gt;
  &lt;li&gt;充分利用之前引入 fa 图标，使界面跟好看&lt;/li&gt;
  &lt;li&gt;增加&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Microsoft Clarity&lt;/code&gt;，根据用户优化界面&lt;/li&gt;
  &lt;li&gt;增加&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;comments.html&lt;/code&gt;，单文件管理评论&lt;/li&gt;
  &lt;li&gt;增加&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sitemap.xml&lt;/code&gt;，让搜索引擎收录博客&lt;/li&gt;
  &lt;li&gt;增加&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;robots.txt&lt;/code&gt;，开放搜索机器人&lt;/li&gt;
  &lt;li&gt;增加&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;README.zhTW.md&lt;/code&gt;，繁體中文版仓库介绍&lt;/li&gt;
  &lt;li&gt;删除&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ads.html&lt;/code&gt;，减少广告的植入&lt;/li&gt;
  &lt;li&gt;删除&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;multilingual-sel.html&lt;/code&gt;，去除post语言选择&lt;/li&gt;
  &lt;li&gt;删除&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mathjax_support.html&lt;/code&gt;，整合进了&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;footer.html&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;修改&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_config.yml&lt;/code&gt;，实现所有自定义代码的可开关性&lt;/li&gt;
  &lt;li&gt;修改&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;README.md&lt;/code&gt;，完全自己的仓库介绍&lt;/li&gt;
  &lt;li&gt;修改代码的注释机制，避免无用的空注释&lt;/li&gt;
  &lt;li&gt;完成三种语言的仓库博客的介绍，确定主语言&lt;/li&gt;
  &lt;li&gt;完成优化代码的过程，减少不必要的类名&lt;/li&gt;
  &lt;li&gt;确定博客未来的发展方向&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;回应之前&quot;&gt;回应之前&lt;/h2&gt;

&lt;h3 id=&quot;评论系统&quot;&gt;评论系统&lt;/h3&gt;

&lt;p&gt;上期博客的最后我说会做出评论系统，我也做出来啦&lt;/p&gt;

&lt;p&gt;为了省事，我直接使用了现成的评论方案(&lt;del&gt;就是懒&lt;/del&gt;)&lt;/p&gt;

&lt;p&gt;目前来说，这些评论系统基本不会立马倒掉，可放心使用&lt;/p&gt;

&lt;p&gt;下面是这个评论系统方案的配置代码：&lt;/p&gt;

&lt;div class=&quot;language-yaml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;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
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;c1&quot;&gt;# 评论总开关&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;comments&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;true/false&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;]&lt;/span&gt;

&lt;span class=&quot;na&quot;&gt;giscus&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;enable&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;true/false&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;]&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;repo&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;username/reponame&quot;&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;repo_id&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;[Repository&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;ID]&quot;&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;category&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;[Category&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;Name]&quot;&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;category_id&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;[Category&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;ID]&quot;&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;mapping&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;[pathname/url/title]&quot;&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;strict&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;0/1&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;]&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;reactions_enabled&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;0/1&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;]&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;emit_metadata&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;0/1&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;]&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;input_position&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;[top/bottom]&quot;&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;theme&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;[light/dark/custom]&quot;&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;lang&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;[zh-CN/en-US/other]&quot;&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;loading&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;[lazy/eager]&quot;&lt;/span&gt;

&lt;span class=&quot;na&quot;&gt;utterances&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;enable&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;true/false&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;]&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;repo&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;username/reponame&quot;&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;issue_term&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;pathname&quot;&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;label&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;[Comment/other]&quot;&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;theme&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;[github-light/other]&quot;&lt;/span&gt;

&lt;span class=&quot;na&quot;&gt;gitalk&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;enable&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;true/false&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;]&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;clientID&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;[Client&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;ID]&quot;&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;clientSecret&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;[Client&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;Secret]&quot;&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;repo&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;username/reponame&quot;&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;owner&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;[Owner&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;Name]&quot;&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;admin&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;[Admin&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;Account]&quot;&lt;/span&gt;
  &lt;span class=&quot;na&quot;&gt;distractionFreeMode&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;pi&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt;true/false&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;]&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;如果不用直接false就行了，建议不要直接删代码&lt;/p&gt;

&lt;p&gt;还有一个专门的&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;comments.html&lt;/code&gt;插入评论&lt;/p&gt;

&lt;p&gt;大家可以自己看一下，&lt;strong&gt;不要用我的ID做&lt;/strong&gt;！&lt;/p&gt;

&lt;h3 id=&quot;数学公式&quot;&gt;数学公式&lt;/h3&gt;

&lt;p&gt;一些特殊的数学符号是无法正常显示的，所以需要使用&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mathjax&lt;/code&gt;库显示&lt;/p&gt;

&lt;p&gt;这个库可以完美显示所有数学物理的公式与式子，这里就不做演示了&lt;/p&gt;

&lt;p&gt;之前Huxpro的博客也使用mathjax库，但版本有点旧，也有一点Bug&lt;/p&gt;

&lt;p&gt;所以我就换成了兼容&lt;strong&gt;IE11&lt;/strong&gt;的3.2.2版本(&lt;em&gt;已经是最后的兼容了&lt;/em&gt;)&lt;/p&gt;

&lt;p&gt;最终整合后的代码如下：&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;
&amp;lt;!-- add support for mathjax --&amp;gt;
&amp;lt;script&amp;gt;
window.MathJax = {
  tex: {
	inlineMath: [[&apos;$&apos;, &apos;$&apos;]],
	displayMath: [[&apos;$$&apos;, &apos;$$&apos;]],
	processEscapes: true,
	equationNumbers: { autoNumber: &quot;AMS&quot; }
  },
  svg: {
	scale: 0.9,
	fontCache: &apos;global&apos;
  }
};
&amp;lt;/script&amp;gt;
&amp;lt;script type=&quot;text/javascript&quot; id=&quot;MathJax-script&quot; async
  src=&quot;https://cdn.bootcdn.net/ajax/libs/mathjax/3.2.2/es5/tex-svg.min.js&quot;&amp;gt;
&amp;lt;/script&amp;gt;

&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h4 id=&quot;注意&quot;&gt;注意&lt;/h4&gt;

&lt;p&gt;开启mathjax必须要在&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;_config.yml&lt;/code&gt;和&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;*Front Matter&lt;/code&gt;都写上下面的代码才行：&lt;/p&gt;

&lt;div class=&quot;language-yaml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;na&quot;&gt;mathjax&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;true&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;像这样：&lt;/p&gt;

&lt;div class=&quot;language-yaml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
4
5
6
7
8
9
10
11
12
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;nn&quot;&gt;---&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;layout&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;post&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;文章标题&quot;&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;subtitle&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;文章小标题&quot;&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;author&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;作者&quot;&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;header-img&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;img/post-bg-4.png&quot;&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;header-mask&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;0.2&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;# 下面的代码就是开关，不要就删掉或改成false&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;mathjax&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;true&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;tags&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;
  &lt;span class=&quot;pi&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;标签&lt;/span&gt;
&lt;span class=&quot;nn&quot;&gt;---&lt;/span&gt;
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;不想用千万不要直接删代码！&lt;/strong&gt;&lt;/p&gt;

&lt;h2 id=&quot;后续计划&quot;&gt;后续计划&lt;/h2&gt;

&lt;p&gt;后续我可能会添加繁體中文版的About页，呼应仓库&lt;/p&gt;

&lt;p&gt;全部使用less或CSS做样式文件，增加giscus专门的界面样式&lt;/p&gt;

&lt;p&gt;深度修改优化JS代码，脱离Huxpro的代码&lt;/p&gt;

&lt;p&gt;&lt;del&gt;增加几篇水博客，忽悠浏览用户&lt;/del&gt;&lt;/p&gt;

&lt;h4 id=&quot;后记&quot;&gt;后记&lt;/h4&gt;

&lt;p&gt;博客做得很好了，给个Star吧！&lt;/p&gt;
</description>
        <pubDate>Fri, 12 Jun 2026 00:00:00 +0000</pubDate>
        <link>https://bill74186.github.io/2026/06/12/alreadyblog/</link>
        <guid isPermaLink="true">https://bill74186.github.io/2026/06/12/alreadyblog/</guid>
        
        <category>重要</category>
        
        <category>博客</category>
        
        
      </item>
    
      <item>
        <title>重要提示</title>
        <description>&lt;blockquote&gt;
  &lt;p&gt;it’s already half&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&quot;博客怎么样了&quot;&gt;博客怎么样了？&lt;/h2&gt;

&lt;p&gt;基本完工了！&lt;/p&gt;

&lt;p&gt;已经添加修改包括以下内容:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;完全个人化&lt;/li&gt;
  &lt;li&gt;充分利用 fa 图标&lt;/li&gt;
  &lt;li&gt;增加&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;sitemap.xml&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;增加&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;robots.txt&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;优化注释机制&lt;/li&gt;
  &lt;li&gt;增加Microsoft Clarity&lt;/li&gt;
  &lt;li&gt;完成三种语言的介绍&lt;/li&gt;
  &lt;li&gt;优化代码，减少类名&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;哪我去除了什么&quot;&gt;哪我去除了什么&lt;/h2&gt;

&lt;p&gt;很遗憾，评论系统被墙了&lt;/p&gt;

&lt;p&gt;所以我就删掉了😭&lt;/p&gt;

&lt;p&gt;同时，我删掉修改了一些无用注释&lt;/p&gt;

&lt;p&gt;这是必要的，也是刚需的&lt;/p&gt;

&lt;h2 id=&quot;然后呢&quot;&gt;然后呢？&lt;/h2&gt;

&lt;p&gt;dis的评论不行，我准备以后使用gitalk来实现评论系统&lt;/p&gt;

&lt;p&gt;等我的好消息吧！愿你保持好奇&lt;/p&gt;

&lt;h2 id=&quot;后记&quot;&gt;后记&lt;/h2&gt;

&lt;p&gt;我已经连续开发了一周&lt;/p&gt;

&lt;p&gt;喜欢就给个Star吧！&lt;/p&gt;

&lt;h2 id=&quot;今天早上开启-giscus-评论&quot;&gt;今天早上开启 Giscus 评论&lt;/h2&gt;

&lt;p&gt;2026-06-08 00:00&lt;/p&gt;
</description>
        <pubDate>Sun, 07 Jun 2026 00:00:00 +0000</pubDate>
        <link>https://bill74186.github.io/2026/06/07/halfalready/</link>
        <guid isPermaLink="true">https://bill74186.github.io/2026/06/07/halfalready/</guid>
        
        <category>重要</category>
        
        <category>博客</category>
        
        
      </item>
    
      <item>
        <title>2048-Game</title>
        <description>&lt;blockquote&gt;
  &lt;p&gt;2048-Game, my first repository&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;2048-Game 是我&lt;strong&gt;第一个也是开发最久&lt;/strong&gt;的GitHub仓库&lt;/p&gt;

&lt;p&gt;现在它已经更新到了 &lt;strong&gt;v2.5.9(160)&lt;/strong&gt; 版本，版本迭代很快&lt;/p&gt;

&lt;p&gt;(&lt;em&gt;它曾经还是我的个人主页&lt;/em&gt;)&lt;/p&gt;

&lt;h2 id=&quot;这个项目的由来&quot;&gt;这个项目的由来&lt;/h2&gt;

&lt;p&gt;在我刚注册完 GitHub 后就关注到了原版 &lt;a href=&quot;https://github.com/gabrielecirulli/2048&quot;&gt;gabrielecirulli&lt;/a&gt; 的开源2048&lt;/p&gt;

&lt;p&gt;我当时非常感兴趣，于是我就下载了下来，开始研究&lt;/p&gt;

&lt;p&gt;但由于种种原因，直到4月中旬，我才正式开始编辑&lt;/p&gt;

&lt;p&gt;半个月之后，我终于完成了这个项目，并推送到了GitHub上&lt;/p&gt;

&lt;h2 id=&quot;项目细节&quot;&gt;项目细节&lt;/h2&gt;

&lt;p&gt;最开始我其实是想用原生 JavaScript 实现的&lt;/p&gt;

&lt;p&gt;带感觉有点难度，所以使用 JQuery 动画实现了&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;确定使用 jQuery 之后，我就开始疯狂编辑&lt;/p&gt;

&lt;p&gt;18号的时候，我就基本做完了初始代码，然后开始&lt;strong&gt;疯狂调试&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;调得基本差不多的时候，我就尝试把代码分开来，弄完后就开始翻译&lt;strong&gt;30种语言&lt;/strong&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;这些都搞完后，我又开着别人的&lt;strong&gt;彩蛋设置页面&lt;/strong&gt;，感觉非常的&lt;em&gt;cool~&lt;/em&gt;，&lt;/p&gt;

&lt;p&gt;所以我也加进来了，并对它进行了一些优化(&lt;em&gt;实际上改了很多&lt;/em&gt;)&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;这些都差不多搞完后,我就把项目推送到了 GitHub 上面，开始实际页面调试&lt;/p&gt;

&lt;p&gt;上传完后，我在应用商店里面看到一个AI工具—— TRAE 。&lt;/p&gt;

&lt;p&gt;据说他可以直接连接你的 GitHub 仓库，于是我就下载来使用了一下&lt;/p&gt;

&lt;p&gt;效果也是非常的好，帮我修复了很多 BUG，在这里也推荐你们用一下&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;搞了这些以后，我就陆陆续续的更新了一些东西(&lt;em&gt;比如WASD操控&lt;/em&gt;)&lt;/p&gt;

&lt;p&gt;随后我就开始静默更新了(&lt;em&gt;相当于已经存档了&lt;/em&gt;)&lt;/p&gt;

&lt;hr /&gt;

&lt;blockquote&gt;
  &lt;p&gt;更多细节，你可以看看我的&lt;a href=&quot;https://github.com/bill74186/2048-Game/blob/main/description.md&quot;&gt;更新日志&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&quot;使用方法&quot;&gt;使用方法&lt;/h2&gt;

&lt;h3 id=&quot;1-直接访问-2048-game&quot;&gt;1. 直接访问 2048-Game&lt;/h3&gt;

&lt;p&gt;点这里→ &lt;a href=&quot;https://bill74186.github.io/2048-Game&quot;&gt;2048-Game&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&quot;2-下载游玩&quot;&gt;2. 下载游玩&lt;/h3&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
2
3
4
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;git clone git@github.com/bill74186/2048-Game.git
cd 2048-Game
python3 -m http.server 8080
# Press &quot;Ctrl + C&quot; to stop
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;后记&quot;&gt;后记&lt;/h2&gt;

&lt;p&gt;珍惜时光，给个Star！&lt;br /&gt;
    ——bill74186&lt;/p&gt;
</description>
        <pubDate>Sat, 06 Jun 2026 00:00:00 +0000</pubDate>
        <link>https://bill74186.github.io/2026/06/06/2048-Game/</link>
        <guid isPermaLink="true">https://bill74186.github.io/2026/06/06/2048-Game/</guid>
        
        <category>项目</category>
        
        <category>仓库</category>
        
        
      </item>
    
      <item>
        <title>Hi, bill74186</title>
        <description>&lt;blockquote&gt;
  &lt;p&gt;关于我自己&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1 id=&quot;bill74186&quot;&gt;bill74186&lt;/h1&gt;

&lt;p&gt;我的网名叫做 &lt;strong&gt;bill74186&lt;/strong&gt; 。&lt;br /&gt;
为什么叫这个呢？&lt;br /&gt;
有几种&lt;strong&gt;原因&lt;/strong&gt;：&lt;/p&gt;

&lt;h2 id=&quot;1-字面意思&quot;&gt;1. 字面“意思”&lt;/h2&gt;

&lt;p&gt;我就想起这个名字，&lt;br /&gt;
之前也用过其他的&lt;del&gt;(&lt;em&gt;比如1920141mmll&lt;/em&gt;)&lt;/del&gt;&lt;br /&gt;
bill 这个英文单词的意思就是：&lt;br /&gt;&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;table class=&quot;rouge-table&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class=&quot;rouge-gutter gl&quot;&gt;&lt;pre class=&quot;lineno&quot;&gt;1
&lt;/pre&gt;&lt;/td&gt;&lt;td class=&quot;rouge-code&quot;&gt;&lt;pre&gt;bill [bɪl] n. 比尔(人名)
&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;就是这么&lt;strong&gt;简单&lt;/strong&gt;&lt;br /&gt;
至于 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;74186&lt;/code&gt; 这串数字… 就是顺口罢了！&lt;/p&gt;

&lt;h2 id=&quot;2-有点意思&quot;&gt;2. 有点“意思”&lt;/h2&gt;

&lt;p&gt;bill 的意思还有&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;钞票，账单&lt;/code&gt;的意思&lt;br /&gt;
billion (亿)和 bill 像不像？&lt;br /&gt;
然后后面跟着一串&lt;em&gt;“小数字”&lt;/em&gt;，&lt;br /&gt;
懂了吧 7418.6 billion 的 money !💰&lt;/p&gt;

&lt;h2 id=&quot;3-还有意思&quot;&gt;3. 还有“意思”&lt;/h2&gt;

&lt;p&gt;bill74186 还是我的一个仓库，&lt;br /&gt;
用于介绍我自己(就是ABOUT页面的内容)&lt;br /&gt;
MarkDown 写的还行，有兴趣可以看一下&lt;/p&gt;

&lt;h1 id=&quot;知道了吗&quot;&gt;知道了吗？&lt;/h1&gt;

&lt;p&gt;现在，你知道 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;bill74186&lt;/code&gt; 是什么意思了吗？&lt;/p&gt;
</description>
        <pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate>
        <link>https://bill74186.github.io/2026/06/05/Hi-bill74186/</link>
        <guid isPermaLink="true">https://bill74186.github.io/2026/06/05/Hi-bill74186/</guid>
        
        <category>个人</category>
        
        <category>博客</category>
        
        <category>项目</category>
        
        
      </item>
    
      <item>
        <title>你好 「Bill博客」</title>
        <description>&lt;blockquote&gt;
  &lt;p&gt;“Yeah It’s on. ”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3 id=&quot;bill74186-的-blog-就这么开通了&quot;&gt;bill74186 的 Blog 就这么开通了。&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;#build&quot;&gt;跳过废话，直接看技术实现 &lt;/a&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;今天我终于有地方分享我的生活了&lt;/p&gt;

&lt;p&gt;之前我的个人主页一直是我的&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;2048-Game&lt;/code&gt;项目的网页，看起来没有排面&lt;/p&gt;

&lt;p&gt;之前一直没有时间搞个人主页（&lt;em&gt;主要还是懒～&lt;/em&gt;） 六一的时候觉得没有博客有点丢脸&lt;/p&gt;

&lt;p&gt;所以一不做二不休花了&lt;strong&gt;三天&lt;/strong&gt;时间部署我的Blog，现在基本搞好了&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://bill74186.github.io/img/blog-title.png&quot; alt=&quot;blog-title.png&quot; /&gt;&lt;/p&gt;

&lt;p id=&quot;build&quot;&gt;&lt;/p&gt;

&lt;h1 id=&quot;正文&quot;&gt;正文&lt;/h1&gt;

&lt;p&gt;接下来说说搭建这个博客的技术细节。&lt;/p&gt;

&lt;h2 id=&quot;好处&quot;&gt;好处&lt;/h2&gt;

&lt;p&gt;正好之前就有关注过 &lt;a href=&quot;https://pages.github.com/&quot;&gt;GitHub Pages&lt;/a&gt; + &lt;a href=&quot;http://jekyllrb.com/&quot;&gt;Jekyll&lt;/a&gt; 快速 Building Blog 的技术方案，非常轻松时尚。&lt;/p&gt;

&lt;p&gt;其优点非常明显：&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Markdown&lt;/strong&gt; 带来的优雅写作体验&lt;/li&gt;
  &lt;li&gt;非常熟悉的 Git workflow ，&lt;strong&gt;Git Commit 即 Blog Post&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;利用 GitHub Pages 的域名和免费无限空间，不用自己折腾主机
    &lt;ul&gt;
      &lt;li&gt;如果需要自定义域名，也只需要简单改改 DNS 加个 CNAME 就好了&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Jekyll 的自定制非常容易，基本就是个模版引擎&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;坏处&quot;&gt;坏处&lt;/h2&gt;

&lt;p&gt;本来觉得最大的缺点可能是 GitHub 在国内访问起来太慢，所以第二天一起床就专门找了个VPN加速器加速连接&lt;/p&gt;

&lt;p&gt;结果发现使用 &lt;strong&gt;termux&lt;/strong&gt; &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;git&lt;/code&gt;上传仓库巨快，所以就把VPN删了&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;过程&quot;&gt;过程&lt;/h2&gt;
&lt;p&gt;配置的过程中也没遇到什么坑，基本就是 Git 的流程，相当顺手&lt;/p&gt;

&lt;p&gt;大的 Jekyll 主题上直接 fork 了 Hux Blog（&lt;em&gt;这个主题也相当有名，就不多赘述了。唯一的缺点大概就是评论系统被墙了，于是我忍痛割爱删掉了。&lt;/em&gt;）&lt;/p&gt;

&lt;p&gt;本地调试环境需要 &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gem install jekyll&lt;/code&gt;，结果 rubygem 的源居然被墙了……后来手动改成了我大淘宝的镜像源才成功&lt;/p&gt;

&lt;p&gt;修改文件名时，还算正常。到了修改archive时，当时我想改成&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tags&lt;/code&gt;这个名，结果一直报错，所以就不改了&lt;/p&gt;

&lt;p&gt;最后就进入了耗时反而最长的&lt;strong&gt;做图、写字&lt;/strong&gt;阶段，也算是进入了&lt;strong&gt;写博客&lt;/strong&gt;的正轨，因为是类似 Hack Day 的方式去搭这个站的，所以折腾折腾着大半夜就过去了。&lt;/p&gt;

&lt;p&gt;第二天考虑修改压缩代码，把没有压缩的文件全部压缩或删除了。顺便优化了nav的fa标签&lt;/p&gt;

&lt;h1 id=&quot;后记&quot;&gt;后记&lt;/h1&gt;

&lt;p&gt;回顾这个博客的诞生，纯粹是出于个人兴趣。在博客相关问题上回答并获得一定的 star 后，我决定把这个博客主题当作一个小小的开源项目来维护。&lt;/p&gt;

&lt;p&gt;我也非常感谢我的朋友（&lt;em&gt;TA不愿意透露姓名&lt;/em&gt;），帮我修改一些代码&lt;/p&gt;

&lt;p&gt;如果你恰好逛到了这里，希望你也能喜欢这个博客主题。&lt;/p&gt;

&lt;p&gt;—— bill74186 后记于 2026.06&lt;/p&gt;
</description>
        <pubDate>Thu, 04 Jun 2026 00:00:00 +0000</pubDate>
        <link>https://bill74186.github.io/2026/06/04/HelloBillBlog/</link>
        <guid isPermaLink="true">https://bill74186.github.io/2026/06/04/HelloBillBlog/</guid>
        
        <category>博客</category>
        
        
      </item>
    
  </channel>
</rss>
