npm package: @moonjot/moon-notion-plugin
Description: Moon notion plugin for Moon
Latest version: 0.2.14

# Moon Plugin Notion

This plugin captures notes at the operating system level and automatically inputs them into Notion.so. It is designed as a seamless interface between your OS and Notion, ensuring that there is no delay or disruption in your workflow. The plugin works in two directions: it both processes information from your operating system to create notes and updates your Notion.so workspace with these notes. This way, you can keep track of significant actions, reminders or updates directly from your operating system. Furthermore, the plugin is built with user-friendly features that allow synchronization, formatting, and quick editing of notes. To sum up, it helps boost productivity and efficiency by providing a direct bridge between your operating system and Notion.so note-taking.

## Settings

### Properties for `Match Notion properties names` 

```json
{ "source":"Source",
  "sourceName":"Source name",
	"category":"Category",
	"appName":"App name",
	"author":"Author",
	"email":"Author email",
	"subject":"Subjects",
	"tags":"Tags",  
	"mention":"Mention",
	"aiKeywords":"AI keywords"
}
```

### All properties available for `Format your note result inside notion`

```
{{content}}
{{source}}
{{sourceName}}
{{sourceText}}
{{category}}
{{appName}}
{{author}}
{{email}}
{{subject}}
{{tags}}
{{mention}}
{{aiKeywords}}
```

Example:
```
{{IF sourceName}}# {{sourceName}}{{END_IF sourceName}}

{{content}}

{{IF author}}Author: {{author}}{{END_IF author}}
{{IF source}}Source: {{source}}{{END_IF source}}

{{sourceText}}
```


## Condition

### Is defined

You can insert content based on a condition.
Currently, the condition only checks if something exists or does not exist.
```
{{IF ...}}Write something{{END_IF ...}}

// Example:
{{IF author}}Author: {{author}}{{END_IF author}}
```

### You can also do some condition with equality

#### === undefined
```
{{IF author === undefined}}content{{END_IF author}}
```

#### === some text
```
{{IF content === some text}}content{{END_IF content}}

// content is empty make only twitter user
{{IF content === }}{{IF people.0.twitter.0}}<a href="{{people.0.twitter.0}}">{{people.0.name}}</a>{{END_IF people.0.name}}{{END_IF content}}
```

#### !== some text
```
{{IF content !== some text}}content{{END_IF content}}{{IF content !== some text hey }}content different{{END_IF content}}
```

#### .includes(something)
```
{{IF content.includes(some t)}}content{{END_IF content}}{{IF content.includes(some text hey) }}content different{{END_IF content}}
```

#### .startsWith(something)
```
{{IF SOURCE.TEXT.startsWith(- [ ])}}content{{END_IF SOURCE.TEXT}}
```

## Date

You can format the date as YYYY-MM-DD HH:mm:ss.
```
{{DATE}}YYYY-MM-DD{{END_DATE}}
{{DATE}}HH:mm{{END_DATE}}
```

## Property

There are many properties that you can use.

### Basic for all devices

```
{{category}} 
{{appName}}
{{email}}
{{tags}}
``` 




## Installation

```bash
yarn
```

## Build before publishing

```bash
yarn build
```

## For dev mode run 

```bash
yarn watch
```
## For dev mode run 

```bash
yarn watch
```

This wil build the app each time you do a change

### on you app add to you `settings.plugins.list`

```json
				{
					"id": 2,
					"packageName": "{PATH_TO}/moon-notion-plugin", // path to the plugin
					"description": "Sample app",
					"fromPath": true, // if you packages name is develop locally
					"devMode": true, // allow auto refresh before each use
				}
```

## Publishing

First remove current git origin
```bash
git remote remove origin
```

Add you repo origin and change also **credential** iin `package.json`

Then
```bash
yarn pub
```