@fuzdev/fuz_blog 0.20.0 → 0.22.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.
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
- The MIT License (MIT)
1
+ MIT License
2
2
 
3
- Copyright (c) Ryan Atkinson <mail@ryanatkn.com> <https://ryanatkn.com/>
3
+ Copyright (c) fuz.dev
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -7,15 +7,19 @@
7
7
  import BlogPostHeader from './BlogPostHeader.svelte';
8
8
  import {blog_feed_context, type BlogPostData} from './blog.js';
9
9
 
10
- interface Props {
10
+ const {
11
+ post,
12
+ attrs,
13
+ footer,
14
+ separator = default_separator,
15
+ children,
16
+ }: {
11
17
  post: BlogPostData;
12
18
  attrs?: SvelteHTMLElements['article'] | undefined;
13
19
  footer?: Snippet;
14
20
  separator?: Snippet; // TODO currently only used before comments, maybe rename to `comments_header` or something?
15
21
  children: Snippet;
16
- }
17
-
18
- const {post, attrs, footer, separator = default_separator, children}: Props = $props();
22
+ } = $props();
19
23
 
20
24
  const feed = blog_feed_context.get();
21
25
 
@@ -30,7 +34,7 @@
30
34
  <title>{post.title}</title>
31
35
  </svelte:head>
32
36
 
33
- <div class="blog_post width_upto_md">
37
+ <div class="blog_post width_atmost_md">
34
38
  {#if item}
35
39
  <article {...attrs}>
36
40
  <BlogPostHeader {item} />
@@ -1,14 +1,14 @@
1
1
  import type { SvelteHTMLElements } from 'svelte/elements';
2
2
  import type { Snippet } from 'svelte';
3
3
  import { type BlogPostData } from './blog.js';
4
- interface Props {
4
+ type $$ComponentProps = {
5
5
  post: BlogPostData;
6
6
  attrs?: SvelteHTMLElements['article'] | undefined;
7
7
  footer?: Snippet;
8
8
  separator?: Snippet;
9
9
  children: Snippet;
10
- }
11
- declare const BlogPost: import("svelte").Component<Props, {}, "">;
10
+ };
11
+ declare const BlogPost: import("svelte").Component<$$ComponentProps, {}, "">;
12
12
  type BlogPost = ReturnType<typeof BlogPost>;
13
13
  export default BlogPost;
14
14
  //# sourceMappingURL=BlogPost.svelte.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlogPost.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/BlogPost.svelte"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,QAAQ,CAAC;AAKpC,OAAO,EAAoB,KAAK,YAAY,EAAC,MAAM,WAAW,CAAC;AAG9D,UAAU,KAAK;IACd,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CAClB;AAsDF,QAAA,MAAM,QAAQ,2CAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"BlogPost.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/BlogPost.svelte"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,QAAQ,CAAC;AAKpC,OAAO,EAAoB,KAAK,YAAY,EAAC,MAAM,WAAW,CAAC;AAE9D,KAAK,gBAAgB,GAAI;IACxB,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,CAAC,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CAClB,CAAC;AA2DH,QAAA,MAAM,QAAQ,sDAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
@@ -2,11 +2,11 @@
2
2
  import FeedItemDate from './FeedItemDate.svelte';
3
3
  import type {BlogPostItem} from './blog.js';
4
4
 
5
- interface Props {
5
+ const {
6
+ item,
7
+ }: {
6
8
  item: BlogPostItem;
7
- }
8
-
9
- const {item}: Props = $props();
9
+ } = $props();
10
10
  </script>
11
11
 
12
12
  <header>
@@ -1,8 +1,8 @@
1
1
  import type { BlogPostItem } from './blog.js';
2
- interface Props {
2
+ type $$ComponentProps = {
3
3
  item: BlogPostItem;
4
- }
5
- declare const BlogPostHeader: import("svelte").Component<Props, {}, "">;
4
+ };
5
+ declare const BlogPostHeader: import("svelte").Component<$$ComponentProps, {}, "">;
6
6
  type BlogPostHeader = ReturnType<typeof BlogPostHeader>;
7
7
  export default BlogPostHeader;
8
8
  //# sourceMappingURL=BlogPostHeader.svelte.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BlogPostHeader.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/BlogPostHeader.svelte"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,WAAW,CAAC;AAG3C,UAAU,KAAK;IACd,IAAI,EAAE,YAAY,CAAC;CACnB;AAkBF,QAAA,MAAM,cAAc,2CAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"BlogPostHeader.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/BlogPostHeader.svelte"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,WAAW,CAAC;AAE3C,KAAK,gBAAgB,GAAI;IACxB,IAAI,EAAE,YAAY,CAAC;CACnB,CAAC;AAmBH,QAAA,MAAM,cAAc,sDAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
@@ -2,11 +2,11 @@
2
2
  import type {FeedItem} from './feed.js';
3
3
  import {format_date} from './util.js';
4
4
 
5
- interface Props {
5
+ const {
6
+ item,
7
+ }: {
6
8
  item: FeedItem;
7
- }
8
-
9
- const {item}: Props = $props();
9
+ } = $props();
10
10
  </script>
11
11
 
12
12
  {format_date(
@@ -1,8 +1,8 @@
1
1
  import type { FeedItem } from './feed.js';
2
- interface Props {
2
+ type $$ComponentProps = {
3
3
  item: FeedItem;
4
- }
5
- declare const FeedItemDate: import("svelte").Component<Props, {}, "">;
4
+ };
5
+ declare const FeedItemDate: import("svelte").Component<$$ComponentProps, {}, "">;
6
6
  type FeedItemDate = ReturnType<typeof FeedItemDate>;
7
7
  export default FeedItemDate;
8
8
  //# sourceMappingURL=FeedItemDate.svelte.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeedItemDate.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/FeedItemDate.svelte"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,WAAW,CAAC;AAIvC,UAAU,KAAK;IACd,IAAI,EAAE,QAAQ,CAAC;CACf;AAgBF,QAAA,MAAM,YAAY,2CAAwC,CAAC;AAC3D,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AACpD,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"FeedItemDate.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/FeedItemDate.svelte"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,WAAW,CAAC;AAGvC,KAAK,gBAAgB,GAAI;IACxB,IAAI,EAAE,QAAQ,CAAC;CACf,CAAC;AAiBH,QAAA,MAAM,YAAY,sDAAwC,CAAC;AAC3D,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC;AACpD,eAAe,YAAY,CAAC"}
@@ -1,14 +1,15 @@
1
1
  <script lang="ts">
2
2
  import type {Snippet} from 'svelte';
3
3
 
4
- // TODO maybe move to Fuz
4
+ // TODO maybe move to fuz_ui
5
5
 
6
- interface Props {
6
+ const {
7
+ slug,
8
+ children,
9
+ }: {
7
10
  slug: string;
8
11
  children: Snippet;
9
- }
10
-
11
- const {slug, children}: Props = $props();
12
+ } = $props();
12
13
  </script>
13
14
 
14
15
  <div class="hash_link" id={slug}>
@@ -1,9 +1,9 @@
1
1
  import type { Snippet } from 'svelte';
2
- interface Props {
2
+ type $$ComponentProps = {
3
3
  slug: string;
4
4
  children: Snippet;
5
- }
6
- declare const HashLink: import("svelte").Component<Props, {}, "">;
5
+ };
6
+ declare const HashLink: import("svelte").Component<$$ComponentProps, {}, "">;
7
7
  type HashLink = ReturnType<typeof HashLink>;
8
8
  export default HashLink;
9
9
  //# sourceMappingURL=HashLink.svelte.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HashLink.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/HashLink.svelte"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,QAAQ,CAAC;AAKnC,UAAU,KAAK;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CAClB;AAiBF,QAAA,MAAM,QAAQ,2CAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"HashLink.svelte.d.ts","sourceRoot":"../src/lib/","sources":["../src/lib/HashLink.svelte"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,QAAQ,CAAC;AAEnC,KAAK,gBAAgB,GAAI;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CAClB,CAAC;AAqBH,QAAA,MAAM,QAAQ,sDAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
package/dist/blog.gen.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import { join } from 'node:path';
2
- import { load_package_json } from '@ryanatkn/gro/package_json.js';
2
+ import { package_json_load } from '@ryanatkn/gro/package_json.js';
3
3
  import { create_atom_feed } from './feed.js';
4
4
  import { collect_blog_post_ids, load_blog_post_modules, resolve_blog_post_item, } from './blog_helpers.js';
5
5
  /** @nodocs */
6
6
  export const gen = async ({ origin_path }) => {
7
7
  // TODO @many parameterize and refactor
8
- const package_json = await load_package_json();
8
+ const package_json = await package_json_load();
9
9
  const fuz_blog_import_path = package_json.name === '@fuzdev/fuz_blog' ? '$lib' : '@fuzdev/fuz_blog';
10
10
  const dir = process.cwd();
11
11
  const blog_dirname = 'blog';
package/dist/post.task.js CHANGED
@@ -3,7 +3,7 @@ import { z } from 'zod';
3
3
  import { format_file } from '@ryanatkn/gro/format_file.js';
4
4
  import { mkdir, writeFile } from 'node:fs/promises';
5
5
  import { dirname, join } from 'node:path';
6
- import { load_package_json } from '@ryanatkn/gro/package_json.js';
6
+ import { package_json_load } from '@ryanatkn/gro/package_json.js';
7
7
  import { slugify } from '@fuzdev/fuz_util/path.js';
8
8
  import { collect_blog_post_ids, to_next_blog_post_id } from './blog_helpers.js';
9
9
  /** @nodocs */
@@ -25,7 +25,7 @@ export const task = {
25
25
  const title = raw_title.trim();
26
26
  const slug = slugify(title);
27
27
  // TODO @many parameterize and refactor
28
- const package_json = await load_package_json();
28
+ const package_json = await package_json_load();
29
29
  const fuz_blog_import_path = package_json.name === '@fuzdev/fuz_blog' ? '$lib' : '@fuzdev/fuz_blog';
30
30
  const dir = process.cwd();
31
31
  const blog_dirname = 'blog'; // TODO @many harcoded /blog/
package/package.json CHANGED
@@ -1,11 +1,10 @@
1
1
  {
2
2
  "name": "@fuzdev/fuz_blog",
3
- "version": "0.20.0",
3
+ "version": "0.22.0",
4
4
  "description": "blog software from scratch with SvelteKit",
5
5
  "glyph": "🖊️",
6
6
  "logo": "logo.svg",
7
7
  "logo_alt": "a friendly yellow spider facing you",
8
- "public": true,
9
8
  "homepage": "https://blog.fuz.dev/",
10
9
  "repository": "https://github.com/fuzdev/fuz_blog",
11
10
  "scripts": {
@@ -22,41 +21,41 @@
22
21
  "node": ">=22.15"
23
22
  },
24
23
  "peerDependencies": {
25
- "@fuzdev/fuz_css": ">=0.40.0",
26
- "@fuzdev/fuz_mastodon": ">=0.37.0",
27
- "@fuzdev/fuz_ui": ">=0.169.0",
28
- "@fuzdev/fuz_util": ">=0.42.0",
29
- "@ryanatkn/gro": ">=0.181.0",
24
+ "@fuzdev/fuz_css": ">=0.44.1",
25
+ "@fuzdev/fuz_mastodon": ">=0.38.0",
26
+ "@fuzdev/fuz_ui": ">=0.179.0",
27
+ "@fuzdev/fuz_util": ">=0.45.3",
28
+ "@ryanatkn/gro": ">=0.186.0",
30
29
  "@sveltejs/kit": "^2",
31
30
  "date-fns": "^4",
32
31
  "svelte": "^5"
33
32
  },
34
33
  "devDependencies": {
35
34
  "@changesets/changelog-git": "^0.2.1",
36
- "@fuzdev/fuz_code": "^0.37.0",
37
- "@fuzdev/fuz_css": "^0.40.0",
38
- "@fuzdev/fuz_mastodon": "^0.37.0",
39
- "@fuzdev/fuz_ui": "^0.169.0",
40
- "@fuzdev/fuz_util": "^0.42.0",
41
- "@ryanatkn/belt": "^0.41.1",
35
+ "@fuzdev/fuz_code": "^0.40.0",
36
+ "@fuzdev/fuz_css": "^0.44.1",
37
+ "@fuzdev/fuz_mastodon": "^0.38.0",
38
+ "@fuzdev/fuz_ui": "^0.179.0",
39
+ "@fuzdev/fuz_util": "^0.45.3",
42
40
  "@ryanatkn/eslint-config": "^0.9.0",
43
- "@ryanatkn/gro": "^0.181.0",
41
+ "@ryanatkn/gro": "^0.186.0",
44
42
  "@sveltejs/adapter-static": "^3.0.10",
45
- "@sveltejs/kit": "^2.49.0",
43
+ "@sveltejs/kit": "^2.49.1",
46
44
  "@sveltejs/package": "^2.5.7",
47
45
  "@sveltejs/vite-plugin-svelte": "^6.2.1",
48
46
  "@types/node": "^24.10.1",
47
+ "@webref/css": "^8.2.0",
49
48
  "date-fns": "^4.1.0",
50
49
  "eslint": "^9.39.1",
51
- "eslint-plugin-svelte": "^3.13.0",
52
- "prettier": "^3.6.2",
53
- "prettier-plugin-svelte": "^3.4.0",
54
- "svelte": "^5.45.2",
50
+ "eslint-plugin-svelte": "^3.13.1",
51
+ "prettier": "^3.7.4",
52
+ "prettier-plugin-svelte": "^3.4.1",
53
+ "svelte": "^5.45.6",
55
54
  "svelte-check": "^4.3.4",
56
55
  "tslib": "^2.8.1",
57
56
  "typescript": "^5.9.3",
58
- "typescript-eslint": "^8.48.0",
59
- "vitest": "^4.0.14"
57
+ "typescript-eslint": "^8.48.1",
58
+ "vitest": "^4.0.15"
60
59
  },
61
60
  "prettier": {
62
61
  "plugins": [