@karaoke-cms/create 0.6.2 → 0.9.0

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.
Files changed (30) hide show
  1. package/README.md +76 -0
  2. package/karaoke-create-vault/.obsidian/app.json +14 -0
  3. package/karaoke-create-vault/.obsidian/appearance.json +1 -0
  4. package/karaoke-create-vault/.obsidian/community-plugins.json +4 -0
  5. package/karaoke-create-vault/.obsidian/core-plugins.json +33 -0
  6. package/karaoke-create-vault/.obsidian/plugins/folder-notes/data.json +131 -0
  7. package/karaoke-create-vault/.obsidian/plugins/folder-notes/main.js +9190 -0
  8. package/karaoke-create-vault/.obsidian/plugins/folder-notes/manifest.json +12 -0
  9. package/karaoke-create-vault/.obsidian/plugins/folder-notes/styles.css +355 -0
  10. package/karaoke-create-vault/.obsidian/plugins/templater-obsidian/main.js +45 -0
  11. package/karaoke-create-vault/.obsidian/plugins/templater-obsidian/manifest.json +11 -0
  12. package/karaoke-create-vault/.obsidian/plugins/templater-obsidian/styles.css +226 -0
  13. package/karaoke-create-vault/.obsidian/workspace.json +225 -0
  14. package/karaoke-create-vault/blog/draft-post.md +15 -0
  15. package/karaoke-create-vault/blog/hello-world.md +26 -0
  16. package/karaoke-create-vault/docs/getting-started.md +49 -0
  17. package/karaoke-create-vault/docs/testing.md +0 -0
  18. package/karaoke-create-vault/karaoke-cms/config/collections.yaml +10 -0
  19. package/karaoke-create-vault/karaoke-cms/config/menus.yaml +33 -0
  20. package/karaoke-create-vault/karaoke-cms/manual/configuration.md +77 -0
  21. package/karaoke-create-vault/karaoke-cms/manual/content.md +38 -0
  22. package/karaoke-create-vault/karaoke-cms/manual/deployment.md +46 -0
  23. package/karaoke-create-vault/karaoke-cms/manual/index.md +41 -0
  24. package/karaoke-create-vault/karaoke-cms/manual/privacy.md +37 -0
  25. package/karaoke-create-vault/karaoke-cms/templates/blog-header.md +9 -0
  26. package/karaoke-create-vault/karaoke-cms/templates/docs-header.md +9 -0
  27. package/karaoke-create-vault/karaoke-cms/templates/index-by-foldernote.md +8 -0
  28. package/package.json +3 -2
  29. package/src/index.js +34 -13
  30. package/src/templates.js +31 -78
package/README.md ADDED
@@ -0,0 +1,76 @@
1
+ # @karaoke-cms/create
2
+
3
+ Scaffolding tool for karaoke-cms. Creates a complete new project from scratch with a single command.
4
+
5
+ ## Where it belongs
6
+
7
+ `packages/create/` in the monorepo. Published to npm as `@karaoke-cms/create` and invoked via npm's `create` shorthand:
8
+
9
+ ```bash
10
+ npm create @karaoke-cms@latest
11
+ # or
12
+ npm create @karaoke-cms@latest my-site
13
+ ```
14
+
15
+ This resolves to running `packages/create/src/index.js` via the `create-karaoke-cms` bin entry.
16
+
17
+ ## What it does
18
+
19
+ Runs an interactive CLI that prompts for project configuration, then generates a complete project directory:
20
+
21
+ **Prompts:**
22
+ 1. Project directory name
23
+ 2. Site title
24
+ 3. Site URL (for sitemap and OG tags)
25
+ 4. Description
26
+ 5. Theme (`default`, `minimal`, or `blog`)
27
+ 6. Enable Pagefind search? (y/n)
28
+ 7. Enable Giscus comments? (y/n) — if yes, prompts for repo, repoId, category, categoryId
29
+
30
+ **Generated files:**
31
+ ```
32
+ my-site/
33
+ package.json # deps pinned to same version as create package
34
+ astro.config.mjs # site URL, karaoke() integration
35
+ karaoke.config.ts # title, description, theme, modules, vault path
36
+ src/
37
+ content.config.ts # makeCollections() wired to vault/
38
+ env.d.ts # /// <reference types="@karaoke-cms/astro/client" />
39
+ tsconfig.json
40
+ .gitignore
41
+ .env.default # KARAOKE_VAULT=./vault/
42
+ public/
43
+ _redirects # Cloudflare Pages 404 config
44
+ vault/ # Obsidian vault with sample blog post and doc
45
+ blog/
46
+ docs/
47
+ karaoke-cms/
48
+ config/
49
+ collections.yaml
50
+ menus.yaml
51
+ ```
52
+
53
+ After scaffolding, `git init` + initial commit runs automatically if `git` is available.
54
+
55
+ ## How to use
56
+
57
+ ```bash
58
+ npm create @karaoke-cms@latest
59
+
60
+ cd my-site
61
+ npm install
62
+ npm run dev # → http://localhost:4321
63
+ ```
64
+
65
+ Open `my-site/vault/` in Obsidian to write content. Files with `publish: true` in frontmatter appear on the live site.
66
+
67
+ Zero runtime dependencies — the scaffolder uses Node.js built-ins only.
68
+
69
+ ## How it changes the behavior of the system
70
+
71
+ The create package is not imported by running sites — it only runs once at project setup time. Its output determines:
72
+
73
+ - Which version of `@karaoke-cms/astro` and the theme packages are installed (pinned to the same version as the create package, since packages ship in lockstep)
74
+ - The initial `karaoke.config.ts` shape: which theme, which modules, vault location
75
+ - The initial vault structure: two sample posts so the site is not empty on first `dev`
76
+ - Whether search and comments infrastructure is included in `karaoke.config.ts`
@@ -0,0 +1,14 @@
1
+ {
2
+ "attachmentFolderPath": "public/attachments",
3
+ "alwaysUpdateLinks": true,
4
+ "showUnsupportedFiles": true,
5
+ "userIgnoreFilters": [
6
+ "src",
7
+ "node_modules",
8
+ ".github",
9
+ "scripts",
10
+ "public",
11
+ "dist",
12
+ ".astro"
13
+ ]
14
+ }
@@ -0,0 +1,4 @@
1
+ [
2
+ "folder-notes",
3
+ "templater-obsidian"
4
+ ]
@@ -0,0 +1,33 @@
1
+ {
2
+ "file-explorer": true,
3
+ "global-search": true,
4
+ "switcher": true,
5
+ "graph": true,
6
+ "backlink": true,
7
+ "canvas": true,
8
+ "outgoing-link": true,
9
+ "tag-pane": true,
10
+ "footnotes": false,
11
+ "properties": true,
12
+ "page-preview": true,
13
+ "daily-notes": true,
14
+ "templates": true,
15
+ "note-composer": true,
16
+ "command-palette": true,
17
+ "slash-command": false,
18
+ "editor-status": true,
19
+ "bookmarks": true,
20
+ "markdown-importer": false,
21
+ "zk-prefixer": false,
22
+ "random-note": false,
23
+ "outline": true,
24
+ "word-count": true,
25
+ "slides": false,
26
+ "audio-recorder": false,
27
+ "workspaces": false,
28
+ "file-recovery": true,
29
+ "publish": false,
30
+ "sync": true,
31
+ "bases": true,
32
+ "webviewer": false
33
+ }
@@ -0,0 +1,131 @@
1
+ {
2
+ "syncFolderName": true,
3
+ "ctrlKey": true,
4
+ "altKey": false,
5
+ "hideFolderNote": true,
6
+ "templatePath": "",
7
+ "autoCreate": false,
8
+ "autoCreateFocusFiles": true,
9
+ "autoCreateForAttachmentFolder": false,
10
+ "autoCreateForFiles": false,
11
+ "enableCollapsing": false,
12
+ "excludeFolders": [],
13
+ "whitelistFolders": [],
14
+ "showDeleteConfirmation": true,
15
+ "underlineFolder": true,
16
+ "stopWhitespaceCollapsing": true,
17
+ "underlineFolderInPath": true,
18
+ "openFolderNoteOnClickInPath": true,
19
+ "openInNewTab": false,
20
+ "focusExistingTab": false,
21
+ "oldFolderNoteName": "{{folder_name}}",
22
+ "folderNoteName": "index",
23
+ "folderNoteType": ".md",
24
+ "disableFolderHighlighting": false,
25
+ "newFolderNoteName": "{{folder_name}}",
26
+ "storageLocation": "insideFolder",
27
+ "syncDelete": false,
28
+ "showRenameConfirmation": true,
29
+ "defaultOverview": {
30
+ "id": "",
31
+ "folderPath": "",
32
+ "title": "{{folderName}} overview",
33
+ "showTitle": false,
34
+ "depth": 3,
35
+ "includeTypes": [
36
+ "folder",
37
+ "markdown"
38
+ ],
39
+ "style": "list",
40
+ "disableFileTag": false,
41
+ "sortBy": "name",
42
+ "sortByAsc": true,
43
+ "showEmptyFolders": true,
44
+ "onlyIncludeSubfolders": true,
45
+ "storeFolderCondition": true,
46
+ "showFolderNotes": false,
47
+ "disableCollapseIcon": true,
48
+ "alwaysCollapse": false,
49
+ "autoSync": true,
50
+ "allowDragAndDrop": true,
51
+ "hideLinkList": true,
52
+ "hideFolderOverview": false,
53
+ "useActualLinks": false,
54
+ "fmtpIntegration": false,
55
+ "titleSize": 1,
56
+ "isInCallout": false,
57
+ "useWikilinks": true
58
+ },
59
+ "useSubmenus": true,
60
+ "syncMove": true,
61
+ "frontMatterTitle": {
62
+ "enabled": false,
63
+ "explorer": true,
64
+ "path": true
65
+ },
66
+ "settingsTab": "general",
67
+ "supportedFileTypes": [
68
+ "md",
69
+ "canvas",
70
+ "base"
71
+ ],
72
+ "boldName": false,
73
+ "boldNameInPath": false,
74
+ "cursiveName": false,
75
+ "cursiveNameInPath": false,
76
+ "disableOpenFolderNoteOnClick": false,
77
+ "openByClick": true,
78
+ "openWithCtrl": false,
79
+ "openWithAlt": false,
80
+ "excludeFolderDefaultSettings": {
81
+ "type": "folder",
82
+ "path": "",
83
+ "id": "c102b934-b388-4ae6-9712-a566cc85d23a",
84
+ "subFolders": true,
85
+ "disableSync": true,
86
+ "disableAutoCreate": true,
87
+ "disableFolderNote": false,
88
+ "enableCollapsing": false,
89
+ "position": 0,
90
+ "excludeFromFolderOverview": false,
91
+ "string": "",
92
+ "hideInSettings": false,
93
+ "detached": false,
94
+ "showFolderNote": false
95
+ },
96
+ "excludePatternDefaultSettings": {
97
+ "type": "pattern",
98
+ "path": "",
99
+ "id": "a87f72a1-2508-48f8-b251-344b5bdb5729",
100
+ "subFolders": true,
101
+ "disableSync": true,
102
+ "disableAutoCreate": true,
103
+ "disableFolderNote": false,
104
+ "enableCollapsing": false,
105
+ "position": 0,
106
+ "excludeFromFolderOverview": false,
107
+ "string": "",
108
+ "hideInSettings": false,
109
+ "detached": false,
110
+ "showFolderNote": false
111
+ },
112
+ "hideCollapsingIcon": false,
113
+ "hideCollapsingIconForEmptyFolders": false,
114
+ "tabManagerEnabled": true,
115
+ "ignoreAttachmentFolder": true,
116
+ "deleteFilesAction": "trash",
117
+ "openSidebar": {
118
+ "mobile": false,
119
+ "desktop": true
120
+ },
121
+ "highlightFolder": true,
122
+ "persistentSettingsTab": {
123
+ "afterRestart": true,
124
+ "afterChangingTab": true
125
+ },
126
+ "firstTimeInsertOverview": true,
127
+ "fvGlobalSettings": {
128
+ "autoUpdateLinks": true
129
+ },
130
+ "hideFolderNoteNameInPath": false
131
+ }