getfilepress 0.1.6 → 0.1.7

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/package.json CHANGED
@@ -1,102 +1,106 @@
1
- {
2
- "name": "getfilepress",
3
- "version": "0.1.6",
4
- "private": false,
5
- "type": "module",
6
- "description": "FilePress — file-based Markdown blog engine. Link this package from a content-only site (config + posts), then run `filepress build`.",
7
- "license": "MIT",
8
- "homepage": "https://getfilepress.com",
9
- "repository": {
10
- "type": "git",
11
- "url": "git+https://github.com/Catalyst-Forge-LLC/filepress.git"
12
- },
13
- "bugs": {
14
- "url": "https://github.com/Catalyst-Forge-LLC/filepress/issues"
15
- },
16
- "bin": {
17
- "filepress": "./scripts/filepress.mjs",
18
- "getfilepress": "./scripts/filepress.mjs"
19
- },
20
- "exports": {
21
- ".": {
22
- "types": "./packages/core/src/lib/index.ts",
23
- "svelte": "./packages/core/src/lib/index.ts",
24
- "default": "./packages/core/src/lib/index.ts"
25
- },
26
- "./server": {
27
- "types": "./packages/core/src/lib/server.ts",
28
- "default": "./packages/core/src/lib/server.ts"
29
- },
30
- "./theme": {
31
- "default": "./packages/core/src/lib/theme.ts"
32
- },
33
- "./package.json": "./package.json"
34
- },
35
- "files": [
36
- "scripts/filepress.mjs",
37
- "scripts/copy-path-mounts.mjs",
38
- "scripts/create-site.mjs",
39
- "scripts/ensure-lease.mjs",
40
- "scripts/postinstall.mjs",
41
- "scripts/link-embedded-packages.mjs",
42
- "packages/core",
43
- "packages/app",
44
- "packages/import",
45
- "pnpm-workspace.yaml",
46
- "README.md",
47
- "LICENSE"
48
- ],
49
- "dependencies": {
50
- "@fontsource-variable/inter": "^5.2.8",
51
- "@fontsource-variable/newsreader": "^5.2.10",
52
- "@sveltejs/adapter-static": "^3.0.10",
53
- "@sveltejs/kit": "^2.63.0",
54
- "@sveltejs/vite-plugin-svelte": "^7.1.2",
55
- "@types/turndown": "^5.0.5",
56
- "fast-xml-parser": "^5.2.5",
57
- "gray-matter": "^4.0.3",
58
- "highlight.js": "^11.11.1",
59
- "linkedom": "^0.18.12",
60
- "ollanet": "^0.4.0",
61
- "rehype-autolink-headings": "^7.1.0",
62
- "rehype-highlight": "^7.0.2",
63
- "rehype-raw": "^7.0.0",
64
- "rehype-slug": "^6.0.0",
65
- "rehype-stringify": "^10.0.1",
66
- "remark-gfm": "^4.0.1",
67
- "remark-parse": "^11.0.0",
68
- "remark-rehype": "^11.1.2",
69
- "sirv-cli": "^3.0.1",
70
- "svelte": "^5.56.1",
71
- "svelte-check": "^4.6.0",
72
- "tsx": "^4.20.5",
73
- "turndown": "^7.2.1",
74
- "typescript": "^6.0.3",
75
- "unified": "^11.0.5",
76
- "vite": "^8.0.16"
77
- },
78
- "engines": {
79
- "node": ">=20"
80
- },
81
- "devDependencies": {
82
- "wrangler": "^4.120.1"
83
- },
84
- "scripts": {
85
- "postinstall": "node scripts/postinstall.mjs",
86
- "filepress": "node scripts/filepress.mjs",
87
- "test": "pnpm --filter @filepress/core test && pnpm --filter @filepress/import test && pnpm --filter @filepress/app test && tsx --test scripts/sync-sibling-sites.test.ts",
88
- "check": "pnpm filepress check --site demo",
89
- "build": "pnpm filepress build --site demo",
90
- "build:demo": "pnpm filepress build --site demo",
91
- "build:www": "pnpm filepress build --site getfilepress",
92
- "ship": "pnpm build:www && wrangler pages deploy sites/getfilepress/build --project-name getfilepress",
93
- "deploy:www": "pnpm ship",
94
- "dev": "node scripts/ensure-lease.mjs demo 5179 && pnpm filepress dev --site demo",
95
- "dev:demo": "node scripts/ensure-lease.mjs demo 5179 && pnpm filepress dev --site demo",
96
- "dev:www": "node scripts/ensure-lease.mjs getfilepress 5180 && pnpm filepress dev --site getfilepress",
97
- "create-site": "node scripts/create-site.mjs",
98
- "sync-siblings": "tsx scripts/sync-sibling-sites.ts",
99
- "import": "node scripts/filepress.mjs import",
100
- "pack:smoke": "node scripts/pack-smoke.mjs"
101
- }
102
- }
1
+ {
2
+ "name": "getfilepress",
3
+ "version": "0.1.7",
4
+ "private": false,
5
+ "type": "module",
6
+ "description": "FilePress — file-based Markdown blog engine. Link this package from a content-only site (config + posts), then run `filepress build`.",
7
+ "license": "MIT",
8
+ "homepage": "https://getfilepress.com",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/Catalyst-Forge-LLC/filepress.git"
12
+ },
13
+ "bugs": {
14
+ "url": "https://github.com/Catalyst-Forge-LLC/filepress/issues"
15
+ },
16
+ "bin": {
17
+ "filepress": "./scripts/filepress.mjs",
18
+ "getfilepress": "./scripts/filepress.mjs"
19
+ },
20
+ "exports": {
21
+ ".": {
22
+ "types": "./packages/core/src/lib/index.ts",
23
+ "svelte": "./packages/core/src/lib/index.ts",
24
+ "default": "./packages/core/src/lib/index.ts"
25
+ },
26
+ "./server": {
27
+ "types": "./packages/core/src/lib/server.ts",
28
+ "default": "./packages/core/src/lib/server.ts"
29
+ },
30
+ "./theme": {
31
+ "default": "./packages/core/src/lib/theme.ts"
32
+ },
33
+ "./package.json": "./package.json"
34
+ },
35
+ "files": [
36
+ "scripts/filepress.mjs",
37
+ "scripts/copy-path-mounts.mjs",
38
+ "scripts/create-site.mjs",
39
+ "scripts/ensure-lease.mjs",
40
+ "scripts/postinstall.mjs",
41
+ "scripts/link-embedded-packages.mjs",
42
+ "packages/core",
43
+ "packages/app",
44
+ "packages/import",
45
+ "pnpm-workspace.yaml",
46
+ "README.md",
47
+ "LICENSE"
48
+ ],
49
+ "scripts": {
50
+ "postinstall": "node scripts/postinstall.mjs",
51
+ "filepress": "node scripts/filepress.mjs",
52
+ "test": "pnpm --filter @filepress/core test && pnpm --filter @filepress/import test && pnpm --filter @filepress/app test && tsx --test scripts/sync-sibling-sites.test.ts",
53
+ "check": "pnpm filepress check --site demo",
54
+ "build": "pnpm filepress build --site demo",
55
+ "build:demo": "pnpm filepress build --site demo",
56
+ "build:www": "pnpm filepress build --site getfilepress",
57
+ "ship": "pnpm build:www && wrangler pages deploy sites/getfilepress/build --project-name getfilepress",
58
+ "deploy:www": "pnpm ship",
59
+ "dev": "node scripts/ensure-lease.mjs demo 5179 && pnpm filepress dev --site demo --host 0.0.0.0",
60
+ "dev:demo": "node scripts/ensure-lease.mjs demo 5179 && pnpm filepress dev --site demo --host 0.0.0.0",
61
+ "dev:www": "node scripts/ensure-lease.mjs getfilepress 5180 && pnpm filepress dev --site getfilepress --host 0.0.0.0",
62
+ "create-site": "node scripts/create-site.mjs",
63
+ "sync-siblings": "tsx scripts/sync-sibling-sites.ts",
64
+ "import": "node scripts/filepress.mjs import",
65
+ "prepublishOnly": "node scripts/publish-gate.mjs",
66
+ "prepack": "node scripts/prepack.mjs",
67
+ "postpack": "node scripts/postpack.mjs",
68
+ "pack:smoke": "node scripts/pack-smoke.mjs"
69
+ },
70
+ "dependencies": {
71
+ "@fontsource-variable/inter": "^5.2.8",
72
+ "@fontsource-variable/newsreader": "^5.2.10",
73
+ "@sveltejs/adapter-static": "^3.0.10",
74
+ "@sveltejs/kit": "^2.63.0",
75
+ "@sveltejs/vite-plugin-svelte": "^7.1.2",
76
+ "@types/turndown": "^5.0.5",
77
+ "fast-xml-parser": "^5.2.5",
78
+ "gray-matter": "^4.0.3",
79
+ "highlight.js": "^11.11.1",
80
+ "linkedom": "^0.18.12",
81
+ "ollanet": "^0.4.0",
82
+ "rehype-autolink-headings": "^7.1.0",
83
+ "rehype-highlight": "^7.0.2",
84
+ "rehype-raw": "^7.0.0",
85
+ "rehype-slug": "^6.0.0",
86
+ "rehype-stringify": "^10.0.1",
87
+ "remark-gfm": "^4.0.1",
88
+ "remark-parse": "^11.0.0",
89
+ "remark-rehype": "^11.1.2",
90
+ "sirv-cli": "^3.0.1",
91
+ "svelte": "^5.56.1",
92
+ "svelte-check": "^4.6.0",
93
+ "tsx": "^4.20.5",
94
+ "turndown": "^7.2.1",
95
+ "typescript": "^6.0.3",
96
+ "unified": "^11.0.5",
97
+ "vite": "^8.0.16"
98
+ },
99
+ "engines": {
100
+ "node": ">=20"
101
+ },
102
+ "packageManager": "pnpm@10.30.1",
103
+ "devDependencies": {
104
+ "wrangler": "^4.120.1"
105
+ }
106
+ }
@@ -1,31 +1,31 @@
1
- {
2
- "name": "@filepress/app",
3
- "private": true,
4
- "version": "0.1.3",
5
- "type": "module",
6
- "description": "The single SvelteKit app for filepress. Sites under sites/* supply config + posts + static; this package owns all routes.",
7
- "scripts": {
8
- "dev": "vite dev",
9
- "build": "vite build",
10
- "preview": "vite preview",
11
- "prepare": "svelte-kit sync || echo ''",
12
- "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
13
- "test": "vitest run --config vitest.config.ts"
14
- },
15
- "dependencies": {
16
- "@filepress/core": "workspace:*",
17
- "@filepress/import": "workspace:*"
18
- },
19
- "devDependencies": {
20
- "@sveltejs/adapter-static": "^3.0.10",
21
- "@sveltejs/kit": "^2.63.0",
22
- "@sveltejs/vite-plugin-svelte": "^7.1.2",
23
- "@types/node": "^26.1.0",
24
- "sirv-cli": "^3.0.1",
25
- "svelte": "^5.56.1",
26
- "svelte-check": "^4.6.0",
27
- "typescript": "^6.0.3",
28
- "vite": "^8.0.16",
29
- "vitest": "^4.1.9"
30
- }
31
- }
1
+ {
2
+ "name": "@filepress/app",
3
+ "private": true,
4
+ "version": "0.1.3",
5
+ "type": "module",
6
+ "description": "The single SvelteKit app for filepress. Sites under sites/* supply config + posts + static; this package owns all routes.",
7
+ "scripts": {
8
+ "dev": "vite dev --host",
9
+ "build": "vite build",
10
+ "preview": "vite preview",
11
+ "prepare": "svelte-kit sync || echo ''",
12
+ "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
13
+ "test": "vitest run --config vitest.config.ts"
14
+ },
15
+ "dependencies": {
16
+ "@filepress/core": "workspace:*",
17
+ "@filepress/import": "workspace:*"
18
+ },
19
+ "devDependencies": {
20
+ "@sveltejs/adapter-static": "^3.0.10",
21
+ "@sveltejs/kit": "^2.63.0",
22
+ "@sveltejs/vite-plugin-svelte": "^7.1.2",
23
+ "@types/node": "^26.1.0",
24
+ "sirv-cli": "^3.0.1",
25
+ "svelte": "^5.56.1",
26
+ "svelte-check": "^4.6.0",
27
+ "typescript": "^6.0.3",
28
+ "vite": "^8.0.16",
29
+ "vitest": "^4.1.9"
30
+ }
31
+ }
@@ -102,12 +102,13 @@ export default defineConfig(async () => {
102
102
  `${JSON.stringify(pathMounts, null, '\t')}\n`
103
103
  );
104
104
 
105
+ const host = process.env.HOST?.trim() || '127.0.0.1';
105
106
  return {
106
107
  server: fixedPort
107
- ? { port: fixedPort, strictPort: true }
108
+ ? { host, port: fixedPort, strictPort: true }
108
109
  : undefined,
109
110
  preview: fixedPort
110
- ? { port: fixedPort, strictPort: true }
111
+ ? { host, port: fixedPort, strictPort: true }
111
112
  : undefined,
112
113
  resolve: {
113
114
  alias: [
@@ -144,7 +144,7 @@ if (external) {
144
144
  version: '0.0.1',
145
145
  type: 'module',
146
146
  scripts: {
147
- dev: 'filepress dev',
147
+ dev: 'filepress dev --host 0.0.0.0',
148
148
  build: 'filepress build',
149
149
  preview: 'filepress preview',
150
150
  check: 'filepress check'
@@ -59,7 +59,12 @@ function parseArgs(argv) {
59
59
  } else if (a.startsWith('--port=')) {
60
60
  args.port = a.slice('--port='.length);
61
61
  } else if (a === '--host') {
62
- args.host = argv[++i] ?? 'true';
62
+ const next = argv[i + 1];
63
+ if (next && !next.startsWith('-')) {
64
+ args.host = argv[++i];
65
+ } else {
66
+ args.host = '0.0.0.0';
67
+ }
63
68
  } else if (a.startsWith('--host=')) {
64
69
  args.host = a.slice('--host='.length);
65
70
  } else if (a === '--') {
@@ -183,7 +188,7 @@ function runSiteCommand(argv) {
183
188
  ` filepress <${[...COMMANDS].join('|')}> # cwd is the site\n` +
184
189
  ` filepress <${[...COMMANDS].join('|')}> --root <path>\n` +
185
190
  ` filepress preview [--port 27777] # serves <site>/build (default 27777)\n` +
186
- ` filepress dev --port <n> # vite dev; optional fixed port\n` +
191
+ ` filepress dev --port <n> [--host] # vite dev; optional fixed port / LAN\n` +
187
192
  ` filepress import --source <url> [--inspire <url>] …\n` +
188
193
  `monorepo sites: ${listSites().join(', ') || '(none)'}`
189
194
  );
@@ -218,6 +223,9 @@ function runSiteCommand(argv) {
218
223
  ...process.env,
219
224
  FILEPRESS_SITE_ROOT: siteRoot
220
225
  };
226
+ if (args.host !== null) {
227
+ env.HOST = args.host === 'true' ? '0.0.0.0' : args.host;
228
+ }
221
229
 
222
230
  // Preview must serve the site's own build/ — not packages/app/.svelte-kit
223
231
  // (shared across sites; another agent's last build can leak onto vite preview).
@@ -240,7 +248,7 @@ function runSiteCommand(argv) {
240
248
  '--port',
241
249
  String(port),
242
250
  '--host',
243
- args.host && args.host !== 'true' ? args.host : '127.0.0.1'
251
+ args.host && args.host !== 'true' ? args.host : args.host === 'true' ? '0.0.0.0' : '127.0.0.1'
244
252
  ],
245
253
  { cwd: appDir, env }
246
254
  );
@@ -279,7 +287,7 @@ function runSiteCommand(argv) {
279
287
 
280
288
  // dev | build → vite
281
289
  const viteArgs = [command];
282
- if (args.host !== null) viteArgs.push('--host', args.host === 'true' ? 'true' : args.host);
290
+ if (args.host !== null) viteArgs.push('--host', args.host === 'true' ? '0.0.0.0' : args.host);
283
291
  viteArgs.push(...args.extra);
284
292
  runNodeBin('vite', 'vite', viteArgs, {
285
293
  cwd: appDir,
@@ -1,19 +0,0 @@
1
- # @filepress/app
2
-
3
- The only SvelteKit application in the filepress monorepo. All routes, layouts, and
4
- Kit wiring live here. Content sites under [`../../sites`](../../sites) provide:
5
-
6
- - `filepress.config.ts` — identity
7
- - `posts/` — Markdown
8
- - `static/` — favicon, images (optional)
9
-
10
- ## Run against a site
11
-
12
- From the repo root (do not run vite directly without `FILEPRESS_SITE_ROOT`):
13
-
14
- ```bash
15
- pnpm filepress dev --site demo
16
- pnpm filepress build --site demo
17
- ```
18
-
19
- Build output is written to `sites/<name>/build/`.
@@ -1,29 +0,0 @@
1
- # @filepress/core
2
-
3
- The reusable filepress engine. Sites under [`../../sites`](../../sites) depend on
4
- it (via `workspace:*` in this monorepo) and provide their own SvelteKit routes,
5
- content, and `filepress.config.ts`.
6
-
7
- ## Entry points
8
-
9
- - `@filepress/core` — client-safe: `PostCard`, `PostIndex`, `Newsletter`,
10
- `SiteHeader`, `SiteFooter`, `defineFilepressConfig`, `absoluteUrl`,
11
- `formatDate`, and shared types.
12
- - `@filepress/core/server` — server-only (filesystem access): `createContent`,
13
- `renderMarkdown`, `buildRssXml` / `buildSitemapXml` / `buildRobotsTxt`, and the
14
- content-parsing primitives. Import only from `+page.server.ts`, `+server.ts`,
15
- or `*.server.ts` modules.
16
- - `@filepress/core/theme` — self-hosted fonts + the Essay theme CSS. Import once
17
- from a site's root layout.
18
-
19
- ## Why routes live in the site
20
-
21
- SvelteKit's router is per-project, so each site owns its `src/routes/`. Those
22
- route files stay thin: they call `createContent(...)` + core builders and render
23
- core components. `scripts/create-site.mjs` scaffolds them.
24
-
25
- ## Testing
26
-
27
- `pnpm --filter @filepress/core test` runs the unit tests over the pure parsing
28
- and figure-transform logic. Type-checking of the whole library happens through
29
- each site's `svelte-check`.