mirror of
https://github.com/liufree/obsidian-querydash.git
synced 2026-07-22 05:41:49 +00:00
feat: init
This commit is contained in:
parent
1075aa93bf
commit
9160dcc9c6
3 changed files with 72 additions and 88 deletions
42
README-zh.md
Normal file
42
README-zh.md
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
|
||||
|
||||
|
||||
**项目目标**
|
||||
QueryDash的目标是开发一款类似Notion Database的Obsidian插件,但不仅限于数据库功能。未来将逐步扩展更多实用特性,帮助用户更高效地管理知识、任务和生活。
|
||||
|
||||
**现有功能**
|
||||
1. **多视图支持**:提供表格和列表两种视图,满足不同场景需求。
|
||||
2. **Dataview SQL支持**:兼容Dataview的SQL语法(暂不支持`GROUP BY`)。
|
||||
3. **增强功能**:
|
||||
- **搜索**:快速定位所需内容。
|
||||
- **过滤**:根据条件筛选数据。
|
||||
- **合计**:支持数据汇总统计。
|
||||
- **分页**:优化大数据量下的浏览体验。
|
||||
|
||||
**使用教程**
|
||||

|
||||
|
||||
|
||||
**远景规划**
|
||||
1. **首页**:将常用功能整合到首页,提供一站式便捷操作。
|
||||
2. **多视图支持**:支持时间线、画廊、表格等多种视图,满足不同场景需求。
|
||||
3. **复习卡片**:内置复习功能,帮助用户高效巩固知识。
|
||||
4. **Database功能**:支持创建、编辑、删除等操作,打造灵活的数据管理体验。
|
||||
5. **更多功能**:持续开发,不断丰富插件功能,提升用户体验。
|
||||
|
||||
**参考项目**
|
||||
- [Dataview](https://github.com/blacksmithgu/obsidian-dataview):强大的数据查询和管理工具。
|
||||
- [Project](https://github.com/marcusolsson/obsidian-projects):任务和项目管理插件。
|
||||
|
||||
**项目简介**
|
||||
作为一名Obsidian的深度用户,我发现现有的插件在搜索、复习以及Dataview表格的编辑和删除等功能上无法完全满足我的需求。因此,我决定基于Ant Design开发一套全新的视图系统,旨在提升Obsidian的使用体验,更好地辅助日常生活和工作。
|
||||
|
||||
目前,项目的功能还处于初期阶段,但我会持续投入开发,逐步完善和扩展功能。我相信通过不断迭代,这个项目会变得越来越实用和强大。
|
||||
|
||||
**关于赞助**
|
||||
本项目完全基于个人兴趣开发,如果您觉得这个项目对您有帮助,并愿意支持我的工作。您的每一份赞助都将成为我持续开发的动力,非常感谢!
|
||||
|
||||
**未来计划**
|
||||
- 完善现有功能,提升用户体验
|
||||
- 增加更多实用特性,如高级搜索、智能复习等
|
||||
- 优化性能,确保系统稳定运行
|
||||
118
README.md
118
README.md
|
|
@ -1,96 +1,38 @@
|
|||
# Obsidian Sample Plugin
|
||||
**Project Objective**
|
||||
The goal of QueryDash is to develop an Obsidian plugin similar to Notion Database, but not limited to database functionality. In the future, it will gradually expand with more practical features to help users manage knowledge, tasks, and life more efficiently.
|
||||
|
||||
This is a sample plugin for Obsidian (https://obsidian.md).
|
||||
**Current Features**
|
||||
1. **Multi-view Support**: Provides table and list views to meet different scenario needs.
|
||||
2. **Dataview SQL Support**: Compatible with Dataview's SQL syntax (currently does not support `GROUP BY`).
|
||||
3. **Enhanced Features**:
|
||||
- **Search**: Quickly locate the content you need.
|
||||
- **Filter**: Screen data based on conditions.
|
||||
- **Aggregation**: Supports data summary statistics.
|
||||
- **Pagination**: Optimizes browsing experience for large datasets.
|
||||
|
||||
This project uses TypeScript to provide type checking and documentation.
|
||||
The repo depends on the latest plugin API (obsidian.d.ts) in TypeScript Definition format, which contains TSDoc comments describing what it does.
|
||||
**Tutorial**
|
||||

|
||||
|
||||
**Note:** The Obsidian API is still in early alpha and is subject to change at any time!
|
||||
**Future Vision**
|
||||
1. **Homepage**: Integrate frequently used functions into the homepage for one-stop convenience.
|
||||
2. **Multi-view Support**: Supports timeline, gallery, table, and other views to meet diverse scenario needs.
|
||||
3. **Review Cards**: Built-in review function to help users efficiently consolidate knowledge.
|
||||
4. **Database Functionality**: Supports create, edit, delete, and other operations for flexible data management.
|
||||
5. **More Features**: Continuous development to enrich plugin functionality and enhance user experience.
|
||||
|
||||
This sample plugin demonstrates some of the basic functionality the plugin API can do.
|
||||
- Adds a ribbon icon, which shows a Notice when clicked.
|
||||
- Adds a command "Open Sample Modal" which opens a Modal.
|
||||
- Adds a plugin setting tab to the settings page.
|
||||
- Registers a global click event and output 'click' to the console.
|
||||
- Registers a global interval which logs 'setInterval' to the console.
|
||||
**Reference Projects**
|
||||
- [Dataview](https://github.com/blacksmithgu/obsidian-dataview): A powerful data query and management tool.
|
||||
- [Project](https://github.com/marcusolsson/obsidian-projects): A task and project management plugin.
|
||||
|
||||
## First time developing plugins?
|
||||
**Project Introduction**
|
||||
As a deep user of Obsidian, I found that existing plugins could not fully meet my needs in terms of search, review, and editing/deleting Dataview tables. Therefore, I decided to develop a brand-new view system based on Ant Design, aiming to enhance the Obsidian experience and better assist daily life and work.
|
||||
|
||||
Quick starting guide for new plugin devs:
|
||||
Currently, the project is in its early stages, but I will continue to invest in development to gradually improve and expand its features. I believe that through continuous iteration, this project will become increasingly practical and powerful.
|
||||
|
||||
- Check if [someone already developed a plugin for what you want](https://obsidian.md/plugins)! There might be an existing plugin similar enough that you can partner up with.
|
||||
- Make a copy of this repo as a template with the "Use this template" button (login to GitHub if you don't see it).
|
||||
- Clone your repo to a local development folder. For convenience, you can place this folder in your `.obsidian/plugins/your-plugin-name` folder.
|
||||
- Install NodeJS, then run `npm i` in the command line under your repo folder.
|
||||
- Run `npm run dev` to compile your plugin from `main.ts` to `main.js`.
|
||||
- Make changes to `main.ts` (or create new `.ts` files). Those changes should be automatically compiled into `main.js`.
|
||||
- Reload Obsidian to load the new version of your plugin.
|
||||
- Enable plugin in settings window.
|
||||
- For updates to the Obsidian API run `npm update` in the command line under your repo folder.
|
||||
**About Sponsorship**
|
||||
This project is entirely developed out of personal interest. If you find it helpful and are willing to support my work, every sponsorship will be a motivation for me to continue developing. Thank you very much!
|
||||
|
||||
## Releasing new releases
|
||||
|
||||
- Update your `manifest.json` with your new version number, such as `1.0.1`, and the minimum Obsidian version required for your latest release.
|
||||
- Update your `versions.json` file with `"new-plugin-version": "minimum-obsidian-version"` so older versions of Obsidian can download an older version of your plugin that's compatible.
|
||||
- Create new GitHub release using your new version number as the "Tag version". Use the exact version number, don't include a prefix `v`. See here for an example: https://github.com/obsidianmd/obsidian-sample-plugin/releases
|
||||
- Upload the files `manifest.json`, `main.js`, `styles.css` as binary attachments. Note: The manifest.json file must be in two places, first the root path of your repository and also in the release.
|
||||
- Publish the release.
|
||||
|
||||
> You can simplify the version bump process by running `npm version patch`, `npm version minor` or `npm version major` after updating `minAppVersion` manually in `manifest.json`.
|
||||
> The command will bump version in `manifest.json` and `package.json`, and add the entry for the new version to `versions.json`
|
||||
|
||||
## Adding your plugin to the community plugin list
|
||||
|
||||
- Check the [plugin guidelines](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines).
|
||||
- Publish an initial version.
|
||||
- Make sure you have a `README.md` file in the root of your repo.
|
||||
- Make a pull request at https://github.com/obsidianmd/obsidian-releases to add your plugin.
|
||||
|
||||
## How to use
|
||||
|
||||
- Clone this repo.
|
||||
- Make sure your NodeJS is at least v16 (`node --version`).
|
||||
- `npm i` or `yarn` to install dependencies.
|
||||
- `npm run dev` to start compilation in watch mode.
|
||||
|
||||
## Manually installing the plugin
|
||||
|
||||
- Copy over `main.js`, `styles.css`, `manifest.json` to your vault `VaultFolder/.obsidian/plugins/your-plugin-id/`.
|
||||
|
||||
## Improve code quality with eslint (optional)
|
||||
- [ESLint](https://eslint.org/) is a tool that analyzes your code to quickly find problems. You can run ESLint against your plugin to find common bugs and ways to improve your code.
|
||||
- To use eslint with this project, make sure to install eslint from terminal:
|
||||
- `npm install -g eslint`
|
||||
- To use eslint to analyze this project use this command:
|
||||
- `eslint main.ts`
|
||||
- eslint will then create a report with suggestions for code improvement by file and line number.
|
||||
- If your source code is in a folder, such as `src`, you can use eslint with this command to analyze all files in that folder:
|
||||
- `eslint .\src\`
|
||||
|
||||
## Funding URL
|
||||
|
||||
You can include funding URLs where people who use your plugin can financially support it.
|
||||
|
||||
The simple way is to set the `fundingUrl` field to your link in your `manifest.json` file:
|
||||
|
||||
```json
|
||||
{
|
||||
"fundingUrl": "https://buymeacoffee.com"
|
||||
}
|
||||
```
|
||||
|
||||
If you have multiple URLs, you can also do:
|
||||
|
||||
```json
|
||||
{
|
||||
"fundingUrl": {
|
||||
"Buy Me a Coffee": "https://buymeacoffee.com",
|
||||
"GitHub Sponsor": "https://github.com/sponsors",
|
||||
"Patreon": "https://www.patreon.com/"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## API Documentation
|
||||
|
||||
See https://github.com/obsidianmd/obsidian-api
|
||||
**Future Plans**
|
||||
- Improve existing features to enhance user experience.
|
||||
- Add more practical features, such as advanced search and intelligent review.
|
||||
- Optimize performance to ensure system stability.
|
||||
|
|
|
|||
BIN
docs/demo.gif
Normal file
BIN
docs/demo.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 15 MiB |
Loading…
Reference in a new issue