Skip to content

Commit

Permalink
refactor: use PluginSettings instead of js object
Browse files Browse the repository at this point in the history
  • Loading branch information
plylrnsdy committed Aug 21, 2023
1 parent af52bb6 commit c6235c6
Show file tree
Hide file tree
Showing 9 changed files with 46 additions and 107 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

English | [简体中文](https://github.com/typora-community-plugin/typora-plugin-front-matter/blob/main/README.zh-CN.md)

This a plugin example based on [typora-community-plugin](https://github.com/typora-community-plugin/typora-community-plugin) for [Typora](https://typora.io).
This a plugin based on [typora-community-plugin](https://github.com/typora-community-plugin/typora-community-plugin) for [Typora](https://typora.io).

Auto edit front matter:

Expand Down
12 changes: 4 additions & 8 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,13 @@
"author": "",
"license": "MIT",
"devDependencies": {
"@types/extract-zip": "1.6.2",
"@types/glob": "7.2.0",
"@types/jquery": "3.3.1",
"@types/lodash": "~4.14.197",
"@types/node": "16.18.0",
"@types/typora": "npm:@typora-community-plugin/typora-types@^1.0.2",
"@types/yauzl": "2.10.0",
"@typora-community-plugin/core": "^2.0.0-beta.10",
"archiver": "^5.3.1",
"@types/typora": "npm:@typora-community-plugin/typora-types@^1.0.3",
"@typora-community-plugin/core": "2.0.0-beta.21",
"archiver": "^5.3.2",
"esbuild": "^0.18.20",
"esbuild-plugin-typora": "npm:@typora-community-plugin/esbuild-plugin-typora@^1.0.3",
"iconv-lite": "0.6.3"
"esbuild-plugin-typora": "npm:@typora-community-plugin/esbuild-plugin-typora@^1.0.5"
}
}
72 changes: 16 additions & 56 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

29 changes: 9 additions & 20 deletions src/main.ts
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
import { Plugin } from '@typora-community-plugin/core'
import { Plugin, PluginSettings } from '@typora-community-plugin/core'
import { editor, getMarkdown } from 'typora'
import { FrontMatterSettingTab } from './setting-tab'
import { DEFAULT_SETTINGS, FrontMatterSettings } from './settings'


export default class extends Plugin {

settings: FrontMatterSettings
export default class extends Plugin<FrontMatterSettings> {

async onload() {

const { app } = this

await this.loadSettings()
this.registerSettings(
new PluginSettings(app, this.manifest, {
version: 1,
}))

this.register(
app.vault.on('mounted', () => this.loadSettings()))
this.settings.setDefault(DEFAULT_SETTINGS)

this.register(
app.workspace.on('file:open', () => {
Expand All @@ -26,7 +26,7 @@ export default class extends Plugin {
editor.stylize.insertMetaBlock()
}
if (isEmptyDoc) {
docMenu.writeProperty(this.settings.propNameCreated, nowDatetime(this.settings.dateFormat))
docMenu.writeProperty(this.settings.get('propNameCreated'), nowDatetime(this.settings.get('dateFormat')))
}
}))

Expand All @@ -37,22 +37,11 @@ export default class extends Plugin {
if (docMenu.getMetaNode()) {
editor.stylize.insertMetaBlock()
}
docMenu.writeProperty(this.settings.propNameUpdated, nowDatetime(this.settings.dateFormat))
docMenu.writeProperty(this.settings.get('propNameUpdated'), nowDatetime(this.settings.get('dateFormat')))
}))

this.registerSettingTab(new FrontMatterSettingTab(this))
}

onunload() {
}

async loadSettings() {
this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData())
}

async saveSettings() {
await this.saveData(this.settings)
}
}

function nowDatetime(format: string) {
Expand Down
4 changes: 2 additions & 2 deletions src/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"description": "Auto edit front matter.",
"author": "plylrnsdy",
"authorUrl": "https://github.com/plylrnsdy",
"version": "1.0.1",
"version": "1.0.2",
"minAppVersion": "1.5.0",
"minCoreVersion": "2.0.0-beta.10"
"minCoreVersion": "2.0.0-beta.21"
}
18 changes: 6 additions & 12 deletions src/setting-tab.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,6 @@ export class FrontMatterSettingTab extends SettingTab {
super()
}

onload() {
}

show() {
const { plugin } = this
const { t } = this.i18n
Expand All @@ -47,11 +44,10 @@ export class FrontMatterSettingTab extends SettingTab {
setting.addName(t.propCreated)
setting.addDescription(t.propCreatedDesc)
setting.addText(input => {
input.value = plugin.settings.propNameCreated
input.value = plugin.settings.get('propNameCreated')
input.placeholder = DEFAULT_SETTINGS.propNameCreated
input.oninput = () => {
plugin.settings.propNameCreated = input.value ?? DEFAULT_SETTINGS.propNameCreated
plugin.saveSettings()
plugin.settings.set('propNameCreated', input.value ?? DEFAULT_SETTINGS.propNameCreated)
}
})
})
Expand All @@ -60,11 +56,10 @@ export class FrontMatterSettingTab extends SettingTab {
setting.addName(t.propUpdated)
setting.addDescription(t.propUpdatedDesc)
setting.addText(input => {
input.value = plugin.settings.propNameUpdated
input.value = plugin.settings.get('propNameUpdated')
input.placeholder = DEFAULT_SETTINGS.propNameUpdated
input.oninput = () => {
plugin.settings.propNameUpdated = input.value ?? DEFAULT_SETTINGS.propNameUpdated
plugin.saveSettings()
plugin.settings.set('propNameUpdated', input.value ?? DEFAULT_SETTINGS.propNameUpdated)
}
})
})
Expand All @@ -73,11 +68,10 @@ export class FrontMatterSettingTab extends SettingTab {
setting.addName(t.dateFormat)
setting.addDescription(t.dateFormatDesc)
setting.addText(input => {
input.value = plugin.settings.dateFormat
input.value = plugin.settings.get('dateFormat')
input.placeholder = DEFAULT_SETTINGS.dateFormat
input.oninput = () => {
plugin.settings.dateFormat = input.value ?? DEFAULT_SETTINGS.dateFormat
plugin.saveSettings()
plugin.settings.set('dateFormat', input.value ?? DEFAULT_SETTINGS.dateFormat)
}
})
})
Expand Down
5 changes: 2 additions & 3 deletions test/vault/.typora/core.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
{
"version": "2.0.0-beta.1",
"version": 1,
"settings": {
"githubPluginListUri": "jsdelivr",
"githubDownloadUri": "ghproxy",
"githubProxy": "ghproxy",
"showRibbon": true,
"showFileTabs": true
}
Expand Down

This file was deleted.

6 changes: 6 additions & 0 deletions test/vault/doc.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
---
created: 2023-08-21 21:04:43
updated: 2023-08-21 21:04:47
---

# Title

Lorem, ipsum dolor sit amet consectetur adipisicing elit.
Adipisci nesciunt dolorem, blanditiis ea facilis, omnis dignissimos, eligendi architecto ducimus veniam necessitatibus illum assumenda id culpa officiis explicabo delectus sequi! Quas.

0 comments on commit c6235c6

Please sign in to comment.