markwell 0.0.1 → 0.1.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/LICENSE +21 -0
- package/README.md +425 -0
- package/dist/cli/index-DNh65cyU.d.ts +1 -0
- package/dist/cli/index.js +2283 -0
- package/dist/skills/markwell/SKILL.md +71 -0
- package/dist/themes/default.yaml +43 -0
- package/dist/themes/minimal.yaml +32 -0
- package/dist/themes/modern.yaml +37 -0
- package/dist/themes/professional.yaml +35 -0
- package/package.json +81 -6
- package/index.js +0 -1
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: markwell
|
|
3
|
+
description: Convert documents to and from Markdown using the markwell CLI
|
|
4
|
+
allowed-tools: Bash
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Markwell - Document Converter
|
|
8
|
+
|
|
9
|
+
Markwell converts documents to and from Markdown. Markdown is the universal hub format.
|
|
10
|
+
|
|
11
|
+
## Ingest (to Markdown)
|
|
12
|
+
|
|
13
|
+
Convert any supported file to Markdown:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
markwell convert document.docx # → document.md
|
|
17
|
+
markwell convert spreadsheet.xlsx # → spreadsheet/ (CSV per sheet)
|
|
18
|
+
markwell convert presentation.pptx # → presentation.md
|
|
19
|
+
markwell convert transcript.vtt # → transcript.md
|
|
20
|
+
markwell convert page.html # → page.md
|
|
21
|
+
markwell convert data.json # → data.md (schema outline)
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Export (from Markdown)
|
|
25
|
+
|
|
26
|
+
Convert Markdown to styled output:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
markwell convert document.md --to document # → document.docx
|
|
30
|
+
markwell convert data.csv --to spreadsheet # → data.xlsx
|
|
31
|
+
markwell convert slides.md --to presentation # → slides.html
|
|
32
|
+
markwell convert slides.md --to presentation:pptx # → slides.pptx
|
|
33
|
+
markwell convert transcript.md --to transcript:vtt # → transcript.vtt
|
|
34
|
+
markwell convert transcript.md --to transcript:srt # → transcript.srt
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Supported Formats
|
|
38
|
+
|
|
39
|
+
| Category | Ingest From | Export To |
|
|
40
|
+
| ------------ | -------------------- | ----------------- |
|
|
41
|
+
| Document | .docx, .doc | .docx |
|
|
42
|
+
| Spreadsheet | .xlsx, .xls, .xlsm | .xlsx |
|
|
43
|
+
| Presentation | .pptx, .ppt | .html, .pptx, .pdf |
|
|
44
|
+
| Transcript | .vtt, .srt | .vtt, .srt |
|
|
45
|
+
| Web | .html, .htm | — |
|
|
46
|
+
| Rich Text | .rtf | — |
|
|
47
|
+
| Data | .json, .jsonl, .jsonc | — |
|
|
48
|
+
| Drawing | .excalidraw | — |
|
|
49
|
+
| Slides (MD) | .md (MARP) | — |
|
|
50
|
+
|
|
51
|
+
## Themes
|
|
52
|
+
|
|
53
|
+
Apply visual styling to exports:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
markwell convert doc.md --to document --theme professional
|
|
57
|
+
markwell themes list # Show available themes
|
|
58
|
+
markwell themes preview modern # Preview theme settings
|
|
59
|
+
markwell themes init # Create .markwell.yaml in current directory
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Built-in themes: `default`, `professional`, `modern`, `minimal`
|
|
63
|
+
|
|
64
|
+
## Options
|
|
65
|
+
|
|
66
|
+
- `-o, --output <path>`: Output file or directory
|
|
67
|
+
- `--to <category[:format]>`: Export category and optional format
|
|
68
|
+
- `--theme <name|path>`: Theme name or path to .markwell.yaml
|
|
69
|
+
- `--force`: Overwrite without prompting
|
|
70
|
+
- `--dry-run`: Show what would happen without writing files
|
|
71
|
+
- `--verbose`: Show detailed processing info
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
name: default
|
|
2
|
+
|
|
3
|
+
colors:
|
|
4
|
+
primary: "2B579A"
|
|
5
|
+
accent: "4472C4"
|
|
6
|
+
text: "333333"
|
|
7
|
+
background: "FFFFFF"
|
|
8
|
+
muted: "888888"
|
|
9
|
+
|
|
10
|
+
typography:
|
|
11
|
+
fontFamily: Calibri
|
|
12
|
+
bodySize: 22
|
|
13
|
+
headingSizes:
|
|
14
|
+
1: 48
|
|
15
|
+
2: 40
|
|
16
|
+
3: 32
|
|
17
|
+
4: 28
|
|
18
|
+
5: 24
|
|
19
|
+
6: 22
|
|
20
|
+
codeFont: Courier New
|
|
21
|
+
|
|
22
|
+
spacing:
|
|
23
|
+
paragraphAfter: 120
|
|
24
|
+
headingBefore: 240
|
|
25
|
+
headingAfter: 120
|
|
26
|
+
|
|
27
|
+
document:
|
|
28
|
+
margins:
|
|
29
|
+
top: 1440
|
|
30
|
+
bottom: 1440
|
|
31
|
+
left: 1440
|
|
32
|
+
right: 1440
|
|
33
|
+
|
|
34
|
+
spreadsheet:
|
|
35
|
+
headerBackground: "$accent"
|
|
36
|
+
headerTextColor: "FFFFFF"
|
|
37
|
+
headerBold: true
|
|
38
|
+
|
|
39
|
+
presentation:
|
|
40
|
+
paginate: true
|
|
41
|
+
|
|
42
|
+
transcript:
|
|
43
|
+
speakerLabels: true
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
name: minimal
|
|
2
|
+
extends: default
|
|
3
|
+
|
|
4
|
+
colors:
|
|
5
|
+
primary: "333333"
|
|
6
|
+
accent: "666666"
|
|
7
|
+
text: "333333"
|
|
8
|
+
muted: "999999"
|
|
9
|
+
|
|
10
|
+
typography:
|
|
11
|
+
fontFamily: Arial
|
|
12
|
+
bodySize: 22
|
|
13
|
+
|
|
14
|
+
spacing:
|
|
15
|
+
paragraphAfter: 80
|
|
16
|
+
headingBefore: 200
|
|
17
|
+
headingAfter: 80
|
|
18
|
+
|
|
19
|
+
document:
|
|
20
|
+
margins:
|
|
21
|
+
top: 1440
|
|
22
|
+
bottom: 1440
|
|
23
|
+
left: 1440
|
|
24
|
+
right: 1440
|
|
25
|
+
|
|
26
|
+
spreadsheet:
|
|
27
|
+
headerBackground: "666666"
|
|
28
|
+
headerTextColor: "FFFFFF"
|
|
29
|
+
headerBold: true
|
|
30
|
+
|
|
31
|
+
presentation:
|
|
32
|
+
paginate: false
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
name: modern
|
|
2
|
+
extends: default
|
|
3
|
+
|
|
4
|
+
colors:
|
|
5
|
+
primary: "E74C3C"
|
|
6
|
+
accent: "3498DB"
|
|
7
|
+
text: "2C3E50"
|
|
8
|
+
background: "FFFFFF"
|
|
9
|
+
muted: "95A5A6"
|
|
10
|
+
|
|
11
|
+
typography:
|
|
12
|
+
fontFamily: Segoe UI
|
|
13
|
+
bodySize: 22
|
|
14
|
+
headingSizes:
|
|
15
|
+
1: 52
|
|
16
|
+
2: 44
|
|
17
|
+
3: 36
|
|
18
|
+
|
|
19
|
+
spacing:
|
|
20
|
+
paragraphAfter: 140
|
|
21
|
+
headingBefore: 300
|
|
22
|
+
headingAfter: 140
|
|
23
|
+
|
|
24
|
+
document:
|
|
25
|
+
margins:
|
|
26
|
+
top: 1440
|
|
27
|
+
bottom: 1440
|
|
28
|
+
left: 1440
|
|
29
|
+
right: 1440
|
|
30
|
+
|
|
31
|
+
spreadsheet:
|
|
32
|
+
headerBackground: "$accent"
|
|
33
|
+
headerTextColor: "FFFFFF"
|
|
34
|
+
|
|
35
|
+
presentation:
|
|
36
|
+
paginate: true
|
|
37
|
+
backgroundColor: "#FAFAFA"
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
name: professional
|
|
2
|
+
extends: default
|
|
3
|
+
|
|
4
|
+
colors:
|
|
5
|
+
primary: "1B3A5C"
|
|
6
|
+
accent: "2B579A"
|
|
7
|
+
text: "222222"
|
|
8
|
+
muted: "666666"
|
|
9
|
+
|
|
10
|
+
typography:
|
|
11
|
+
fontFamily: Calibri
|
|
12
|
+
bodySize: 22
|
|
13
|
+
|
|
14
|
+
spacing:
|
|
15
|
+
paragraphAfter: 100
|
|
16
|
+
headingBefore: 280
|
|
17
|
+
headingAfter: 100
|
|
18
|
+
|
|
19
|
+
document:
|
|
20
|
+
margins:
|
|
21
|
+
top: 1440
|
|
22
|
+
bottom: 1440
|
|
23
|
+
left: 1800
|
|
24
|
+
right: 1800
|
|
25
|
+
header: "{title}"
|
|
26
|
+
footer: "Page {page}"
|
|
27
|
+
|
|
28
|
+
spreadsheet:
|
|
29
|
+
headerBackground: "$primary"
|
|
30
|
+
headerTextColor: "FFFFFF"
|
|
31
|
+
headerBold: true
|
|
32
|
+
|
|
33
|
+
presentation:
|
|
34
|
+
paginate: true
|
|
35
|
+
footer: "Confidential"
|
package/package.json
CHANGED
|
@@ -1,8 +1,83 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "markwell",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
|
|
3
|
+
"version": "0.1.4",
|
|
4
|
+
"description": "Convert documents to and from Markdown. The source from which polished documents flow.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/cli/index.js",
|
|
7
|
+
"bin": {
|
|
8
|
+
"markwell": "./dist/cli/index.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist",
|
|
12
|
+
"LICENSE"
|
|
13
|
+
],
|
|
14
|
+
"engines": {
|
|
15
|
+
"node": ">=20"
|
|
16
|
+
},
|
|
17
|
+
"scripts": {
|
|
18
|
+
"build": "tsdown && node -e \"const fs=require('fs');fs.cpSync('src/themes','dist/themes',{recursive:true});fs.cpSync('src/skills','dist/skills',{recursive:true})\"",
|
|
19
|
+
"dev": "tsdown --watch",
|
|
20
|
+
"test": "vitest run",
|
|
21
|
+
"test:watch": "vitest",
|
|
22
|
+
"lint": "eslint src/",
|
|
23
|
+
"typecheck": "tsc --noEmit"
|
|
24
|
+
},
|
|
25
|
+
"keywords": [
|
|
26
|
+
"markdown",
|
|
27
|
+
"converter",
|
|
28
|
+
"docx",
|
|
29
|
+
"xlsx",
|
|
30
|
+
"pptx",
|
|
31
|
+
"cli"
|
|
32
|
+
],
|
|
33
|
+
"publishConfig": {
|
|
34
|
+
"access": "public",
|
|
35
|
+
"provenance": true,
|
|
36
|
+
"registry": "https://registry.npmjs.org/"
|
|
37
|
+
},
|
|
38
|
+
"repository": {
|
|
39
|
+
"type": "git",
|
|
40
|
+
"url": "https://github.com/jimbuck/markwell.git"
|
|
41
|
+
},
|
|
42
|
+
"bugs": {
|
|
43
|
+
"url": "https://github.com/jimbuck/markwell/issues"
|
|
44
|
+
},
|
|
45
|
+
"homepage": "https://github.com/jimbuck/markwell#readme",
|
|
46
|
+
"author": "Jim Buck",
|
|
47
|
+
"license": "MIT",
|
|
48
|
+
"devDependencies": {
|
|
49
|
+
"@semantic-release/changelog": "^6.0.3",
|
|
50
|
+
"@semantic-release/exec": "^7.1.0",
|
|
51
|
+
"@semantic-release/git": "^10.0.1",
|
|
52
|
+
"@types/mdast": "^4.0.4",
|
|
53
|
+
"@types/node": "^25.2.2",
|
|
54
|
+
"@types/turndown": "^5.0.6",
|
|
55
|
+
"@typescript-eslint/eslint-plugin": "^8.0.0",
|
|
56
|
+
"@typescript-eslint/parser": "^8.0.0",
|
|
57
|
+
"@vitest/coverage-v8": "^3.2.4",
|
|
58
|
+
"eslint": "^9.0.0",
|
|
59
|
+
"semantic-release": "^25.0.3",
|
|
60
|
+
"tsdown": "^0.12.0",
|
|
61
|
+
"typescript": "^5.6.0",
|
|
62
|
+
"typescript-eslint": "^8.54.0",
|
|
63
|
+
"vitest": "^3.0.0"
|
|
64
|
+
},
|
|
65
|
+
"dependencies": {
|
|
66
|
+
"@iarna/rtf-to-html": "^1.1.0",
|
|
67
|
+
"@marp-team/marp-cli": "^4.2.3",
|
|
68
|
+
"@marp-team/marp-core": "^4.2.0",
|
|
69
|
+
"commander": "^13.0.0",
|
|
70
|
+
"docx": "^9.5.1",
|
|
71
|
+
"exceljs": "^4.4.0",
|
|
72
|
+
"fast-glob": "^3.3.0",
|
|
73
|
+
"jszip": "^3.10.1",
|
|
74
|
+
"mammoth": "^1.11.0",
|
|
75
|
+
"rehype-stringify": "^10.0.1",
|
|
76
|
+
"remark-gfm": "^4.0.1",
|
|
77
|
+
"remark-parse": "^11.0.0",
|
|
78
|
+
"remark-rehype": "^11.1.2",
|
|
79
|
+
"turndown": "^7.2.2",
|
|
80
|
+
"unified": "^11.0.5",
|
|
81
|
+
"yaml": "^2.6.0"
|
|
82
|
+
}
|
|
83
|
+
}
|
package/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
console.log("Coming Soon!");
|