cosmiumx 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/publish.yml +47 -0
- package/README.md +189 -0
- package/img/bg128.jpeg +0 -0
- package/img/juejin.png +0 -0
- package/index.js +6 -0
- package/package.json +11 -0
- package/video/movie.mp4 +0 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
name: Publish to npm
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
publish:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
permissions:
|
|
12
|
+
contents: write
|
|
13
|
+
steps:
|
|
14
|
+
- name: Checkout code
|
|
15
|
+
uses: actions/checkout@v3
|
|
16
|
+
with:
|
|
17
|
+
fetch-depth: 0
|
|
18
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
19
|
+
|
|
20
|
+
- name: Setup Node.js
|
|
21
|
+
uses: actions/setup-node@v3
|
|
22
|
+
with:
|
|
23
|
+
node-version: '18'
|
|
24
|
+
registry-url: 'https://registry.npmjs.org'
|
|
25
|
+
|
|
26
|
+
- name: Configure Git
|
|
27
|
+
run: |
|
|
28
|
+
git config --global user.name "github-actions[bot]"
|
|
29
|
+
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
|
30
|
+
|
|
31
|
+
- name: Bump version
|
|
32
|
+
run: |
|
|
33
|
+
npm version patch -m "chore: bump version to %s [skip ci]"
|
|
34
|
+
|
|
35
|
+
- name: Install dependencies
|
|
36
|
+
run: npm install --production
|
|
37
|
+
|
|
38
|
+
- name: Publish to npm
|
|
39
|
+
run: npm publish
|
|
40
|
+
env:
|
|
41
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
42
|
+
|
|
43
|
+
- name: Push changes
|
|
44
|
+
run: |
|
|
45
|
+
git push --follow-tags
|
|
46
|
+
env:
|
|
47
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
package/README.md
ADDED
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
<img src="https://unpkg.com/npm-graph-bed@latest/img/other/npm-pic.png" alt="npm图床模板" width="200"/>
|
|
3
|
+
<p><strong>npm CDN 图床模板 - 供 Fork 使用的完整解决方案</strong></p>
|
|
4
|
+
<p>
|
|
5
|
+
<img src="https://img.shields.io/github/forks/cosmium/npm-graph-bed?style=flat-square" alt="GitHub forks"/>
|
|
6
|
+
<img src="https://img.shields.io/github/stars/cosmium/npm-graph-bed?style=flat-square" alt="GitHub stars"/>
|
|
7
|
+
<img src="https://img.shields.io/github/license/cosmium/npm-graph-bed?style=flat-square" alt="license"/>
|
|
8
|
+
</p>
|
|
9
|
+
</div>
|
|
10
|
+
|
|
11
|
+
## 📖 项目简介
|
|
12
|
+
|
|
13
|
+
这是一个用于创建个人图床的完整模板项目。通过 Fork 此仓库,你可以快速搭建属于自己的基于 npm CDN 的图床服务。项目集成了 GitHub Actions 自动化流程,每次提交图片后会自动发布到 npm,实现免费、稳定的图床服务。
|
|
14
|
+
|
|
15
|
+
## ✨ 特性
|
|
16
|
+
|
|
17
|
+
- 🆓 **完全免费** - 利用 npm 的免费 CDN 服务
|
|
18
|
+
- 🚀 **全球加速** - npm CDN 覆盖全球,访问速度快
|
|
19
|
+
- 🔄 **自动发布** - GitHub Actions 自动化发布流程
|
|
20
|
+
- 📦 **版本管理** - 每次提交自动升级版本号
|
|
21
|
+
- 🔒 **稳定可靠** - npm 作为全球最大的包管理平台,稳定性有保障
|
|
22
|
+
|
|
23
|
+
## 🎯 模板工作原理
|
|
24
|
+
|
|
25
|
+
1. **Fork 仓库**:Fork 此模板仓库到你的 GitHub 账户
|
|
26
|
+
2. **配置项目**:设置 npm token 和修改包名
|
|
27
|
+
3. **图片存储**:将图片放在 npm 包的 `img` 目录中
|
|
28
|
+
4. **自动发布**:提交代码到 GitHub 后,GitHub Actions 自动将包发布到 npm
|
|
29
|
+
5. **CDN 访问**:通过 unpkg、jsdelivr 等 CDN 服务访问图片
|
|
30
|
+
|
|
31
|
+
### 访问方式
|
|
32
|
+
|
|
33
|
+
当您完成配置并发布后,图片可通过以下 CDN 访问:
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
# unpkg
|
|
37
|
+
https://unpkg.com/[your-package-name]@[version]/img/your-image.png
|
|
38
|
+
|
|
39
|
+
# jsdelivr
|
|
40
|
+
https://cdn.jsdelivr.net/npm/[your-package-name]@[version]/img/your-image.png
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
> **注意**:将 `[your-package-name]` 替换为您在 `package.json` 中设置的包名,将 `[version]` 替换为具体的版本号或使用 `latest`。
|
|
44
|
+
|
|
45
|
+
## 🚀 快速开始
|
|
46
|
+
|
|
47
|
+
### 1. Fork 本项目
|
|
48
|
+
|
|
49
|
+
点击右上角 **Fork** 按钮,将本项目 Fork 到你的 GitHub 账号下。
|
|
50
|
+
|
|
51
|
+
### 2. 配置 npm Token
|
|
52
|
+
|
|
53
|
+
1. 登录 [npmjs.com](https://www.npmjs.com/)
|
|
54
|
+
2. 进入 **Access Tokens** 页面
|
|
55
|
+
3. 点击 **Generate New Token** → 选择 **Bypass 2FA** 类型 (npm最新规则token最长只能设置90天)
|
|
56
|
+
4. 复制生成的 token
|
|
57
|
+
|
|
58
|
+
### 3. 配置 GitHub Secrets
|
|
59
|
+
|
|
60
|
+
在你 Fork 的仓库中:
|
|
61
|
+
|
|
62
|
+
1. 进入 **Settings** → **Secrets and variables** → **Actions**
|
|
63
|
+
2. 点击 **New repository secret**
|
|
64
|
+
3. 添加以下 Secret:
|
|
65
|
+
- Name: `NPM_TOKEN`
|
|
66
|
+
- Value: 粘贴你的 npm token
|
|
67
|
+
|
|
68
|
+
### 4. 修改模板中的占位符
|
|
69
|
+
|
|
70
|
+
编辑 `package.json`,将包名改为你的自定义名称:
|
|
71
|
+
|
|
72
|
+
```json
|
|
73
|
+
{
|
|
74
|
+
"name": "your-image-hosting-package",
|
|
75
|
+
"version": "0.0.1",
|
|
76
|
+
"description": "My personal image hosting solution using npm CDN",
|
|
77
|
+
...
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
**注意**:包名必须是 npm 上未被占用的唯一名称。同时记得更新描述文字以符合你的项目。
|
|
82
|
+
|
|
83
|
+
### 5. 上传图片
|
|
84
|
+
|
|
85
|
+
1. 将图片放入 `images` 目录
|
|
86
|
+
2. 提交代码:
|
|
87
|
+
```bash
|
|
88
|
+
git add img/
|
|
89
|
+
git commit -m "feat: add new images"
|
|
90
|
+
git push origin master
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
3. GitHub Actions 会自动:
|
|
94
|
+
- 提升版本号
|
|
95
|
+
- 发布到 npm
|
|
96
|
+
- 创建版本 tag
|
|
97
|
+
|
|
98
|
+
### 6. 使用您的图床
|
|
99
|
+
|
|
100
|
+
发布成功后,使用以下格式访问您的图片:
|
|
101
|
+
|
|
102
|
+
```markdown
|
|
103
|
+

|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
在 Markdown 或 HTML 中都可以使用这些链接。
|
|
107
|
+
|
|
108
|
+
## 📁 项目结构
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
npm-graph-bed/
|
|
112
|
+
├── .github/
|
|
113
|
+
│ └── workflows/
|
|
114
|
+
│ └── publish.yml # GitHub Actions 自动发布配置
|
|
115
|
+
├── img/ # 图片存储目录
|
|
116
|
+
│ └── other/npm-pic.png
|
|
117
|
+
├── index.js # 包入口文件
|
|
118
|
+
├── package.json # 包配置文件
|
|
119
|
+
└── README.md # 项目说明
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## ⚙️ 工作流程
|
|
123
|
+
|
|
124
|
+
```mermaid
|
|
125
|
+
graph LR
|
|
126
|
+
A[上传图片到 img/] --> B[提交到 GitHub]
|
|
127
|
+
B --> C[触发 GitHub Actions]
|
|
128
|
+
C --> D[自动提升版本号]
|
|
129
|
+
D --> E[发布到 npm]
|
|
130
|
+
E --> F[全球 CDN 分发]
|
|
131
|
+
F --> G[通过 CDN 访问图片]
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## 💡 模板使用建议
|
|
135
|
+
|
|
136
|
+
1. **个性化定制**:Fork 后根据需要修改 README、描述等信息
|
|
137
|
+
2. **图片优化**:上传前压缩图片,减小包体积
|
|
138
|
+
3. **命名规范**:使用有意义的文件名,便于管理
|
|
139
|
+
4. **版本控制**:重要图片建议指定具体版本号而非 `@latest`
|
|
140
|
+
5. **包大小限制**:npm 包有大小限制,建议单个包不超过 100MB
|
|
141
|
+
|
|
142
|
+
## 🛠️ 模板自定义选项
|
|
143
|
+
|
|
144
|
+
### 可选配置
|
|
145
|
+
|
|
146
|
+
Fork 本模板后,您可以根据需要自定义以下内容:
|
|
147
|
+
|
|
148
|
+
- **项目名称**:修改 `package.json` 中的 `name` 字段
|
|
149
|
+
- **版本策略**:编辑 `.github/workflows/publish.yml` 中的版本提升命令
|
|
150
|
+
- **目录结构**:修改图片存储目录(记得同步更新 GitHub Actions 配置)
|
|
151
|
+
- **徽章链接**:更新 README 中的 npm 和 GitHub 链接指向您的项目
|
|
152
|
+
|
|
153
|
+
### 自定义版本提升策略
|
|
154
|
+
|
|
155
|
+
编辑 `.github/workflows/publish.yml`:
|
|
156
|
+
|
|
157
|
+
```yaml
|
|
158
|
+
# 补丁版本 (0.0.1 → 0.0.2)
|
|
159
|
+
npm version patch
|
|
160
|
+
|
|
161
|
+
# 次版本 (0.0.1 → 0.1.0)
|
|
162
|
+
npm version minor
|
|
163
|
+
|
|
164
|
+
# 主版本 (0.0.1 → 1.0.0)
|
|
165
|
+
npm version major
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## 📝 注意事项
|
|
169
|
+
|
|
170
|
+
- ⚠️ **npm 包一旦发布无法删除**,版本号会永久保留
|
|
171
|
+
- ⚠️ **不要上传敏感信息**,npm 包是完全公开的
|
|
172
|
+
- ⚠️ **遵守 npm 使用条款**,不要滥用 CDN 服务
|
|
173
|
+
- ⚠️ **图片版权**,确保你有权使用并分发上传的图片
|
|
174
|
+
|
|
175
|
+
## 📄 License
|
|
176
|
+
|
|
177
|
+
ISC
|
|
178
|
+
|
|
179
|
+
## 📄 模板使用说明
|
|
180
|
+
|
|
181
|
+
此仓库是一个模板,用于创建个人图床项目。如果您发现了模板中的问题或想改进模板,请在原始仓库中提交 Issue 或 Pull Request。
|
|
182
|
+
|
|
183
|
+
原始模板仓库:[https://github.com/cosmium/npm-graph-bed](https://github.com/cosmium/npm-graph-bed)
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
<div align="center">
|
|
188
|
+
<p>如果这个项目对你有帮助,请给个 ⭐️ Star 支持一下!</p>
|
|
189
|
+
</div>
|
package/img/bg128.jpeg
ADDED
|
Binary file
|
package/img/juejin.png
ADDED
|
Binary file
|
package/index.js
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "cosmiumx",
|
|
3
|
+
"version": "0.0.2",
|
|
4
|
+
"main": "index.js",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
|
7
|
+
},
|
|
8
|
+
"author": "",
|
|
9
|
+
"license": "ISC",
|
|
10
|
+
"description": "npm graph bed - free image hosting solution using npm CDN"
|
|
11
|
+
}
|
package/video/movie.mp4
ADDED
|
Binary file
|