搭建博客时前端美化内容CSS推荐
一、背景
在搭建博客的时候,发现对其markdown文章内容进行渲染的时候,样式调整比较花费时间
二、解决思路
- 自己适配样式
- 缺点:ROI不高
- 使用开源的markdown的样式:
github-markdown-css
三、实现教程
1、NPM安装
npm install github-markdown-css
或者
yarn add github-markdown-css
2、样式引用
React:
import 'github-markdown-css'const App = () => {return (<div className={'markdown-body'}/>)
}
Vue:
import 'github-markdown-css'<div class="markdown-body"/>
Html:
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="github-markdown.css"><div class="markdown-body"><h1>Unicorns</h1><p>All the things</p>
</div>
四、参考文章
- github-markdown-css官方文档
- 博客文章
相关文章:
搭建博客时前端美化内容CSS推荐
一、背景 在搭建博客的时候,发现对其markdown文章内容进行渲染的时候,样式调整比较花费时间 二、解决思路 自己适配样式 缺点:ROI不高 使用开源的markdown的样式:github-markdown-css 三、实现教程 1、NPM安装 npm install …...
Linux中 socket编程中多进程/多线程TCP并发服务器模型
一、循环服务器(while)【不常用】 一次只能处理一个客户端的请求,等这个客户端退出后,才能处理下一个客户端。缺点:循环服务器所处理的客户端不能有耗时操作。 模型 sfd socket(); bind(); listen(); while(1) {newfd accept();while(1){r…...

【内网穿透】如何实现在外web浏览器远程访问jupyter notebook服务器
文章目录 前言1. Python环境安装2. Jupyter 安装3. 启动Jupyter Notebook4. 远程访问4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5. 固定公网地址 前言 Jupyter Notebook,它是一个交互式的数据科学和计算环境,支持多种编程语言,如…...

win10下如何安装ffmpeg
安装ffmpeg之前先安装win10 绿色软件管理软件:scoop. Scoop的基本介绍 Scoop是一款适用于Windows平台的命令行软件(包)管理工具,这里是Github介绍页。简单来说,就是可以通过命令行工具(PowerShell、CMD等…...

分代收集 + 垃圾回收算法
分代假说 1. 弱分代假说(Weak Generational Hypothesis):绝大多数对象都是朝生夕灭的 2. 强分代假说(Strong Generational Hypothesis):熬过越多次垃圾收集过程的对象就越难以消亡 3. 跨代引用假说&…...

第三届“赣政杯”网络安全大赛 | 赛宁筑牢安全应急防线
为持续强化江西省党政机关网络安全风险防范意识,提高信息化岗位从业人员基础技能,提升应对网络安全风险处置能力。由江西省委网信办、江西省发展改革委主办,江西省大数据中心、国家计算机网络与信息安全管理中心江西分中心承办࿰…...

CHATGPT源码简介与使用指南
CHATGPT源码的基本介绍 CHATGPT源码备受关注,它是一款基于人工智能的聊天机器人,旨在帮助开发者快速搭建自己的聊天机器人,无需编写代码。下面是对CHATGPT搭建源码的详细介绍。 CHATGPT源码的构建和功能 CHATGPT源码是基于Google的自然语言…...

【C++精华铺】8.C++模板初阶
目录 1. 泛型编程 2. 函数模板 2.1 函数模板的概念及格式 2.2 函数模板的原理 2.3 模板的实例化 2.4 模板参数的匹配原则 3. 类模板 3.1 类模板格式 3.2 类模板的实例化 1. 泛型编程 什么是泛型编程?泛型编程是避免使用某种具体类型而去使用某种通用类型来进行…...

离谱的Bug
离谱的 Bug Bug 情况发现 Bug修改 Bug其他感受历史 Bug火星Spirit号Mars Global Surveyor任务 Bug 情况 有一次,我在开发一个网页应用程序时,遇到了一个令人目瞪口呆的Bug。这个Bug出现在一个特定的页面上,当用户点击某个按钮时,…...

leetcode 322. 零钱兑换
本题属于完全背包问题,但要求最少的硬币个数。于是设定dp数组的含义dp[i]:总金额为i时,能凑成i的最少硬币个数。 需要注意初始化dp数组时,除0以外的其他地方需要初始化为INT_MAX以保证在递推过程中能被正确的覆盖。 代码如下: …...

(二)结构型模式:6、外观模式(Facade Pattern)(C++实例)
目录 1、外观模式(Facade Pattern)含义 2、外观模式的UML图学习 3、外观模式的应用场景 4、外观模式的优缺点 5、C实现外观模式的简单实例 1、外观模式(Facade Pattern)含义 外观模式(Facade Pattern)…...

docker的资源控制管理——Cgroups
目录 一、对CPU使用率的控制 1.1 CPU 资源控制 1.2 cgroups有四大功能 1.3 设置cpu使用率上限 查看周期限制和cpu配额限制 进行cpu压力测试然后修改每个周期的使用cpu的时间,查看cpu使用率 1.4 设置cpu资源占用比(设置多个容器时才有效…...

less学习语法
1.CSS函数的补充 1.rgb/rgba/translate/rotate/scale 2.非常好用的css函数: var:使用css定义的变量calc:计算css值,通常用于计算元素的大小或位置blur:毛玻璃(高斯模糊)效果gradient:颜色渐变函数 var:定义变量 css中可以自定…...

在 SHELL 脚本中调用另一个 SHELL 脚本(报错: go: not found)
文章目录 在 SHELL 脚本中调用另一个 SHELL 脚本(报错: go: not found)在 SHELL 脚本中调用另一个 SHELL 脚本一个脚本sudo调另外一个脚本,报错(报错: go: not found) 在 SHELL 脚本中调用另一个…...

07微服务的事务管理机制
一句话导读 在单体应用程序中,事务通常是在单个数据库或单个操作系统中管理的,而在微服务架构中,事务需要跨越多个服务和数据库,这就使得事务管理变得更加复杂和困难。 目录 一句话导读 一、微服务事务管理的定义和意义 二、微…...

CS5523规格书|MIPI转EDP方案设计|替代LT8911芯片电路原理|ASL集睿致远CS替代龙讯
ASL芯片(集睿致远) CS5523是一款MIPI DSI输入,DP/e DP输出转换芯片,可pin to pin替代LT8911龙讯芯片。 MIPI DSI 最多支持 4 个通道,每个通道的最大运行速度为 1.5Gps。对于DP 1.2输出,它支持1.62Gbps和2.…...

【制作npm包5】npm包制作完整教程,我的第一个npm包
制作npm包目录 本文是系列文章, 作者一个橙子pro,本系列文章大纲如下。转载或者商业修改必须注明文章出处 一、申请npm账号、个人包和组织包区别 二、了解 package.json 相关配置 三、 了解 tsconfig.json 相关配置 四、 api-extractor 学习 五、npm包…...

QT:定时器事件
定时器第一种办法: 1.利用事件timerEvent,在帮助文档中找到该字段:[override virtual protected] void QTimer::timerEvent(QTimerEvent *e) 重写该虚函数 //重写定时器事件void timerEvent(QTimerEvent *e);2.启动定时器startTimer(1000); …...

GitHub Actions自动化部署+定时百度链接推送
前言 最近用VuePress搭建了一个静态网站,由于是纯静态的东西,每次修改完文章都要重新打包上传很是麻烦。虽然vuepress-theme-vdoing主题作者提供了GitHub Actions自动化部署的教程文章,但是过于简陋且是19年发布的。。 1. 创建一个GitHub仓…...

PHP学习心得:如何编写可维护的代码
PHP学习心得:如何编写可维护的代码 引言: 在现代的软件开发中,编写可维护的代码是非常重要的。无论是个人项目还是团队项目,可维护的代码可以提高开发效率,减少维护成本,确保代码的质量和可扩展性。本文将…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...

C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
MySQL用户和授权
开放MySQL白名单 可以通过iptables-save命令确认对应客户端ip是否可以访问MySQL服务: test: # iptables-save | grep 3306 -A mp_srv_whitelist -s 172.16.14.102/32 -p tcp -m tcp --dport 3306 -j ACCEPT -A mp_srv_whitelist -s 172.16.4.16/32 -p tcp -m tcp -…...

使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...

push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...