Skip to content

Commit 826be95

Browse files
authored
项目文档优化、文档网站重构并改用material主题。(hect0x7#250)
1 parent 3c0a27b commit 826be95

File tree

11 files changed

+136
-162
lines changed

11 files changed

+136
-162
lines changed

README.md

Lines changed: 53 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -12,24 +12,26 @@
1212

1313
## 项目介绍
1414

15-
本项目的核心功能是下载本子,基于此,设计了一套方便使用、便于扩展,能满足一些特殊下载需求的框架
15+
本项目的核心功能是下载本子。
1616

17-
目前核心功能实现较为稳定,项目也处于维护阶段
17+
基于此,设计了一套方便使用、便于扩展,能满足一些特殊下载需求的框架
1818

19-
除了下载功能以外,也实现了其他的一些禁漫接口,按需实现,具体如下
19+
目前核心功能实现较为稳定,项目也处于维护阶段
2020

21-
### 已实现的禁漫API
21+
除了下载功能以外,也实现了其他的一些禁漫接口,按需实现。目前已有功能
2222

2323
- 登录
24-
- 搜本
25-
- 分类 (排行榜)
26-
- 本子章节详情
24+
- 搜索本子(支持所有搜索项)
2725
- 图片下载解码
28-
- 收藏夹
29-
- 移动端接口加解密
26+
- 分类/排行榜
27+
- 本子/章节详情
28+
- 个人收藏夹
29+
- 接口加解密(APP的接口)
3030

3131
## 安装教程
3232

33+
> ⚠如果你没有安装过Python,需要先安装Python再执行下面的步骤,且版本需要>=3.7([点我去python官网下载](https://www.python.org/downloads/)
34+
3335
* 通过pip官方源安装(推荐,并且更新也是这个命令)
3436

3537
```shell
@@ -44,7 +46,9 @@
4446
## 快速上手
4547

4648
### 1. 下载本子方法
49+
4750
只需要使用如下代码,就可以下载本子`JM422866`的所有章节的图片:
51+
4852
```python
4953
import jmcomic # 导入此模块,需要先安装.
5054
jmcomic.download_album('422866') # 传入要下载的album的id,即可下载整个album到本地.
@@ -57,10 +61,10 @@ jmcomic.download_album('422866') # 传入要下载的album的id,即可下载
5761
### 2. 使用option配置来下载本子
5862

5963
1. 首先,创建一个配置文件,假设文件名为 `option.yml`
60-
61-
该文件有特定的写法,你需要参考这个文档 → [option配置](./assets/docs/sources/option_file_syntax.md)
62-
63-
下面做一个演示,假设你需要把下载的图片转为png格式,你应该把以下内容写进`option.yml`
64+
65+
该文件有特定的写法,你需要参考这个文档 → [配置文件指南](./assets/docs/sources/option_file_syntax.md)
66+
67+
下面做一个演示,假设你需要把下载的图片转为png格式,你应该把以下内容写进`option.yml`
6468

6569
```yml
6670
download:
@@ -69,67 +73,58 @@ download:
6973
```
7074
7175
2. 第二步,运行下面的python代码
76+
7277
```python
7378
import jmcomic
7479

7580
# 创建配置对象
7681
option = jmcomic.create_option_by_file('你的配置文件路径,例如 D:/option.yml')
7782
# 使用option对象来下载本子
7883
jmcomic.download_album(422866, option)
84+
# 等价写法: option.download_album(422866)
7985
```
8086

81-
82-
8387
## 进阶使用
8488

85-
文档网站:[jmcomic.readthedocs.io](https://jmcomic.readthedocs.io/en/latest)
86-
87-
首先,就下载功能,jmcomic提供了很多配置项,大部分的下载需求你都可以通过上文介绍的配置文件来配置。
89+
请查阅文档首页→[jmcomic.readthedocs.io](https://jmcomic.readthedocs.io/zh-cn/latest)
8890

89-
如果你不满足于下载,还有其他的使用需求,推荐你先看看以下文档:
90-
91-
* [jmcomic常用类和方法演示](assets/docs/sources/tutorial/0_demo.md)
92-
* [option配置文件语法(包含插件配置)](./assets/docs/sources/option_file_syntax.md)
93-
* [GitHub Actions使用教程](./assets/docs/sources/tutorial/1_github_actions.md)
94-
* [命令行使用教程](assets/docs/sources/tutorial/2_command_line.md)
95-
* [插件机制](assets/docs/sources/tutorial/6_plugin.md)
96-
* [下载过滤器机制](assets/docs/sources/tutorial/5_filter.md)
91+
(提示:jmcomic提供了很多下载配置项,大部分的下载需求你都可以尝试寻找相关配置项或插件来实现。)
9792

9893
## 项目特点
9994

10095
- **绕过Cloudflare的反爬虫**
10196
- **实现禁漫APP接口最新的加解密算法 (1.6.3)**
10297
- 用法多样:
10398

104-
- GitHub
105-
Actions:网页上直接输入本子id就能下载([教程:使用GitHub Actions下载禁漫本子](./assets/docs/sources/tutorial/1_github_actions.md)
106-
- 命令行:无需写Python代码,简单易用([教程:使用命令行下载禁漫本子](./assets/docs/sources/tutorial/2_command_line.md)
107-
- Python代码:最本质、最强大的使用方式,需要你有一定的python编程基础
99+
- GitHub
100+
Actions:网页上直接输入本子id就能下载([教程:使用GitHub Actions下载禁漫本子](./assets/docs/sources/tutorial/1_github_actions.md)
101+
- 命令行:无需写Python代码,简单易用([教程:使用命令行下载禁漫本子](./assets/docs/sources/tutorial/2_command_line.md)
102+
- Python代码:最本质、最强大的使用方式,需要你有一定的python编程基础
108103
- 支持**网页端****移动端**两种客户端实现,可通过配置切换(**移动端不限ip兼容性好,网页端限制ip地区但效率高**
109104
- 支持**自动重试和域名切换**机制
110105
- **多线程下载**(可细化到一图一线程,效率极高)
111106
- **可配置性强**
112107

113-
- 不配置也能使用,十分方便
114-
- 配置可以从配置文件生成,支持多种文件格式
115-
- 配置点有:`请求域名` `客户端实现` `是否使用磁盘缓存` `同时下载的章节/图片数量` `图片格式转换` `下载路径规则` `请求元信息(headers,cookies,proxies)`
116-
108+
- 不配置也能使用,十分方便
109+
- 配置可以从配置文件生成,支持多种文件格式
110+
- 配置点有:`请求域名` `客户端实现` `是否使用磁盘缓存` `同时下载的章节/图片数量` `图片格式转换` `下载路径规则` `请求元信息(headers,cookies,proxies)`
111+
117112
- **可扩展性强**
118113

119-
- 支持自定义本子/章节/图片下载前后的回调函数
120-
- 支持自定义类:`Downloader(负责调度)` `Option(负责配置)` `Client(负责请求)` `实体类`
121-
- 支持自定义日志、异常监听器
122-
- **支持Plugin插件,可以方便地扩展功能,以及使用别人的插件,目前内置插件有**
123-
- `登录插件`
124-
- `硬件占用监控插件`
125-
- `只下载新章插件`
126-
- `压缩文件插件`
127-
- `下载特定后缀图片插件`
128-
- `发送QQ邮件插件`
129-
- `日志主题过滤插件`
130-
- `自动使用浏览器cookies插件`
131-
- `jpg图片合成为一个pdf插件`
132-
- `导出收藏夹为csv文件插件`
114+
- 支持自定义本子/章节/图片下载前后的回调函数
115+
- 支持自定义类:`Downloader(负责调度)` `Option(负责配置)` `Client(负责请求)` `实体类`
116+
- 支持自定义日志、异常监听器
117+
- **支持Plugin插件,可以方便地扩展功能,以及使用别人的插件,目前内置插件有**
118+
- `登录插件`
119+
- `硬件占用监控插件`
120+
- `只下载新章插件`
121+
- `压缩文件插件`
122+
- `下载特定后缀图片插件`
123+
- `发送QQ邮件插件`
124+
- `日志主题过滤插件`
125+
- `自动使用浏览器cookies插件`
126+
- `jpg图片合成为一个pdf插件`
127+
- `导出收藏夹为csv文件插件`
133128

134129
## 使用小说明
135130

@@ -141,18 +136,22 @@ jmcomic.download_album(422866, option)
141136
* .github:GitHub Actions配置文件
142137
* assets:存放一些非代码的资源文件
143138

144-
* docs:项目文档
145-
* option:存放配置文件
146-
139+
* docs:项目文档
140+
* option:存放配置文件
147141
* src:存放源代码
148142

149-
* jmcomic:`jmcomic`模块
150-
143+
* jmcomic:`jmcomic`模块
151144
* tests:测试目录,存放测试代码,使用unittest
152145
* usage:用法目录,存放示例/使用代码
153146

154147
## 感谢以下项目
155148

156149
### 图片分割算法代码+禁漫移动端API
157150

158-
[![Readme Card](https://github-readme-stats.vercel.app/api/pin/?username=tonquer&repo=JMComic-qt)](https://github.com/tonquer/JMComic-qt)
151+
<a href="https://github.com/tonquer/JMComic-qt">
152+
<picture>
153+
<source media="(prefers-color-scheme: dark)" srcset="https://github-readme-stats.vercel.app/api/pin/?username=tonquer&repo=JMComic-qt&theme=radical" />
154+
<source media="(prefers-color-scheme: light)" srcset="https://github-readme-stats.vercel.app/api/pin/?username=tonquer&repo=JMComic-qt" />
155+
<img alt="Repo Card" src="https://github-readme-stats.vercel.app/api/pin/?username=tonquer&repo=JMComic-qt" />
156+
</picture>
157+
</a>

assets/docs/mkdocs.yml

Lines changed: 45 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,36 @@
1+
repo_url: https://github.com/hect0x7/JMComic-Crawler-Python
12
site_name: jmcomic
3+
24
theme:
3-
name: readthedocs
4-
highlightjs: true
5+
palette:
6+
- media: "(prefers-color-scheme)"
7+
toggle:
8+
icon: material/brightness-auto
9+
name: 切换到浅色主题
10+
- media: "(prefers-color-scheme: light)"
11+
scheme: default
12+
primary: indigo
13+
accent: indigo
14+
toggle:
15+
icon: material/brightness-7
16+
name: 切换到深色主题
17+
- media: "(prefers-color-scheme: dark)"
18+
scheme: slate
19+
primary: indigo
20+
accent: indigo
21+
toggle:
22+
icon: material/brightness-4
23+
name: 主题跟随系统
24+
name: material
25+
features:
26+
- navigation.sections
27+
- content.code.copy
28+
- content.code.select
29+
- search.suggest
30+
- search.highlight
31+
- search.share
32+
- navigation.tabs
33+
- navigation.top
534
plugins:
635
- search
736
- mkdocstrings:
@@ -14,8 +43,19 @@ plugins:
1443

1544

1645
markdown_extensions:
17-
- markdown_include.include:
18-
base_path: .
19-
- admonition
46+
- attr_list
47+
- toc:
48+
permalink: true
49+
- pymdownx.highlight
50+
- pymdownx.superfences
51+
- pymdownx.tabbed:
52+
alternate_style: true
53+
- pymdownx.highlight:
54+
anchor_linenums: true
55+
line_spans: __span
56+
pygments_lang_class: true
57+
- pymdownx.inlinehilite
58+
- pymdownx.snippets
59+
- pymdownx.superfences
2060

2161
docs_dir: sources

assets/docs/sources/index.md

Lines changed: 22 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -1,102 +1,39 @@
1-
# jmcomic
1+
首页
2+
=====================================
23

3-
Python API for JMComic(禁漫天堂)
44

5-
## Features
65

7-
- Bypasses Cloudflare anti-bot measures.
8-
- Multiple usage ways:
6+
> jmcomic库封装了一套可用于爬取禁漫的Python API.
7+
>
8+
> 你可以通过简单的几行Python代码,访问禁漫的接口,以及下载禁漫的本子。
9+
>
10+
> [查看项目更新计划](TODO.md)
911
10-
- GitHub Actions: Requires only a GitHub account. (See
11-
tutorial → [Tutorial - Download Album via GitHub Actions](./tutorial/1_github_actions.md))
12-
- Command line: No need to write Python code, simple and easy to use. (See
13-
tutorial → [Tutorial - Download Album via Command Line](./tutorial/2_command_line.md))
14-
- Python code: The most flexible and powerful way, requires some basic knowledge of Python programming.
1512

16-
- Supports two client implementations: web-based and mobile-based. Switchable through configuration (mobile-based has
17-
better IP compatibility, web-based has higher efficiency).
18-
- Supports automatic request retry and domain switching mechanism.
19-
- Multi-threaded downloading (can be fine-tuned to one thread per image, highly efficient).
20-
- Highly configurable:
2113

22-
- Can be used without configuration, very convenient.
23-
- Configuration can be generated from a configuration file, supports multiple file formats.
24-
- Configuration options
25-
include: `request domain`, `client implementation`, `number of chapters/images downloaded simultaneously`, `image format conversion`, `download path rules`, `request metadata (headers, cookies, proxies)`,
26-
and more.
14+
## 入门
2715

28-
- Highly extensible:
16+
- [快速上手(GitHub README)](https://github.com/hect0x7/JMComic-Crawler-Python/tree/master?tab=readme-ov-file#%E5%BF%AB%E9%80%9F%E4%B8%8A%E6%89%8B)
17+
- [常用类和方法演示](tutorial/0_common_usage)
18+
- [option配置以及插件写法](./option_file_syntax.md)
2919

30-
- Supports Plugin for easy functionality extension and use of other plugins.
31-
- Currently built-in
32-
plugins: `login plugin`, `hardware usage monitoring plugin`, `only download new chapters plugin`, `zip compression plugin`, `image suffix filter plugin` `send qq email plugin` `logging topic filter plugin` `auto set browser cookies plugin`.
33-
- Supports custom callback functions before and after downloading album/chapter/images.
34-
- Supports custom logging.
35-
- Supports custom core
36-
classes: `Downloader (responsible for scheduling)`, `Option (responsible for configuration)`, `Client (responsible for requests)`, `entity classes`,
37-
and more.
3820

39-
## Install
4021

41-
- Install via official pip source (recommended, and also used for updates):
22+
## 特殊用法教程
23+
- [GitHub Actions使用教程](./tutorial/1_github_actions.md)
24+
- [命令行使用教程](tutorial/2_command_line.md)
25+
- [导出收藏夹教程](tutorial/10_export_favorites.md)
4226

43-
```
44-
pip install jmcomic -i https://pypi.org/project --upgrade
45-
```
4627

47-
- Install via GitHub code:
4828

49-
```
50-
pip install git+https://github.com/hect0x7/JMComic-Crawler-Python
51-
```
29+
## 核心机制
30+
- [下载过滤器机制](tutorial/5_filter.md)
31+
- [插件机制](tutorial/6_plugin.md)
5232

53-
## Getting Started
5433

55-
### 1. Download album:
5634

57-
- Python code
35+
## 自定义
36+
- [下载文件夹名](tutorial/9_custom_download_dir_name.md)
37+
- [日志](tutorial/9_custom_download_dir_name.md)
38+
- [模块](tutorial/4_module_custom.md)
5839

59-
```python
60-
import jmcomic
61-
# Pass the ID of the album you want to download, and it will download all chapters of the album to your local machine.
62-
jmcomic.download_album('422866')
63-
```
64-
65-
- Command line
66-
67-
```
68-
jmcomic 422866
69-
```
70-
71-
### 2. Customize download behavior using an option:
72-
73-
For example, if you want to convert all downloaded images to the .jpg format, you can create a YAML file with the
74-
following content (refer to [option file syntax](./option_file_syntax.md)):
75-
76-
```yml
77-
download:
78-
image:
79-
suffix: .jpg # Don't forget the '.'
80-
```
81-
82-
Then, use one of the following ways:
83-
84-
* Python code
85-
86-
```python
87-
from jmcomic import download_album, create_option
88-
option = create_option('/path/to/your/optionfile')
89-
download_album('422866', option)
90-
```
91-
92-
* Command line
93-
94-
```
95-
jmcomic 422866 --option="/path/to/your/optionfile"
96-
```
97-
98-
## Acknowledgement
99-
100-
### Image Segmentation Algorithm Code + JMComic Mobile API
101-
102-
[![Readme Card](https://github-readme-stats.vercel.app/api/pin/?username=tonquer&repo=JMComic-qt)](https://github.com/tonquer/JMComic-qt)

0 commit comments

Comments
 (0)