【前端】打造自己的hexo博客_hexo一本通
今日更新完毕,建议关注收藏点赞!
目录
- 打造自己的hexo blog
- 挂载到自己的github主页
- 设计自己的theme
打造自己的hexo blog
#需要安装git node.js 这里略#安装hexo
npm install -g hexo-cli
npm install hexo
hexo help#<folder>必须是空的
hexo init <folder>
cd <folder>
npm install#文件结构如下
.
├── _config.yml #Site configuration file
├── package.json #Application data markdown默认安装
├── scaffolds #Scaffold folder.有各种脚手架
├── source #your site’s content 命名前有下划线的会被忽略 除了_posts
| ├── _drafts #可渲染的文件如markdown html被放在public文件夹中
| └── _posts
└── themes #主题
- _config.yml文件
这里可以配置网站的名字、描述、语言、网址url,如果是中文则把en改为zh
对应的文件放在对应的文件夹中
- 操作
hexo new [layout] <title> #layout为空表示默认布局 draft为草稿布局
#title不可空
#默认情况将会创建一个标题名称的文件夹以及里面有index.md
#可以指定path
hexo new page --path about/me "About me" #source/about/me.md#用脚手架
hexo new photo "My Gallery" #使用脚手架layout名为photo,这个是在scaffords/photo.mdhexo generate #生成静态文件
hexo deploy #部署到网站
hexo server #开启本地服务器 默认是http://localhost:4000/hexo list <type> #列出所有路由hexo migrate <type>#从别的博客系统移植内容过来hexo publish [layout] <filename> #发表一份草稿 将草稿从_drafts->_posts文件夹
hexo --draft#显示source/_drafts中的草稿 默认不显示草稿#支持iframe image link 链接到其他本站帖子 也支持html渲染
#也支持EJS (Embedded JavaScript)渲染
{% iframe url [width] [height] %}
{% img [class names] /path/to/image [width] [height] '"title text" "alt text"' %}{% link text url [external] [title] %}{% post_path filename %}
{% post_link filename [title] [escape] %}
- Categories & Tags 分类与标签
分类 和 标签 都是通过文章的 Front Matter(文章头部信息)来设置的。你可以在每篇文章的 Markdown 文件中定义这些信息。
---
title: "My Post"
date: 2025-02-08 10:00:00
categories: - Programming
tags: - JavaScript- Hexo
---
This is the content of my post.
在主题模版中显示分类和标签,你可以在文章页的模板文件(比如 themes/your-theme/layout/_partial/post.ejs)中添加以下内容来显示分类和标签:
<!-- 含EJS (Embedded JavaScript) 模板语言 -->
<p class="categories">Categories: <%= page.categories.join(', ') %></p>
<p class="tags">Tags: <%= page.tags.join(', ') %></p>
- 代码块 2种写法
[url]部分会显示在代码块右上角
{% codeblock [title] [lang:language] [url] [link text] [additional options] %}
code snippet
{% endcodeblock %}
or
`` [language] [title] [url] [link text] code snippet ``{% codeblock _.compact http://underscorejs.org/#compact Underscore.js %}
_.compact([0, 1, false, 2, '', 3]);
=> [1, 2, 3]
{% endcodeblock %}
- 主题
-
- 使用一个其他主题,步骤:
进入hexo项目/themes下,git clone 相应的主题,更改项目根目录下的_config.yml中的theme设置为新的名称,更改themes对应主题下的_config.yml,更改后不需要server重启,之后执行命令安装依赖、生成站点、启动本地服务器
- 使用一个其他主题,步骤:
npm install
hexo generate
hexo server #http://localhost:4000
hexo deploy #部署到github pages#安装部署插件hexo-deployer-git可以简化流程,自动化
npm install hexo-deployer-git --save
# Hexo 项目的根目录下,打开 _config.yml
deploy:type: gitrepo: https://github.com/your-username/your-username.github.io.git # 你的 GitHub 仓库地址branch: main # 或者 gh-pagesmessage: "Update site" # 提交信息,可以自定义
#每次更新后generate->deploy即可#手工部署 新版的主题很多不支持这种方法【不推荐】
#使用 hexo generate(或 hexo g)命令生成静态文件,文件会放在 public/ 目录下。
# 把public/ 目录中的文件手动推送到 GitHub 仓库的main 分支。
现成的主题
现成的插件插件基本上都是js实现的,自己也可以试试,自己尝试指南
推荐>>这个github打卡墙插件
- 全站变量
- helpers
辅助函数帮助您在模板中快速插入内容。 建议您把复杂的代码放在辅助函数而非模板中。辅助函数不能从 source 的文件中访问。自定义 helper 应该放在哪里?请放在 scripts/ 或 themes/< yourtheme>/scripts/ 目录中。
hexo.extend.helper.register(name, function () {// ...
});hexo.extend.helper.register("js", function (path) {return '<script src="' + path + '"></script>';
});#在我的自定义 helper 中使用另外一个已经注册的 helper
#所有的辅助函数都在同一个上下文中执行。 例如,在一个自定义的辅助函数中使用 url_for()
hexo.extend.helper.register("lorem", function (path) {return '<script src="' + this.url_for(path) + '"></script>';
});#在另一个扩展(例如过滤器、注入器)中使用注册的helper
#hexo.extend.helper.get 会返回一个指定名字的 helper,但是你还需要一个 bind(hexo)
const url_for = hexo.extend.helper.get("url_for").bind(hexo);
- 如果我每次的帖子都遵循一个格式->使用scaffolds
Hexo 提供了 Scaffolds 功能,它允许你为创建新帖子定义一个模板。当你通过 hexo new post 命令创建新文章时,Hexo 会自动应用这个模板。
设置 Scaffolds:在 Hexo 项目的根目录下,进入 scaffolds/ 文件夹。这里有默认的文件模板(post.md)。
你可以修改或创建新的模板。
修改或创建模板文件scaffolds/post.md,如
---
title: {{ title }}
date: {{ date }}
tags:- example-tag
categories:- example-category
draft: true
---## 介绍这里是你的内容。## 其他部分你可以继续在这里添加你文章的其他内容。
{{ title }}:这将是你为文章输入的标题。
{{ date }}:这是文章创建的时间,Hexo 会自动替换成当前日期和时间。
tags 和 categories:你可以预定义一些常用的标签和分类。
draft: true:这个参数让文章处于草稿状态,只有在你发布时它才会显示在博客上。
创建新帖子时,使用命令hexo new post "Post Title"
,Hexo 会自动使用这个模板。
#自定义字段 比如如下
summary: {{ summary }} # 自定义字段:文章摘要
#当你创建新文章时,summary 字段会作为自定义字段自动生成,提示你输入摘要内容
#在 Hexo 的模板文件(如 layout/index.ejs 或 layout/post.ejs)中,使用 EJS 模板语法来引用这些自定义字段。<!-- 显示自定义字段 summary --><p><strong>摘要:</strong> <%= page.summary %></p>
挂载到自己的github主页
创建一个项目,命名为username.github.io( username是github账号名),上传hexo博客文件,项目->settings->GitHub Pages->选择除了none的branch(不是main就是master 旧版仓库的主分支),这样username.github.io就可以加载网页了。
同时挂载其他仓库代码,设置如下:
编辑_config.yml,将url: 值改成to https://username.github.io/repository仓库名
Settings > Pages > Source到这个仓库里改成 GitHub Actions
提交到主分支,完成部署,访问username.github.io/repository就是这个项目的代码实现
项目->settings->GitHub Pages->source->github actions选择
创建.github/workflows/pages.yml,并将下方代码放入内容,注意将nodejs版本20
替换成你的node --version
name: Pageson:push:branches:- main # default branchjobs:build:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v4with:token: ${{ secrets.GITHUB_TOKEN }}# If your repository depends on submodule, please see: https://github.com/actions/checkoutsubmodules: recursive- name: Use Node.js 20uses: actions/setup-node@v4with:# Examples: 20, 18.19, >=16.20.2, lts/Iron, lts/Hydrogen, *, latest, current, node# Ref: https://github.com/actions/setup-node#supported-version-syntaxnode-version: "20"- name: Cache NPM dependenciesuses: actions/cache@v4with:path: node_moduleskey: ${{ runner.OS }}-npm-cacherestore-keys: |${{ runner.OS }}-npm-cache- name: Install Dependenciesrun: npm install- name: Buildrun: npm run build- name: Upload Pages artifactuses: actions/upload-pages-artifact@v3with:path: ./publicdeploy:needs: buildpermissions:pages: writeid-token: writeenvironment:name: github-pagesurl: ${{ steps.deployment.outputs.page_url }}runs-on: ubuntu-lateststeps:- name: Deploy to GitHub Pagesid: deploymentuses: actions/deploy-pages@v4
git push -u origin main #或者是master 总之是主分支
/public/文件夹默认不会被上传,确保.gitignore文件中包括public/行,整个文件结构应该近似于这个repo
设计自己的theme
Hexo 是一个基于 Node.js 的静态博客框架,它允许你自定义主题以便让你的博客看起来独特。设计一个主题需要一些前端开发的基础知识,尤其是 HTML、CSS 和 JavaScript。
theme的文件结构
.
├── _config.yml
├── languages
├── layout
├── scripts
└── source
layout文件夹中放的是主题的模版文件,决定了网站的样式
Templates决定了你网站的每一页的样式,详细了解
Scripts文件夹中hexo自动加载这里所有js文件,这也是plugins的基础
source文件夹放置CSS and JavaScript 等文件,忽略前面带_
的文件和文件夹。
Hexo将处理并保存所有可渲染文件到public/文件夹,不可渲染的将直接copy到public/。
最后记得拿theme unit test工具测试一下是否全部都可以正常工作,创作好后可以看一下贡献提交部分
- 创建一个主题文件夹,在 Hexo 的 themes 文件夹下创建一个新的主题文件夹
设计主题的基本结构,主题文件夹的基本结构大致如下:
mytheme/
├── _config.yml # 主题的配置文件
├── layout/ # 页面布局模板文件
├── source/ # 静态资源(如图片、字体、CSS、JS)
├── languages/ # 多语言支持
├── package.json # 主题的包管理文件
└── scaffolds/ # Hexo 页面的模板文件
_config.yml:你可以在这里配置主题的参数,比如站点的名称、颜色方案、社交媒体链接等。
layout/:包含页面布局模板(如首页、文章页、404 页面等)。
source/:包含你主题的静态资源(如 CSS、JavaScript、图片等)。
scaffolds/:包含 Hexo 自动生成页面时所用的模板。
- 编辑 _config.yml 文件
打开 mytheme/_config.yml,你可以设置一些基础的主题参数。
# 主题名称
name: My Theme# 站点标题和描述
title: My Awesome Blog
subtitle: A blog built with Hexo# 配置社交媒体链接
github: https://github.com/yourprofile
twitter: https://twitter.com/yourprofile
- 设计页面布局(HTML + EJS)
Hexo 使用 EJS(Embedded JavaScript)模板引擎来生成页面,因此你需要在 layout/ 目录下创建 EJS 文件。比如,layout/_partial/ 文件夹通常包含了头部、尾部、导航栏等公共部分。
示例:layout/index.ejs(首页模板)
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title><%= config.title %></title><link rel="stylesheet" href="<%= url_for('/css/style.css') %>">
</head>
<body><header><h1><%= config.title %></h1><nav><ul><li><a href="/">Home</a></li><li><a href="/about">About</a></li></ul></nav></header><main><%= body %></main><footer><p>© 2025 My Awesome Blog</p></footer>
</body>
</html>
<%= config.title %>:会渲染 _config.yml 中定义的站点标题。
<%= body %>:会渲染页面内容(文章、首页列表等)。
- 添加样式和交互功能
在 source/css/ 中创建你的 CSS 文件(例如 style.css),然后在模板文件中引用它。
/* source/css/style.css */
body {font-family: Arial, sans-serif;line-height: 1.6;background-color: #f4f4f4;color: #333;
}header {background: #333;color: #fff;padding: 10px;
}footer {background: #333;color: #fff;text-align: center;padding: 10px;
}
在 layout 中链接 CSS:
<link rel="stylesheet" href="<%= url_for('/css/style.css') %>">
开发其它页面和功能:除了首页,你可能还需要为不同的页面(如单篇文章、归档、标签等)设计模板。你可以在 layout/ 中添加对应的 EJS 文件,例如:
layout/post.ejs:单篇文章页面模板。
layout/404.ejs:404 错误页面。
- 调试和预览主题
完成主题设计后,你可以在 Hexo 根目录运行以下命令来启动本地服务器,预览你的博客:hexo server
,打开http://localhost:4000 - 部署到线上
一旦你设计好了主题并测试通过,可以将主题与内容一起发布到你的博客托管平台(例如 GitHub Pages、Netlify、Vercel 等)。
你可以在 Hexo 配置文件 _config.yml 中设置 deploy 部分:
deploy:type: gitrepo: https://github.com/yourusername/yourblog.gitbranch: gh-pages
hexo deploy
- tips
模块化设计:尽量将 CSS 和 JavaScript 模块化,这样可以方便后续修改和维护。
响应式设计:确保你的主题在不同屏幕大小下都能良好显示,使用媒体查询(media queries)来处理不同设备的布局。
优化性能:尽量压缩 CSS 和 JavaScript,减少图片体积,提升页面加载速度。
调试工具:你可以使用 Chrome DevTools 或其他调试工具来调试你的主题和页面样式。
相关文章:
【前端】打造自己的hexo博客_hexo一本通
今日更新完毕,建议关注收藏点赞! 目录 打造自己的hexo blog挂载到自己的github主页设计自己的theme 打造自己的hexo blog #需要安装git node.js 这里略#安装hexo npm install -g hexo-cli npm install hexo hexo help#<folder>必须是空的 hexo in…...
剪辑学习整理
文章目录 1. 剪辑介绍 1. 剪辑介绍 剪辑可以干什么?剪辑分为哪些种类? https://www.bilibili.com/video/BV15r421p7aF/?spm_id_from333.337.search-card.all.click&vd_source5534adbd427e3b01c725714cd93961af 学完剪辑之后如何找工作or兼职&#…...
储能系统-系统架构
已更新系列文章包括104、61850、modbus 、单片机等,欢迎关注 IEC61850实现方案和测试-1-CSDN博客 快速了解104协议-CSDN博客 104调试工具2_104协议调试工具-CSDN博客 1 电池储能系统(BESS) 架构 电池储能系统主要包括、电池、pcs、本地控制…...
程序员也可以这样赚钱
最近有朋友和我交流了关于程序员副业的想法,我想借这个机会对目前软件开发常用的兼职平台做一个梳理。 以下是程序员接副业的靠谱平台推荐,结合政策合规性、平台口碑及实际操作性整理,覆盖国内外主流选择: 一、国内综合型平台 程序…...
STM32启动过程概述
1. STM32启动过程概述 STM32 微控制器的启动过程是指从上电或复位开始,到系统开始执行用户程序的整个过程。这个过程包括了硬件初始化、引导加载程序 (Bootloader) 执行、系统时钟配置、外设初始化等步骤。 2. STM32 启动的基本流程 上电或复位 STM32 芯片的启动过…...
Elasticsearch去分析目标服务器的日志,需要在目标服务器上面安装Elasticsearch 软件吗
Elasticsearch 本身并不直接收集目标服务器的日志,它主要用于存储、搜索和分析数据。要收集目标服务器的日志,通常会借助其他工具,并且一般不需要在目标服务器上安装 Elasticsearch 软件,常见的日志收集方案: Filebeat…...
Linux:软硬链接和动静态库
hello,各位小伙伴,本篇文章跟大家一起学习《Linux:软硬链接和动静态库》,感谢大家对我上一篇的支持,如有什么问题,还请多多指教 ! 如果本篇文章对你有帮助,还请各位点点赞࿰…...
C# 比较两个List集合内容是否相同
在 C# 中,要比较两个 List<T> 集合的内容是否相同,可以通过以下几种方法: 一、非自定义类的元素比较 1. 使用 SequenceEqual 方法(顺序和内容都相等) 顺序和内容都相等:使用 SequenceEqual。 usin…...
IDEA中Resolving Maven dependencies卡着不动解决方案
一、修改settings.xml Maven配置阿里云仓库主要通过修改Maven的settings.xml文件来实现。以下是具体步骤: 1、找到settings.xml文件: 通常位于Maven安装目录下的conf文件夹中,或者在用户目录下的.m2文件夹中(如果用户自定义了settings.xml的位置)。 2、编辑se…...
重生之我要当云原生大师(十一)访问Linux文件系统
目录 一、解释下文件系统、块设备、挂载点、逻辑卷。 二、简述文件系统、块设备、挂载点、逻辑卷之间的关系? 三、如何检查文件系统? 四、挂载和卸载文件系统的流程? 五、find命令都可以根据什么查找文件。 一、解释下文件系统、块设备、…...
驱动开发系列34 - Linux Graphics Intel 动态显存技术的实现
一:概述 动态显存技术(Dynamic Video Memory Technology, DVMT)是一种由 Intel 提出的内存分配技术,主要用于整合显卡(集成显卡)系统中,以便动态地调整显存大小,从而在不同的负载场景下优化内存使用和系统性能。 动态显存技术的核心在于共享系统内存。集成显卡没有独立…...
feign 远程调用详解
在平常的开发工作中,我们经常需要跟其他系统交互,比如调用用户系统的用户信息接口、调用支付系统的支付接口等。那么,我们应该通过什么方式进行系统之间的交互呢?今天,简单来总结下 feign 的用法。 1:引入依…...
HTML5 应用程序缓存
HTML5 应用程序缓存 引言 随着互联网技术的飞速发展,移动设备的普及,用户对于网页的加载速度和离线访问的需求日益增长。HTML5 应用程序缓存(Application Cache,简称AppCache)应运而生,它允许开发者将网页资源存储在本地,从而实现网页的快速加载和离线访问。本文将详细…...
7.PPT:“中国梦”学习实践活动【20】
目录 NO1234 NO5678 NO9\10\11 NO1234 考生文件夹下创建一个名为“PPT.pptx”的新演示文稿Word素材文档的文字:复制/挪动→“PPT.pptx”的新演示文稿(蓝色、黑色、红色) 视图→幻灯片母版→重命名:“中国梦母版1”→背景样…...
利用NestJS构建高效的RESTful API接口
1. 引言 项目背景与目标 随着互联网应用的快速发展,RESTful API已成为前后端分离架构中的重要组成部分。本文将介绍如何使用NestJS构建一个高效且可维护的RESTful API接口。目标是通过NestJS的模块化和依赖注入特性,实现一个易于扩展和维护的API系统。 RESTful API的重要性…...
YOLOv11实时目标检测 | 摄像头视频图片文件检测
在上篇文章中YOLO11环境部署 || 从检测到训练https://blog.csdn.net/2301_79442295/article/details/145414103#comments_36164492,我们详细探讨了YOLO11的部署以及推理训练,但是评论区的观众老爷就说了:“博主博主,你这个只能推理…...
Spring基于文心一言API使用的大模型
有时做项目我们可能会遇到要在项目中对接AI大模型 本篇文章是对使用文心一言大模型的使用总结 前置任务 在百度智能云开放平台中注册成为开发者 百度智能云开放平台 进入百度智能云官网进行登录,点击立即体验 点击千帆大模型平台 向下滑动,进入到模型…...
目前推荐的优秀编程学习网站与资源平台,涵盖不同学习方式和受众需求
一、综合教程与互动学习平台 菜鸟教程 特点:适合零基础新手,提供免费编程语言教程(Python、Java、C/C++、前端等),页面简洁且包含大量代码示例,支持快速上手。适用人群:编程入门者、需要快速查阅语法基础的学习者。W3Schools 特点:专注于Web开发技术(HTML、CSS、JavaS…...
kafka 3.5.0 raft协议安装
前言 最近做项目,需要使用kafka进行通信,且只能使用kafka,笔者没有测试集群,就自己搭建了kafka集群,实际上笔者在很早之前就搭建了,因为当时还是zookeeper(简称ZK)注册元数据&#…...
正则表达式的简单介绍 + regex_match使用
正则表达式 正则表达式(Regular Expression,简称 regex)是一种用于匹配字符串的模式。它由一系列字符和特殊符号组成,用于描述、匹配一系列符合某个句法规则的字符串。正则表达式广泛应用于文本搜索、替换、验证等场景。 它的主…...
kafka服务端之延时操作前传--时间轮
文章目录 背景时间轮层级时间轮时间轮降级kafka中的时间轮kafka如何进行时间轮运行 背景 Kafka中存在大量的延时操作,比如延时生产、延时拉取和延时删除等。Kafka并没有使用JDK自带的Timer或DelayQueue来实现延时的功能,而是基于时间轮的概念自定义实现…...
鸿蒙harmony 手势密码
1.效果图 2.设置手势页面代码 /*** 手势密码设置页面*/ Entry Component struct SettingGesturePage {/*** PatternLock组件控制器*/private patternLockController: PatternLockController new PatternLockController()/*** 用来保存提示文本信息*/State message: string …...
如何修复WordPress连接超时显示curl-error-28的错误
许多WordPress用户都会遇到这样的问题:网站加载变慢或数据传输失败,后台提示‘cURL错误28:连接超时’。这其实是一个常见的问题,通常是由于数据传输时间过长造成的。虽然这个错误听起来复杂,但解决起来并不算困难。本文…...
CSS 相关知识
1、高度已知,三栏布局,左右宽度 200,中间自适应,如何实现? <body><div class"box"><div class"box1">高度已知</div><div class"box2">左右宽度 200&…...
Django开发入门 – 0.Django基本介绍
Django开发入门 – 0.Django基本介绍 A Brief Introduction to django By JacksonML 1. Django简介 1) 什么是Django? 依据其官网的一段解释: Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design. …...
一步一步生成音乐类小程序的详细指南,结合AI辅助开发的思路
以下是一步一步生成音乐类小程序的详细指南,结合AI辅助开发的思路: 需求分析阶段核心功能梳理 音乐播放器(播放/暂停/进度条/音量)歌单分类(流行/古典/摇滚等)用户系统(登录/收藏/历史记录)搜索功能(歌曲/歌手/专辑)推荐系统(根据用户偏好推荐)技术选型 前端:微信…...
看盘细节系列 篇二:集合竞价的9点18分大单打到3%以下或以上,9点19分撤单
文章目录 系列文章现象原因分析时间点含义正常情况测试市场反应诱导跟风操纵股价意图系列文章 看盘细节系列 篇一:集合竞价尾盘突变 现象 集合竞价中 9 点 18 分通过一笔大单或连续几笔大单将股价打到 3% 以下或以上,9 点 19 分又迅速撤单。从而在分时图上留下一根长长的上…...
【Spring】什么是Spring?
什么是Spring? Spring是一个开源的轻量级框架,是为了简化企业级开发而设计的。我们通常讲的Spring一般指的是Spring Framework。Spring的核心是控制反转(IoC-Inversion of Control)和面向切面编程(AOP-Aspect-Oriented Programming)。这些功能使得开发者…...
【C语言标准库函数】双曲函数:sinh(), cosh(), tanh()
目录 一、头文件 二、函数简介 2.1. 双曲正弦函数 sinh(double x) 2.2. 双曲余弦函数 cosh(double x) 2.3. 双曲正切函数 tanh(double x) 三、函数实现(概念性) 四、注意事项 4.1. 参数类型 4.2. 计算精度 4.3. 函数返回值 4.4. 环境差异 4.…...
Visual Studio(VS)初始配置环境(scanf异常)
发现问题 当我们第一次安装Visual Studio(VS)且没有初次环境配置时,用某些函数时会发现报错异常。(如下scanf函数为例) #include<stdio.h>int main() {int a 0;scanf("%d", &a);printf("%…...
【JVM详解一】类加载过程与内存区域划分
一、简介 1.1 概述 JVM是Java Virtual Machine(Java虚拟机)的缩写,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。由一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域等组成。JVM屏蔽了与操作系统平台相关…...
《图解设计模式》笔记(五)一致性
十一、Composite模式:容器与内容的一致性 像文件夹与文件一样,文件夹中可以放子文件夹与文件,再比如容器中可以放更小的容器和具体内容。 Composite模式:使容器与内容具有一致性,创造出递归结构。 Composite&#x…...
burpsuite抓取html登陆和上传数据包
一、burpsuite抓取html登陆数据包 1、先写一个html格式的登陆页面 <!doctype html> <html lang="en"> <head><meta charset="UTF-8"><title>这是标签</title></head> <body> <hr><!-- 登陆表单…...
前端导出pdf,所见即所得
一、推荐方案:html2canvas jsPDF(图片式PDF) javascript import html2canvas from html2canvas; import jsPDF from jspdf;const exportPDF async (elementId, fileName) > {const element document.getElementById(elementId);// 1.…...
使用orjson库提升Python JSON处理性能
使用orjson库提升Python JSON处理性能 引言 在现代软件开发中,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,广泛应用于Web服务、配置文件、数据存储等场景。Python作为一门流行的编程语言,提供了…...
TcpClientTest
ClientTest: using System; using System.Net.Sockets; using System.Text;class TcpClientTest {static void Main(string[] args){try{// 创建一个TcpClient实例并连接到服务器 TcpClient client new TcpClient("1vg5062570.51mypc.cn", 43319);//1v…...
【系统架构设计师】操作系统 ② ( 存储管理 | 页式存储 | 逻辑地址 与 物理地址 | 页表结构 | 物理内存淘汰机制 )
文章目录 一、页式存储1、CPU 调用数据2、内存存储数据弊端3、分页存储4、逻辑地址 和 物理地址 的结构5、逻辑地址 和 物理地址 的结构 示例6、页式存储 优缺点 二、逻辑地址 与 物理地址1、逻辑地址2、物理地址3、逻辑地址 与 物理地址 区别4、逻辑地址 与 物理地址 的转换 三…...
STM32自学记录(八)
STM32自学记录 文章目录 STM32自学记录前言一、ADC杂记二、实验1.学习视频2.复现代码 总结 前言 ADC 一、ADC杂记 ADC其实就是一个电压表,把引脚的电压值测出来,放在一个变量里。 ADC:模拟——数字转换器。 ADC可以将引脚上连续变化的模拟电…...
Vim 多窗口编辑及文件对比
水平分割 :split 默认使用水平分割的方式。 :split :sp 垂直分割 :vsplit :vs 带文件的分割 :split 文件名 :sp 文件名 在光标所在的窗口,输入分割窗口命令就会对那个窗口进行分割。 切换窗口 Ctrlw 切换正在编辑的窗口 快速分割窗口 Ctrlwn 快速分割当前…...
基于深度学习的人工智能量化衰老模型构建与全流程应用研究
一、引言 1.1 研究背景与意义 1.1.1 人口老龄化现状与挑战 人口老龄化是当今全球面临的重要社会趋势之一,其发展态势迅猛且影响深远。根据联合国的相关数据,1980 年,全球 65 岁及以上人口数量仅为 2.6 亿,到 2021 年,这一数字已翻番,达到 7.61 亿,而预计到 2050 年,…...
第八届大数据与应用统计国际学术研讨会(ISBDAS 2025)
重要信息 官网:www.is-bdas.org 时间:2025年2月28-3月2日 地点:中国 广州 主办单位:广东省高等教育学会人工智能与高等教育研究分会 协办单位:北京师范大学人工智能与未来网络研究院、人工智能与大数据科研基地 …...
链表专题-03
链表专题(三) 两数相加 问题 [力扣2] 2. 两数相加 - 力扣(LeetCode) 问题描述 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加ÿ…...
Ollama下载安装教程
一、去官网下载Ollama 点击前往Ollama官网 进去后点击下载 根据不同的系统去选择 由于服务器在国外可能下载界面进不去或者下载非常慢,可以去网盘获取 点击下方蓝色字体直达 点击前往夸克网盘下载 点击前往百度网盘下载 下载好后双击应用程序安装即可 点击ins…...
SQL Server查询计划操作符(7.3)——查询计划相关操作符(6)
7.3. 查询计划相关操作符 48)Key Lookup:该操作符对一个有簇索引的表进行书签查找。参数列包含簇索引的名字和用于查找簇索引中数据行的簇键。该操作符总是伴随一个Nested Loops操作符。如果其参数列中出现WITH PREFETCH子句,则查询处理器已决定使用异步预取(预读,read-ah…...
IDEA查看项目依赖包及其版本
一.IDEA将现有项目转换为Maven项目 在IntelliJ IDEA中,将现有项目转换为Maven项目是一个常见的需求,可以通过几种不同的方法来实现。Maven是一个强大的构建工具,它可以帮助自动化项目的构建过程,管理依赖关系,以及其他许多方面。 添加Maven支持 如果你的项目还没有pom.xm…...
网络分析工具—WireShark的安装及使用
Wireshark 是一个广泛使用的网络协议分析工具,常被网络管理员、开发人员和安全专家用来捕获和分析网络数据包。它支持多种网络协议,能够帮助用户深入理解网络流量、诊断网络问题以及进行安全分析。 Wireshark 的主要功能 数据包捕获与分析: …...
【LeetCode 刷题】贪心算法(2)-进阶
此博客为《代码随想录》贪心算法章节的学习笔记,主要内容为贪心算法进阶的相关题目解析。 文章目录 135. 分发糖果406. 根据身高重建队列134. 加油站968. 监控二叉树 135. 分发糖果 题目链接 class Solution:def candy(self, ratings: List[int]) -> int:n l…...
网络工程师 (25)OSI模型—服务访问点
前言 OSI模型,即开放式通信系统互联参考模型(Open System Interconnection Reference Model),是国际标准化组织(ISO)提出的一个旨在使各种计算机在世界范围内互连为网络的标准框架。 一、定义 服务访问点&a…...
如何在RTACAR中配置IP多播(IP Multicast)
一、什么是IP多播 IP多播(IP Multicast)是一种允许数据包从单一源地址发送到多个目标地址的技术,是一种高效的数据传输方式。 多播地址是专门用于多播通信的IP地址,范围从 224.0.0.0到239.255.255.255 与单播IP地址不同&#x…...
使用docker搭建FastDFS文件服务
1.拉取镜像 docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/fastdfs:latest2.使用docker镜像构建tracker容器(跟踪服务器,起到调度的作用) docker run -dti --networkhost --name tracker -v /data/fdfs/tracker:/var/fdfs -…...