这是一篇置顶文章🔝

暂时先用文章置顶做公告吧,置顶样式也没做,新开发的主题,还在完善中,先这样用着吧。 新的博客主题 我在之前的《读“张洪Heo”博客设计有感》一文中也谈过自己的审美偏好,由于我个人不是很喜欢花哨的博客前端页面,更不喜欢“千篇一律”的花哨,更加注重记录本质。所以,即使现在已经有很多优秀开发者分享了他们的


2024-12-10
235
0
置顶

把运维面板由 宝塔 换成 1panel 了

今天把 web 运维面板由宝塔换成 1panel了,记录下发生的问题和解决方法。 前言 看到凌霞官网关于 1panel 销售形式更改的公告后,还是忍不住剁手,从闲鱼入手了所谓绝版的 1panel 账号。本来运维面板对我来说还真算不上刚需,宝塔和 1panel 我都能接受,普通和 pro 也无所谓,毕


2025-01-21
133
0

Halo 博客中 Pjax 实践的通用方案

一、问题分析 先分析下,全页面加载(Full Page Load)和 pjax(PushState + Ajax)请求方式中有哪些 js 引入和方法调用的行为,然后针对差异给出解决方案。 1.1 全页面加载下 js 的引入和方法调用 全页面加载情况下,我们通常会有以下的 js 引入行为: 各个页面公


2025-01-04
216
0

HTML 解析过程中 Script 标签、DomContentLoaded 事件的加载顺序

一、各类型 Script 标签的执行顺序 无属性的 <script> 标签: HTML 解析器遇到无属性的 <script> 标签时,会暂停解析 HTML,立即下载并执行该脚本,然后继续解析后续的 HTML 内容。 这种类型的脚本是同步执行的,会阻塞 HTML 的解析。 带有 defer 属性的 <


2024-12-29
28
0

记录一个新的博客想法

博客只作为内容管理的容器,例如存储、查找等,编辑器只作为输入内容的入口,将编辑器模板渲染和最终网页渲染交给主题开发者。由于自定义程度较高,最好是基于富文本编辑器做。 以瞬间为例,当我们在编辑器切换分类模板后,编辑器就会由一个主题开发者自己规定的模板,例如有内容块、图片块、位置信息块,由自己提供 cs


2024-12-16
34
0

博客文章目录树的设计思路

简单记录和理顺一下想到的思路, 设计思路 核心是文章分类目录树,但也可能会有其他项目,例如首页、友链等。 核心问题是,项目选中状态问题和目录树展开状态问题。 项目选中状态:每个项目有一个独特的 id,统一用这个标识做标记样式类,方便 thymeleaf 初始化,也方便 Alpine 响应式切换。 目


2024-12-13
12
0

如何在外部调用 Alpine Js 声明的变量与函数?

最近开发博客前端的时候,使用的 AlpineJs 来做一些元素事件、状态的管理,由于我之前只有 vue 的相关使用经验,并没有 Alpine 的开发经验,所以时常会陷入一个困惑中——如何在外部的普通 js 环境来调用元素的 Alpine 函数和变量。 需求场景 例如,我在博客左侧的文章目录树中,为了


2024-12-12
30
0

实现微信朋友圈图片九宫格布局

核心点就两个:第一,实现行列间都等间距,使用 grid 布局。第二,图片不拉伸覆盖容器 object-fit 属性。 <style> .imageList { width: 100%; display: grid; grid-template-col


2024-12-09
28
0

tailwindcss 中 ul ol 默认样式为 list-style: none 解决方法

最近在使用的 tailwind 手搓博客前端的时候,遇到的一个不可控的问题,让我产生放弃 tailwind 使用传统 css 样式开发的念头了。本身不是什么大问题,但这种不可控的感觉让人很没有安全感。 一、问题 我的博客文章是 Markdown 格式,所以我使用的 markdown-github-c


2024-12-05
57
0

flex item 在其内容超出宽度而被撑开时,shrink 不生效问题

问题 最近遇到一个奇怪的问题,我有一个父元素和两个子元素,其中: 父元素:定宽、flex; 子元素 a :也设置的定宽,flex-grow 0,flex-shrink 0,flex-basis 300px 子元素 b :flex-grow 1, flex-shrink 1; 原本的需求就是,元素 a


2024-11-30
32
0