diff --git a/README.md b/README.md index e4640ee..fcc06ea 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# Tistory Publisher +# Blog Publisher -The Tistory Publisher plugin helps to publish obsidian notes to tistory. You only need to go through 3 steps to publish your note. please check the demo tab below for detailed instructions. +The Blog Publisher plugin helps to publish obsidian notes to blog platform. You only need to go through 3 steps to publish your note. please check the demo tab below for detailed instructions. ### Demo @@ -8,13 +8,13 @@ The Tistory Publisher plugin helps to publish obsidian notes to tistory. You onl ### How to use -1. settings default `access token`, `visibility`, ``blog name`` +1. settings default `access token`, `visibility`, ``blog name``, `platform` [settings.png](./src/images/settings.png) 2. select the note that want to publish -3. open command tab and enter `publish-to-tistory` +3. open command tab and enter `publish-post` ### Features -- use github actions automatically generate tags -- update the post using postId -- delete the post using postId +- use github actions automatically generate tags. +- add blog platform. +- delete the post using postId. diff --git a/manifest.json b/manifest.json index 83bce74..29091a0 100644 --- a/manifest.json +++ b/manifest.json @@ -1,9 +1,9 @@ { - "id": "Tistory Publisher Plugin", - "name": "Tistory Publisher Plugin", + "id": "Blog Publisher Plugin", + "name": "Blog Publisher Plugin", "version": "1.0.0", "minAppVersion": "0.15.0", - "description": "Easily publish a note in obsidian to tistory", + "description": "Easily publish a note in obsidian to blog", "author": "bekurin", "authorUrl": "https://obsidian.md", "fundingUrl": "https://obsidian.md/pricing", diff --git a/package.json b/package.json index c772cb6..d91ffc0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { - "name": "tistory-publisher", + "name": "blog-publisher", "version": "1.0.0", - "description": "easily publisher a note in obsidian to tistory", + "description": "easily publisher a note in obsidian to blog", "main": "main.js", "scripts": { "dev": "node esbuild.config.mjs", diff --git a/src/components/settingTab/index.ts b/src/components/settingTab/index.ts index c92a1d6..89442e2 100644 --- a/src/components/settingTab/index.ts +++ b/src/components/settingTab/index.ts @@ -1,18 +1,19 @@ import { App, PluginSettingTab, Setting } from "obsidian"; -import TistoryPublisherPlugin from "src/main"; +import BlogPublisherPlugin from "src/main"; -class TistoryPublisherSettingTab extends PluginSettingTab { - plugin: TistoryPublisherPlugin +class BlogPublisherSettingTab extends PluginSettingTab { + plugin: BlogPublisherPlugin - constructor(app: App, plugin: TistoryPublisherPlugin) { + constructor(app: App, plugin: BlogPublisherPlugin) { super(app, plugin) this.plugin = plugin } display() { const {containerEl: settingContainerEl} = this + const defaultPlatformOptions = {"tistory": "tistory"} settingContainerEl.empty() - settingContainerEl.createEl("h2", {text: "Tistory Publisher"}) + settingContainerEl.createEl("h2", {text: "Blog Publisher"}) new Setting(settingContainerEl) .setName("Access Token") @@ -49,7 +50,19 @@ class TistoryPublisherSettingTab extends PluginSettingTab { await this.plugin.saveSettings() }) }) + + new Setting(settingContainerEl) + .setName("Blog Platform") + .setDesc("select the platform want to publish.") + .addDropdown((cb) => { + cb.addOptions(defaultPlatformOptions) + .setValue(this.plugin.settings.platform) + .onChange(async (value) => { + this.plugin.settings.platform = value + await this.plugin.saveSettings() + }) + }) } } -export default TistoryPublisherSettingTab \ No newline at end of file +export default BlogPublisherSettingTab \ No newline at end of file diff --git a/src/components/settings/index.ts b/src/components/settings/index.ts index 2a3b08f..15c4e88 100644 --- a/src/components/settings/index.ts +++ b/src/components/settings/index.ts @@ -1,12 +1,14 @@ -export interface TistoryPublisherSettings { +export interface BlogPublisherSettings { accessToken: string; blogName: string; visibility: string; + platform: string; } -export const DEFFAULT_SETTINGS: TistoryPublisherSettings = { +export const DEFFAULT_SETTINGS: BlogPublisherSettings = { accessToken: "", blogName: "", - visibility: "0" + visibility: "0", + platform: "tistory" } \ No newline at end of file diff --git a/src/main.ts b/src/main.ts index 5fbc476..3e1dbf3 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,17 +1,17 @@ import { Plugin, Editor, MarkdownView, MarkdownRenderer } from "obsidian"; -import { DEFFAULT_SETTINGS, TistoryPublisherSettings } from "./components/settings"; +import { DEFFAULT_SETTINGS, BlogPublisherSettings as BlogPublisherSettings } from "./components/settings"; import {PublishModal, ModifyModal} from "./components/modal"; import createPostApi from "./api/createPostApi"; -import TistoryPublisherSettingTab from "./components/settingTab"; +import BlogPublisherSettingTab from "./components/settingTab"; import modifyPostApi from "./api/updatePostApi"; -export default class TistoryPublisherPlugin extends Plugin { - settings: TistoryPublisherSettings +export default class BlogPublisherPlugin extends Plugin { + settings: BlogPublisherSettings async onload() { // load default settings await this.loadSettings() - this.addSettingTab(new TistoryPublisherSettingTab(this.app, this)) + this.addSettingTab(new BlogPublisherSettingTab(this.app, this)) // create publish-to command this.addCommand({