Skip to content

Commit

Permalink
fix: 支持关闭标题处理和正文处理
Browse files Browse the repository at this point in the history
  • Loading branch information
terwer committed Aug 22, 2023
1 parent e0f7538 commit 27745f4
Show file tree
Hide file tree
Showing 9 changed files with 136 additions and 37 deletions.
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
"@terwer/esbuild-config-custom": "^1.2.0",
"@terwer/eslint-config-custom": "^1.3.6",
"@types/crypto-js": "^4.1.1",
"@types/node": "^18.17.6",
"@types/node": "^18.17.7",
"@vitejs/plugin-vue": "^4.3.3",
"@vitest/coverage-v8": "^0.34.2",
"@vue/test-utils": "^2.4.1",
Expand Down Expand Up @@ -78,7 +78,7 @@
"zhi-github-middleware": "^0.3.5",
"zhi-lib-base": "^0.4.4",
"zhi-notion-markdown": "^0.1.4",
"zhi-siyuan-api": "^2.5.1",
"zhi-siyuan-api": "^2.5.2",
"zhi-xmlrpc-middleware": "^0.5.5"
}
}
52 changes: 26 additions & 26 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

36 changes: 31 additions & 5 deletions src/components/set/preference/PreferenceSetting.vue
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,39 @@
-->

<script setup lang="ts">
import { useVueI18n } from "~/src/composables/useVueI18n.ts"
import { usePublishPreferenceSetting } from "~/src/stores/usePublishPreferenceSetting.ts"
const { t } = useVueI18n()
const { getPublishPreferenceSetting } = usePublishPreferenceSetting()
const publishPreferenceSettingForm = getPublishPreferenceSetting()
</script>

<template>

<el-form label-width="125px" class="publish-preference-setting-form">
<el-form-item :label="t('preference.setting.fixTitle')">
<el-switch v-model="publishPreferenceSettingForm.fixTitle"></el-switch>
</el-form-item>
<el-form-item :label="t('preference.setting.removeH1')">
<el-switch v-model="publishPreferenceSettingForm.removeFirstH1"></el-switch>
</el-form-item>
<el-form-item :label="t('preference.setting.removeWidgetTag')">
<el-switch v-model="publishPreferenceSettingForm.removeMdWidgetTag"></el-switch>
</el-form-item>
<el-form-item :label="t('pref.setting.aicode')" prop="apiUrl">
<el-input
v-model="publishPreferenceSettingForm.experimentalAICode"
autocomplete="off"
:placeholder="t('pref.setting.aicode.tip')"
/>
</el-form-item>
<el-form-item :label="t('pref.setting.ai.baseurl')" prop="apiUrl">
<el-input
v-model="publishPreferenceSettingForm.experimentalAIBaseUrl"
autocomplete="off"
:placeholder="t('pref.setting.ai.baseurl.tip')"
/>
</el-form-item>
</el-form>
</template>

<style scoped lang="stylus">
</style>
8 changes: 7 additions & 1 deletion src/composables/useSiyuanApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,24 +28,30 @@ import { createAppLogger } from "~/src/utils/appLogger.ts"
import { useSiyuanDevice } from "~/src/composables/useSiyuanDevice.ts"
import { useSiyuanSetting } from "~/src/stores/useSiyuanSetting"
import { Utils } from "~/src/utils/utils.ts"
import { usePublishPreferenceSetting } from "~/src/stores/usePublishPreferenceSetting.ts"

/**
* 通用 Siyuan API 封装
*/
export const useSiyuanApi = () => {
const logger = createAppLogger("use-siyuan-api")
const { getReadOnlySiyuanSetting } = useSiyuanSetting()
const { getReadOnlyPublishPreferenceSetting } = usePublishPreferenceSetting()

const envSiyuanApiUrl = Utils.emptyOrDefault(process.env.VITE_SIYUAN_API_URL, "")
const envSiyuanAuthToken = Utils.emptyOrDefault(process.env.VITE_SIYUAN_AUTH_TOKEN, "")
const envSiyuanCookie = Utils.emptyOrDefault(process.env.VITE_SIYUAN_COOKIE, "")

const pref = getReadOnlyPublishPreferenceSetting()

const siyuanSetting = getReadOnlySiyuanSetting()
const siyuanApiUrl = siyuanSetting.value.apiUrl ?? envSiyuanApiUrl
const siyuanAuthToken = siyuanSetting.value.password ?? envSiyuanAuthToken
const siyuanConfig = new SiyuanConfig(siyuanApiUrl, siyuanAuthToken)
siyuanConfig.cookie = siyuanSetting.value.cookie ?? envSiyuanCookie
siyuanConfig.fixTitle = true
siyuanConfig.preferenceConfig.fixTitle = pref.value.fixTitle
siyuanConfig.preferenceConfig.removeFirstH1 = pref.value.removeFirstH1
siyuanConfig.preferenceConfig.removeMdWidgetTag = pref.value.removeMdWidgetTag

const blogApi = new SiYuanApiAdaptor(siyuanConfig)
const kernelApi = new SiyuanKernelApi(siyuanConfig)
Expand Down
5 changes: 5 additions & 0 deletions src/locales/en_US.ts
Original file line number Diff line number Diff line change
Expand Up @@ -560,4 +560,9 @@ export default {
"yuque.edit.cate.no.change": "Due to the limitations of the Yuque platform, editing the knowledge base is not supported at the moment. If you want to move a document, click Undelete and then select the new knowledge base publication again",
"main.commonn.cate.title": "Public category",
"main.cate.new": "New category",
"pref.setting.aicode": "ChatGPT request key",
"pref.setting.aicode.tip": "ChatGPT request key or third-party proxy key, if it is a proxy key, please set the request address",
"pref.setting.ai.baseurl": "ChatGPT request address",
"pref.setting.ai.baseurl.tip": "The ChatGPT request address, if it is official ChatGPT, can be left blank",
"preference.setting.removeWidgetTag": "Remove the widget HTML",
}
5 changes: 5 additions & 0 deletions src/locales/zh_CN.ts
Original file line number Diff line number Diff line change
Expand Up @@ -550,4 +550,9 @@ export default {
"由于语雀平台的限制,暂时不支持编辑所属知识库。如果您想移动文档,请先点击取消删除该文档,然后重新选择新的知识库发布",
"main.commonn.cate.title": "公共分类",
"main.cate.new": "新增分类",
"pref.setting.aicode": "ChatGPT请求key",
"pref.setting.aicode.tip": "ChatGPT请求key或者第三方代理key,如果是代理key,请设置请求地址",
"pref.setting.ai.baseurl": "ChatGPT请求地址",
"pref.setting.ai.baseurl.tip": "ChatGPT请求地址,如果是ChatGPT官方,可留空",
"preference.setting.removeWidgetTag": "去除挂件HTML",
}
12 changes: 11 additions & 1 deletion src/models/publishPreferenceCfg.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,16 @@ import { PreferenceConfig } from "zhi-blog-api"
* @since 1.9.1
* @version 1.9.1
*/
class PublishPreferenceCfg extends PreferenceConfig {}
class PublishPreferenceCfg extends PreferenceConfig {
/**
* AI 体验码
*/
public experimentalAICode: string

/**
* AI 基础地址
*/
public experimentalAIBaseUrl?: string
}

export { PublishPreferenceCfg }
47 changes: 47 additions & 0 deletions src/stores/usePublishPreferenceSetting.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,50 @@
* questions.
*/

import { RemovableRef, StorageSerializers, useLocalStorage } from "@vueuse/core"
import { PublishPreferenceCfg } from "~/src/models/publishPreferenceCfg.ts"
import { readonly } from "vue"

/**
* 使用发布偏好设置的自定义钩子
*/
const usePublishPreferenceSetting = () => {
// 存储键
const storageKey = "publish-preference-cfg"

/**
* 获取思源笔记配置
*
* @returns {RemovableRef<PublishPreferenceCfg>} 可移除引用的发布偏好设置
* @author terwer
* @since 0.6.0
*/
const getPublishPreferenceSetting = (): RemovableRef<PublishPreferenceCfg> => {
const initialValue = new PublishPreferenceCfg()
const siyuanConfig = useLocalStorage<PublishPreferenceCfg>(storageKey, initialValue, {
serializer: StorageSerializers.object,
})
return siyuanConfig
}

/**
* 获取只读版本的思源笔记配置
* 调用现有的 getPublishPreferenceSetting 并将其转化为只读引用
*
* @returns 只读引用的发布偏好设置
* @author
* @since 0.6.0
*/
const getReadOnlyPublishPreferenceSetting = () => {
const siyuanConfigRef = getPublishPreferenceSetting()
const readOnlySiyuanConfigRef = readonly(siyuanConfigRef)
return readOnlySiyuanConfigRef
}

return {
getPublishPreferenceSetting,
getReadOnlyPublishPreferenceSetting,
}
}

export { usePublishPreferenceSetting }
4 changes: 2 additions & 2 deletions src/stores/useSiyuanSetting.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,8 @@ const useSiyuanSetting = () => {
* @since 0.6.0
*/
const getReadOnlySiyuanSetting = () => {
const siyuanConfigRef = getSiyuanSetting() // 假设 getSiyuanSetting 返回 RemovableRef<SiyuanConfig>
const readOnlySiyuanConfigRef = readonly(siyuanConfigRef) // 将 ref 转化为只读的 ref
const siyuanConfigRef = getSiyuanSetting()
const readOnlySiyuanConfigRef = readonly(siyuanConfigRef)
return readOnlySiyuanConfigRef
}

Expand Down

0 comments on commit 27745f4

Please sign in to comment.