create-refrakt 0.8.1 → 0.8.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/dist/bin.js CHANGED
@@ -5,6 +5,7 @@ const args = process.argv.slice(2);
5
5
  let projectName;
6
6
  let theme = '@refrakt-md/lumina';
7
7
  let type = 'site';
8
+ let target = 'sveltekit';
8
9
  let scope;
9
10
  for (let i = 0; i < args.length; i++) {
10
11
  const arg = args[i];
@@ -23,6 +24,14 @@ for (let i = 0; i < args.length; i++) {
23
24
  }
24
25
  type = val;
25
26
  }
27
+ else if (arg === '--target') {
28
+ const val = args[++i];
29
+ if (val !== 'sveltekit' && val !== 'html') {
30
+ console.error('Error: --target must be "sveltekit" or "html"');
31
+ process.exit(1);
32
+ }
33
+ target = val;
34
+ }
26
35
  else if (arg === '--scope' || arg === '-s') {
27
36
  scope = args[++i];
28
37
  if (!scope) {
@@ -61,13 +70,15 @@ function printUsage() {
61
70
  Usage: create-refrakt <name> [options]
62
71
 
63
72
  Options:
64
- --type <site|theme> What to create (default: site)
65
- --theme, -t <package> Theme package to use (sites only, default: @refrakt-md/lumina)
66
- --scope, -s <scope> npm scope for the package (themes only, e.g., @my-org)
67
- --help, -h Show this help message
73
+ --type <site|theme> What to create (default: site)
74
+ --target <sveltekit|html> Adapter target (sites only, default: sveltekit)
75
+ --theme, -t <package> Theme package to use (sites only, default: @refrakt-md/lumina)
76
+ --scope, -s <scope> npm scope for the package (themes only, e.g., @my-org)
77
+ --help, -h Show this help message
68
78
 
69
79
  Examples:
70
80
  npx create-refrakt my-site
81
+ npx create-refrakt my-site --target html
71
82
  npx create-refrakt my-site --theme @refrakt-md/aurora
72
83
  npx create-refrakt my-theme --type theme
73
84
  npx create-refrakt my-theme --type theme --scope @my-org
@@ -79,7 +90,7 @@ try {
79
90
  scaffoldTheme({ themeName: projectName, targetDir, scope });
80
91
  }
81
92
  else {
82
- scaffold({ projectName, targetDir, theme });
93
+ scaffold({ projectName, targetDir, theme, target });
83
94
  }
84
95
  }
85
96
  catch (err) {
@@ -106,6 +117,18 @@ Then use it in a site:
106
117
  Run \`refrakt scaffold-css\` to generate CSS stubs for all runes.
107
118
  `);
108
119
  }
120
+ else if (target === 'html') {
121
+ console.log(`
122
+ Done! Your refrakt.md site is ready.
123
+
124
+ Next steps:
125
+
126
+ cd ${projectName}
127
+ npm install
128
+ npm run build
129
+ npm run serve
130
+ `);
131
+ }
109
132
  else {
110
133
  console.log(`
111
134
  Done! Your refrakt.md site is ready.
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ export interface ScaffoldOptions {
2
2
  projectName: string;
3
3
  targetDir: string;
4
4
  theme: string;
5
+ target?: 'sveltekit' | 'html';
5
6
  }
6
7
  export declare function scaffold(options: ScaffoldOptions): void;
7
8
  export interface ThemeScaffoldOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,eAAe;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAoDvD;AA4ED,MAAM,WAAW,oBAAoB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAqFjE"}
1
+ {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,eAAe;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;CAC9B;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAcvD;AAwMD,MAAM,WAAW,oBAAoB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAqFjE"}
package/dist/scaffold.js CHANGED
@@ -7,11 +7,20 @@ function getRefraktVersion() {
7
7
  return pkg.version;
8
8
  }
9
9
  export function scaffold(options) {
10
- const { projectName, targetDir, theme } = options;
10
+ const { projectName, targetDir, theme, target = 'sveltekit' } = options;
11
11
  if (existsSync(targetDir)) {
12
12
  throw new Error(`Directory "${targetDir}" already exists`);
13
13
  }
14
14
  mkdirSync(targetDir, { recursive: true });
15
+ if (target === 'html') {
16
+ scaffoldHtmlSite(options);
17
+ }
18
+ else {
19
+ scaffoldSvelteKitSite(options);
20
+ }
21
+ }
22
+ function scaffoldSvelteKitSite(options) {
23
+ const { projectName, targetDir, theme } = options;
15
24
  // Copy template directory recursively
16
25
  const templateDir = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', 'template');
17
26
  if (!existsSync(templateDir)) {
@@ -35,6 +44,30 @@ export function scaffold(options) {
35
44
  writeFileSync(path.join(targetDir, 'refrakt.config.json'), generateRefraktConfig(theme));
36
45
  writeFileSync(path.join(targetDir, 'README.md'), generateReadme(projectName));
37
46
  }
47
+ function scaffoldHtmlSite(options) {
48
+ const { projectName, targetDir, theme } = options;
49
+ // Copy HTML template directory
50
+ const templateDir = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', 'template-html');
51
+ if (!existsSync(templateDir)) {
52
+ throw new Error(`Template directory not found at ${templateDir}. ` +
53
+ `This is a bug in create-refrakt — please report it.`);
54
+ }
55
+ cpSync(templateDir, targetDir, { recursive: true });
56
+ // Rename dotfiles
57
+ const dotfileRenames = {
58
+ '_gitignore': '.gitignore',
59
+ };
60
+ for (const [from, to] of Object.entries(dotfileRenames)) {
61
+ const srcPath = path.join(targetDir, from);
62
+ if (existsSync(srcPath)) {
63
+ renameSync(srcPath, path.join(targetDir, to));
64
+ }
65
+ }
66
+ // Generate interpolated files
67
+ writeFileSync(path.join(targetDir, 'package.json'), generateHtmlPackageJson(projectName, theme));
68
+ writeFileSync(path.join(targetDir, 'refrakt.config.json'), generateRefraktConfig(theme, 'html'));
69
+ writeFileSync(path.join(targetDir, 'README.md'), generateReadme(projectName));
70
+ }
38
71
  function generatePackageJson(projectName, theme) {
39
72
  const v = `~${getRefraktVersion()}`;
40
73
  const pkg = {
@@ -73,17 +106,45 @@ function generatePackageJson(projectName, theme) {
73
106
  };
74
107
  return JSON.stringify(pkg, null, '\t') + '\n';
75
108
  }
76
- function generateRefraktConfig(theme) {
109
+ function generateRefraktConfig(theme, target = 'svelte') {
77
110
  const config = {
78
111
  contentDir: './content',
79
112
  theme,
80
- target: 'svelte',
113
+ target,
81
114
  routeRules: [
82
115
  { pattern: '**', layout: 'default' },
83
116
  ],
84
117
  };
85
118
  return JSON.stringify(config, null, '\t') + '\n';
86
119
  }
120
+ function generateHtmlPackageJson(projectName, theme) {
121
+ const v = `~${getRefraktVersion()}`;
122
+ const pkg = {
123
+ name: projectName,
124
+ private: true,
125
+ version: '0.0.1',
126
+ type: 'module',
127
+ scripts: {
128
+ build: 'tsx build.ts',
129
+ serve: 'npx serve build',
130
+ },
131
+ dependencies: {
132
+ '@refrakt-md/content': v,
133
+ '@refrakt-md/highlight': v,
134
+ '@refrakt-md/html': v,
135
+ '@refrakt-md/runes': v,
136
+ '@refrakt-md/transform': v,
137
+ '@refrakt-md/types': v,
138
+ [theme]: v,
139
+ '@markdoc/markdoc': '^0.4.0',
140
+ },
141
+ devDependencies: {
142
+ 'tsx': '^4.0.0',
143
+ 'typescript': '^5.4.0',
144
+ },
145
+ };
146
+ return JSON.stringify(pkg, null, '\t') + '\n';
147
+ }
87
148
  function generateReadme(projectName) {
88
149
  return `# ${projectName}
89
150
 
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "create-refrakt",
3
3
  "description": "Scaffold a new refrakt.md project",
4
- "version": "0.8.1",
4
+ "version": "0.8.2",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -18,7 +18,8 @@
18
18
  "types": "dist/scaffold.d.ts",
19
19
  "files": [
20
20
  "dist",
21
- "template"
21
+ "template",
22
+ "template-html"
22
23
  ],
23
24
  "scripts": {
24
25
  "build": "tsc"
@@ -0,0 +1,2 @@
1
+ node_modules
2
+ build
@@ -0,0 +1,140 @@
1
+ import { loadContent } from '@refrakt-md/content';
2
+ import { renderFullPage } from '@refrakt-md/html';
3
+ import type { HtmlTheme } from '@refrakt-md/html';
4
+ import { createTransform, defaultLayout } from '@refrakt-md/transform';
5
+ import { createHighlightTransform } from '@refrakt-md/highlight';
6
+ import type { RendererNode } from '@refrakt-md/types';
7
+ import { readFileSync, mkdirSync, writeFileSync, cpSync, existsSync } from 'node:fs';
8
+ import * as path from 'node:path';
9
+
10
+ // --- Configuration -------------------------------------------------------
11
+
12
+ const config = JSON.parse(readFileSync('refrakt.config.json', 'utf-8'));
13
+ const contentDir = path.resolve(config.contentDir);
14
+ const outDir = 'build';
15
+
16
+ // --- Helpers --------------------------------------------------------------
17
+
18
+ /** Convert Markdoc Tag class instances to plain objects. */
19
+ function serialize(node: any): any {
20
+ if (node === null || node === undefined) return node;
21
+ if (typeof node === 'string' || typeof node === 'number') return node;
22
+ if (Array.isArray(node)) return node.map(serialize);
23
+ if (node.$$mdtype === 'Tag') {
24
+ return {
25
+ $$mdtype: 'Tag',
26
+ name: node.name,
27
+ attributes: node.attributes,
28
+ children: (node.children ?? []).map(serialize),
29
+ };
30
+ }
31
+ return node;
32
+ }
33
+
34
+ // --- Build ----------------------------------------------------------------
35
+
36
+ async function build() {
37
+ // Load theme config — replace this import if using a custom theme
38
+ const themeModule = await import(config.theme + '/transform');
39
+ const themeConfig = themeModule.themeConfig ?? themeModule.luminaConfig ?? themeModule.default;
40
+
41
+ // Create identity transform from theme config
42
+ const transform = createTransform(themeConfig);
43
+
44
+ // Create highlight transform
45
+ const hl = await createHighlightTransform(config.highlight);
46
+
47
+ // Build theme object for HTML adapter
48
+ const themeManifestModule = await import(config.theme + '/manifest', { with: { type: 'json' } });
49
+ const manifest = themeManifestModule.default;
50
+
51
+ const theme: HtmlTheme = {
52
+ manifest: {
53
+ ...manifest,
54
+ routeRules: config.routeRules ?? manifest.routeRules ?? [],
55
+ },
56
+ layouts: {
57
+ default: defaultLayout,
58
+ },
59
+ };
60
+
61
+ // Load content
62
+ const site = await loadContent(contentDir);
63
+
64
+ mkdirSync(outDir, { recursive: true });
65
+
66
+ // Collect page metadata for navigation
67
+ const pages = site.pages
68
+ .filter(p => !p.route.draft)
69
+ .map(p => ({
70
+ url: p.route.url,
71
+ title: (p.frontmatter.title as string) ?? '',
72
+ draft: p.route.draft,
73
+ }));
74
+
75
+ let count = 0;
76
+
77
+ for (const page of site.pages) {
78
+ if (page.route.draft) continue;
79
+
80
+ // Serialize → identity transform → highlight
81
+ const renderable = hl(transform(serialize(page.renderable))) as RendererNode;
82
+
83
+ // Process regions the same way
84
+ const regions: Record<string, { name: string; mode: string; content: RendererNode[] }> = {};
85
+ for (const [name, region] of page.layout.regions.entries()) {
86
+ regions[name] = {
87
+ name: region.name,
88
+ mode: region.mode,
89
+ content: region.content.map(c => hl(transform(serialize(c))) as RendererNode),
90
+ };
91
+ }
92
+
93
+ const html = renderFullPage(
94
+ {
95
+ theme,
96
+ page: {
97
+ renderable,
98
+ regions,
99
+ title: (page.frontmatter.title as string) ?? '',
100
+ url: page.route.url,
101
+ pages,
102
+ frontmatter: page.frontmatter,
103
+ },
104
+ },
105
+ {
106
+ stylesheets: ['/styles.css'],
107
+ headExtra: hl.css ? `<style>${hl.css}</style>` : '',
108
+ seo: page.seo,
109
+ },
110
+ );
111
+
112
+ // Write to build/{path}/index.html
113
+ const filePath = page.route.url === '/'
114
+ ? path.join(outDir, 'index.html')
115
+ : path.join(outDir, page.route.url.slice(1), 'index.html');
116
+
117
+ mkdirSync(path.dirname(filePath), { recursive: true });
118
+ writeFileSync(filePath, html);
119
+ count++;
120
+ }
121
+
122
+ // Copy theme CSS to build directory
123
+ try {
124
+ const themePkg = config.theme;
125
+ const themeDir = path.dirname(require.resolve(themePkg + '/package.json'));
126
+ const cssPath = path.join(themeDir, 'index.css');
127
+ if (existsSync(cssPath)) {
128
+ cpSync(cssPath, path.join(outDir, 'styles.css'));
129
+ }
130
+ } catch {
131
+ console.warn('Warning: Could not copy theme CSS. Add a styles.css to the build directory manually.');
132
+ }
133
+
134
+ console.log(`Built ${count} pages to ${outDir}/`);
135
+ }
136
+
137
+ build().catch(err => {
138
+ console.error(err);
139
+ process.exit(1);
140
+ });
@@ -0,0 +1,14 @@
1
+ {% layout %}
2
+ {% region name="header" %}
3
+ # My Site
4
+ {% /region %}
5
+
6
+ {% region name="nav" %}
7
+ {% nav %}
8
+ ## Docs
9
+
10
+ - getting-started
11
+
12
+ {% /nav %}
13
+ {% /region %}
14
+ {% /layout %}
@@ -0,0 +1,40 @@
1
+ ---
2
+ title: Getting Started
3
+ description: Learn how to work with your refrakt.md site
4
+ ---
5
+
6
+ # Getting Started
7
+
8
+ This is your first documentation page. You can find this file at `content/docs/getting-started.md`.
9
+
10
+ ## Project Structure
11
+
12
+ Your site has two key directories:
13
+
14
+ - `content/` — Markdown files that make up your pages
15
+ - `build/` — Generated HTML output (created by `npm run build`)
16
+
17
+ ## Writing Content
18
+
19
+ Every Markdown file in `content/` becomes a page. Add frontmatter at the top for metadata:
20
+
21
+ ```markdown
22
+ ---
23
+ title: Page Title
24
+ description: A brief description
25
+ ---
26
+ ```
27
+
28
+ ## Using Runes
29
+
30
+ Runes are Markdoc tags that give your Markdown semantic meaning:
31
+
32
+ {% hint type="note" %}
33
+ This callout is created with the `hint` rune. Try changing the `type` attribute to `warning`, `caution`, or `check`.
34
+ {% /hint %}
35
+
36
+ ## Next Steps
37
+
38
+ - Add more pages by creating `.md` files in `content/`
39
+ - Edit `content/_layout.md` to customize your site's header and navigation
40
+ - Explore the available runes in the refrakt.md documentation
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: Welcome
3
+ description: A new refrakt.md site
4
+ ---
5
+
6
+ {% cta %}
7
+
8
+ # Welcome to your site
9
+
10
+ This site is built with refrakt.md — a content framework that extends Markdown with semantic runes.
11
+
12
+ - [Get Started](/docs/getting-started)
13
+
14
+ {% /cta %}
15
+
16
+ {% hint type="note" %}
17
+ Edit the files in `content/` to start building your site. Run `npm run build` to regenerate after changes.
18
+ {% /hint %}
@@ -0,0 +1,10 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "ES2022",
5
+ "moduleResolution": "bundler",
6
+ "strict": true,
7
+ "esModuleInterop": true,
8
+ "skipLibCheck": true
9
+ }
10
+ }