modify the cover image url setting

This commit is contained in:
Jiaxin Peng
2023-08-10 22:50:48 +01:00
parent 679e7ec4f1
commit 55804e491a
3 changed files with 39 additions and 12 deletions

View File

@@ -26,12 +26,36 @@ export class Upload2Notion {
return response;
}
async getDataBase(databaseID:string){
const response = await requestUrl({
url: `https://api.notion.com/v1/databases/${databaseID}`,
method: 'GET',
headers: {
'Authorization': 'Bearer ' + this.app.settings.notionAPI,
'Notion-Version': '2022-06-28',
}
}
)
// Check if cover is present in the JSON response and then get the URL
if (response.json.cover && response.json.cover.external) {
return response.json.cover.external.url;
} else {
return null; // or some other default value, if you prefer
}
}
// 因为需要解析notion的block进行对比非常的麻烦
// 暂时就直接删除新建一个page
async updatePage(notionID:string, title:string, allowTags:boolean, emoji:string, cover:string, tags:string[], type:string, slug:string, stats:string, category:string, summary:string, paword:string, favicon:string, datetime:string, childArr:any) {
await this.deletePage(notionID)
const res = await this.createPage(title, allowTags, emoji,cover, tags, type, slug, stats, category, summary, paword, favicon, datetime, childArr)
return res
const databasecover = await this.getDataBase(this.app.settings.databaseID)
if (cover == null) {
cover = databasecover
}
const res = await this.createPage(title, allowTags, emoji, cover, tags, type, slug, stats, category, summary, paword, favicon, datetime, childArr)
}
async createPage(title:string, allowTags:boolean, emoji:string, cover:string, tags:string[], type:string, slug:string, stats:string, category:string, summary:string, pawrod:string, favicon:string, datetime:string, childArr: any) {
@@ -42,11 +66,6 @@ export class Upload2Notion {
icon: {
emoji: emoji || '📜'
},
cover: {
external: {
url: cover || ''
}
},
properties: {
title: {
title: [
@@ -121,16 +140,24 @@ export class Upload2Notion {
},
children: childArr,
}
if(this.app.settings.bannerUrl) {
if (cover) {
bodyString.cover = {
type: "external",
external: {
url: this.app.settings.bannerUrl
url: cover
}
}
}
if (!bodyString.cover && this.app.settings.bannerUrl) {
bodyString.cover = {
type: "external",
external: {
url: this.app.settings.bannerUrl
}
}
}
try {
const response = await requestUrl({
url: `https://api.notion.com/v1/pages`,

View File

@@ -1,7 +1,7 @@
{
"id": "share-to-notionnext",
"name": "Share to NotionNext",
"version": "0.0.6",
"version": "0.0.7",
"minAppVersion": "0.0.1",
"description": "This is a plugin for Obsidian. This plugin shares obsidian md file to notion with notion api for NotionNext web deploy.",
"author": "jxpeng98",

View File

@@ -1,6 +1,6 @@
{
"name": "share-to-notionnext",
"version": "0.0.6",
"version": "0.0.7",
"type": "module",
"description": "This is a plugin for Obsidian. This plugin share obsidian md file to notion with notion api for NotionNext web deploy.",
"main": "main.js",