从0到1,用Rust轻松制作电子书
我之前简单提到过用 Rust 做电子书,今天分享下如何用Rust做电子书。制作电子书其实用途广泛,不仅可以用于技术文档(对技术人来说非常方便),也可以制作用户手册、笔记、教程等,还可以应用于文学创作。
如果你有想法写小说或者做知识付费,电子书也是一个不错的切入点。特别是知识付费领域,通过小范围试水电子书,收集读者反馈,进一步打磨内容,最后也可以出版成书。
好了,有点扯远了,我们重点先说下怎么用Rust快速做电子书吧,简单方便几分钟就可以搭起来。

1. 环境准备
我们准备用Rust来创建电子书,首先,需要安装有Rust的环境,Rust环境安装也比较简单打开官方地址,复制安装命令安装即可。
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
其次,需要对Markdown语法了解,如果不了解的可以看下,强烈推荐所有人来学。很多精美的排版和插图都可以通过md语法来实现,现在更有md的编辑器,稍微了解配合编辑器就能如虎添翼了。
如果有不熟悉markdown可以到这个网站来学习了解下,https://www.markdownguide.org/ ,也可以其他中文网站了解。

2. 安装使用
介绍下我们做电子书的主角mdBook,一款由rust实现的开源软件,可以进行文档生成,搜索,语法高亮,生产的电子书可以支持在PC、和移动设备打开使用。
通过cargo来安装
cargo install mdbook
安装成功,可以进行创建
mdbook init my-first-book
创建过程中可以起名字,创建完成后到该文件目录下
cd my-first-book
mdbook serve --open
打开地址http://localhost:3000/ ,可以看到创建的电子书模板已经打开了,尽管内容还是空的,但电子书的结构已经有了,左边导航,右边文章内容,以及搜索框。

剩下就是我们写电子书的内容了。
3. 写电子书内容
在创建的电子书工程下,会看到src文件目录、book.toml配置文件、book目录,我们先关注电子书的内容src目录
├── SUMMARY.md
└── chapter_1.md
SUMMARY.md 里打开可以看到就是左侧的导航配置,比如对应的章节配置在这个文件里,chapter_1.md就是对应的章节内容
# Summary
- [Chapter 1](./chapter_1.md)
可以对chapter_1.md进行内容写作,就可以形成对应的电子书的内容了。
比如这个我复制了个内容,修改了章节命名,然后重新刷新即可看到内容。

4. 部署
电子书制作完后,编译后会发现在book的目录下会有编译好的文件,可以通过GitHub Pages上这样完全可以免费,也可以支持远程别人打开和阅读。
这个是我之前部署的一个Rust精简笔记电子书:

回头再介绍下部署吧,有兴趣的也可以看官方文档,部署也比较简单,可以通过脚本结合来。
PS: 也欢迎大家评论和交流~ 更多文章也可关注微信公号:良技漫谈
相关文章:
从0到1,用Rust轻松制作电子书
我之前简单提到过用 Rust 做电子书,今天分享下如何用Rust做电子书。制作电子书其实用途广泛,不仅可以用于技术文档(对技术人来说非常方便),也可以制作用户手册、笔记、教程等,还可以应用于文学创作。 如果…...
半天入门!锂电池剩余寿命预测(Python)
往期精彩内容: 时序预测:LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较 全是干货 | 数据集、学习资料、建模资源分享! EMD变体分解效果最好算法——CEEMDAN(五)-CSDN博客 拒绝信息泄露!VMD滚动分…...
学生党头戴式耳机哪款音质更胜一筹?TOP4好音质头戴式耳机推荐
在挑选头戴式耳机时,市场上琳琅满目的品牌和型号常常让人目不暇接。究竟哪个学生党头戴式耳机哪款音质更胜一筹?这已成为许多人面临的难题。由于每个人对耳机的偏好各有侧重——一些人追求音质的纯净,一些人重视佩戴的舒适性,而另…...
数据结构 ——— 二叉树的概念及结构
目录 二叉树的概念 特殊的二叉树 一、满二叉树 二、完全二叉树 二叉树的概念 二叉树树示意图: 从以上二叉树示意图可以看出: 二叉树每个节点的度不大于 2 ,那么整个二叉树的度也不大于 2 ,但是也不是每个节点都必须有 2 个…...
【React】React 的核心设计思想
🌈个人主页: 鑫宝Code 🔥热门专栏: 闲话杂谈| 炫酷HTML | JavaScript基础 💫个人格言: "如无必要,勿增实体" 文章目录 React 的核心设计思想引言声明式编程声明式 vs 命令式示例 组件化组件的优势组件…...
C++ 二叉树进阶:相关习题解析
目录 1. 二叉树创建字符串。 2. 二叉树的分层遍历1 3. 二叉树的分层遍历2 4. 二叉树的最近公共祖先 5. 将二叉搜索树转换为排序的双向链表 6. 从前序与中序遍历序列构造二叉树 7. 从中序与后序遍历序列构造二叉树 8. 二叉树的前序遍历,非递归迭代实现 9.…...
Matlab实现蚁群算法求解旅行商优化问题(TSP)(理论+例子+程序)
一、蚁群算法 蚁群算法由意大利学者Dorigo M等根据自然界蚂蚁觅食行为提岀。蚂蚁觅食行为表示大量蚂蚁组成的群体构成一个信息正反馈机制,在同一时间内路径越短蚂蚁分泌的信息就越多,蚂蚁选择该路径的概率就更大。 蚁群算法的思想来源于自然界蚂蚁觅食&a…...
2024年10月HarmonyOS应用开发者基础认证全新题库
注意事项:切记在考试之外的设备上打开题库进行搜索,防止切屏三次考试自动结束,题目是乱序,每次考试,选项的顺序都不同 这是基础认证题库,不是高级认证题库注意看清楚标题 高级认证题库地址:20…...
kafka 分布式(不是单机)的情况下,如何保证消息的顺序消费?
大家好,我是锋哥。今天分享关于【kafka 分布式(不是单机)的情况下,如何保证消息的顺序消费?】面试题?希望对大家有帮助; kafka 分布式(不是单机)的情况下,如何保证消息的…...
数据分析案例-苹果品质数据可视化分析+建模预测
🤵♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞Ǵ…...
沈阳乐晟睿浩科技有限公司抖音小店运营创新
在当今这个数字化迅猛发展的时代,电子商务已经成为推动经济增长的重要引擎。而在电商的广阔舞台上,短视频与直播带货的崛起无疑是最为耀眼的明星之一。作为这一领域的佼佼者,抖音小店凭借其庞大的用户基础和独特的算法优势,吸引了…...
【前端】CSS知识梳理
基础:标签选择器、类选择器、id选择器和通配符选择器 font:font-style(normal) font-weight(400) font-size(16px) /line-height(0) font-family(宋体) 复合: 后代选择器( )、子选择器(>)、并集选择器(…...
【undefined reference to xxx】zookeeper库编译和安装 / sylar项目ubuntu20系统编译
最近学习sylar项目,编译项目时遇到链接库不匹配的问题,记录下自己解决问题过程,虽然过程很艰难,但还是解决了,以下内容供大家参考! undefined reference to 问题分析 项目编译报错 /usr/bin/ld: ../lib/lib…...
IDEA解决 properties 文件乱码问题
博主介绍: 计算机科班人,全栈工程师,掌握C、C#、Java、Python、Android等主流编程语言,同时也熟练掌握mysql、oracle、sqlserver等主流数据库,具有丰富的项目经验和开发技能。提供相关的学习资料、程序开发、技术解答、…...
超越Jira?2024年探索项目管理新工具!
一、Jira 在项目管理中的地位 Jira 作为一款在项目管理领域久负盛名的工具,有着不可忽视的地位。它以强大的问题跟踪和管理功能著称,无论是软件缺陷、新功能需求、任务分配还是技术难题的解决,都能精准把控。其高可定制性更是满足了不同团队…...
大模型,多模态大模型面试问题【计算图,LLama,交叉熵,SiLU,RLHF】
大模型,多模态大模型面试问题【计算图,LLama,交叉熵,SiLU,RLHF】 问题一:讲一讲计算图中pytorch是什么,TensorFlow是什么?1. PyTorch2. TensorFlow区别总结 问题二:Llama…...
凌雄科技打造DaaS模式,IT设备产业链由内而外嬗变升级
恒指正处在一种“奇妙”的波动当中。低估反弹,瞬时拉高,极速回调。这些变化集中在一条曲线上,让市场无所适从。 但事实上,所有的趋势一定总是以长期为锚。这个长期的尺度,可能会超过一般人的预估。因为中间需要经历很…...
Oracle视频基础1.2.1练习
1.2.1 需求: 完整格式查看所有用户进程判断oracle启动状态 连接sqlplus不登陆 以sysdba身份登陆,通过登陆信息判断oracle启动状态 启动数据库,查系统全局区动态组件表 使用shell,启动监听然后返回sql ps -ef sqlplus /nolog con…...
15、基于AT89C52的数码电子时钟proteus仿真设计
一、仿真原理图: 二、仿真效果: 三、相关代码: 1、timer0定时中断: void Time0(void ) interrupt 1 using 1 { count++; if(count == 20) { count = 0; second++; if(second >= 60) { second = 0; …...
UML总结
零:学习链接 UML_哔哩哔哩_bilibili 一:UML概述 二:类图 类图(Class Diagram)是统一建模语言(UML)中一种重要的图形表示,用于描述系统中的类及其之间的关系。它是面向对象设计中常…...
告别‘硬编码’:用DiffPool和SAGPooling玩转GNN图分类的‘可学习’池化
告别‘硬编码’:用DiffPool和SAGPooling玩转GNN图分类的‘可学习’池化 图神经网络(GNN)近年来在社交网络分析、分子属性预测等领域展现出强大潜力,但如何高效处理不同尺寸的图结构数据一直是技术难点。传统图池化方法如全局平均池…...
【智能优化算法】分数阶带缩减因子的蜣螂优化器(FORDBO):一种基于分数阶微积分的新型蜣螂优化算法附matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。🍎完整代码获取 定制创新 论文复现点击:Matlab科研工作室👇 关注我领取海量matlab电子书和数学建模资料 dz…...
QueryExcel终极指南:5分钟批量查询上百个Excel文件的完整解决方案
QueryExcel终极指南:5分钟批量查询上百个Excel文件的完整解决方案 【免费下载链接】QueryExcel 多Excel文件内容查询工具。 项目地址: https://gitcode.com/gh_mirrors/qu/QueryExcel 你是否曾在海量Excel文件中迷失方向?当数据分散在数十个甚至上…...
临近毕业答辩,有哪些真正好用的答辩PPT 生成软件能救急?
毕业答辩进入倒计时,论文刚定稿,却要熬夜做 PPT、理逻辑、排版式,一不小心就熬到凌晨,还容易出现内容跑偏、格式混乱、重点不突出等问题。其实,选对 AI PPT 生成工具,能帮你10 分钟搞定答辩 PPT,…...
别再死记硬背公式了!用MATLAB/Simulink手把手复现PMSM滑模观测器(SMO)设计全流程
从零构建PMSM滑模观测器:MATLAB/Simulink实战指南 在电机控制领域,滑模观测器(SMO)因其强鲁棒性和抗干扰能力,成为无速度传感器控制的热门选择。但传统教材往往陷入数学推导的泥潭,让初学者望而生畏。本文将…...
物联网LoRa系列-2:从感知到应用,详解LoRa在分层架构中的关键角色
1. LoRa技术入门:从无线通信到物联网连接 第一次接触LoRa是在五年前的一个智慧农业项目上。当时客户需要在2000亩的茶园部署环境监测系统,传统WiFi和4G网络要么覆盖不足,要么功耗太高。当我看到LoRa终端设备在单节电池供电下能工作3年时&…...
在CentOS 7虚拟机上部署ICC 2016:从安装器配置到环境调优全流程
1. 环境准备与依赖安装 在CentOS 7虚拟机上部署ICC 2016之前,我们需要做好充分的准备工作。我建议使用VMware或VirtualBox创建虚拟机,分配至少4GB内存和50GB硬盘空间。实测下来,这个配置能保证基本流畅运行,如果条件允许ÿ…...
免费开源语音转文字工具终极指南:Faster-Whisper-GUI完整使用教程
免费开源语音转文字工具终极指南:Faster-Whisper-GUI完整使用教程 【免费下载链接】faster-whisper-GUI faster_whisper GUI with PySide6 项目地址: https://gitcode.com/gh_mirrors/fa/faster-whisper-GUI 还在为会议录音整理而头疼吗?还在为视…...
C语言实战:辗转相除法实现分数约分
1. 从生活场景理解分数约分 记得小时候第一次学分数时,老师总让我们把分数化成最简形式。比如6/8要写成3/4,当时觉得这就像给分数"减肥"一样有趣。其实在编程世界里,我们也经常需要处理类似的"分数减肥"问题,…...
Netgear路由器终极救援指南:nmrpflash工具快速恢复变砖设备
Netgear路由器终极救援指南:nmrpflash工具快速恢复变砖设备 【免费下载链接】nmrpflash Netgear Unbrick Utility 项目地址: https://gitcode.com/gh_mirrors/nmr/nmrpflash 当你的Netgear路由器固件升级失败、意外断电或系统崩溃时,设备会变成一…...
