🔥 掘金小册 markdown 转换器(Nodejs版)
🔥 掘金小册 markdown 转换器(Nodejs版)
购买过的掘金小册,通过谷歌 pupeteer 自动爬取 html 文档,并将 html 文档转换为 markdown 格式的文件。
安装方式
首先 clone 此项目:
git clone https://github.com/oliyg/juejinxiaoce.git
然后安装依赖:
npm i
推荐使用 nrm 管理镜像源,使用淘宝镜像:
nrm use taobao
手动下载 chromium:
windows 系统,将 chromium 解压缩,连同
chrome-win
文件夹一同放入项目根目录中去macOS 系统,正常安装程序(安装到
/Applications
应用程序文件夹)中去,避免遇到权限问题
最后项目目录如下:
├── CODE_OF_CONDUCT.md
├── LICENSE
├── app.js
├── chrome-win
├── constant.js
├── converter.js
├── dist
├── node_modules
├── package-lock.json
├── package.json
└── readme.md
使用方法
新建 .env 文件到根目录,并根据 .env.example 填写掘金登录用户名和密码以及要爬取的小册 ID 信息:
小册 ID 见 URL 链接:
.env 文件修改完毕后执行 npm start 等待出现消息 all done. enjoy.
完成转换,效果如下:
常见问题
- 报错:spawn EACCES
- 常见于 macOS,请保证 chromium 已被正常安装
免责
- 不提供用户名和密码,需使用用户自己的账号密码登录
- 仅作为技术讨论,学习和研究使用
隐私
- 该项目不会存储和发送任何用户隐私数据
License
The MIT License (MIT) Copyright (c) 2019 OliverYoung
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
针对您提到的“掘金小册 markdown 转换器(Nodejs版)”的需求,这里提供一个基于Node.js的Markdown转换解决方案,利用现有的开源库来实现Markdown与其他格式(如JSON、HTML、PDF)的转换。
Markdown转JSON
推荐使用Jdown库,它可以将Markdown文件转换为JSON,同时将内容转化为HTML。使用示例如下:
const jdown = require('jdown');
jdown('path/to/content').then(content => {
console.log(content);
});
Markdown转HTML
可以使用marked库,它是一个非常流行的Markdown解析器。以下是一个简单的示例:
const fs = require('fs');
const marked = require('marked');
const markdownContent = fs.readFileSync('input.md', 'utf8');
const htmlContent = marked(markdownContent);
fs.writeFileSync('output.html', htmlContent, 'utf8');
Markdown转PDF
使用markdown-pdf库,可以将Markdown文件直接转换为PDF。以下是一个基本的使用示例:
const markdownpdf = require("markdown-pdf");
const fs = require("fs");
fs.createReadStream("input.md")
.pipe(markdownpdf())
.pipe(fs.createWriteStream("output.pdf"));
以上示例展示了如何使用Node.js和相应的库来实现Markdown格式的转换。根据您的具体需求,可以选择合适的库和方法进行实现。