Skip to content

Commit

Permalink
Merge pull request #336 from terwer/dev
Browse files Browse the repository at this point in the history
chore: start 0.7.0
  • Loading branch information
terwer committed Jan 11, 2023
2 parents e903c91 + 73d2504 commit 8a2e647
Show file tree
Hide file tree
Showing 26 changed files with 400 additions and 38 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

[思源笔记](https://github.com/siyuan-note/siyuan) 的文章发布到支持的平台的 **思源笔记挂件**

![version](https://img.shields.io/github/release/terwer/src-sy-post-publisher.svg?style=flat-square)
![version](https://img.shields.io/github/release/terwer/sy-post-publisher.svg?style=flat-square)
[![](https://img.shields.io/badge/online-preview-faad14.svg?style=popout-square)](https://publish.terwer.space/blog/index.html)
![GitHub last commit](https://img.shields.io/github/last-commit/terwer/src-sy-post-publisher)
![](https://img.shields.io/badge/license-GPL-blue.svg?style=popout-square)
Expand Down
62 changes: 59 additions & 3 deletions components/publish/tab/PlatformSetting.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2022, Terwer . All rights reserved.
- Copyright (c) 2022-2023, Terwer . All rights reserved.
- DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-
- This code is free software; you can redistribute it and/or modify it
Expand Down Expand Up @@ -162,6 +162,9 @@ import YuqueSetting from "~/components/publish/tab/setting/common/YuqueSetting.v
import KmsSetting from "~/components/publish/tab/setting/common/KmsSetting.vue"
import GithubSetting from "~/components/publish/tab/setting/GithubSetting.vue"
import MetaweblogSetting from "~/components/publish/tab/setting/MetaweblogSetting.vue"
import { PRE_DEFINED_PLATFORM_KEY_CONSTANTS } from "~/utils/import/PRE_DEFINED_PLATFORM_CONSTANTS"
import { MetaweblogPlaceholder } from "~/utils/platform/metaweblog/metaweblogPlaceholder"
import { useI18n } from "vue-i18n"
const logger = LogFactory.getLogger(
"components/publish/tab/PlatformSetting.vue"
Expand Down Expand Up @@ -191,14 +194,67 @@ const formData = reactive({
wordpressArray: [],
})
const { t } = useI18n()
const createGCfg = ref((gcfg) => {
return new DynamicGCfg(gcfg)
})
const createMCfg = ref((mcfg) => {
return new DynamicMCfg(getDynPostidKey(mcfg.platformKey))
const dynMcfg = new DynamicMCfg(getDynPostidKey(mcfg.platformKey))
// 预定义平台处理
const dynTypechoPlaceholder = new MetaweblogPlaceholder()
const dynOschinaPlaceholder = new MetaweblogPlaceholder()
switch (mcfg.platformKey) {
case PRE_DEFINED_PLATFORM_KEY_CONSTANTS.PRE_DEFINED_TYPECHO_KEY:
dynTypechoPlaceholder.homePlaceholder = t("setting.typecho.home.tip")
dynTypechoPlaceholder.usernamePlaceholder = t(
"setting.typecho.username.tip"
)
dynTypechoPlaceholder.passwordPlaceholder = t(
"setting.typecho.password.tip"
)
dynTypechoPlaceholder.apiUrlPlaceholder = t("setting.typecho.apiUrl.tip")
dynTypechoPlaceholder.previewUrlPlaceholder = t(
"setting.typecho.previewUrl.tip"
)
dynMcfg.placeholder = dynTypechoPlaceholder
break
case PRE_DEFINED_PLATFORM_KEY_CONSTANTS.PRE_DEFINED_OSCHINA_KEY:
dynOschinaPlaceholder.homePlaceholder = t("setting.oschina.home.tip")
dynOschinaPlaceholder.usernamePlaceholder = t(
"setting.oschina.username.tip"
)
dynOschinaPlaceholder.passwordPlaceholder = t(
"setting.oschina.password.tip"
)
dynOschinaPlaceholder.apiUrlPlaceholder = t("setting.oschina.apiUrl.tip")
dynOschinaPlaceholder.previewUrlPlaceholder = t(
"setting.oschina.previewUrl.tip"
)
dynMcfg.placeholder = dynOschinaPlaceholder
break
default:
break
}
return dynMcfg
})
const createWCfg = ref((wcfg) => {
return new DynamicWCfg(getDynPostidKey(wcfg.platformKey))
const dynWcfg = new DynamicWCfg(getDynPostidKey(wcfg.platformKey))
// 预定义平台处理
switch (wcfg.platformKey) {
case PRE_DEFINED_PLATFORM_KEY_CONSTANTS.PRE_DEFINED_TYPECHO_KEY:
break
case PRE_DEFINED_PLATFORM_KEY_CONSTANTS.PRE_DEFINED_OSCHINA_KEY:
break
default:
break
}
return dynWcfg
})
const initDynCfg = (dynCfg: any[]) => {
const newCfg = []
Expand Down
5 changes: 2 additions & 3 deletions components/publish/tab/ServiceSwitch.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2022, Terwer . All rights reserved.
- Copyright (c) 2022-2023, Terwer . All rights reserved.
- DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-
- This code is free software; you can redistribute it and/or modify it
Expand Down Expand Up @@ -47,7 +47,7 @@
<el-switch v-model="jvueEnabled" @change="jvueOnChange" />
</el-form-item>

<el-form-item :label="$t('service.switch.conf')">
<el-form-item :label="$t('service.switch.conf')" v-if="false">
<el-switch v-model="confEnabled" @change="confOnChange" />
</el-form-item>

Expand Down Expand Up @@ -109,7 +109,6 @@ import {
getDynSwitchInactive,
getSwitchItem,
} from "~/utils/platform/dynamicConfig"
import { LogFactory } from "~/utils/logUtil"
// use
const {
Expand Down
43 changes: 42 additions & 1 deletion components/publish/tab/main/MetaweblogMain.vue
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,20 @@
</el-button>
</el-form-item>

<!-- 使用图床 -->
<el-form-item :label="$t('github.post.picgo.use')">
<el-switch
v-model="picgoPostData.picgoEnabled"
@change="picgoPostMethods.picgoOnChange"
/>
<el-alert
v-if="false && picgoPostData.picgoEnabled"
:closable="false"
:title="$t('github.post.picgo.use.tip')"
type="warning"
/>
</el-form-item>

<!-- 发布操作 -->
<el-form-item label="">
<el-button
Expand Down Expand Up @@ -313,6 +327,8 @@ import {
getPublishStatus,
} from "~/utils/publishUtil"
import { CONSTANTS } from "~/utils/constants/constants"
import { usePicgoPost } from "~/composables/picgo/import/picgoPostCom"
import { PicgoPostApi } from "~/utils/platform/picgo/picgoPostApi"
const logger = LogFactory.getLogger(
"components/publish/tab/main/MetaweblogMain.vue"
Expand Down Expand Up @@ -349,6 +365,10 @@ const apiTypeInfo = ref(
t("setting.blog.platform.support.metaweblog") + props.apiType + " "
)
const apiStatus = ref(false)
const picgoPostApi = new PicgoPostApi()
// use
const { picgoPostData, picgoPostMethods } = usePicgoPost()
const isSlugLoading = ref(false)
const isDescLoading = ref(false)
Expand Down Expand Up @@ -457,6 +477,9 @@ const initPage = async () => {
tagSwitch.value = true
}
// PicGO开关
picgoPostData.picgoEnabled = publishCfg.usePicgo
// 发布状态
isPublished.value = getPublishStatus(props.apiType, siyuanData.meta)
Expand Down Expand Up @@ -746,7 +769,24 @@ const doPublish = async () => {
// 发布内容
let content
const data = await siyuanApi.exportMdContent(siyuanData.pageId)
const md = data.content
let md = data.content
// 处理图床
if (picgoPostMethods.getPicgoPostData().picgoEnabled) {
ElMessage.info(t("github.post.picgo.start.upload"))
const picgoPostResult = await picgoPostApi.uploadPostImagesToBed(
siyuanData.pageId,
siyuanData.meta,
md
)
if (picgoPostResult.flag) {
md = picgoPostResult.mdContent
} else {
ElMessage.warning(t("github.post.picgo.picbed.error"))
}
}
if (PageType.Html === metaweblogCfg.pageType) {
const html = mdToHtml(md)
content = removeWidgetTag(html)
Expand All @@ -759,6 +799,7 @@ const doPublish = async () => {
content = removeMdH1(content)
}
}
// ===============================
const post = new Post()
post.title = formData.title
Expand Down
29 changes: 23 additions & 6 deletions components/publish/tab/setting/MetaweblogSetting.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2022, Terwer . All rights reserved.
- Copyright (c) 2022-2023, Terwer . All rights reserved.
- DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-
- This code is free software; you can redistribute it and/or modify it
Expand Down Expand Up @@ -32,23 +32,40 @@
:closable="false"
/>
<el-form-item :label="$t('setting.blog.url')">
<el-input v-model="home" />
<el-input
v-model="home"
:placeholder="props.cfg.placeholder.homePlaceholder"
/>
</el-form-item>

<el-form-item :label="$t('setting.blog.username')">
<el-input v-model="username" />
<el-input
v-model="username"
:placeholder="props.cfg.placeholder.usernamePlaceholder"
/>
</el-form-item>

<el-form-item :label="$t('setting.blog.password')">
<el-input type="password" v-model="password" show-password />
<el-input
type="password"
v-model="password"
show-password
:placeholder="props.cfg.placeholder.passwordPlaceholder"
/>
</el-form-item>

<el-form-item :label="$t('setting.blog.apiurl')">
<el-input v-model="apiUrl" />
<el-input
v-model="apiUrl"
:placeholder="props.cfg.placeholder.apiUrlPlaceholder"
/>
</el-form-item>

<el-form-item :label="$t('setting.blog.previewUrl')">
<el-input v-model="previewUrl" />
<el-input
v-model="previewUrl"
:placeholder="props.cfg.placeholder.previewUrlPlaceholder"
/>
</el-form-item>

<el-form-item :label="$t('setting.blog.pageType')">
Expand Down
4 changes: 1 addition & 3 deletions components/publish/tab/setting/common/KmsSetting.vue
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,11 @@
import { ref } from "vue"
import { API_TYPE_CONSTANTS } from "~/utils/constants/apiTypeConstants"
import { KmsCfg } from "~/utils/platform/commonblog/kms/kmsCfg"
import CommonBlogSetting from "../CommonBlogSetting.vue"
import { CommonblogPlaceholder } from "~/utils/platform/commonblog/CommonblogPlaceholder"
import { CommonblogPlaceholder } from "~/utils/platform/commonblog/commonblogPlaceholder"
import { useI18n } from "vue-i18n"
const { t } = useI18n()
const apiType = ref(API_TYPE_CONSTANTS.API_TYPE_KMS)
const kmsCfg = new KmsCfg()
Expand Down
2 changes: 1 addition & 1 deletion components/publish/tab/setting/common/LiandiSetting.vue
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ import { ref } from "vue"
import { API_TYPE_CONSTANTS } from "~/utils/constants/apiTypeConstants"
import { LiandiCfg } from "~/utils/platform/commonblog/liandi/liandiCfg"
import CommonBlogSetting from "../CommonBlogSetting.vue"
import { CommonblogPlaceholder } from "~/utils/platform/commonblog/CommonblogPlaceholder"
import { CommonblogPlaceholder } from "~/utils/platform/commonblog/commonblogPlaceholder"
import { useI18n } from "vue-i18n"
const { t } = useI18n()
Expand Down
2 changes: 1 addition & 1 deletion components/publish/tab/setting/common/YuqueSetting.vue
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ import { API_TYPE_CONSTANTS } from "~/utils/constants/apiTypeConstants"
import { YuqueCfg } from "~/utils/platform/commonblog/yuque/yuqueCfg"
import CommonBlogSetting from "../CommonBlogSetting.vue"
import { CommonblogPlaceholder } from "~/utils/platform/commonblog/CommonblogPlaceholder"
import { CommonblogPlaceholder } from "~/utils/platform/commonblog/commonblogPlaceholder"
import { useI18n } from "vue-i18n"
const { t } = useI18n()
Expand Down
13 changes: 12 additions & 1 deletion components/publish/tab/setting/metaweblog/CnblogsSetting.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2022, Terwer . All rights reserved.
- Copyright (c) 2022-2023, Terwer . All rights reserved.
- DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-
- This code is free software; you can redistribute it and/or modify it
Expand Down Expand Up @@ -32,8 +32,19 @@ import { API_TYPE_CONSTANTS } from "~/utils/constants/apiTypeConstants"
import { ref } from "vue"
import { CnblogsCfg } from "~/utils/platform/metaweblog/cnblogs/cnblogsCfg"
import MetaweblogSetting from "~/components/publish/tab/setting/MetaweblogSetting.vue"
import { MetaweblogPlaceholder } from "~/utils/platform/metaweblog/metaweblogPlaceholder"
import { useI18n } from "vue-i18n"
const apiType = ref(API_TYPE_CONSTANTS.API_TYPE_CNBLOGS)
const { t } = useI18n()
const cnblogsCfg = new CnblogsCfg()
const cnblogsPlaceholder = new MetaweblogPlaceholder()
cnblogsPlaceholder.homePlaceholder = t("setting.cnblogs.home.tip")
cnblogsPlaceholder.usernamePlaceholder = t("setting.cnblogs.username.tip")
cnblogsPlaceholder.passwordPlaceholder = t("setting.cnblogs.password.tip")
cnblogsPlaceholder.apiUrlPlaceholder = t("setting.cnblogs.apiUrl.tip")
cnblogsPlaceholder.previewUrlPlaceholder = t("setting.cnblogs.previewUrl.tip")
cnblogsCfg.placeholder = cnblogsPlaceholder
const cfg = ref(cnblogsCfg)
</script>
16 changes: 14 additions & 2 deletions components/publish/tab/setting/metaweblog/ConfluenceSetting.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2022, Terwer . All rights reserved.
- Copyright (c) 2022-2023, Terwer . All rights reserved.
- DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-
- This code is free software; you can redistribute it and/or modify it
Expand Down Expand Up @@ -32,7 +32,19 @@ import { API_TYPE_CONSTANTS } from "~/utils/constants/apiTypeConstants"
import { ref } from "vue"
import MetaweblogSetting from "../MetaweblogSetting.vue"
import { ConfCfg } from "~/utils/platform/metaweblog/conf/confCfg"
import { useI18n } from "vue-i18n"
import { MetaweblogPlaceholder } from "~/utils/platform/metaweblog/metaweblogPlaceholder"
const apiType = ref(API_TYPE_CONSTANTS.API_TYPE_CONFLUENCE)
const cfg = ref(new ConfCfg())
const { t } = useI18n()
const confCfg = new ConfCfg()
const confPlaceholder = new MetaweblogPlaceholder()
confPlaceholder.homePlaceholder = t("setting.conf.home.tip")
confPlaceholder.usernamePlaceholder = t("setting.conf.username.tip")
confPlaceholder.passwordPlaceholder = t("setting.conf.password.tip")
confPlaceholder.apiUrlPlaceholder = t("setting.conf.apiUrl.tip")
confPlaceholder.previewUrlPlaceholder = t("setting.conf.previewUrl.tip")
confCfg.placeholder = confPlaceholder
const cfg = ref(confCfg)
</script>
16 changes: 14 additions & 2 deletions components/publish/tab/setting/metaweblog/JVueSetting.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2022, Terwer . All rights reserved.
- Copyright (c) 2022-2023, Terwer . All rights reserved.
- DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-
- This code is free software; you can redistribute it and/or modify it
Expand Down Expand Up @@ -33,7 +33,19 @@ import { ref } from "vue"
import { JVueCfg } from "~/utils/platform/metaweblog/jvue/jvueCfg"
import MetaweblogSetting from "../MetaweblogSetting.vue"
import { MetaweblogPlaceholder } from "~/utils/platform/metaweblog/metaweblogPlaceholder"
import { useI18n } from "vue-i18n"
const apiType = ref(API_TYPE_CONSTANTS.API_TYPE_JVUE)
const cfg = ref(new JVueCfg())
const { t } = useI18n()
const jvueCfg = new JVueCfg()
const jvuePlaceholder = new MetaweblogPlaceholder()
jvuePlaceholder.homePlaceholder = t("setting.jvue.home.tip")
jvuePlaceholder.usernamePlaceholder = t("setting.jvue.username.tip")
jvuePlaceholder.passwordPlaceholder = t("setting.jvue.password.tip")
jvuePlaceholder.apiUrlPlaceholder = t("setting.jvue.apiUrl.tip")
jvuePlaceholder.previewUrlPlaceholder = t("setting.jvue.previewUrl.tip")
jvueCfg.placeholder = jvuePlaceholder
const cfg = ref(jvueCfg)
</script>
Loading

1 comment on commit 8a2e647

@vercel
Copy link

@vercel vercel bot commented on 8a2e647 Jan 11, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.