@inblog/cli 0.2.3 → 0.2.4
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/README.md +202 -0
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
# @inblog/cli
|
|
2
|
+
|
|
3
|
+
Command-line tool for managing [inblog.ai](https://inblog.ai) blog content. Create, publish, and manage blog posts, tags, authors, images, and more from your terminal.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install -g @inblog/cli
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Requires Node.js 18+.
|
|
12
|
+
|
|
13
|
+
## Quick Start
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# Authenticate with your API key
|
|
17
|
+
inblog auth login
|
|
18
|
+
|
|
19
|
+
# Check current blog
|
|
20
|
+
inblog auth status
|
|
21
|
+
|
|
22
|
+
# List posts
|
|
23
|
+
inblog posts list
|
|
24
|
+
|
|
25
|
+
# Create and publish a post
|
|
26
|
+
inblog posts create --title "My Post" --slug "my-post" --content-file ./content.html
|
|
27
|
+
inblog posts publish <id>
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Commands
|
|
31
|
+
|
|
32
|
+
### Authentication
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
inblog auth login # Login with API key
|
|
36
|
+
inblog auth whoami # Show current user/blog
|
|
37
|
+
inblog auth status # Check auth status
|
|
38
|
+
inblog auth logout # Remove saved credentials
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Blog Management
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
inblog blogs me # Current blog info
|
|
45
|
+
inblog blogs list # List accessible blogs (OAuth)
|
|
46
|
+
inblog blogs switch [id] # Switch active blog
|
|
47
|
+
inblog blogs update # Update blog settings
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**Blog settings:**
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
inblog blogs update --title "Blog Name" --description "About" --language ko
|
|
54
|
+
inblog blogs update --logo ./logo.png --favicon ./favicon.ico --og-image ./og.jpg
|
|
55
|
+
inblog blogs update --ga-id G-XXXXXXXXXX
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**Custom domain:**
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
inblog blogs domain connect blog.example.com # Connect + DNS guide
|
|
62
|
+
inblog blogs domain status # Check verification
|
|
63
|
+
inblog blogs domain disconnect # Disconnect
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**Banner:**
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
inblog blogs banner get
|
|
70
|
+
inblog blogs banner set --image ./banner.png --title "Title" --subtext "Subtitle"
|
|
71
|
+
inblog blogs banner remove
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### Posts
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
inblog posts list # List all posts
|
|
78
|
+
inblog posts list --published # Published only
|
|
79
|
+
inblog posts list --draft # Drafts only
|
|
80
|
+
inblog posts get <id> # Post details
|
|
81
|
+
|
|
82
|
+
inblog posts create \
|
|
83
|
+
--title "Title" \
|
|
84
|
+
--slug "url-slug" \
|
|
85
|
+
--image ./cover.jpg \
|
|
86
|
+
--content-file ./content.html
|
|
87
|
+
|
|
88
|
+
inblog posts update <id> --title "New Title" --image ./new-cover.jpg
|
|
89
|
+
inblog posts delete <id>
|
|
90
|
+
|
|
91
|
+
inblog posts publish <id> # Publish immediately
|
|
92
|
+
inblog posts unpublish <id> # Unpublish
|
|
93
|
+
inblog posts schedule <id> --at "2026-03-15T09:00:00+09:00"
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
**Tags & Authors on posts:**
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
inblog posts add-tags <id> --tag-ids 1,2,3
|
|
100
|
+
inblog posts remove-tag <postId> <tagId>
|
|
101
|
+
inblog posts add-authors <id> --author-ids uuid1,uuid2
|
|
102
|
+
inblog posts remove-author <postId> <authorId>
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Images
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
# Upload images to CDN
|
|
109
|
+
inblog images upload ./photo1.jpg ./photo2.png
|
|
110
|
+
inblog images upload ./cover.jpg -b featured_image --json
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Local image files used with `--image` or `--content-file` are automatically uploaded to the CDN.
|
|
114
|
+
|
|
115
|
+
### Tags
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
inblog tags list
|
|
119
|
+
inblog tags create --name "Tag Name" --slug "tag-slug"
|
|
120
|
+
inblog tags update <id> --name "New Name"
|
|
121
|
+
inblog tags delete <id>
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Authors
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
inblog authors list
|
|
128
|
+
inblog authors get <id>
|
|
129
|
+
inblog authors update <id> --name "Name" --avatar-url "https://..."
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Redirects
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
inblog redirects list
|
|
136
|
+
inblog redirects create --from "/old" --to "/new" --type 308
|
|
137
|
+
inblog redirects update <id> --to "/newer"
|
|
138
|
+
inblog redirects delete <id>
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Forms
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
inblog forms list
|
|
145
|
+
inblog forms get <id>
|
|
146
|
+
inblog form-responses list --form-id <id>
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### Search Console
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
inblog search-console connect # OAuth connect
|
|
153
|
+
inblog search-console status # Connection status
|
|
154
|
+
inblog search-console keywords --sort clicks --limit 20
|
|
155
|
+
inblog search-console pages --sort clicks --limit 20
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### Analytics
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
inblog analytics traffic --interval day # Blog traffic
|
|
162
|
+
inblog analytics posts --sort visits --limit 20 --include title
|
|
163
|
+
inblog analytics sources --limit 20 # Traffic sources
|
|
164
|
+
inblog analytics post <id> --interval day # Single post traffic
|
|
165
|
+
inblog analytics post <id> --sources # Single post sources
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## Global Options
|
|
169
|
+
|
|
170
|
+
| Option | Description |
|
|
171
|
+
|--------|-------------|
|
|
172
|
+
| `--json` | Output as JSON |
|
|
173
|
+
| `--base-url <url>` | Custom API base URL |
|
|
174
|
+
| `--no-color` | Disable colored output |
|
|
175
|
+
| `--api-key <key>` | Use specific API key |
|
|
176
|
+
|
|
177
|
+
## Image Handling
|
|
178
|
+
|
|
179
|
+
The CLI automatically handles image uploads:
|
|
180
|
+
|
|
181
|
+
- `--image ./cover.jpg` on `posts create/update` uploads the file to CDN
|
|
182
|
+
- `--content-file` scans HTML for local file paths and base64 data URIs, uploads them, and replaces with CDN URLs
|
|
183
|
+
- `--logo`, `--favicon`, `--og-image` on `blogs update` accept local files
|
|
184
|
+
- `inblog images upload` for standalone CDN uploads
|
|
185
|
+
|
|
186
|
+
**Note:** Do not embed base64 images directly in `content_html` API calls (causes 413 errors). Use `--content-file` or upload first with `inblog images upload`.
|
|
187
|
+
|
|
188
|
+
## API Key
|
|
189
|
+
|
|
190
|
+
Get your API key from [inblog.ai dashboard](https://inblog.ai) > Settings > API Keys. Requires a Team plan or higher.
|
|
191
|
+
|
|
192
|
+
## AI Skills
|
|
193
|
+
|
|
194
|
+
For AI-assisted blog management (Claude Code, Cursor, GitHub Copilot), install the companion package:
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
npx @inblog/ai-skills
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## License
|
|
201
|
+
|
|
202
|
+
MIT
|