@navet-tools/mdc-cli 1.0.0 → 1.1.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/README.md +5 -5
- package/biome.json +34 -0
- package/dist/standalone.js +117 -97
- package/dist/standalone.js.map +1 -1
- package/install-cli.sh +25 -0
- package/package.json +48 -46
- package/pnpm-workspace.yaml +10 -0
- package/setup-zshrc.sh +99 -0
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
A powerful CLI tool that converts Markdown to Confluence format and uploads it directly from your terminal. Perfect for teams who love writing in Markdown but need to publish to Confluence.
|
|
6
6
|
|
|
7
|
-

|
|
7
|
+

|
|
8
8
|

|
|
9
9
|

|
|
10
10
|
|
|
@@ -27,7 +27,7 @@ A powerful CLI tool that converts Markdown to Confluence format and uploads it d
|
|
|
27
27
|
**Requirements:** Node.js 18 or later
|
|
28
28
|
|
|
29
29
|
```bash
|
|
30
|
-
npm install -g mdc-cli
|
|
30
|
+
npm install -g @navet-tools/mdc-cli
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
Verify installation:
|
|
@@ -261,7 +261,7 @@ jobs:
|
|
|
261
261
|
- uses: actions/setup-node@v4
|
|
262
262
|
with:
|
|
263
263
|
node-version: '18'
|
|
264
|
-
- run: npm install -g mdc-cli
|
|
264
|
+
- run: npm install -g @navet-tools/mdc-cli
|
|
265
265
|
- run: mdc upload docs/*.md -u
|
|
266
266
|
env:
|
|
267
267
|
CONFLUENCE_EMAIL: ${{ secrets.CONFLUENCE_EMAIL }}
|
|
@@ -273,7 +273,7 @@ jobs:
|
|
|
273
273
|
sync-docs:
|
|
274
274
|
stage: deploy
|
|
275
275
|
script:
|
|
276
|
-
- npm install -g mdc-cli
|
|
276
|
+
- npm install -g @navet-tools/mdc-cli
|
|
277
277
|
- mdc upload docs/*.md -u
|
|
278
278
|
variables:
|
|
279
279
|
CONFLUENCE_EMAIL: $CONFLUENCE_EMAIL
|
|
@@ -298,7 +298,7 @@ steps:
|
|
|
298
298
|
inputs:
|
|
299
299
|
versionSpec: '18.x'
|
|
300
300
|
|
|
301
|
-
- script: npm install -g mdc-cli
|
|
301
|
+
- script: npm install -g @navet-tools/mdc-cli
|
|
302
302
|
displayName: 'Install CLI'
|
|
303
303
|
|
|
304
304
|
- script: mdc upload docs/*.md -u
|
package/biome.json
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://biomejs.dev/schemas/2.4.16/schema.json",
|
|
3
|
+
"vcs": {
|
|
4
|
+
"enabled": true,
|
|
5
|
+
"clientKind": "git",
|
|
6
|
+
"useIgnoreFile": true
|
|
7
|
+
},
|
|
8
|
+
"files": {
|
|
9
|
+
"includes": ["**", "!!**/dist"]
|
|
10
|
+
},
|
|
11
|
+
"formatter": {
|
|
12
|
+
"enabled": true,
|
|
13
|
+
"indentStyle": "tab"
|
|
14
|
+
},
|
|
15
|
+
"linter": {
|
|
16
|
+
"enabled": true,
|
|
17
|
+
"rules": {
|
|
18
|
+
"recommended": true
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"javascript": {
|
|
22
|
+
"formatter": {
|
|
23
|
+
"quoteStyle": "double"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"assist": {
|
|
27
|
+
"enabled": true,
|
|
28
|
+
"actions": {
|
|
29
|
+
"source": {
|
|
30
|
+
"organizeImports": "on"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
package/dist/standalone.js
CHANGED
|
@@ -37,12 +37,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
38
|
};
|
|
39
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
-
const
|
|
41
|
-
const
|
|
42
|
-
const path = __importStar(require("path"));
|
|
40
|
+
const fs = __importStar(require("node:fs"));
|
|
41
|
+
const path = __importStar(require("node:path"));
|
|
43
42
|
const chalk_1 = __importDefault(require("chalk"));
|
|
44
|
-
const
|
|
43
|
+
const commander_1 = require("commander");
|
|
45
44
|
const markdown_it_1 = __importDefault(require("markdown-it"));
|
|
45
|
+
const ora_1 = __importDefault(require("ora"));
|
|
46
46
|
const program = new commander_1.Command();
|
|
47
47
|
// Initialize markdown parser
|
|
48
48
|
const md = new markdown_it_1.default({
|
|
@@ -68,8 +68,9 @@ function convertMarkdownToConfluenceStorage(markdown) {
|
|
|
68
68
|
// Add table classes
|
|
69
69
|
html = html.replace(/<table>/g, '<table class="wrapped">');
|
|
70
70
|
// Fix self-closing tags for Confluence XHTML
|
|
71
|
-
html = html.replace(/<hr>/g,
|
|
72
|
-
html = html.replace(/<img([^>]*)>/g,
|
|
71
|
+
html = html.replace(/<hr>/g, "<hr />");
|
|
72
|
+
html = html.replace(/<img([^>]*)>/g, "<img$1 />");
|
|
73
|
+
html = html.replace(/<br>/g, "<br />");
|
|
73
74
|
return html;
|
|
74
75
|
}
|
|
75
76
|
/**
|
|
@@ -86,9 +87,9 @@ function extractBaseUrl(fullUrl) {
|
|
|
86
87
|
let baseUrl = `${urlObj.protocol}//${urlObj.host}`;
|
|
87
88
|
// For Atlassian Cloud (atlassian.net), include /wiki
|
|
88
89
|
const pathname = urlObj.pathname;
|
|
89
|
-
if (urlObj.host.includes(
|
|
90
|
-
const firstSegment = pathname.split(
|
|
91
|
-
if (firstSegment && firstSegment !==
|
|
90
|
+
if (urlObj.host.includes("atlassian.net") && pathname) {
|
|
91
|
+
const firstSegment = pathname.split("/")[1];
|
|
92
|
+
if (firstSegment && firstSegment !== "spaces") {
|
|
92
93
|
baseUrl += `/${firstSegment}`;
|
|
93
94
|
}
|
|
94
95
|
}
|
|
@@ -109,12 +110,12 @@ function extractTitleFromUrl(fullUrl) {
|
|
|
109
110
|
return null;
|
|
110
111
|
try {
|
|
111
112
|
const urlObj = new URL(fullUrl);
|
|
112
|
-
const pathSegments = urlObj.pathname.split(
|
|
113
|
+
const pathSegments = urlObj.pathname.split("/");
|
|
113
114
|
// Find the last segment (page title)
|
|
114
115
|
const titleSegment = pathSegments[pathSegments.length - 1];
|
|
115
116
|
if (titleSegment) {
|
|
116
117
|
// Replace + with spaces and decode URI
|
|
117
|
-
return decodeURIComponent(titleSegment.replace(/\+/g,
|
|
118
|
+
return decodeURIComponent(titleSegment.replace(/\+/g, " "));
|
|
118
119
|
}
|
|
119
120
|
}
|
|
120
121
|
catch {
|
|
@@ -132,9 +133,9 @@ function extractParentPageIdFromUrl(fullUrl) {
|
|
|
132
133
|
return null;
|
|
133
134
|
try {
|
|
134
135
|
const urlObj = new URL(fullUrl);
|
|
135
|
-
const pathSegments = urlObj.pathname.split(
|
|
136
|
+
const pathSegments = urlObj.pathname.split("/");
|
|
136
137
|
// Look for /pages/{ID}/ pattern
|
|
137
|
-
const pagesIndex = pathSegments.
|
|
138
|
+
const pagesIndex = pathSegments.indexOf("pages");
|
|
138
139
|
if (pagesIndex >= 0 && pagesIndex < pathSegments.length - 1) {
|
|
139
140
|
const pageId = pathSegments[pagesIndex + 1];
|
|
140
141
|
// Validate it's a number
|
|
@@ -155,11 +156,11 @@ function extractSpaceKeyFromUrl(url) {
|
|
|
155
156
|
if (!url)
|
|
156
157
|
return null;
|
|
157
158
|
const spacesMatch = url.match(/\/spaces\/([^/]+)\//i);
|
|
158
|
-
if (spacesMatch
|
|
159
|
+
if (spacesMatch?.[1]) {
|
|
159
160
|
return spacesMatch[1];
|
|
160
161
|
}
|
|
161
162
|
const displayMatch = url.match(/\/display\/([^/]+)\//i);
|
|
162
|
-
if (displayMatch
|
|
163
|
+
if (displayMatch?.[1]) {
|
|
163
164
|
return displayMatch[1];
|
|
164
165
|
}
|
|
165
166
|
return null;
|
|
@@ -168,10 +169,10 @@ function extractSpaceKeyFromUrl(url) {
|
|
|
168
169
|
* Find Confluence reference URL in content
|
|
169
170
|
*/
|
|
170
171
|
function findConfluenceUrlInContent(content) {
|
|
171
|
-
const pattern = /^(?:\*\*|\*)?Confluence
|
|
172
|
+
const pattern = /^(?:\*\*|\*)?Confluence(?:\s+reference)?(?:\*\*|\*)?\s*:\s*(https?:\/\/[^\s]+)/im;
|
|
172
173
|
const match = content.match(pattern);
|
|
173
|
-
if (match
|
|
174
|
-
return match[1].replace(/[.,)]+$/,
|
|
174
|
+
if (match?.[1]) {
|
|
175
|
+
return match[1].replace(/[.,)]+$/, "");
|
|
175
176
|
}
|
|
176
177
|
return null;
|
|
177
178
|
}
|
|
@@ -187,35 +188,35 @@ function parseFrontmatter(content) {
|
|
|
187
188
|
const frontmatterStr = match[1];
|
|
188
189
|
const markdownContent = content.slice(match[0].length);
|
|
189
190
|
const frontmatter = {};
|
|
190
|
-
const lines = frontmatterStr.split(
|
|
191
|
+
const lines = frontmatterStr.split("\n");
|
|
191
192
|
let currentKey = null;
|
|
192
193
|
for (const line of lines) {
|
|
193
194
|
if (!line.trim())
|
|
194
195
|
continue;
|
|
195
|
-
const confluenceMatch = line.match(/^confluence:\s*(.+)$/);
|
|
196
|
+
const confluenceMatch = line.match(/^confluence:\s*(.+)$/i);
|
|
196
197
|
if (confluenceMatch) {
|
|
197
|
-
const urlValue = confluenceMatch[1].trim().replace(/['"]/g,
|
|
198
|
-
if (urlValue.startsWith(
|
|
198
|
+
const urlValue = confluenceMatch[1].trim().replace(/['"]/g, "");
|
|
199
|
+
if (urlValue.startsWith("http")) {
|
|
199
200
|
frontmatter.baseUrl = urlValue;
|
|
200
201
|
}
|
|
201
202
|
continue;
|
|
202
203
|
}
|
|
203
|
-
if (line.match(/^confluence:\s*$/)) {
|
|
204
|
-
currentKey =
|
|
204
|
+
if (line.match(/^confluence:\s*$/i)) {
|
|
205
|
+
currentKey = "confluence";
|
|
205
206
|
continue;
|
|
206
207
|
}
|
|
207
|
-
if (currentKey ===
|
|
208
|
-
const [key, value] = line.split(
|
|
209
|
-
if (key ===
|
|
210
|
-
frontmatter.baseUrl = value.replace(/['"]/g,
|
|
211
|
-
else if (key ===
|
|
212
|
-
frontmatter.spaceKey = value.replace(/['"]/g,
|
|
213
|
-
else if (key ===
|
|
214
|
-
frontmatter.parentPageId = value.replace(/['"]/g,
|
|
215
|
-
else if (key ===
|
|
216
|
-
frontmatter.title = value.replace(/['"]/g,
|
|
217
|
-
else if (key ===
|
|
218
|
-
frontmatter.updateIfExists = value
|
|
208
|
+
if (currentKey === "confluence" && line.match(/^\s+\w+:/)) {
|
|
209
|
+
const [key, value] = line.split(":").map((s) => s.trim());
|
|
210
|
+
if (key === "baseUrl")
|
|
211
|
+
frontmatter.baseUrl = value.replace(/['"]/g, "");
|
|
212
|
+
else if (key === "spaceKey")
|
|
213
|
+
frontmatter.spaceKey = value.replace(/['"]/g, "");
|
|
214
|
+
else if (key === "parentPageId")
|
|
215
|
+
frontmatter.parentPageId = value.replace(/['"]/g, "");
|
|
216
|
+
else if (key === "title")
|
|
217
|
+
frontmatter.title = value.replace(/['"]/g, "");
|
|
218
|
+
else if (key === "updateIfExists")
|
|
219
|
+
frontmatter.updateIfExists = value;
|
|
219
220
|
}
|
|
220
221
|
}
|
|
221
222
|
// Extract space key from baseUrl if not provided
|
|
@@ -235,10 +236,10 @@ class ConfluenceClient {
|
|
|
235
236
|
this.baseUrl = config.baseUrl;
|
|
236
237
|
this.spaceKey = config.spaceKey;
|
|
237
238
|
this.headers = {
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
239
|
+
"Content-Type": "application/json",
|
|
240
|
+
Accept: "application/json",
|
|
241
|
+
Authorization: `Bearer ${config.apiToken}`,
|
|
242
|
+
"X-Atlassian-Token": "nocheck",
|
|
242
243
|
};
|
|
243
244
|
}
|
|
244
245
|
async request(endpoint, method, body) {
|
|
@@ -254,7 +255,7 @@ class ConfluenceClient {
|
|
|
254
255
|
if (!response.ok) {
|
|
255
256
|
const errorData = await response.json().catch(() => ({}));
|
|
256
257
|
if (errorData && Object.keys(errorData).length > 0) {
|
|
257
|
-
console.error(chalk_1.default.red(
|
|
258
|
+
console.error(chalk_1.default.red("Confluence API error:"), JSON.stringify(errorData, null, 2));
|
|
258
259
|
}
|
|
259
260
|
throw new Error(`Request failed with status code ${response.status}`);
|
|
260
261
|
}
|
|
@@ -262,7 +263,7 @@ class ConfluenceClient {
|
|
|
262
263
|
}
|
|
263
264
|
async findPageByTitle(title, parentPageId) {
|
|
264
265
|
try {
|
|
265
|
-
const response = await this.request(`/rest/api/content?spaceKey=${this.spaceKey}&title=${encodeURIComponent(title)}&expand=space,version,ancestors`,
|
|
266
|
+
const response = await this.request(`/rest/api/content?spaceKey=${this.spaceKey}&title=${encodeURIComponent(title)}&expand=space,version,ancestors`, "GET");
|
|
266
267
|
const pages = response.results;
|
|
267
268
|
if (pages.length === 0)
|
|
268
269
|
return null;
|
|
@@ -277,7 +278,7 @@ class ConfluenceClient {
|
|
|
277
278
|
}
|
|
278
279
|
return pages[0];
|
|
279
280
|
}
|
|
280
|
-
catch
|
|
281
|
+
catch {
|
|
281
282
|
// Return null on 404 or other errors instead of throwing
|
|
282
283
|
return null;
|
|
283
284
|
}
|
|
@@ -285,20 +286,20 @@ class ConfluenceClient {
|
|
|
285
286
|
async createPage(title, body, parentPageId) {
|
|
286
287
|
try {
|
|
287
288
|
const requestBody = {
|
|
288
|
-
type:
|
|
289
|
+
type: "page",
|
|
289
290
|
title,
|
|
290
291
|
space: { key: this.spaceKey },
|
|
291
292
|
body: {
|
|
292
293
|
storage: {
|
|
293
294
|
value: body,
|
|
294
|
-
representation:
|
|
295
|
+
representation: "storage",
|
|
295
296
|
},
|
|
296
297
|
},
|
|
297
298
|
};
|
|
298
299
|
if (parentPageId) {
|
|
299
300
|
requestBody.ancestors = [{ id: parentPageId }];
|
|
300
301
|
}
|
|
301
|
-
const page = await this.request(
|
|
302
|
+
const page = await this.request("/rest/api/content", "POST", requestBody);
|
|
302
303
|
return {
|
|
303
304
|
id: page.id,
|
|
304
305
|
title: page.title,
|
|
@@ -312,14 +313,14 @@ class ConfluenceClient {
|
|
|
312
313
|
}
|
|
313
314
|
async updatePage(pageId, title, body, version) {
|
|
314
315
|
try {
|
|
315
|
-
const page = await this.request(`/rest/api/content/${pageId}`,
|
|
316
|
+
const page = await this.request(`/rest/api/content/${pageId}`, "PUT", {
|
|
316
317
|
id: pageId,
|
|
317
|
-
type:
|
|
318
|
+
type: "page",
|
|
318
319
|
title,
|
|
319
320
|
body: {
|
|
320
321
|
storage: {
|
|
321
322
|
value: body,
|
|
322
|
-
representation:
|
|
323
|
+
representation: "storage",
|
|
323
324
|
},
|
|
324
325
|
},
|
|
325
326
|
version: {
|
|
@@ -338,22 +339,38 @@ class ConfluenceClient {
|
|
|
338
339
|
}
|
|
339
340
|
}
|
|
340
341
|
getPageUrl(page) {
|
|
341
|
-
|
|
342
|
+
const links = page._links;
|
|
343
|
+
return `${this.baseUrl}${links.webui}`;
|
|
342
344
|
}
|
|
343
345
|
}
|
|
344
346
|
program
|
|
345
|
-
.name(
|
|
346
|
-
.description(
|
|
347
|
-
.version(
|
|
347
|
+
.name("mdc")
|
|
348
|
+
.description("Upload Markdown files to Confluence - Standalone CLI")
|
|
349
|
+
.version("2.0.0");
|
|
350
|
+
program
|
|
351
|
+
.command("init")
|
|
352
|
+
.description("Initialize Confluence credentials by running setup script")
|
|
353
|
+
.action(() => {
|
|
354
|
+
const { execSync } = require("node:child_process");
|
|
355
|
+
const path = require("node:path");
|
|
356
|
+
try {
|
|
357
|
+
const scriptPath = path.join(__dirname, "../setup-zshrc.sh");
|
|
358
|
+
execSync(`bash "${scriptPath}"`, { stdio: "inherit" });
|
|
359
|
+
}
|
|
360
|
+
catch (error) {
|
|
361
|
+
console.error(chalk_1.default.red("Failed to run setup script:"), error.message);
|
|
362
|
+
process.exit(1);
|
|
363
|
+
}
|
|
364
|
+
});
|
|
348
365
|
program
|
|
349
|
-
.command(
|
|
350
|
-
.description(
|
|
351
|
-
.option(
|
|
352
|
-
.option(
|
|
353
|
-
.option(
|
|
354
|
-
.option(
|
|
355
|
-
.option(
|
|
356
|
-
.option(
|
|
366
|
+
.command("upload <markdownFile>")
|
|
367
|
+
.description("Upload a Markdown file to Confluence")
|
|
368
|
+
.option("-s, --service <url>", "Confluence base URL (overrides frontmatter and content)")
|
|
369
|
+
.option("-k, --space <key>", "Confluence space key (overrides frontmatter and content)")
|
|
370
|
+
.option("-p, --parent <id>", "Parent page ID (overrides frontmatter)")
|
|
371
|
+
.option("-i, --page-id <id>", "Page ID to update directly (bypasses title search)")
|
|
372
|
+
.option("-t, --title <title>", "Page title (overrides frontmatter, defaults to filename)")
|
|
373
|
+
.option("-u, --update", "Update page if exists (overrides frontmatter)", false)
|
|
357
374
|
.action(async (markdownFile, options) => {
|
|
358
375
|
try {
|
|
359
376
|
// Validate required environment variables
|
|
@@ -361,14 +378,14 @@ program
|
|
|
361
378
|
const email = process.env.CONFLUENCE_EMAIL;
|
|
362
379
|
const apiToken = process.env.CONFLUENCE_API_TOKEN;
|
|
363
380
|
if (!email || !apiToken) {
|
|
364
|
-
console.error(chalk_1.default.red(
|
|
381
|
+
console.error(chalk_1.default.red("❌ Missing required Confluence credentials in environment:"));
|
|
365
382
|
if (!baseUrl)
|
|
366
|
-
console.error(chalk_1.default.red(
|
|
383
|
+
console.error(chalk_1.default.red(" - CONFLUENCE_BASE_URL"));
|
|
367
384
|
if (!email)
|
|
368
|
-
console.error(chalk_1.default.red(
|
|
385
|
+
console.error(chalk_1.default.red(" - CONFLUENCE_EMAIL"));
|
|
369
386
|
if (!apiToken)
|
|
370
|
-
console.error(chalk_1.default.red(
|
|
371
|
-
console.error(chalk_1.default.yellow(
|
|
387
|
+
console.error(chalk_1.default.red(" - CONFLUENCE_API_TOKEN"));
|
|
388
|
+
console.error(chalk_1.default.yellow("\n💡 Run: mdc init"));
|
|
372
389
|
process.exit(1);
|
|
373
390
|
}
|
|
374
391
|
// Read markdown file
|
|
@@ -377,7 +394,7 @@ program
|
|
|
377
394
|
console.error(chalk_1.default.red(`Error: File not found: ${absolutePath}`));
|
|
378
395
|
process.exit(1);
|
|
379
396
|
}
|
|
380
|
-
const markdownContent = fs.readFileSync(absolutePath,
|
|
397
|
+
const markdownContent = fs.readFileSync(absolutePath, "utf-8");
|
|
381
398
|
// Parse frontmatter
|
|
382
399
|
const { frontmatter, content } = parseFrontmatter(markdownContent);
|
|
383
400
|
// Get base URL from options, frontmatter, or content
|
|
@@ -397,7 +414,7 @@ program
|
|
|
397
414
|
const extractedBaseUrl = extractBaseUrl(urlToParse);
|
|
398
415
|
if (extractedBaseUrl) {
|
|
399
416
|
baseUrl = extractedBaseUrl;
|
|
400
|
-
console.log(chalk_1.default.yellow(
|
|
417
|
+
console.log(chalk_1.default.yellow("ℹ️ Auto-detected base URL from URL"));
|
|
401
418
|
}
|
|
402
419
|
}
|
|
403
420
|
if (!spaceKey) {
|
|
@@ -432,53 +449,55 @@ program
|
|
|
432
449
|
}
|
|
433
450
|
}
|
|
434
451
|
// Default to true if parent page ID is specified (likely updating existing page)
|
|
435
|
-
if (parentPageId &&
|
|
452
|
+
if (parentPageId &&
|
|
453
|
+
!frontmatter.updateIfExists &&
|
|
454
|
+
options.update === undefined) {
|
|
436
455
|
updateIfExists = true;
|
|
437
456
|
}
|
|
438
457
|
// Remove trailing slash from base URL
|
|
439
458
|
if (baseUrl) {
|
|
440
|
-
baseUrl = baseUrl.replace(/\/$/,
|
|
459
|
+
baseUrl = baseUrl.replace(/\/$/, "");
|
|
441
460
|
}
|
|
442
461
|
// Validate required fields
|
|
443
462
|
if (!baseUrl) {
|
|
444
|
-
console.error(chalk_1.default.red(
|
|
445
|
-
console.error(chalk_1.default.yellow(
|
|
446
|
-
console.error(chalk_1.default.gray(
|
|
447
|
-
console.error(chalk_1.default.gray(
|
|
448
|
-
console.error(chalk_1.default.gray(
|
|
449
|
-
console.error(chalk_1.default.yellow(
|
|
450
|
-
console.error(chalk_1.default.yellow(
|
|
451
|
-
console.error(chalk_1.default.yellow(
|
|
452
|
-
console.error(chalk_1.default.yellow(
|
|
463
|
+
console.error(chalk_1.default.red("❌ Missing Confluence URL"));
|
|
464
|
+
console.error(chalk_1.default.yellow("\n💡 Add a Confluence reference URL to your Markdown frontmatter:"));
|
|
465
|
+
console.error(chalk_1.default.gray(" ---"));
|
|
466
|
+
console.error(chalk_1.default.gray(" confluence: https://your-company.atlassian.net/wiki/spaces/SPACE/pages/123456789/Page+Title"));
|
|
467
|
+
console.error(chalk_1.default.gray(" ---"));
|
|
468
|
+
console.error(chalk_1.default.yellow("\nOr use command-line options:"));
|
|
469
|
+
console.error(chalk_1.default.yellow(" --service <url> Confluence base URL"));
|
|
470
|
+
console.error(chalk_1.default.yellow(" --space <key> Space key (e.g., DEV, ENG)"));
|
|
471
|
+
console.error(chalk_1.default.yellow(" --parent <id> Parent page ID\n"));
|
|
453
472
|
process.exit(1);
|
|
454
473
|
}
|
|
455
474
|
if (!spaceKey) {
|
|
456
|
-
console.error(chalk_1.default.red(
|
|
457
|
-
console.error(chalk_1.default.yellow(
|
|
458
|
-
console.error(chalk_1.default.yellow(
|
|
459
|
-
console.error(chalk_1.default.yellow(
|
|
460
|
-
console.error(chalk_1.default.gray(
|
|
461
|
-
console.error(chalk_1.default.gray(
|
|
462
|
-
console.error(chalk_1.default.gray(
|
|
475
|
+
console.error(chalk_1.default.red("❌ Could not detect space key from URL"));
|
|
476
|
+
console.error(chalk_1.default.yellow("\n💡 Provide the space key via:"));
|
|
477
|
+
console.error(chalk_1.default.yellow(" --space <key> (e.g., DEV, ENG, KB)"));
|
|
478
|
+
console.error(chalk_1.default.yellow("\nOr add it to your frontmatter:"));
|
|
479
|
+
console.error(chalk_1.default.gray(" ---"));
|
|
480
|
+
console.error(chalk_1.default.gray(" confluence: https://your-company.atlassian.net/wiki/spaces/SPACE/pages/123/Page+Title"));
|
|
481
|
+
console.error(chalk_1.default.gray(" ---\n"));
|
|
463
482
|
process.exit(1);
|
|
464
483
|
}
|
|
465
484
|
// Default title to filename if still not set
|
|
466
485
|
if (!pageTitle) {
|
|
467
|
-
pageTitle = path.basename(markdownFile,
|
|
486
|
+
pageTitle = path.basename(markdownFile, ".md");
|
|
468
487
|
}
|
|
469
488
|
// Show upload info
|
|
470
|
-
console.log(chalk_1.default.blue(
|
|
489
|
+
console.log(chalk_1.default.blue("\n📤 Uploading to Confluence:"));
|
|
471
490
|
console.log(chalk_1.default.gray(` Base URL: ${baseUrl}`));
|
|
472
491
|
console.log(chalk_1.default.gray(` Space: ${spaceKey}`));
|
|
473
492
|
console.log(chalk_1.default.gray(` Title: ${pageTitle}`));
|
|
474
493
|
if (parentPageId)
|
|
475
494
|
console.log(chalk_1.default.gray(` Parent: ${parentPageId}`));
|
|
476
495
|
console.log(chalk_1.default.gray(` Update if exists: ${updateIfExists}`));
|
|
477
|
-
console.log(
|
|
478
|
-
const spinner = (0, ora_1.default)(
|
|
496
|
+
console.log("");
|
|
497
|
+
const spinner = (0, ora_1.default)("Converting Markdown to Confluence format...").start();
|
|
479
498
|
// Convert markdown
|
|
480
499
|
const htmlContent = convertMarkdownToConfluenceStorage(content);
|
|
481
|
-
spinner.text =
|
|
500
|
+
spinner.text = "Connecting to Confluence...";
|
|
482
501
|
// Create client
|
|
483
502
|
const client = new ConfluenceClient({
|
|
484
503
|
baseUrl,
|
|
@@ -486,7 +505,7 @@ program
|
|
|
486
505
|
email,
|
|
487
506
|
spaceKey,
|
|
488
507
|
});
|
|
489
|
-
spinner.text =
|
|
508
|
+
spinner.text = "Uploading to Confluence...";
|
|
490
509
|
// Upload
|
|
491
510
|
let page;
|
|
492
511
|
if (updateIfExists) {
|
|
@@ -494,10 +513,10 @@ program
|
|
|
494
513
|
// If direct page ID is available, use it to fetch the page directly
|
|
495
514
|
if (directPageId) {
|
|
496
515
|
try {
|
|
497
|
-
existingPage = await client.request(`/rest/api/content/${directPageId}?expand=space,version,ancestors`,
|
|
516
|
+
existingPage = await client.request(`/rest/api/content/${directPageId}?expand=space,version,ancestors`, "GET");
|
|
498
517
|
spinner.text = `Found existing page by ID: ${directPageId}`;
|
|
499
518
|
}
|
|
500
|
-
catch
|
|
519
|
+
catch {
|
|
501
520
|
// If direct fetch fails, fall back to title search
|
|
502
521
|
existingPage = null;
|
|
503
522
|
}
|
|
@@ -507,8 +526,9 @@ program
|
|
|
507
526
|
existingPage = await client.findPageByTitle(pageTitle);
|
|
508
527
|
}
|
|
509
528
|
if (existingPage) {
|
|
510
|
-
const pageDetails = await client.request(`/rest/api/content/${existingPage.id}?expand=version`,
|
|
511
|
-
const version = pageDetails.version
|
|
529
|
+
const pageDetails = await client.request(`/rest/api/content/${existingPage.id}?expand=version`, "GET");
|
|
530
|
+
const version = pageDetails.version
|
|
531
|
+
.number;
|
|
512
532
|
page = await client.updatePage(existingPage.id, pageTitle, htmlContent, version);
|
|
513
533
|
spinner.succeed(chalk_1.default.green(`Updated existing page: ${page.id}`));
|
|
514
534
|
}
|
|
@@ -523,7 +543,7 @@ program
|
|
|
523
543
|
}
|
|
524
544
|
const pageUrl = client.getPageUrl(page);
|
|
525
545
|
console.log(chalk_1.default.blue(`\n🔗 Page URL: ${pageUrl}`));
|
|
526
|
-
console.log(chalk_1.default.green(
|
|
546
|
+
console.log(chalk_1.default.green("✅ Upload complete!\n"));
|
|
527
547
|
}
|
|
528
548
|
catch (error) {
|
|
529
549
|
console.error(chalk_1.default.red(`\n❌ Error: ${error.message}\n`));
|
package/dist/standalone.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standalone.js","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"standalone.js","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"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"}
|
package/install-cli.sh
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Build and install CLI locally
|
|
4
|
+
|
|
5
|
+
set -e
|
|
6
|
+
|
|
7
|
+
echo "🔧 Building and installing CLI..."
|
|
8
|
+
echo ""
|
|
9
|
+
|
|
10
|
+
echo "📦 Installing dependencies..."
|
|
11
|
+
npm install
|
|
12
|
+
|
|
13
|
+
echo "🏗️ Building TypeScript..."
|
|
14
|
+
npm run build
|
|
15
|
+
|
|
16
|
+
echo "🔗 Creating global symlink..."
|
|
17
|
+
npm link
|
|
18
|
+
|
|
19
|
+
echo ""
|
|
20
|
+
echo "✅ CLI installed successfully!"
|
|
21
|
+
echo ""
|
|
22
|
+
echo "You can now use:"
|
|
23
|
+
echo " mdc --help"
|
|
24
|
+
echo " mdc upload README.md -t \"My Page\""
|
|
25
|
+
echo ""
|
package/package.json
CHANGED
|
@@ -1,48 +1,50 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
2
|
+
"name": "@navet-tools/mdc-cli",
|
|
3
|
+
"version": "1.1.2",
|
|
4
|
+
"description": "CLI tool to upload Markdown files to Confluence",
|
|
5
|
+
"author": "Vishal Chauhan",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "https://github.com/awesomestvi/markdown-to-confluence"
|
|
10
|
+
},
|
|
11
|
+
"keywords": [
|
|
12
|
+
"confluence",
|
|
13
|
+
"markdown",
|
|
14
|
+
"cli",
|
|
15
|
+
"upload",
|
|
16
|
+
"atlassian",
|
|
17
|
+
"documentation",
|
|
18
|
+
"mdc"
|
|
19
|
+
],
|
|
20
|
+
"engines": {
|
|
21
|
+
"node": ">=18.0.0"
|
|
22
|
+
},
|
|
23
|
+
"main": "dist/standalone.js",
|
|
24
|
+
"bin": {
|
|
25
|
+
"mdc": "./dist/standalone.js"
|
|
26
|
+
},
|
|
27
|
+
"scripts": {
|
|
28
|
+
"build": "tsc",
|
|
29
|
+
"start": "node dist/standalone.js",
|
|
30
|
+
"dev": "ts-node src/standalone.ts",
|
|
31
|
+
"check": "biome check --write .",
|
|
32
|
+
"format": "biome format --write ."
|
|
33
|
+
},
|
|
34
|
+
"dependencies": {
|
|
35
|
+
"chalk": "^5.3.0",
|
|
36
|
+
"commander": "^11.1.0",
|
|
37
|
+
"dotenv": "^16.3.1",
|
|
38
|
+
"markdown-it": "^14.2.0",
|
|
39
|
+
"ora": "^7.0.1"
|
|
40
|
+
},
|
|
41
|
+
"devDependencies": {
|
|
42
|
+
"@biomejs/biome": "^2.4.16",
|
|
43
|
+
"@types/markdown-it": "^14.1.2",
|
|
44
|
+
"@types/node": "^20.10.4",
|
|
45
|
+
"@typescript-eslint/eslint-plugin": "^8.59.4",
|
|
46
|
+
"@typescript-eslint/parser": "^8.59.4",
|
|
47
|
+
"eslint": "^8.55.0",
|
|
48
|
+
"typescript": "^5.3.3"
|
|
49
|
+
}
|
|
48
50
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
minimumReleaseAgeExclude:
|
|
2
|
+
- '@biomejs/biome@2.4.16'
|
|
3
|
+
- '@biomejs/cli-darwin-arm64@2.4.16'
|
|
4
|
+
- '@biomejs/cli-darwin-x64@2.4.16'
|
|
5
|
+
- '@biomejs/cli-linux-arm64-musl@2.4.16'
|
|
6
|
+
- '@biomejs/cli-linux-arm64@2.4.16'
|
|
7
|
+
- '@biomejs/cli-linux-x64-musl@2.4.16'
|
|
8
|
+
- '@biomejs/cli-linux-x64@2.4.16'
|
|
9
|
+
- '@biomejs/cli-win32-arm64@2.4.16'
|
|
10
|
+
- '@biomejs/cli-win32-x64@2.4.16'
|
package/setup-zshrc.sh
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Helper script to add Confluence credentials to ~/.zshrc
|
|
4
|
+
|
|
5
|
+
set -e
|
|
6
|
+
|
|
7
|
+
echo "🔐 Confluence Upload CLI - Configuration"
|
|
8
|
+
echo "========================================"
|
|
9
|
+
echo ""
|
|
10
|
+
echo "This script will add your Confluence credentials to ~/.zshrc"
|
|
11
|
+
echo "so they're available from any directory."
|
|
12
|
+
echo ""
|
|
13
|
+
echo "You can get an API token from your Confluence instance (e.g., https://your-company.atlassian.net/wiki)"
|
|
14
|
+
echo ""
|
|
15
|
+
echo "Note: Space Key and Parent Page ID are auto-detected from the"
|
|
16
|
+
echo "Confluence reference URL in your Markdown files. Only email, API token, and base URL are required."
|
|
17
|
+
echo ""
|
|
18
|
+
|
|
19
|
+
# Check if ~/.zshrc exists
|
|
20
|
+
if [ ! -f ~/.zshrc ]; then
|
|
21
|
+
echo "⚠️ ~/.zshrc not found. Creating one..."
|
|
22
|
+
touch ~/.zshrc
|
|
23
|
+
echo "✅ Created ~/.zshrc"
|
|
24
|
+
echo ""
|
|
25
|
+
fi
|
|
26
|
+
|
|
27
|
+
# Check if credentials already exist
|
|
28
|
+
if grep -q "CONFLUENCE_EMAIL" ~/.zshrc 2>/dev/null || grep -q "CONFLUENCE_API_TOKEN" ~/.zshrc 2>/dev/null || grep -q "CONFLUENCE_BASE_URL" ~/.zshrc 2>/dev/null; then
|
|
29
|
+
echo "⚠️ Confluence credentials already exist in ~/.zshrc"
|
|
30
|
+
echo ""
|
|
31
|
+
read -p "Do you want to update them? (y/n) " -n 1 -r
|
|
32
|
+
echo ""
|
|
33
|
+
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
|
|
34
|
+
echo "Cancelled."
|
|
35
|
+
exit 0
|
|
36
|
+
fi
|
|
37
|
+
|
|
38
|
+
# Remove existing entries
|
|
39
|
+
echo "🗑️ Removing existing Confluence configuration..."
|
|
40
|
+
sed -i.bak '/^export CONFLUENCE_/d' ~/.zshrc
|
|
41
|
+
rm -f ~/.zshrc.bak
|
|
42
|
+
echo "✅ Removed existing entries"
|
|
43
|
+
echo ""
|
|
44
|
+
fi
|
|
45
|
+
|
|
46
|
+
# Prompt for credentials
|
|
47
|
+
echo "📝 Enter your Confluence credentials:"
|
|
48
|
+
echo ""
|
|
49
|
+
|
|
50
|
+
read -p "Confluence Base URL (e.g., https://your-company.atlassian.net/wiki): " CONFLUENCE_BASE_URL
|
|
51
|
+
if [[ -z "$CONFLUENCE_BASE_URL" ]]; then
|
|
52
|
+
echo "❌ Base URL is required"
|
|
53
|
+
exit 1
|
|
54
|
+
fi
|
|
55
|
+
|
|
56
|
+
read -p "Confluence Email: " CONFLUENCE_EMAIL
|
|
57
|
+
if [[ -z "$CONFLUENCE_EMAIL" ]]; then
|
|
58
|
+
echo "❌ Email is required"
|
|
59
|
+
exit 1
|
|
60
|
+
fi
|
|
61
|
+
|
|
62
|
+
read -sp "Confluence API Token: " CONFLUENCE_API_TOKEN
|
|
63
|
+
echo ""
|
|
64
|
+
if [[ -z "$CONFLUENCE_API_TOKEN" ]]; then
|
|
65
|
+
echo "❌ API Token is required"
|
|
66
|
+
exit 1
|
|
67
|
+
fi
|
|
68
|
+
|
|
69
|
+
# Add to ~/.zshrc
|
|
70
|
+
echo ""
|
|
71
|
+
echo "📝 Adding configuration to ~/.zshrc..."
|
|
72
|
+
echo "" >> ~/.zshrc
|
|
73
|
+
echo "# Confluence Upload CLI Configuration" >> ~/.zshrc
|
|
74
|
+
echo "export CONFLUENCE_BASE_URL=\"$CONFLUENCE_BASE_URL\"" >> ~/.zshrc
|
|
75
|
+
echo "export CONFLUENCE_EMAIL=\"$CONFLUENCE_EMAIL\"" >> ~/.zshrc
|
|
76
|
+
echo "export CONFLUENCE_API_TOKEN=\"$CONFLUENCE_API_TOKEN\"" >> ~/.zshrc
|
|
77
|
+
|
|
78
|
+
echo "✅ Configuration added to ~/.zshrc"
|
|
79
|
+
echo ""
|
|
80
|
+
echo "⚠️ IMPORTANT: Reload your shell or run the following to apply changes:"
|
|
81
|
+
echo ""
|
|
82
|
+
echo " source ~/.zshrc"
|
|
83
|
+
echo ""
|
|
84
|
+
echo "Or start a new terminal session."
|
|
85
|
+
echo ""
|
|
86
|
+
echo "🔒 Security Notes:"
|
|
87
|
+
echo " - Your credentials are stored in ~/.zshrc (not in the project directory)"
|
|
88
|
+
echo " - Never commit ~/.zshrc to version control"
|
|
89
|
+
echo " - Keep your API token secure and rotate it periodically"
|
|
90
|
+
echo ""
|
|
91
|
+
echo "Next steps:"
|
|
92
|
+
echo " 1. Run: source ~/.zshrc"
|
|
93
|
+
echo " 2. Upload a file: mdc upload README.md -u"
|
|
94
|
+
echo ""
|
|
95
|
+
echo "💡 Tip: Add a Confluence reference URL to your Markdown file's frontmatter:"
|
|
96
|
+
echo " confluence:"
|
|
97
|
+
echo " baseUrl: https://your-company.atlassian.net/wiki/spaces/SPACE/pages/123/Page+Title"
|
|
98
|
+
echo ""
|
|
99
|
+
echo "✅ Done! Your configuration has been saved."
|