2read 开源项目使用教程
1. 项目的目录结构及介绍
2read/
├── README.md
├── package.json
├── src/
│ ├── background.js
│ ├── content.js
│ ├── options.html
│ ├── options.js
│ └── popup.html
│ └── popup.js
├── public/
│ └── icons/
│ ├── icon-48.png
│ └── icon-128.png
└── dist/
├── 2read.zip
└── manifest.json
- README.md: 项目说明文件,包含项目的基本信息和使用指南。
- package.json: 项目的依赖管理文件,包含项目的依赖包和脚本命令。
- src/: 源代码目录,包含项目的所有源代码文件。
- background.js: 后台脚本文件,处理浏览器扩展的后台逻辑。
- content.js: 内容脚本文件,处理网页内容的逻辑。
- options.html: 选项页面文件,提供用户配置选项的界面。
- options.js: 选项页面的脚本文件,处理选项页面的逻辑。
- popup.html: 弹出窗口页面文件,提供用户交互的界面。
- popup.js: 弹出窗口的脚本文件,处理弹出窗口的逻辑。
- public/: 公共资源目录,包含项目的图标等静态资源。
- icons/: 图标目录,包含项目的图标文件。
- dist/: 构建输出目录,包含构建后的文件。
- 2read.zip: 构建后的压缩包,用于发布。
- manifest.json: 扩展的清单文件,包含扩展的配置信息。
2. 项目的启动文件介绍
项目的启动文件主要是 background.js
和 content.js
:
- background.js: 这个文件是浏览器扩展的后台脚本,负责处理扩展的后台逻辑,如消息传递、事件监听等。
- content.js: 这个文件是内容脚本,负责处理网页内容的逻辑,如页面内容的清洗和上传到IPFS网络。
3. 项目的配置文件介绍
项目的配置文件主要是 manifest.json
:
{
"manifest_version": 2,
"name": "2read",
"version": "1.8",
"description": "Convert article in current tab to readable form and upload it to P2P network - IPFS",
"icons": {
"48": "public/icons/icon-48.png",
"128": "public/icons/icon-128.png"
},
"permissions": [
"activeTab",
"storage",
"contextMenus"
],
"background": {
"scripts": ["src/background.js"],
"persistent": false
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["src/content.js"]
}
],
"browser_action": {
"default_popup": "src/popup.html",
"default_icon": {
"48": "public/icons/icon-48.png",
"128": "public/icons/icon-128.png"
}
},
"options_ui": {
"page": "src/options.html",
"open_in_tab": true
}
}
- manifest_version: 指定清单文件的版本,当前为2。
- name: 扩展的名称。
- version: 扩展的版本号。
- description: 扩展的描述信息。
- icons: 扩展的图标路径。
- permissions: 扩展所需的权限,如
activeTab
、storage
、contextMenus
等。 - background: 后台脚本的配置,指定后台脚本文件和是否持久化。
- content_scripts: 内容脚本的配置,指定匹配的URL和内容脚本文件。
- browser_action: 浏览器动作的配置,指定弹出窗口的HTML文件和默认图标。
- options_ui: 选项页面的配置,指定