Merge pull request #2 from jxpeng98/test-status

Test status
This commit is contained in:
Jiaxin Peng
2023-08-09 19:48:27 +01:00
committed by GitHub
2 changed files with 36 additions and 8 deletions

View File

@@ -28,13 +28,13 @@ export class Upload2Notion {
// 因为需要解析notion的block进行对比非常的麻烦
// 暂时就直接删除新建一个page
async updatePage(notionID:string, title:string, allowTags:boolean, tags:string[], type:string, slug:string, childArr:any) {
async updatePage(notionID:string, title:string, allowTags:boolean, tags:string[], type:string, slug:string, stats:string, category:string, summary:string, childArr:any) {
await this.deletePage(notionID)
const res = await this.createPage(title, allowTags, tags, type, slug, childArr)
const res = await this.createPage(title, allowTags, tags, type, slug, stats, category, summary, childArr)
return res
}
async createPage(title:string, allowTags:boolean, tags:string[], type:string, slug:string, childArr: any) {
async createPage(title:string, allowTags:boolean, tags:string[], type:string, slug:string, stats:string, category:string, summary:string, childArr: any) {
const bodyString:any = {
parent: {
database_id: this.app.settings.databaseID
@@ -67,6 +67,25 @@ export class Upload2Notion {
}
}
]
},
status: {
select: {
name: stats || 'Draft'
}
},
category: {
select: {
name: category || 'Obsidian'
}
},
summary: {
rich_text: [
{
text: {
content: summary
}
}
]
}
},
children: childArr,
@@ -99,7 +118,7 @@ export class Upload2Notion {
}
}
async syncMarkdownToNotion(title:string, allowTags:boolean, tags:string[], type:string, slug:string, markdown: string, nowFile: TFile, app:App, settings:any): Promise<any> {
async syncMarkdownToNotion(title:string, allowTags:boolean, tags:string[], type:string, slug:string, stats:string, category:string, summary:string, markdown: string, nowFile: TFile, app:App, settings:any): Promise<any> {
let res:any
const yamlObj:any = yamlFrontMatter.loadFront(markdown);
const __content = yamlObj.__content
@@ -108,9 +127,9 @@ export class Upload2Notion {
const notionID = frontmasster ? frontmasster.notionID : null
if(notionID){
res = await this.updatePage(notionID, title, allowTags, tags, type, slug, file2Block);
res = await this.updatePage(notionID, title, allowTags, tags, type, slug, stats, category, summary, file2Block);
} else {
res = await this.createPage(title, allowTags, tags, type, slug, file2Block);
res = await this.createPage(title, allowTags, tags, type, slug, stats, category, summary, file2Block);
}
if (res.status === 200) {
await this.updateYamlInfo(markdown, nowFile, res, app, settings)

13
main.ts
View File

@@ -80,13 +80,13 @@ export default class ObsidianSyncNotionPlugin extends Plugin {
);
return;
}
const { markDownData, nowFile, tags, type, slug } =await this.getNowFileMarkdownContent(this.app);
const { markDownData, nowFile, tags, type, slug, stats, category, summary } =await this.getNowFileMarkdownContent(this.app);
if (markDownData) {
const { basename } = nowFile;
const upload = new Upload2Notion(this);
const res = await upload.syncMarkdownToNotion(basename, allowTags, tags, type, slug, markDownData, nowFile, this.app, this.settings)
const res = await upload.syncMarkdownToNotion(basename, allowTags, tags, type, slug, stats, category, summary, markDownData, nowFile, this.app, this.settings)
if(res.status === 200){
new Notice(`${langConfig["sync-success"]}${basename}`)
}else {
@@ -101,6 +101,9 @@ export default class ObsidianSyncNotionPlugin extends Plugin {
let tags = []
let type = ''
let slug = ''
let stats = ''
let category = ''
let summary = ''
const FileCache = app.metadataCache.getFileCache(nowFile)
try {
@@ -108,6 +111,9 @@ export default class ObsidianSyncNotionPlugin extends Plugin {
tags = FileCache.frontmatter.tags;
type = FileCache.frontmatter.type;
slug = FileCache.frontmatter.slug;
stats = FileCache.frontmatter.stats;
category = FileCache.frontmatter.category;
summary = FileCache.frontmatter.summary;
}
} catch (error) {
new Notice(langConfig["set-tags-fail"]);
@@ -120,6 +126,9 @@ export default class ObsidianSyncNotionPlugin extends Plugin {
tags,
type,
slug,
stats,
category,
summary,
};
} else {
new Notice(langConfig["open-file"]);