Skip to content

Commit

Permalink
build: 使用 pnpm 替代 npm 作为包管理工具
Browse files Browse the repository at this point in the history
  • Loading branch information
h7ml committed Oct 26, 2024
1 parent 70f0c3e commit e21b0e2
Show file tree
Hide file tree
Showing 4 changed files with 118 additions and 27 deletions.
22 changes: 20 additions & 2 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,23 @@ jobs:
uses: actions/setup-node@v3
with:
node-version: '16'
- run: npm ci
- run: npm run lint:type
- name: Install pnpm
uses: pnpm/action-setup@v2
with:
version: 7
- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
- uses: actions/cache@v3
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install dependencies
run: pnpm install
- name: Run lint
run: pnpm run lint:type
24 changes: 21 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,26 @@ jobs:
uses: actions/setup-node@v3
with:
node-version: '16'
- run: npm ci
- run: npm run build
- name: Install pnpm
uses: pnpm/action-setup@v2
with:
version: 7
- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
- uses: actions/cache@v3
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install dependencies
run: pnpm install
- name: Build
run: pnpm run build
- name: Zip Extension
run: zip -r juejin-book-downloader.zip dist
- name: Create Release
Expand All @@ -36,4 +54,4 @@ jobs:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./juejin-book-downloader.zip
asset_name: juejin-book-downloader.zip
asset_content_type: application/zip
asset_content_type: application/zip
22 changes: 20 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,23 @@ jobs:
uses: actions/setup-node@v3
with:
node-version: '16'
- run: npm ci
- run: npm test
- name: Install pnpm
uses: pnpm/action-setup@v2
with:
version: 7
- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT
- uses: actions/cache@v3
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install dependencies
run: pnpm install
- name: Run tests
run: pnpm test
77 changes: 57 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,38 @@
# 掘金小册下载器

## 项目简介
# juejin-book-downloader

<div align="center">

![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/h7ml/juejin-book-downloader/ci.yml?branch=main)
![GitHub release (latest by date)](https://img.shields.io/github/v/release/h7ml/juejin-book-downloader)
![GitHub top language](https://img.shields.io/github/languages/top/h7ml/juejin-book-downloader)
![GitHub](https://img.shields.io/github/license/h7ml/juejin-book-downloader)
![GitHub stars](https://img.shields.io/github/stars/h7ml/juejin-book-downloader?style=social)

</div>

## 📚 目录

- [juejin-book-downloader](#juejin-book-downloader)
- [📚 目录](#-目录)
- [🚀 项目简介](#-项目简介)
- [✨ 功能特点](#-功能特点)
- [📥 安装说明](#-安装说明)
- [方法 1:从 GitHub Release 安装(推荐)](#方法-1从-github-release-安装推荐)
- [方法 2:从源代码构建](#方法-2从源代码构建)
- [🔄 更新扩展程序](#-更新扩展程序)
- [🖱️ 使用方法](#️-使用方法)
- [🛠️ 技术栈](#️-技术栈)
- [📁 项目结构](#-项目结构)
- [🤝 贡献指南](#-贡献指南)
- [📄 许可证](#-许可证)
- [📞 联系方式](#-联系方式)
- [⚠️ 免责声明](#️-免责声明)

## 🚀 项目简介

掘金小册下载器是一个便捷的浏览器扩展,专为掘金平台用户设计。它允许用户轻松下载已购买的掘金小册内容,支持下载整本小册或单个章节,并将内容保存为多种格式,方便离线阅读和学习。

## 功能特点
## 功能特点

- 在小册页面智能添加下载按钮
- 支持下载整本小册
Expand All @@ -13,7 +41,7 @@
- 友好的用户界面和交互体验
- 支持离线阅读,方便随时学习

## 安装说明
## 📥 安装说明

### 方法 1:从 GitHub Release 安装(推荐)

Expand All @@ -28,37 +56,42 @@

### 方法 2:从源代码构建

如果您想自己构建扩展程序,请按照以下步骤操作:
<details>
<summary>点击展开详细步骤</summary>

1. 克隆仓库到本地:

```
git clone https://github.com/h7ml/juejin-book-downloader.git
```

2. 进入项目目录:

```
cd juejin-book-downloader
```

3. 安装依赖:

```
npm install
```

4. 构建项目:

```
npm run build
```

5. 在浏览器中加载扩展:

- 打开 Chrome 浏览器,进入 `chrome://extensions/`
- 开启"开发者模式"
- 点击"加载已解压的扩展程序"
- 选择项目的 `dist` 目录

## 更新扩展程序
</details>

## 🔄 更新扩展程序

要更新到最新版本:
<details>
<summary>点击展开更新步骤</summary>

1. 下载最新的 Release 版本。
2. 解压新版本的 zip 文件。
Expand All @@ -68,14 +101,16 @@

注意:更新过程中您的设置和数据可能会丢失。

## 使用方法
</details>

## 🖱️ 使用方法

1. 安装扩展后,访问掘金小册页面。
2. 在小册首页或章节页面,您会看到一个新的下载按钮。
3. 点击下载按钮,选择所需的下载格式(HTML、Markdown、PDF 或 JSON)。
4. 确认下载,内容将被保存为所选格式的文件。

## 技术栈
## 🛠️ 技术栈

- React:用于构建用户界面
- TypeScript:提供类型安全和更好的开发体验
Expand All @@ -85,8 +120,9 @@
- html-to-pdf:用于生成 PDF 文件
- markdown-it:用于处理 Markdown 格式

## 项目结构
## 📁 项目结构

```
src/
├── content-scripts/
│ ├── juejin.tsx # 注入到掘金页面的主要脚本
Expand All @@ -99,8 +135,9 @@ src/
│ └── index.ts # 背景脚本,处理扩展的后台逻辑
└── popup/
└── index.tsx # 扩展的弹出窗口界面
```

## 贡献指南
## 🤝 贡献指南

我们欢迎并感谢任何形式的贡献!如果您想为项目做出贡献,请遵循以下步骤:

Expand All @@ -112,17 +149,17 @@ src/

在提交 Pull Request 之前,请确保您的代码符合我们的编码规范,并且所有测试都已通过。

## 许可证
## 📄 许可证

本项目采用 MIT 许可证。详情请见 [LICENSE](LICENSE) 文件。

## 联系方式
## 📞 联系方式

如有任何问题、建议或反馈,请通过以下方式联系我们:

- 项目 Issues: [https://github.com/h7ml/juejin-book-downloader/issues](https://github.com/h7ml/juejin-book-downloader/issues)
- 邮箱: [email protected]

## 免责声明
## ⚠️ 免责声明

本扩展程序仅供学习和研究使用。请尊重作者的知识产权,不要将下载的内容用于商业用途或非法传播。使用本扩展程序时,请遵守掘金平台的用户协议和相关法律法规。
本扩展程序仅供学习和研究使用。请尊重作者的知识产权,不要将下载的内容用于商业用途或非法传播。使用本扩展程序时,请遵守掘金平台的用户协议和相关法律法规。

0 comments on commit e21b0e2

Please sign in to comment.