From 2434ddd5321ed6286e8c8283c30ce43be37b11e3 Mon Sep 17 00:00:00 2001 From: Jiaxin Peng Date: Thu, 10 Aug 2023 23:20:26 +0100 Subject: [PATCH] fix the notification bug --- Upload2Notion.ts | 16 +++++++-------- main.ts | 53 ++++++++++++++++++------------------------------ manifest.json | 2 +- package.json | 2 +- 4 files changed, 30 insertions(+), 43 deletions(-) diff --git a/Upload2Notion.ts b/Upload2Notion.ts index b048aac..a0ccfc5 100644 --- a/Upload2Notion.ts +++ b/Upload2Notion.ts @@ -1,9 +1,10 @@ -import { Notice, requestUrl,TFile,normalizePath, App } from "obsidian"; -import { Client } from "@notionhq/client"; -import { markdownToBlocks, } from "@tryfabric/martian"; +import {App, Notice, requestUrl, TFile} from "obsidian"; +import {Client} from "@notionhq/client"; +import {markdownToBlocks,} from "@tryfabric/martian"; import * as yamlFrontMatter from "yaml-front-matter"; import * as yaml from "yaml" import MyPlugin from "main"; + export class Upload2Notion { app: MyPlugin; notion: Client; @@ -13,7 +14,7 @@ export class Upload2Notion { } async deletePage(notionID:string){ - const response = await requestUrl({ + return await requestUrl({ url: `https://api.notion.com/v1/blocks/${notionID}`, method: 'DELETE', headers: { @@ -23,7 +24,6 @@ export class Upload2Notion { }, body: '' }) - return response; } async getDataBase(databaseID:string){ @@ -49,13 +49,14 @@ export class Upload2Notion { // 暂时就直接删除,新建一个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 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) + return 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) { @@ -159,7 +160,7 @@ export class Upload2Notion { } try { - const response = await requestUrl({ + return await requestUrl({ url: `https://api.notion.com/v1/pages`, method: 'POST', headers: { @@ -170,7 +171,6 @@ export class Upload2Notion { }, body: JSON.stringify(bodyString), }) - return response; } catch (error) { new Notice(`network error ${error}`) } diff --git a/main.ts b/main.ts index eb0f38f..2450714 100644 --- a/main.ts +++ b/main.ts @@ -1,18 +1,7 @@ -import { - App, - Editor, - MarkdownView, - Modal, - Notice, - Plugin, - PluginSettingTab, - Setting, - normalizePath -} from "obsidian"; -import {addIcons} from 'icon'; -import { Upload2Notion } from "Upload2Notion"; +import {App, Editor, MarkdownView, Notice, Plugin, PluginSettingTab, Setting} from "obsidian"; +import {addIcons} from 'icon'; +import {Upload2Notion} from "Upload2Notion"; import {NoticeMConfig} from "Message"; -import { CLIENT_RENEG_LIMIT } from "tls"; // Remember to rename these classes and interfaces! @@ -48,7 +37,7 @@ export default class ObsidianSyncNotionPlugin extends Plugin { "Share to NotionNext", async (evt: MouseEvent) => { // Called when the user clicks the icon. - this.upload(); + await this.upload(); } ); @@ -60,7 +49,7 @@ export default class ObsidianSyncNotionPlugin extends Plugin { id: "share-to-notionnext", name: "share to notionnext", editorCallback: async (editor: Editor, view: MarkdownView) => { - this.upload() + await this.upload() }, }); @@ -184,15 +173,14 @@ class SampleSettingTab extends PluginSettingTab { .setName("Notion API Token") .setDesc("It's a secret") .addText((text) =>{ - let t = text - .setPlaceholder("Enter your Notion API Token") - .setValue(this.plugin.settings.notionAPI) - .onChange(async (value) => { - this.plugin.settings.notionAPI = value; - await this.plugin.saveSettings(); - }) // t.inputEl.type = 'password' - return t + return text + .setPlaceholder("Enter your Notion API Token") + .setValue(this.plugin.settings.notionAPI) + .onChange(async (value) => { + this.plugin.settings.notionAPI = value; + await this.plugin.saveSettings(); + }) }); @@ -200,15 +188,14 @@ class SampleSettingTab extends PluginSettingTab { .setName("Database ID") .setDesc("It's a secret") .addText((text) => { - let t = text - .setPlaceholder("Enter your Database ID") - .setValue(this.plugin.settings.databaseID) - .onChange(async (value) => { - this.plugin.settings.databaseID = value; - await this.plugin.saveSettings(); - }) - // t.inputEl.type = 'password' - return t + // t.inputEl.type = 'password' + return text + .setPlaceholder("Enter your Database ID") + .setValue(this.plugin.settings.databaseID) + .onChange(async (value) => { + this.plugin.settings.databaseID = value; + await this.plugin.saveSettings(); + }) } ); diff --git a/manifest.json b/manifest.json index 6182fce..cd5c4d4 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "id": "share-to-notionnext", "name": "Share to NotionNext", - "version": "0.0.7", + "version": "0.0.8", "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", diff --git a/package.json b/package.json index b05cd3a..e897332 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "share-to-notionnext", - "version": "0.0.7", + "version": "0.0.8", "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",