retypeset-odyssey 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,7 +1,7 @@
1
1
  {
2
2
  "name": "retypeset-odyssey",
3
3
  "type": "module",
4
- "version": "0.1.6",
4
+ "version": "0.1.7",
5
5
  "packageManager": "pnpm@10.26.0",
6
6
  "repository": "https://github.com/lifeodyssey/retypeset-odyssey",
7
7
  "exports": {
@@ -47,7 +47,8 @@ const { journals, lang } = Astro.props
47
47
 
48
48
  {/* journal description */}
49
49
  <div class="heti hidden lg:block">
50
- <p>{getJournalDescription(journal, 'list')}</p>
50
+ {/* Pre-`<!-- more -->` excerpt rendered as raw markdown HTML. */}
51
+ <Fragment set:html={getJournalDescription(journal, 'list')} />
51
52
  </div>
52
53
  </li>
53
54
  )
@@ -47,7 +47,8 @@ const { notes, lang } = Astro.props
47
47
 
48
48
  {/* note description */}
49
49
  <div class="heti hidden lg:block">
50
- <p>{getNoteDescription(note, 'list')}</p>
50
+ {/* Pre-`<!-- more -->` excerpt rendered as raw markdown HTML. */}
51
+ <Fragment set:html={getNoteDescription(note, 'list')} />
51
52
  </div>
52
53
  </li>
53
54
  )
@@ -78,7 +78,10 @@ const isHome = isHomePage(Astro.url.pathname)
78
78
  class="heti hidden"
79
79
  lg="mt-2.25 block"
80
80
  >
81
- <p>{getPostDescription(post, 'list')}</p>
81
+ {/* Pre-`<!-- more -->` excerpt rendered as raw markdown HTML
82
+ so blockquotes / lists / paragraphs keep their structure.
83
+ The `heti` parent provides Chinese typographic styling. */}
84
+ <Fragment set:html={getPostDescription(post, 'list')} />
82
85
  </div>
83
86
  )}
84
87
  </li>
@@ -125,9 +125,16 @@ function getEntryDescription(
125
125
 
126
126
  const renderedContent = markdownParser.render(cleanContent)
127
127
 
128
- // For 'list' scene with <!-- more --> marker, return full content without truncation
128
+ // For 'list' scene with an explicit <!-- more --> marker, return the
129
+ // *rendered HTML* (not stripped text) so blockquotes, lists, and
130
+ // paragraphs keep their structure on the homepage post list. The
131
+ // consumer (PostList / NoteList / JournalList) injects this via
132
+ // `<Fragment set:html={…} />` inside a `heti` typography wrapper.
133
+ // Other scenes (og, meta, feed) still receive plain text because they
134
+ // feed single-line metadata / RSS where HTML would leak through as raw
135
+ // tags.
129
136
  if (scene === 'list' && hasMoreMarker) {
130
- return cleanTextContent(renderedContent)
137
+ return renderedContent
131
138
  }
132
139
 
133
140
  // Otherwise, apply truncation