nldates-obsidian 开源项目教程

nldates-obsidian 开源项目教程

nldates-obsidianWork with dates in natural language in Obsidian项目地址:https://gitcode.com/gh_mirrors/nl/nldates-obsidian

项目的目录结构及介绍

nldates-obsidian 项目的目录结构相对简单,主要包含以下几个部分:

nldates-obsidian/
├── main.ts
├── styles.css
├── manifest.json
├── README.md
└── package.json
  • main.ts: 项目的主文件,包含了插件的主要逻辑。
  • styles.css: 项目的样式文件,定义了插件的外观。
  • manifest.json: 项目的清单文件,包含了插件的元数据。
  • README.md: 项目的说明文件,提供了项目的详细介绍和使用指南。
  • package.json: 项目的依赖管理文件,列出了项目所需的依赖包。

项目的启动文件介绍

项目的启动文件是 main.ts,它是插件的核心逻辑所在。以下是 main.ts 的主要内容:

import { Plugin } from 'obsidian';
import { NLDateSettingTab, NLDatePluginSettings, DEFAULT_SETTINGS } from './settings';
import { parseDate } from './parser';

export default class NLDatePlugin extends Plugin {
    settings: NLDatePluginSettings;

    async onload() {
        await this.loadSettings();

        this.addCommand({
            id: 'insert-date',
            name: 'Insert current date',
            callback: () => {
                const date = parseDate(new Date());
                this.insertDate(date);
            }
        });

        this.addSettingTab(new NLDateSettingTab(this.app, this));
    }

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

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

    insertDate(date: string) {
        const activeLeaf = this.app.workspace.activeLeaf;
        if (activeLeaf) {
            activeLeaf.view.editor.replaceSelection(date);
        }
    }
}

main.ts 文件定义了 NLDatePlugin 类,继承自 Plugin 类。在 onload 方法中,插件注册了一个命令 insert-date,用于插入当前日期。同时,插件还添加了一个设置选项卡,允许用户进行自定义设置。

项目的配置文件介绍

项目的配置文件是 manifest.json,它包含了插件的元数据和基本信息。以下是 manifest.json 的内容:

{
  "id": "nldates-obsidian",
  "name": "Natural Language Dates",
  "version": "0.3.0",
  "minAppVersion": "0.9.12",
  "description": "Insert dates and times in a natural language in Obsidian",
  "author": "Argentina Ortega Sainz",
  "authorUrl": "https://argentinaos.com",
  "isDesktopOnly": false
}
  • id: 插件的唯一标识符。
  • name: 插件的名称。
  • version: 插件的版本号。
  • minAppVersion: 插件支持的最低 Obsidian 版本。
  • description: 插件的描述信息。
  • author: 插件的作者。
  • authorUrl: 作者的网站链接。
  • isDesktopOnly: 是否仅支持桌面端。

manifest.json 文件是 Obsidian 插件的重要组成部分,它提供了插件的基本信息和兼容性要求。

nldates-obsidianWork with dates in natural language in Obsidian项目地址:https://gitcode.com/gh_mirrors/nl/nldates-obsidian

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

费然杨Bernadette

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值