@san-siva/blogkit-md-cli 0.1.57 → 0.1.59

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 (119) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build-manifest.json +3 -3
  3. package/.next/cache/.previewinfo +1 -1
  4. package/.next/cache/.rscinfo +1 -1
  5. package/.next/cache/.tsbuildinfo +1 -1
  6. package/.next/diagnostics/route-bundle-stats.json +6 -6
  7. package/.next/fallback-build-manifest.json +3 -3
  8. package/.next/prerender-manifest.json +3 -3
  9. package/.next/server/app/[...slug]/page.js +2 -2
  10. package/.next/server/app/[...slug]/page.js.nft.json +1 -1
  11. package/.next/server/app/[...slug]/page_client-reference-manifest.js +1 -1
  12. package/.next/server/app/_global-error/page.js.nft.json +1 -1
  13. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  14. package/.next/server/app/_global-error.html +1 -1
  15. package/.next/server/app/_global-error.rsc +1 -1
  16. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  17. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  18. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  19. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  20. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  21. package/.next/server/app/_not-found/page.js.nft.json +1 -1
  22. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  23. package/.next/server/app/_not-found.html +1 -1
  24. package/.next/server/app/_not-found.rsc +2 -2
  25. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  26. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  27. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  28. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  29. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  30. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  31. package/.next/server/app/page.js +2 -2
  32. package/.next/server/app/page.js.nft.json +1 -1
  33. package/.next/server/app/page_client-reference-manifest.js +1 -1
  34. package/.next/server/chunks/ssr/{[root-of-the-server]__0om2cvg._.js → [root-of-the-server]__008rn0m._.js} +1 -1
  35. package/.next/server/chunks/ssr/[root-of-the-server]__01vuvgh._.js +27 -0
  36. package/.next/server/chunks/ssr/[root-of-the-server]__01vuvgh._.js.map +1 -0
  37. package/.next/server/chunks/ssr/{[root-of-the-server]__0zel6gl._.js → [root-of-the-server]__07hyssg._.js} +2 -2
  38. package/.next/server/chunks/ssr/{[root-of-the-server]__0zel6gl._.js.map → [root-of-the-server]__07hyssg._.js.map} +1 -1
  39. package/.next/server/chunks/ssr/{[root-of-the-server]__0jiu67k._.js → [root-of-the-server]__086j5of._.js} +1 -1
  40. package/.next/server/chunks/ssr/{[root-of-the-server]__0pxchyf._.js → [root-of-the-server]__0j~og32._.js} +2 -2
  41. package/.next/server/chunks/ssr/{[root-of-the-server]__0pxchyf._.js.map → [root-of-the-server]__0j~og32._.js.map} +1 -1
  42. package/.next/server/chunks/ssr/_0cwqblo._.js +6 -0
  43. package/.next/server/chunks/ssr/_0cwqblo._.js.map +1 -0
  44. package/.next/server/chunks/ssr/{node_modules_13ad_1j._.js → node_modules_0-h5020._.js} +2 -2
  45. package/.next/server/chunks/ssr/{node_modules_060kqnc._.js → node_modules_0.8e8-_._.js} +2 -2
  46. package/.next/server/chunks/ssr/{node_modules_0nq_gpn._.js → node_modules_0.8vu~d._.js} +2 -2
  47. package/.next/server/chunks/ssr/{node_modules_0uh6ikr._.js → node_modules_00-bor8._.js} +2 -2
  48. package/.next/server/chunks/ssr/{node_modules_13ts7ww._.js → node_modules_00qi3pi._.js} +2 -2
  49. package/.next/server/chunks/ssr/{node_modules_0.yn2wt._.js → node_modules_02m5ux1._.js} +2 -2
  50. package/.next/server/chunks/ssr/{node_modules_0jhneou._.js → node_modules_04vp8x9._.js} +2 -2
  51. package/.next/server/chunks/ssr/{node_modules_0758t4v._.js → node_modules_07oae8e._.js} +2 -2
  52. package/.next/server/chunks/ssr/node_modules_0b29dha._.js +1 -1
  53. package/.next/server/chunks/ssr/node_modules_0b29dha._.js.map +1 -1
  54. package/.next/server/chunks/ssr/{node_modules_09~ewn9._.js → node_modules_0clt~ey._.js} +2 -2
  55. package/.next/server/chunks/ssr/node_modules_0f-x667._.js +5 -0
  56. package/.next/server/chunks/ssr/node_modules_0f-x667._.js.map +1 -0
  57. package/.next/server/chunks/ssr/{node_modules_0__k166._.js → node_modules_0l5pwye._.js} +2 -2
  58. package/.next/server/chunks/ssr/{node_modules_10ssr7s._.js → node_modules_0pdtd22._.js} +2 -2
  59. package/.next/server/chunks/ssr/{node_modules_0v1r.nm._.js → node_modules_0pe50md._.js} +2 -2
  60. package/.next/server/chunks/ssr/{node_modules_04682at._.js → node_modules_0z9komo._.js} +2 -2
  61. package/.next/server/chunks/ssr/{node_modules_015x2f-._.js → node_modules_10dwe8x._.js} +2 -2
  62. package/.next/server/chunks/ssr/{node_modules_04~c1bt._.js → node_modules_13a3tsk._.js} +2 -2
  63. package/.next/server/chunks/ssr/node_modules_@san-siva_blogkit_dist_esm_0msphxp._.js +5 -0
  64. package/.next/server/chunks/ssr/{node_modules_@san-siva_blogkit_dist_esm_0g5z3b_._.js.map → node_modules_@san-siva_blogkit_dist_esm_0msphxp._.js.map} +1 -1
  65. package/.next/server/chunks/ssr/node_modules_@san-siva_blogkit_dist_esm_13bim_8._.js +5 -0
  66. package/.next/server/chunks/ssr/node_modules_@san-siva_blogkit_dist_esm_13bim_8._.js.map +1 -0
  67. package/.next/server/chunks/ssr/node_modules_@san-siva_blogkit_dist_esm_components_ContentToolbar_0jh5zcp.js +3 -0
  68. package/.next/server/chunks/ssr/node_modules_@san-siva_blogkit_dist_esm_components_ContentToolbar_0jh5zcp.js.map +1 -0
  69. package/.next/server/middleware-build-manifest.js +3 -3
  70. package/.next/server/pages/404.html +1 -1
  71. package/.next/server/pages/500.html +1 -1
  72. package/.next/server/server-reference-manifest.js +1 -1
  73. package/.next/server/server-reference-manifest.json +1 -1
  74. package/.next/static/chunks/{0r.5_xw253fnn.js → 005u6ssmgf2ql.js} +1 -1
  75. package/.next/static/chunks/042i~crjd4oxw.js +1 -0
  76. package/.next/static/chunks/{178ttq4n179w2.js → 0f4fc7def67xq.js} +1 -1
  77. package/.next/static/chunks/0ttvxmwojwkrk.js +3 -0
  78. package/.next/static/chunks/0yh.h477rtnik.js +3 -0
  79. package/.next/static/chunks/0zqb8yt2d3f.l.js +3 -0
  80. package/.next/static/chunks/11gmwqsy114-h.css +1 -0
  81. package/.next/trace +1 -1
  82. package/.next/trace-build +1 -1
  83. package/bin/blogkit-md.js +29 -4
  84. package/package.json +3 -3
  85. package/src/components/LiveReload.tsx +7 -2
  86. package/src/components/SettingsToolbar.tsx +8 -4
  87. package/src/components/useDeviceDetection.ts +32 -0
  88. package/src/lib/layout-preferences.ts +1 -1
  89. package/src/lib/live-reload.ts +40 -2
  90. package/.next/server/chunks/ssr/[root-of-the-server]__0q_ly81._.js +0 -29
  91. package/.next/server/chunks/ssr/[root-of-the-server]__0q_ly81._.js.map +0 -1
  92. package/.next/server/chunks/ssr/_09yaa3q._.js +0 -6
  93. package/.next/server/chunks/ssr/_09yaa3q._.js.map +0 -1
  94. package/.next/server/chunks/ssr/node_modules_11a19m5._.js +0 -5
  95. package/.next/server/chunks/ssr/node_modules_11a19m5._.js.map +0 -1
  96. package/.next/server/chunks/ssr/node_modules_@san-siva_blogkit_dist_esm_0g5z3b_._.js +0 -3
  97. package/.next/static/chunks/01bij.gi16k9n.js +0 -3
  98. package/.next/static/chunks/0bccsi_prjxu9.css +0 -1
  99. package/.next/static/chunks/0bx8ae9yxo-an.js +0 -1
  100. /package/.next/server/chunks/ssr/{[root-of-the-server]__0om2cvg._.js.map → [root-of-the-server]__008rn0m._.js.map} +0 -0
  101. /package/.next/server/chunks/ssr/{[root-of-the-server]__0jiu67k._.js.map → [root-of-the-server]__086j5of._.js.map} +0 -0
  102. /package/.next/server/chunks/ssr/{node_modules_13ad_1j._.js.map → node_modules_0-h5020._.js.map} +0 -0
  103. /package/.next/server/chunks/ssr/{node_modules_060kqnc._.js.map → node_modules_0.8e8-_._.js.map} +0 -0
  104. /package/.next/server/chunks/ssr/{node_modules_0nq_gpn._.js.map → node_modules_0.8vu~d._.js.map} +0 -0
  105. /package/.next/server/chunks/ssr/{node_modules_0uh6ikr._.js.map → node_modules_00-bor8._.js.map} +0 -0
  106. /package/.next/server/chunks/ssr/{node_modules_13ts7ww._.js.map → node_modules_00qi3pi._.js.map} +0 -0
  107. /package/.next/server/chunks/ssr/{node_modules_0.yn2wt._.js.map → node_modules_02m5ux1._.js.map} +0 -0
  108. /package/.next/server/chunks/ssr/{node_modules_0jhneou._.js.map → node_modules_04vp8x9._.js.map} +0 -0
  109. /package/.next/server/chunks/ssr/{node_modules_0758t4v._.js.map → node_modules_07oae8e._.js.map} +0 -0
  110. /package/.next/server/chunks/ssr/{node_modules_09~ewn9._.js.map → node_modules_0clt~ey._.js.map} +0 -0
  111. /package/.next/server/chunks/ssr/{node_modules_0__k166._.js.map → node_modules_0l5pwye._.js.map} +0 -0
  112. /package/.next/server/chunks/ssr/{node_modules_10ssr7s._.js.map → node_modules_0pdtd22._.js.map} +0 -0
  113. /package/.next/server/chunks/ssr/{node_modules_0v1r.nm._.js.map → node_modules_0pe50md._.js.map} +0 -0
  114. /package/.next/server/chunks/ssr/{node_modules_04682at._.js.map → node_modules_0z9komo._.js.map} +0 -0
  115. /package/.next/server/chunks/ssr/{node_modules_015x2f-._.js.map → node_modules_10dwe8x._.js.map} +0 -0
  116. /package/.next/server/chunks/ssr/{node_modules_04~c1bt._.js.map → node_modules_13a3tsk._.js.map} +0 -0
  117. /package/.next/static/{4Oorkn753Z44reKxUfdg8 → iO15koV39YqzRGp5UmbF5}/_buildManifest.js +0 -0
  118. /package/.next/static/{4Oorkn753Z44reKxUfdg8 → iO15koV39YqzRGp5UmbF5}/_clientMiddlewareManifest.js +0 -0
  119. /package/.next/static/{4Oorkn753Z44reKxUfdg8 → iO15koV39YqzRGp5UmbF5}/_ssgManifest.js +0 -0
@@ -2,6 +2,39 @@
2
2
  // replacement — kill + 400ms port release + next start boot — with margin.
3
3
  export const MAX_RETRIES = 30;
4
4
 
5
+ const decodePart = (part: string) => {
6
+ try {
7
+ return decodeURIComponent(part);
8
+ } catch {
9
+ return part;
10
+ }
11
+ };
12
+
13
+ /** A pathname or event route as a comparable, decoded, slash-trimmed string. */
14
+ export const normalizeRoute = (route: string): string =>
15
+ route.split('/').filter(Boolean).map(decodePart).join('/');
16
+
17
+ /**
18
+ * Whether a broadcast concerns the page at `pathname`. Events are
19
+ * 'change:<route>' (a file's content changed) and 'list:<route>' (a file was
20
+ * added or removed), where <route> is the file's URL path without '.md':
21
+ *
22
+ * - 'change' only affects the page rendering that file.
23
+ * - 'list' only affects directory indexes, which list file names but not
24
+ * their content: the root index and any folder containing the file.
25
+ * - Anything else (a bare 'reload') is treated as relevant to every page.
26
+ */
27
+ export const isRelevantTo = (data: string, pathname: string): boolean => {
28
+ const separator = data.indexOf(':');
29
+ const kind = separator === -1 ? data : data.slice(0, separator);
30
+ if (kind !== 'change' && kind !== 'list') return true;
31
+
32
+ const route = normalizeRoute(data.slice(separator + 1));
33
+ const current = normalizeRoute(pathname);
34
+ if (kind === 'change') return route === current;
35
+ return current === '' || route.startsWith(current + '/');
36
+ };
37
+
5
38
  export type LiveReloadHooks = {
6
39
  /** Soft refresh — re-fetch server components for the current route. */
7
40
  refresh: () => void;
@@ -9,13 +42,17 @@ export type LiveReloadHooks = {
9
42
  reload: () => void;
10
43
  /** Stop listening for events. */
11
44
  close: () => void;
45
+ /** The path of the page being shown, so unrelated changes are ignored. */
46
+ getPathname?: () => string;
12
47
  };
13
48
 
14
49
  /**
15
50
  * The reconnect state machine behind LiveReload. The SSE server greets every
16
51
  * connection with 'connected' and broadcasts 'reload' on file changes:
17
52
  *
18
- * - 'reload' (or any other payload) → soft refresh.
53
+ * - A change event for this page (see isRelevantTo, any other payload counts
54
+ * as relevant to every page) → soft refresh. Events for other pages are
55
+ * ignored, so only the page whose content changed re-renders.
19
56
  * - 'connected' after the stream previously dropped → another server took
20
57
  * over this port (e.g. a folder server superseding a file server), so the
21
58
  * page shape may have completely changed → full reload.
@@ -28,6 +65,7 @@ export function createLiveReloadHandlers({
28
65
  refresh,
29
66
  reload,
30
67
  close,
68
+ getPathname = () => '',
31
69
  }: LiveReloadHooks) {
32
70
  let retries = 0;
33
71
  let everConnected = false;
@@ -46,7 +84,7 @@ export function createLiveReloadHandlers({
46
84
  }
47
85
  return;
48
86
  }
49
- refresh();
87
+ if (isRelevantTo(data, getPathname())) refresh();
50
88
  },
51
89
  onError(): void {
52
90
  dropped = true;