@jant/core 0.3.22 → 0.3.23

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 (78) hide show
  1. package/dist/app.js +22 -3
  2. package/dist/index.js +3 -4
  3. package/dist/lib/render.js +1 -1
  4. package/dist/lib/view.js +1 -1
  5. package/dist/routes/api/timeline.js +3 -3
  6. package/dist/routes/pages/archive.js +1 -1
  7. package/dist/routes/pages/collection.js +1 -1
  8. package/dist/routes/pages/home.js +1 -1
  9. package/dist/routes/pages/page.js +1 -1
  10. package/dist/routes/pages/post.js +1 -1
  11. package/dist/routes/pages/search.js +1 -1
  12. package/dist/theme/components/index.js +0 -2
  13. package/dist/theme/index.js +10 -16
  14. package/dist/theme/layouts/index.js +0 -1
  15. package/dist/themes/minimal/MinimalSiteLayout.js +83 -0
  16. package/dist/themes/minimal/index.js +65 -0
  17. package/dist/{theme → themes/minimal}/pages/ArchivePage.js +7 -8
  18. package/dist/{theme → themes/minimal}/pages/CollectionPage.js +7 -5
  19. package/dist/{theme → themes/minimal}/pages/HomePage.js +2 -3
  20. package/dist/{theme → themes/minimal}/pages/PostPage.js +5 -6
  21. package/dist/{theme → themes/minimal}/pages/SearchPage.js +11 -10
  22. package/dist/{theme → themes/minimal}/pages/SinglePage.js +3 -4
  23. package/dist/themes/minimal/timeline/ArticleCard.js +36 -0
  24. package/dist/themes/minimal/timeline/ImageCard.js +67 -0
  25. package/dist/{theme/components → themes/minimal}/timeline/LinkCard.js +14 -26
  26. package/dist/{theme/components → themes/minimal}/timeline/NoteCard.js +7 -7
  27. package/dist/{theme/components → themes/minimal}/timeline/QuoteCard.js +6 -6
  28. package/dist/{theme/components → themes/minimal}/timeline/ThreadPreview.js +13 -18
  29. package/dist/themes/minimal/timeline/TimelineFeed.js +48 -0
  30. package/dist/{theme/components → themes/minimal}/timeline/TimelineItem.js +1 -2
  31. package/package.json +1 -1
  32. package/src/app.tsx +26 -3
  33. package/src/i18n/locales/en.po +47 -47
  34. package/src/i18n/locales/zh-Hans.po +47 -47
  35. package/src/i18n/locales/zh-Hant.po +47 -47
  36. package/src/index.ts +4 -5
  37. package/src/lib/__tests__/view.test.ts +18 -16
  38. package/src/lib/render.tsx +1 -1
  39. package/src/lib/view.ts +1 -1
  40. package/src/routes/api/timeline.tsx +3 -3
  41. package/src/routes/pages/archive.tsx +1 -1
  42. package/src/routes/pages/collection.tsx +1 -1
  43. package/src/routes/pages/home.tsx +1 -1
  44. package/src/routes/pages/page.tsx +1 -1
  45. package/src/routes/pages/post.tsx +1 -1
  46. package/src/routes/pages/search.tsx +1 -1
  47. package/src/styles/components.css +0 -54
  48. package/src/theme/components/index.ts +0 -13
  49. package/src/theme/index.ts +10 -16
  50. package/src/theme/layouts/index.ts +0 -1
  51. package/src/themes/minimal/MinimalSiteLayout.tsx +100 -0
  52. package/src/themes/minimal/index.ts +83 -0
  53. package/src/{theme → themes/minimal}/pages/ArchivePage.tsx +8 -11
  54. package/src/{theme → themes/minimal}/pages/CollectionPage.tsx +6 -6
  55. package/src/{theme → themes/minimal}/pages/HomePage.tsx +3 -4
  56. package/src/{theme → themes/minimal}/pages/PostPage.tsx +6 -7
  57. package/src/{theme → themes/minimal}/pages/SearchPage.tsx +11 -17
  58. package/src/{theme → themes/minimal}/pages/SinglePage.tsx +4 -5
  59. package/src/themes/minimal/timeline/ArticleCard.tsx +37 -0
  60. package/src/themes/minimal/timeline/ImageCard.tsx +63 -0
  61. package/src/themes/minimal/timeline/LinkCard.tsx +48 -0
  62. package/src/{theme/components → themes/minimal}/timeline/NoteCard.tsx +10 -9
  63. package/src/{theme/components → themes/minimal}/timeline/QuoteCard.tsx +9 -8
  64. package/src/{theme/components → themes/minimal}/timeline/ThreadPreview.tsx +14 -16
  65. package/src/{theme/components → themes/minimal}/timeline/TimelineFeed.tsx +14 -13
  66. package/src/{theme/components → themes/minimal}/timeline/TimelineItem.tsx +1 -4
  67. package/dist/theme/components/timeline/ArticleCard.js +0 -46
  68. package/dist/theme/components/timeline/ImageCard.js +0 -83
  69. package/dist/theme/components/timeline/TimelineFeed.js +0 -46
  70. package/dist/theme/components/timeline/index.js +0 -8
  71. package/dist/theme/layouts/SiteLayout.js +0 -131
  72. package/dist/theme/pages/index.js +0 -11
  73. package/src/theme/components/timeline/ArticleCard.tsx +0 -45
  74. package/src/theme/components/timeline/ImageCard.tsx +0 -70
  75. package/src/theme/components/timeline/LinkCard.tsx +0 -59
  76. package/src/theme/components/timeline/index.ts +0 -8
  77. package/src/theme/layouts/SiteLayout.tsx +0 -132
  78. package/src/theme/pages/index.ts +0 -13
@@ -56,7 +56,7 @@ msgid "Add Media"
56
56
  msgstr "Add Media"
57
57
 
58
58
  #. @context: Archive filter - all types
59
- #: src/theme/pages/ArchivePage.tsx:92
59
+ #: src/themes/minimal/pages/ArchivePage.tsx:90
60
60
  msgid "All"
61
61
  msgstr "All"
62
62
 
@@ -66,7 +66,7 @@ msgid "Appearance"
66
66
  msgstr "Appearance"
67
67
 
68
68
  #. @context: Archive page title
69
- #: src/theme/pages/ArchivePage.tsx:77
69
+ #: src/themes/minimal/pages/ArchivePage.tsx:76
70
70
  msgid "Archive"
71
71
  msgstr "Archive"
72
72
 
@@ -80,12 +80,12 @@ msgstr "Are you sure you want to delete this post? This cannot be undone."
80
80
  #. @context: Post type option
81
81
  #: src/theme/components/PostForm.tsx:74
82
82
  #: src/theme/components/TypeBadge.tsx:20
83
- #: src/theme/pages/ArchivePage.tsx:18
83
+ #: src/themes/minimal/pages/ArchivePage.tsx:17
84
84
  msgid "Article"
85
85
  msgstr "Article"
86
86
 
87
87
  #. @context: Post type label plural - articles
88
- #: src/theme/pages/ArchivePage.tsx:43
88
+ #: src/themes/minimal/pages/ArchivePage.tsx:42
89
89
  msgid "Articles"
90
90
  msgstr "Articles"
91
91
 
@@ -153,7 +153,7 @@ msgid "Color theme"
153
153
  msgstr "Color theme"
154
154
 
155
155
  #. @context: Setup form submit button
156
- #: src/app.tsx:254
156
+ #: src/app.tsx:277
157
157
  msgid "Complete Setup"
158
158
  msgstr "Complete Setup"
159
159
 
@@ -163,7 +163,7 @@ msgid "Confirm New Password"
163
163
  msgstr "Confirm New Password"
164
164
 
165
165
  #. @context: Password reset form field
166
- #: src/app.tsx:515
166
+ #: src/app.tsx:538
167
167
  msgid "Confirm Password"
168
168
  msgstr "Confirm Password"
169
169
 
@@ -202,7 +202,7 @@ msgid "Create Redirect"
202
202
  msgstr "Create Redirect"
203
203
 
204
204
  #. @context: Setup page description
205
- #: src/app.tsx:194
205
+ #: src/app.tsx:217
206
206
  msgid "Create your admin account."
207
207
  msgstr "Create your admin account."
208
208
 
@@ -268,7 +268,7 @@ msgid "Deleting this media will remove it permanently from storage."
268
268
  msgstr "Deleting this media will remove it permanently from storage."
269
269
 
270
270
  #. @context: Hint shown on signin page when demo credentials are pre-filled
271
- #: src/app.tsx:353
271
+ #: src/app.tsx:376
272
272
  msgid "Demo account pre-filled. Just click Sign In."
273
273
  msgstr "Demo account pre-filled. Just click Sign In."
274
274
 
@@ -358,13 +358,13 @@ msgstr "Edit Post"
358
358
 
359
359
  #. @context: Setup/signin form field - email
360
360
  #. @context: Setup/signin form field - email
361
- #: src/app.tsx:224
362
- #: src/app.tsx:368
361
+ #: src/app.tsx:247
362
+ #: src/app.tsx:391
363
363
  msgid "Email"
364
364
  msgstr "Email"
365
365
 
366
366
  #. @context: Password reset page description
367
- #: src/app.tsx:484
367
+ #: src/app.tsx:507
368
368
  msgid "Enter your new password."
369
369
  msgstr "Enter your new password."
370
370
 
@@ -376,12 +376,12 @@ msgid "Featured"
376
376
  msgstr "Featured"
377
377
 
378
378
  #. @context: Search results count - multiple
379
- #: src/theme/pages/SearchPage.tsx:77
379
+ #: src/themes/minimal/pages/SearchPage.tsx:73
380
380
  msgid "Found {count} results"
381
381
  msgstr "Found {count} results"
382
382
 
383
383
  #. @context: Search results count - single
384
- #: src/theme/pages/SearchPage.tsx:73
384
+ #: src/themes/minimal/pages/SearchPage.tsx:69
385
385
  msgid "Found 1 result"
386
386
  msgstr "Found 1 result"
387
387
 
@@ -402,12 +402,12 @@ msgstr "General"
402
402
  #. @context: Post type option
403
403
  #: src/theme/components/PostForm.tsx:83
404
404
  #: src/theme/components/TypeBadge.tsx:29
405
- #: src/theme/pages/ArchivePage.tsx:27
405
+ #: src/themes/minimal/pages/ArchivePage.tsx:26
406
406
  msgid "Image"
407
407
  msgstr "Image"
408
408
 
409
409
  #. @context: Post type label plural - images
410
- #: src/theme/pages/ArchivePage.tsx:55
410
+ #: src/themes/minimal/pages/ArchivePage.tsx:54
411
411
  msgid "Images"
412
412
  msgstr "Images"
413
413
 
@@ -417,7 +417,7 @@ msgid "Images are automatically optimized: resized to max 1920px, converted to W
417
417
  msgstr "Images are automatically optimized: resized to max 1920px, converted to WebP, and metadata stripped."
418
418
 
419
419
  #. @context: Password reset error heading
420
- #: src/app.tsx:559
420
+ #: src/app.tsx:582
421
421
  msgid "Invalid or Expired Link"
422
422
  msgstr "Invalid or Expired Link"
423
423
 
@@ -441,19 +441,19 @@ msgstr "Language"
441
441
  #. @context: Post type option
442
442
  #: src/theme/components/PostForm.tsx:77
443
443
  #: src/theme/components/TypeBadge.tsx:24
444
- #: src/theme/pages/ArchivePage.tsx:22
444
+ #: src/themes/minimal/pages/ArchivePage.tsx:21
445
445
  msgid "Link"
446
446
  msgstr "Link"
447
447
 
448
448
  #. @context: Post type label plural - links
449
- #: src/theme/pages/ArchivePage.tsx:47
449
+ #: src/themes/minimal/pages/ArchivePage.tsx:46
450
450
  msgid "Links"
451
451
  msgstr "Links"
452
452
 
453
453
  #. @context: Button to load more posts in timeline
454
454
  #. @context: Pagination button - load more items
455
455
  #: src/theme/components/Pagination.tsx:103
456
- #: src/theme/components/timeline/TimelineFeed.tsx:47
456
+ #: src/themes/minimal/timeline/TimelineFeed.tsx:48
457
457
  msgid "Load more"
458
458
  msgstr "Load more"
459
459
 
@@ -535,7 +535,7 @@ msgstr "New Page"
535
535
 
536
536
  #. @context: Password form field
537
537
  #. @context: Password reset form field
538
- #: src/app.tsx:499
538
+ #: src/app.tsx:522
539
539
  #: src/routes/dash/settings.tsx:442
540
540
  msgid "New Password"
541
541
  msgstr "New Password"
@@ -586,21 +586,21 @@ msgid "No pages yet."
586
586
  msgstr "No pages yet."
587
587
 
588
588
  #. @context: Archive empty state
589
- #: src/theme/pages/ArchivePage.tsx:112
589
+ #: src/themes/minimal/pages/ArchivePage.tsx:110
590
590
  msgid "No posts found."
591
591
  msgstr "No posts found."
592
592
 
593
593
  #. @context: Empty state message
594
594
  #. @context: Empty state message
595
595
  #: src/routes/dash/collections.tsx:243
596
- #: src/theme/pages/CollectionPage.tsx:30
596
+ #: src/themes/minimal/pages/CollectionPage.tsx:29
597
597
  msgid "No posts in this collection."
598
598
  msgstr "No posts in this collection."
599
599
 
600
600
  #. @context: Empty state message on home page
601
601
  #. @context: Empty state message when no posts exist
602
602
  #: src/theme/components/PostList.tsx:25
603
- #: src/theme/pages/HomePage.tsx:27
603
+ #: src/themes/minimal/pages/HomePage.tsx:26
604
604
  msgid "No posts yet."
605
605
  msgstr "No posts yet."
606
606
 
@@ -610,7 +610,7 @@ msgid "No redirects configured."
610
610
  msgstr "No redirects configured."
611
611
 
612
612
  #. @context: Search empty results
613
- #: src/theme/pages/SearchPage.tsx:68
613
+ #: src/themes/minimal/pages/SearchPage.tsx:64
614
614
  msgid "No results found."
615
615
  msgstr "No results found."
616
616
 
@@ -619,12 +619,12 @@ msgstr "No results found."
619
619
  #. @context: Post type option
620
620
  #: src/theme/components/PostForm.tsx:71
621
621
  #: src/theme/components/TypeBadge.tsx:19
622
- #: src/theme/pages/ArchivePage.tsx:17
622
+ #: src/themes/minimal/pages/ArchivePage.tsx:16
623
623
  msgid "Note"
624
624
  msgstr "Note"
625
625
 
626
626
  #. @context: Post type label plural - notes
627
- #: src/theme/pages/ArchivePage.tsx:39
627
+ #: src/themes/minimal/pages/ArchivePage.tsx:38
628
628
  msgid "Notes"
629
629
  msgstr "Notes"
630
630
 
@@ -633,7 +633,7 @@ msgstr "Notes"
633
633
  #. @context: Post type label - page
634
634
  #: src/routes/dash/pages.tsx:125
635
635
  #: src/theme/components/TypeBadge.tsx:33
636
- #: src/theme/pages/ArchivePage.tsx:31
636
+ #: src/themes/minimal/pages/ArchivePage.tsx:30
637
637
  msgid "Page"
638
638
  msgstr "Page"
639
639
 
@@ -657,14 +657,14 @@ msgstr "Page title..."
657
657
  #. @context: Post type label plural - pages
658
658
  #: src/routes/dash/pages.tsx:36
659
659
  #: src/theme/layouts/DashLayout.tsx:96
660
- #: src/theme/pages/ArchivePage.tsx:59
660
+ #: src/themes/minimal/pages/ArchivePage.tsx:58
661
661
  msgid "Pages"
662
662
  msgstr "Pages"
663
663
 
664
664
  #. @context: Setup/signin form field - password
665
665
  #. @context: Setup/signin form field - password
666
- #: src/app.tsx:239
667
- #: src/app.tsx:377
666
+ #: src/app.tsx:262
667
+ #: src/app.tsx:400
668
668
  msgid "Password"
669
669
  msgstr "Password"
670
670
 
@@ -681,7 +681,7 @@ msgstr "Path (e.g. /archive) or full URL (e.g. https://example.com)"
681
681
  #. @context: Link to individual post in thread
682
682
  #. @context: Link to permanent URL of post
683
683
  #: src/theme/components/ThreadView.tsx:68
684
- #: src/theme/pages/PostPage.tsx:36
684
+ #: src/themes/minimal/pages/PostPage.tsx:35
685
685
  msgid "Permalink"
686
686
  msgstr "Permalink"
687
687
 
@@ -732,9 +732,9 @@ msgstr "Previous"
732
732
  #. @context: Loading text shown on submit button while request is in progress
733
733
  #. @context: Loading text shown on submit button while request is in progress
734
734
  #. @context: Upload status - processing
735
- #: src/app.tsx:260
736
- #: src/app.tsx:397
737
- #: src/app.tsx:537
735
+ #: src/app.tsx:283
736
+ #: src/app.tsx:420
737
+ #: src/app.tsx:560
738
738
  #: src/routes/dash/collections.tsx:178
739
739
  #: src/routes/dash/collections.tsx:357
740
740
  #: src/routes/dash/media.tsx:119
@@ -790,12 +790,12 @@ msgstr "Quiet (normal)"
790
790
  #. @context: Post type option
791
791
  #: src/theme/components/PostForm.tsx:80
792
792
  #: src/theme/components/TypeBadge.tsx:25
793
- #: src/theme/pages/ArchivePage.tsx:23
793
+ #: src/themes/minimal/pages/ArchivePage.tsx:22
794
794
  msgid "Quote"
795
795
  msgstr "Quote"
796
796
 
797
797
  #. @context: Post type label plural - quotes
798
- #: src/theme/pages/ArchivePage.tsx:51
798
+ #: src/themes/minimal/pages/ArchivePage.tsx:50
799
799
  msgid "Quotes"
800
800
  msgstr "Quotes"
801
801
 
@@ -815,8 +815,8 @@ msgstr "Remove"
815
815
 
816
816
  #. @context: Password reset form submit button
817
817
  #. @context: Password reset page heading
818
- #: src/app.tsx:478
819
- #: src/app.tsx:531
818
+ #: src/app.tsx:501
819
+ #: src/app.tsx:554
820
820
  msgid "Reset Password"
821
821
  msgstr "Reset Password"
822
822
 
@@ -837,8 +837,8 @@ msgstr "Save Settings"
837
837
 
838
838
  #. @context: Search page title
839
839
  #. @context: Search submit button
840
- #: src/theme/pages/SearchPage.tsx:22
841
- #: src/theme/pages/SearchPage.tsx:48
840
+ #: src/themes/minimal/pages/SearchPage.tsx:21
841
+ #: src/themes/minimal/pages/SearchPage.tsx:46
842
842
  msgid "Search"
843
843
  msgstr "Search"
844
844
 
@@ -848,7 +848,7 @@ msgstr "Search"
848
848
  #~ msgstr "Search failed. Please try again."
849
849
 
850
850
  #. @context: Search input placeholder
851
- #: src/theme/pages/SearchPage.tsx:40
851
+ #: src/themes/minimal/pages/SearchPage.tsx:38
852
852
  msgid "Search posts..."
853
853
  msgstr "Search posts..."
854
854
 
@@ -875,14 +875,14 @@ msgstr "Settings"
875
875
 
876
876
  #. @context: Link to show remaining thread replies
877
877
  #. placeholder {0}: remainingCount === 1 ? "reply" : "replies"
878
- #: src/theme/components/timeline/ThreadPreview.tsx:38
878
+ #: src/themes/minimal/timeline/ThreadPreview.tsx:37
879
879
  msgid "Show {remainingCount} more {0}"
880
880
  msgstr "Show {remainingCount} more {0}"
881
881
 
882
882
  #. @context: Sign in form submit button
883
883
  #. @context: Sign in page heading
884
- #: src/app.tsx:344
885
- #: src/app.tsx:391
884
+ #: src/app.tsx:367
885
+ #: src/app.tsx:414
886
886
  msgid "Sign In"
887
887
  msgstr "Sign In"
888
888
 
@@ -944,7 +944,7 @@ msgid "The URL path for this page. Use lowercase letters, numbers, and hyphens."
944
944
  msgstr "The URL path for this page. Use lowercase letters, numbers, and hyphens."
945
945
 
946
946
  #. @context: Password reset error description
947
- #: src/app.tsx:567
947
+ #: src/app.tsx:590
948
948
  msgid "This password reset link is invalid or has expired. Please generate a new one."
949
949
  msgstr "This password reset link is invalid or has expired. Please generate a new one."
950
950
 
@@ -1093,7 +1093,7 @@ msgid "Visibility"
1093
1093
  msgstr "Visibility"
1094
1094
 
1095
1095
  #. @context: Setup page welcome heading
1096
- #: src/app.tsx:188
1096
+ #: src/app.tsx:211
1097
1097
  msgid "Welcome to Jant"
1098
1098
  msgstr "Welcome to Jant"
1099
1099
 
@@ -1108,6 +1108,6 @@ msgid "What's this collection about?"
1108
1108
  msgstr "What's this collection about?"
1109
1109
 
1110
1110
  #. @context: Setup form field - user name
1111
- #: src/app.tsx:209
1111
+ #: src/app.tsx:232
1112
1112
  msgid "Your Name"
1113
1113
  msgstr "Your Name"
@@ -49,7 +49,7 @@ msgid "Add Media"
49
49
  msgstr "添加媒体"
50
50
 
51
51
  #. @context: Archive filter - all types
52
- #: src/theme/pages/ArchivePage.tsx:92
52
+ #: src/themes/minimal/pages/ArchivePage.tsx:90
53
53
  msgid "All"
54
54
  msgstr "所有"
55
55
 
@@ -59,7 +59,7 @@ msgid "Appearance"
59
59
  msgstr "外观"
60
60
 
61
61
  #. @context: Archive page title
62
- #: src/theme/pages/ArchivePage.tsx:77
62
+ #: src/themes/minimal/pages/ArchivePage.tsx:76
63
63
  msgid "Archive"
64
64
  msgstr "档案馆"
65
65
 
@@ -73,12 +73,12 @@ msgstr ""
73
73
  #. @context: Post type option
74
74
  #: src/theme/components/PostForm.tsx:74
75
75
  #: src/theme/components/TypeBadge.tsx:20
76
- #: src/theme/pages/ArchivePage.tsx:18
76
+ #: src/themes/minimal/pages/ArchivePage.tsx:17
77
77
  msgid "Article"
78
78
  msgstr "文章"
79
79
 
80
80
  #. @context: Post type label plural - articles
81
- #: src/theme/pages/ArchivePage.tsx:43
81
+ #: src/themes/minimal/pages/ArchivePage.tsx:42
82
82
  msgid "Articles"
83
83
  msgstr "文章"
84
84
 
@@ -137,7 +137,7 @@ msgid "Color theme"
137
137
  msgstr "颜色主题"
138
138
 
139
139
  #. @context: Setup form submit button
140
- #: src/app.tsx:254
140
+ #: src/app.tsx:277
141
141
  msgid "Complete Setup"
142
142
  msgstr "完成设置"
143
143
 
@@ -147,7 +147,7 @@ msgid "Confirm New Password"
147
147
  msgstr "确认新密码"
148
148
 
149
149
  #. @context: Password reset form field
150
- #: src/app.tsx:515
150
+ #: src/app.tsx:538
151
151
  msgid "Confirm Password"
152
152
  msgstr "确认密码"
153
153
 
@@ -186,7 +186,7 @@ msgid "Create Redirect"
186
186
  msgstr "创建重定向"
187
187
 
188
188
  #. @context: Setup page description
189
- #: src/app.tsx:194
189
+ #: src/app.tsx:217
190
190
  msgid "Create your admin account."
191
191
  msgstr "创建您的管理员账户。"
192
192
 
@@ -252,7 +252,7 @@ msgid "Deleting this media will remove it permanently from storage."
252
252
  msgstr "删除此媒体将永久从存储中移除。"
253
253
 
254
254
  #. @context: Hint shown on signin page when demo credentials are pre-filled
255
- #: src/app.tsx:353
255
+ #: src/app.tsx:376
256
256
  msgid "Demo account pre-filled. Just click Sign In."
257
257
  msgstr "演示账户已预填。只需点击登录。"
258
258
 
@@ -333,13 +333,13 @@ msgstr "编辑帖子"
333
333
 
334
334
  #. @context: Setup/signin form field - email
335
335
  #. @context: Setup/signin form field - email
336
- #: src/app.tsx:224
337
- #: src/app.tsx:368
336
+ #: src/app.tsx:247
337
+ #: src/app.tsx:391
338
338
  msgid "Email"
339
339
  msgstr "电子邮件"
340
340
 
341
341
  #. @context: Password reset page description
342
- #: src/app.tsx:484
342
+ #: src/app.tsx:507
343
343
  msgid "Enter your new password."
344
344
  msgstr "输入您的新密码。"
345
345
 
@@ -351,12 +351,12 @@ msgid "Featured"
351
351
  msgstr "精选"
352
352
 
353
353
  #. @context: Search results count - multiple
354
- #: src/theme/pages/SearchPage.tsx:77
354
+ #: src/themes/minimal/pages/SearchPage.tsx:73
355
355
  msgid "Found {count} results"
356
356
  msgstr "找到 {count} 个结果"
357
357
 
358
358
  #. @context: Search results count - single
359
- #: src/theme/pages/SearchPage.tsx:73
359
+ #: src/themes/minimal/pages/SearchPage.tsx:69
360
360
  msgid "Found 1 result"
361
361
  msgstr "找到 1 个结果"
362
362
 
@@ -377,12 +377,12 @@ msgstr "常规"
377
377
  #. @context: Post type option
378
378
  #: src/theme/components/PostForm.tsx:83
379
379
  #: src/theme/components/TypeBadge.tsx:29
380
- #: src/theme/pages/ArchivePage.tsx:27
380
+ #: src/themes/minimal/pages/ArchivePage.tsx:26
381
381
  msgid "Image"
382
382
  msgstr "图像"
383
383
 
384
384
  #. @context: Post type label plural - images
385
- #: src/theme/pages/ArchivePage.tsx:55
385
+ #: src/themes/minimal/pages/ArchivePage.tsx:54
386
386
  msgid "Images"
387
387
  msgstr "图片"
388
388
 
@@ -392,7 +392,7 @@ msgid "Images are automatically optimized: resized to max 1920px, converted to W
392
392
  msgstr "图像会自动优化:调整大小至最大 1920px,转换为 WebP,并去除元数据。"
393
393
 
394
394
  #. @context: Password reset error heading
395
- #: src/app.tsx:559
395
+ #: src/app.tsx:582
396
396
  msgid "Invalid or Expired Link"
397
397
  msgstr "无效或过期的链接"
398
398
 
@@ -411,19 +411,19 @@ msgstr "语言"
411
411
  #. @context: Post type option
412
412
  #: src/theme/components/PostForm.tsx:77
413
413
  #: src/theme/components/TypeBadge.tsx:24
414
- #: src/theme/pages/ArchivePage.tsx:22
414
+ #: src/themes/minimal/pages/ArchivePage.tsx:21
415
415
  msgid "Link"
416
416
  msgstr "链接"
417
417
 
418
418
  #. @context: Post type label plural - links
419
- #: src/theme/pages/ArchivePage.tsx:47
419
+ #: src/themes/minimal/pages/ArchivePage.tsx:46
420
420
  msgid "Links"
421
421
  msgstr "链接"
422
422
 
423
423
  #. @context: Button to load more posts in timeline
424
424
  #. @context: Pagination button - load more items
425
425
  #: src/theme/components/Pagination.tsx:103
426
- #: src/theme/components/timeline/TimelineFeed.tsx:47
426
+ #: src/themes/minimal/timeline/TimelineFeed.tsx:48
427
427
  msgid "Load more"
428
428
  msgstr "加载更多"
429
429
 
@@ -500,7 +500,7 @@ msgstr "新页面"
500
500
 
501
501
  #. @context: Password form field
502
502
  #. @context: Password reset form field
503
- #: src/app.tsx:499
503
+ #: src/app.tsx:522
504
504
  #: src/routes/dash/settings.tsx:442
505
505
  msgid "New Password"
506
506
  msgstr "新密码"
@@ -551,21 +551,21 @@ msgid "No pages yet."
551
551
  msgstr "还没有页面。"
552
552
 
553
553
  #. @context: Archive empty state
554
- #: src/theme/pages/ArchivePage.tsx:112
554
+ #: src/themes/minimal/pages/ArchivePage.tsx:110
555
555
  msgid "No posts found."
556
556
  msgstr "未找到帖子。"
557
557
 
558
558
  #. @context: Empty state message
559
559
  #. @context: Empty state message
560
560
  #: src/routes/dash/collections.tsx:243
561
- #: src/theme/pages/CollectionPage.tsx:30
561
+ #: src/themes/minimal/pages/CollectionPage.tsx:29
562
562
  msgid "No posts in this collection."
563
563
  msgstr "此集合中没有帖子。"
564
564
 
565
565
  #. @context: Empty state message on home page
566
566
  #. @context: Empty state message when no posts exist
567
567
  #: src/theme/components/PostList.tsx:25
568
- #: src/theme/pages/HomePage.tsx:27
568
+ #: src/themes/minimal/pages/HomePage.tsx:26
569
569
  msgid "No posts yet."
570
570
  msgstr "还没有帖子。"
571
571
 
@@ -575,7 +575,7 @@ msgid "No redirects configured."
575
575
  msgstr "未配置重定向。"
576
576
 
577
577
  #. @context: Search empty results
578
- #: src/theme/pages/SearchPage.tsx:68
578
+ #: src/themes/minimal/pages/SearchPage.tsx:64
579
579
  msgid "No results found."
580
580
  msgstr "未找到结果。"
581
581
 
@@ -584,12 +584,12 @@ msgstr "未找到结果。"
584
584
  #. @context: Post type option
585
585
  #: src/theme/components/PostForm.tsx:71
586
586
  #: src/theme/components/TypeBadge.tsx:19
587
- #: src/theme/pages/ArchivePage.tsx:17
587
+ #: src/themes/minimal/pages/ArchivePage.tsx:16
588
588
  msgid "Note"
589
589
  msgstr "注意"
590
590
 
591
591
  #. @context: Post type label plural - notes
592
- #: src/theme/pages/ArchivePage.tsx:39
592
+ #: src/themes/minimal/pages/ArchivePage.tsx:38
593
593
  msgid "Notes"
594
594
  msgstr "笔记"
595
595
 
@@ -598,7 +598,7 @@ msgstr "笔记"
598
598
  #. @context: Post type label - page
599
599
  #: src/routes/dash/pages.tsx:125
600
600
  #: src/theme/components/TypeBadge.tsx:33
601
- #: src/theme/pages/ArchivePage.tsx:31
601
+ #: src/themes/minimal/pages/ArchivePage.tsx:30
602
602
  msgid "Page"
603
603
  msgstr "页面"
604
604
 
@@ -622,14 +622,14 @@ msgstr "页面标题..."
622
622
  #. @context: Post type label plural - pages
623
623
  #: src/routes/dash/pages.tsx:36
624
624
  #: src/theme/layouts/DashLayout.tsx:96
625
- #: src/theme/pages/ArchivePage.tsx:59
625
+ #: src/themes/minimal/pages/ArchivePage.tsx:58
626
626
  msgid "Pages"
627
627
  msgstr "页面"
628
628
 
629
629
  #. @context: Setup/signin form field - password
630
630
  #. @context: Setup/signin form field - password
631
- #: src/app.tsx:239
632
- #: src/app.tsx:377
631
+ #: src/app.tsx:262
632
+ #: src/app.tsx:400
633
633
  msgid "Password"
634
634
  msgstr "密码"
635
635
 
@@ -646,7 +646,7 @@ msgstr "路径(例如 /archive)或完整 URL(例如 https://example.com)
646
646
  #. @context: Link to individual post in thread
647
647
  #. @context: Link to permanent URL of post
648
648
  #: src/theme/components/ThreadView.tsx:68
649
- #: src/theme/pages/PostPage.tsx:36
649
+ #: src/themes/minimal/pages/PostPage.tsx:35
650
650
  msgid "Permalink"
651
651
  msgstr "永久链接"
652
652
 
@@ -697,9 +697,9 @@ msgstr "上一页"
697
697
  #. @context: Loading text shown on submit button while request is in progress
698
698
  #. @context: Loading text shown on submit button while request is in progress
699
699
  #. @context: Upload status - processing
700
- #: src/app.tsx:260
701
- #: src/app.tsx:397
702
- #: src/app.tsx:537
700
+ #: src/app.tsx:283
701
+ #: src/app.tsx:420
702
+ #: src/app.tsx:560
703
703
  #: src/routes/dash/collections.tsx:178
704
704
  #: src/routes/dash/collections.tsx:357
705
705
  #: src/routes/dash/media.tsx:119
@@ -755,12 +755,12 @@ msgstr "安静(正常)"
755
755
  #. @context: Post type option
756
756
  #: src/theme/components/PostForm.tsx:80
757
757
  #: src/theme/components/TypeBadge.tsx:25
758
- #: src/theme/pages/ArchivePage.tsx:23
758
+ #: src/themes/minimal/pages/ArchivePage.tsx:22
759
759
  msgid "Quote"
760
760
  msgstr "引用"
761
761
 
762
762
  #. @context: Post type label plural - quotes
763
- #: src/theme/pages/ArchivePage.tsx:51
763
+ #: src/themes/minimal/pages/ArchivePage.tsx:50
764
764
  msgid "Quotes"
765
765
  msgstr "引用"
766
766
 
@@ -780,8 +780,8 @@ msgstr "移除"
780
780
 
781
781
  #. @context: Password reset form submit button
782
782
  #. @context: Password reset page heading
783
- #: src/app.tsx:478
784
- #: src/app.tsx:531
783
+ #: src/app.tsx:501
784
+ #: src/app.tsx:554
785
785
  msgid "Reset Password"
786
786
  msgstr "重置密码"
787
787
 
@@ -802,13 +802,13 @@ msgstr "保存设置"
802
802
 
803
803
  #. @context: Search page title
804
804
  #. @context: Search submit button
805
- #: src/theme/pages/SearchPage.tsx:22
806
- #: src/theme/pages/SearchPage.tsx:48
805
+ #: src/themes/minimal/pages/SearchPage.tsx:21
806
+ #: src/themes/minimal/pages/SearchPage.tsx:46
807
807
  msgid "Search"
808
808
  msgstr "搜索"
809
809
 
810
810
  #. @context: Search input placeholder
811
- #: src/theme/pages/SearchPage.tsx:40
811
+ #: src/themes/minimal/pages/SearchPage.tsx:38
812
812
  msgid "Search posts..."
813
813
  msgstr "搜索帖子..."
814
814
 
@@ -830,14 +830,14 @@ msgstr "设置"
830
830
 
831
831
  #. @context: Link to show remaining thread replies
832
832
  #. placeholder {0}: remainingCount === 1 ? "reply" : "replies"
833
- #: src/theme/components/timeline/ThreadPreview.tsx:38
833
+ #: src/themes/minimal/timeline/ThreadPreview.tsx:37
834
834
  msgid "Show {remainingCount} more {0}"
835
835
  msgstr "显示 {remainingCount} 个更多 {0}"
836
836
 
837
837
  #. @context: Sign in form submit button
838
838
  #. @context: Sign in page heading
839
- #: src/app.tsx:344
840
- #: src/app.tsx:391
839
+ #: src/app.tsx:367
840
+ #: src/app.tsx:414
841
841
  msgid "Sign In"
842
842
  msgstr "登录"
843
843
 
@@ -894,7 +894,7 @@ msgid "The URL path for this page. Use lowercase letters, numbers, and hyphens."
894
894
  msgstr "此页面的 URL 路径。使用小写字母、数字和连字符。"
895
895
 
896
896
  #. @context: Password reset error description
897
- #: src/app.tsx:567
897
+ #: src/app.tsx:590
898
898
  msgid "This password reset link is invalid or has expired. Please generate a new one."
899
899
  msgstr "此密码重置链接无效或已过期。请生成一个新的链接。"
900
900
 
@@ -1033,7 +1033,7 @@ msgid "Visibility"
1033
1033
  msgstr "可见性"
1034
1034
 
1035
1035
  #. @context: Setup page welcome heading
1036
- #: src/app.tsx:188
1036
+ #: src/app.tsx:211
1037
1037
  msgid "Welcome to Jant"
1038
1038
  msgstr "欢迎来到Jant"
1039
1039
 
@@ -1048,6 +1048,6 @@ msgid "What's this collection about?"
1048
1048
  msgstr "这个系列是关于什么的?"
1049
1049
 
1050
1050
  #. @context: Setup form field - user name
1051
- #: src/app.tsx:209
1051
+ #: src/app.tsx:232
1052
1052
  msgid "Your Name"
1053
1053
  msgstr "您的姓名"