Skip to content

Commit

Permalink
fix: 控制默认展示方式,如果有适配器,优先展示 YAML
Browse files Browse the repository at this point in the history
  • Loading branch information
terwer committed Nov 13, 2023
1 parent d08952b commit c155c42
Showing 1 changed file with 9 additions and 21 deletions.
30 changes: 9 additions & 21 deletions src/components/publish/form/SourceMode.vue
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ import { useSiyuanApi } from "~/src/composables/useSiyuanApi.ts"
const logger = createAppLogger("source-mode")
const { t } = useVueI18n()
const { handlePicgo } = usePicgoBridge()
const { kernelApi } = useSiyuanApi()
const props = defineProps({
modelValue: {
Expand Down Expand Up @@ -191,12 +190,19 @@ const initPage = async () => {
// 如果传了 key ,但是没有 YAML 适配器,还是不能展示
formData.readonlyMode = formData.yamlAdaptor === null
// 控制默认展示方式,如果有适配器,优先展示 YAML
if (formData.readonlyMode) {
formData.stype = SourceContentShowType.YAML
}
// 处理正文
const id = formData.pageId
const md = await handlePicgo(id, post.markdown)
post.markdown = md
// 批量分发,此时 apiType 为空
// 1、批量分发,此时 apiType 为空
// 2、某些平台没有适配器
// 这些情况生成默认的
if (formData.readonlyMode) {
const yamlObj = PostUtil.toYamlObj(formData.siyuanPost)
yfmObj.formatter = YamlUtil.obj2Yaml(yamlObj)
Expand All @@ -205,26 +211,8 @@ const initPage = async () => {
yfmObj.htmlContent = post.html
logger.debug("未找到YAML适配器,将生成公共的YAML")
} else {
// 检测
const key = formData.apiType
const yamlKey = getDynYamlKey(key)
const yaml = await kernelApi.getSingleBlockAttr(id, yamlKey)
const checkYaml = YamlUtil.extractFrontmatter(yaml).trim()
if (StrUtil.isEmptyString(checkYaml)) {
yfmObj = formData.yamlAdaptor.convertToYaml(post, formData.cfg)
logger.info("有适配器未保存,生成新的YAML")
} else {
// yamlFormatObj = new YamlFormatObj()
// const yamlObj = await YamlUtil.yaml2ObjAsync(yaml)
// yamlFormatObj.yamlObj = yamlFormatObj
// getPost以已经处理过了
yfmObj.formatter = yaml
yfmObj.mdContent = post.markdown
yfmObj.mdFullContent = YamlUtil.addYamlToMd(yfmObj.formatter, yfmObj.mdContent)
yfmObj.htmlContent = post.html
logger.info("有适配器且YAML已保存,无需处理")
}
yfmObj = formData.yamlAdaptor.convertToYaml(post, formData.cfg)
logger.debug("常规发布,生成对应平台的YAML, =>", key)
}
Expand Down

0 comments on commit c155c42

Please sign in to comment.