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.
@@ -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.0.1",
4
- "description": "Coming Soon!",
5
- "main": "index.js",
6
- "keywords": [],
7
- "license": "MIT"
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!");