博客文章分享卡片功能设计与实现
本文介绍了在博客中实现分享卡片的完整方案。通过 HTML Overlay 弹窗、Canvas 绘制和 qrcode.js 生成二维码,实现卡片展示文章标题、摘要、作者、时间等信息,并支持保存为图片。重点阐述了 Canvas 高分辨率绘制、文本手动换行、二维码异步绘制以及响应式 CSS 适配 PC 与移动端的技巧,配以颜色、字体等 UI 设计细节,并提供获取文章数据和下载图片的代码实现,完成一个兼顾性能与体验的分享功能。
这个话题下有 52 篇手记。
本文介绍了在博客中实现分享卡片的完整方案。通过 HTML Overlay 弹窗、Canvas 绘制和 qrcode.js 生成二维码,实现卡片展示文章标题、摘要、作者、时间等信息,并支持保存为图片。重点阐述了 Canvas 高分辨率绘制、文本手动换行、二维码异步绘制以及响应式 CSS 适配 PC 与移动端的技巧,配以颜色、字体等 UI 设计细节,并提供获取文章数据和下载图片的代码实现,完成一个兼顾性能与体验的分享功能。
本文系统阐述了现代弹幕墙的完整实现方案。首先明确视觉、流畅滚动、防重叠、交互、响应式和状态管理等核心需求;随后基于玻璃拟态风格设计容器和圆角卡片弹幕,并提供六套主题色彩。核心滚动逻辑采用 keyframes 动画结合轨道管理,实现弹幕在不同轨道上的独立运行;通过安全轨道检测和密度自适应调度防止重叠。针对 PC 与移动端的全屏/非全屏场景,制定动态轨道数和居中布局策略,保证在尺寸变化时仍保持美观。交互方面实现速度倍率(0.5‑3×)调节、暂停/播放以及全屏切换时的弹幕清理。最后通过 transform/GPU 加速、对象池复用、事件防抖等手段进行性能与内存优化,确保弹幕墙视觉炫酷、交互流畅、适配广泛。
本文详细阐述了在博客底部实现“每日一句”功能的完整方案。后端采用 Spring Boot + RestTemplate,提供 `/api/daily-quote` 接口,使用 ConcurrentHashMap 按日期缓存当天句子,防止频繁调用有道词典 API,并在异常时返回固定备用句子。前端使用原生 JavaScript 与 CSS3,首次请求后将数据写入 localStorage,实现客户端一天一次的二层缓存;通过 `white-space: nowrap`、`text-overflow: ellipsis` 与 `.expanded` 类实现长句折叠/展开交互。布局采用弹性盒子和媒体查询,在桌面、平板、手机三种断点下自动适配宽度和字号。整体实现了每日更新、降级备份、性能优化和响应式展示,代码可直接复制使用。
本文介绍使用 Java 生成二维码的流程,推荐开源 ZXing 并给出 Maven 依赖。四步完成:配置字符集、容错、边距等 EncodeHintType;使用 QRCodeWriter 编码为 BitMatrix;用 MatrixToImageWriter 输出 PNG;可通过 Graphics2D 添加 Logo、定制颜色。提供 QRCodeService 封装及 Spring Boot 控制器实时返回图片示例,并列出乱码、识别率、性能等注意事项和典型应用场景。掌握后即可快速生成、定制并部署二维码。
打牌记账是一款基于浏览器的实时多人记账工具,支持麻将、斗地主等棋牌玩法。用户可无需注册、直接输入昵称创建或加入最高8人的加密房间,系统自动同步、计算盈亏并提供一键结算、历史记录、二维码/链接邀请等功能。界面包括创建房间、加入房间、记账操作、昵称修改、房间结算及“我加入的房间”列表,支持手机、平板、电脑跨平台使用。应用采用 BCrypt 加密保护密码,具备高并发、低延迟的性能优化,并提供常见问题解答以帮助用户快速上手。
本项目针对多人打牌记账难点,开发了基于 Spring Boot 的 Web 实时记账小程序,实现房间实时同步、最多 8 人协作、数据持久化和跨平台访问。技术选型包括 Spring Boot、MyBatis‑Plus、MySQL、WebSocket、Thymeleaf 等。系统采用三层架构,使用 UUID 生成 8 位房间码、乐观锁控制人数、BCrypt 加密密码,并提供房间、用户、记账等核心业务模块。
随着技术文章代码示例日益冗长,阅读体验受限,作者实现了零依赖、智能折叠的代码块组件。核心采用 CSS max‑height 过渡实现平滑动画,结合实际渲染的字体尺寸、行高和内边距精确计算折叠阈值,仅对超长代码启用。组件提供语言自动识别、复制按钮、ARIA 可访问属性以及响应式触摸优化。性能测试显示首屏加载下降 11%、交互延迟降 28%、代码占比减半,移动端阅读完成率提升 40%。文中还总结了主题兼容、动画防抖、触控尺寸等实现挑战及对应方案,并给出渐进增强、性能优先、无障碍设计等最佳实践,提出虚拟滚动、状态持久化和结构化折叠等后续优化方向。
本文介绍在 Spring Boot + Thymeleaf 项目中实现高精度评论深层链接的完整方案。通过后端递归计算目标评论的顶级父 ID(Thread ID),在邮件链接中携带 commentId 和 threadId,并保留锚点作降级;前端脚本解析参数,判断评论是否被折叠,自动展开父级、轮询 AJAX 加载、双重滚动修正图片加载导致的偏移,并以 Teal 呼吸灯动画高亮目标。该实现解决了定位失效、隐藏内容和视觉反馈弱等痛点,提升了用户在邮件通知中快速定位回复的体验。
本文记录了博客留言板表情系统的技术演进:从最初的[:表情名:]文本编码因记忆成本高、交互不直观而体验差,重构为“所见即所得”。采用 contenteditable 替代 textarea 实现图片即时插入,并通过实时双向同步将图片转回代码存入后端;页面加载时解析代码转为 <img>。动态生成表情面板,精确在光标位置插入,兼容回复框及移动端响应式布局与触摸事件。加入懒加载、输入防抖等性能优化,对比数据表明表情使用率、用户满意度显著提升。
本文介绍了构建专业级 Web 表情选择器的核心——分类系统与实现。采用 7 大主题分类(表情、人物、动物、食物、旅行、物体、符号),每类配以图标、表情数量(约 70‑90 条)和代表 Emoji。通过 HTML 结构实现标签页与对应面板的切换,并给出每个分类的具体 Emoji 示例代码,展示如何在页面中组织、渲染并交互式展示完整的表情库。文章还说明了作者对原有库的归类与补充工作。
本文针对评论区长文本导致布局错乱的问题,设计并实现了基于 -webkit-line-clamp 的折叠组件。通过外层容器+内部 .comment-content 结构,使用 display:-webkit-box、-webkit-line-clamp 限制行数并配合伪元素渐变遮罩提示未展示内容;利用 JavaScript 动态添加/移除 .collapsed 类、比较 scrollHeight 与 clientHeight 判断是否需要折叠并控制展开/收起按钮。组件在窗口 resize 时重新计算,支持行数配置、非 WebKit 浏览器兼容、事件委托与防抖等性能与安全优化,可广泛用于社区评论、文章摘要等长文本折叠场景。
文章介绍在博客或技术文档页面为每个代码块自动添加复制按钮的完整实现方案。通过在 Thymeleaf 渲染的 `pre` 元素外层包裹 `div` 实现相对定位;CSS 统一视觉样式并提供悬停、点击及复制成功的反馈效果;JavaScript 在 `DOMContentLoaded` 后遍历所有 `pre`,动态创建按钮,使用 `navigator.clipboard` 复制代码文本,点击后显示“已复制”并在 2 秒后恢复。方案兼顾性能、现代浏览器兼容和可访问性,并提出快捷键、主题定制、批量复制等扩展建议。