Obsidian GitHub Publisher 项目教程

Obsidian GitHub Publisher 项目教程

obsidian-github-publisherGithub Publisher helps you to publish your notes on a preconfigured GitHub repository from your Obsidian Vault, for free, and more!项目地址:https://gitcode.com/gh_mirrors/ob/obsidian-github-publisher

1. 项目的目录结构及介绍

Obsidian GitHub Publisher 项目的目录结构如下:

obsidian-github-publisher/
├── .github/
│   └── workflows/
├── hooks/
├── src/
│   ├── commands/
│   ├── components/
│   ├── lang/
│   ├── settings/
│   └── ui/
├── .editorconfig
├── .gitignore
├── .gitmodules
├── .npmrc
├── CHANGELOG-beta.md
├── CHANGELOG.md
├── LICENSE
├── README.md
├── biome.json
├── commit-and-tag-version.mjs
├── esbuild.config.mjs
├── manifest-beta.json
├── manifest.json
├── package.json
├── pnpm-lock.yaml
└── tsconfig.json

目录结构介绍

  • .github/workflows/: 包含 GitHub Actions 的工作流文件。
  • hooks/: 包含自定义的 Git 钩子脚本。
  • src/: 项目的源代码目录,包含命令、组件、语言文件、设置和用户界面等。
  • .editorconfig: 编辑器配置文件。
  • .gitignore: Git 忽略文件配置。
  • .gitmodules: Git 子模块配置。
  • .npmrc: npm 配置文件。
  • CHANGELOG-beta.mdCHANGELOG.md: 项目变更日志。
  • LICENSE: 项目许可证。
  • README.md: 项目说明文档。
  • biome.json: 项目配置文件。
  • commit-and-tag-version.mjs: 用于提交和打标签的脚本。
  • esbuild.config.mjs: esbuild 配置文件。
  • manifest-beta.jsonmanifest.json: 项目清单文件。
  • package.json: npm 包配置文件。
  • pnpm-lock.yaml: pnpm 锁定文件。
  • tsconfig.json: TypeScript 配置文件。

2. 项目的启动文件介绍

项目的启动文件主要是 src/main.ts,它负责初始化插件并加载必要的模块和设置。

// src/main.ts
import { App, Plugin, PluginSettingTab, Setting } from 'obsidian';
import { GitHubPublisherSettings, DEFAULT_SETTINGS } from './settings';
import { Commands } from './commands';
import { GitHubPublisher } from './github';

export default class GitHubPublisherPlugin extends Plugin {
    settings: GitHubPublisherSettings;

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

        // 注册命令
        this.addCommand(Commands);

        // 注册设置页面
        this.addSettingTab(new GitHubPublisherSettingTab(this.app, this));

        // 初始化 GitHub 发布器
        new GitHubPublisher(this.app, this.settings);
    }

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

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

class GitHubPublisherSettingTab extends PluginSettingTab {
    plugin: GitHubPublisherPlugin;

    constructor(app: App, plugin: GitHubPublisherPlugin) {
        super(app, plugin);
        this.plugin = plugin;
    }

    display(): void {
        const { containerEl } = this;
        containerEl.empty();
        containerEl.createEl('h2', { text: 'GitHub Publisher 设置' });

        new Setting(containerEl)
            .setName('GitHub 用户名')
            .setDesc('输入你的 GitHub 用户名')
            .addText(text => text
                .setPlaceholder('例如:yourusername')
                .setValue(this.plugin.settings.username)
                .onChange(async (value) => {
                    this.plugin.settings.username = value;
                    await this.plugin.saveSettings();
                }));

        // 其他设置项...
    }
}

3. 项目的配置文件介绍

项目的配置文件主要是 manifest.jsonsettings.ts

manifest.json

manifest.json 文件定义了插件的基本信息和依赖项。

{
    "id":

obsidian-github-publisherGithub Publisher helps you to publish your notes on a preconfigured GitHub repository from your Obsidian Vault, for free, and more!项目地址:https://gitcode.com/gh_mirrors/ob/obsidian-github-publisher

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

明咏耿Helena

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

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

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

打赏作者

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

抵扣说明:

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

余额充值