Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

markdown2notion

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

markdown2notion - npm Package Compare versions

Comparing version
1.1.0
to
1.1.1
+192
README-JP.md
# markdown2notion
[![npm version](https://badge.fury.io/js/markdown2notion.svg)](https://badge.fury.io/js/markdown2notion) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![codecov](https://codecov.io/github/Rujuu-prog/markdown2notion/graph/badge.svg?token=YFLLMR17EB)](https://codecov.io/github/Rujuu-prog/markdown2notion)
notionのDBにmarkdownファイルを変換するツールです。フォルダ構造もタグとして表現されます。
> notionのtokenの発行方法やDBとの紐付けかたは[こちら](https://developers.notion.com/docs/getting-started)を参照してください。
## 🔗 リンク
English👉[README.md](https://github.com/Rujuu-prog/markdownToNotion/blob/main/README.md)
## 🔽 インストール方法
```bash
npm install markdown2notion
```
```bash
yarn add markdown2notion
```
## 🔧 使い方
javascriptとtypescriptで使えます。
### markdownToNotion()
```typescript
import {markdownToNotion} from 'markdown2notion'
async function main(){
try{
await markdownToNotion(
'notion_token',
'notion database id',
'markdownファイルが入っているフォルダのパス',
'ファイル名を表示するnotionの列名。 デフォルトはTitle',
'タグとしてフォルダ名を表示する列名。 デフォルトはTags')
} catch (error) {
console.error(error);
}
}
```
### searchPage()
> ページのURLはmarkdownToNotion()を使うたびに変更されるため、URLを使って何かしたい場合は、この関数でページのURLを取得してください。
```typescript
import {searchPage} from 'markdown2notion'
async function main(){
try{
const result = await searchPage(
'notion token',
'notion database id',
'ファイル名を表示するnotionの列名。 デフォルトはTitle',
'タグとしてフォルダ名を表示する列名。 デフォルトはTags'
'検索したいファイル名',
'検索したいファイルが入っているフォルダ名。配列で指定。'
)
// 同じファイル名のファイルが存在している場合、複数のページが返ってきます。
console.log(result)// notionのpageのobjectが返ってきます。urlはresult['results'][0]['url']とかで取れます。
} catch (error) {
console.error(error)
}
}
```
## 🔰 使用例
### 🔽markdownToNotion()
### フォルダ構成
```bash
├── docs
│ ├── sample1
│ │ ├── sample1_1
│ │ │ ├── sampleContent1_1.md
│ │ ├── sampleContent1.md
│ ├── sample2
│ │ ├── sampleContent2.md
├── src
│ ├── index.ts
├── .env
```
### notion DB
![](https://user-images.githubusercontent.com/81368541/228247308-30b798e0-b029-4d21-9a91-9d045f11997f.png)
### マークダウンファイルのサンプル
[Sample Markdown Folder](https://github.com/Rujuu-prog/markdown2notion/tree/main/sample/docs)
### index.ts
```typescript
import {markdownToNotion} from 'markdown2notion'
import * as dotenv from 'dotenv'
async function main() {
dotenv.config()
const token = process.env.NOTION_TOKEN
const databaseId = process.env.NOTION_DATABASE_ID
try {
await markdownToNotion(token, databaseId, 'docs', 'Title', 'Tags');
} catch (error) {
console.error(error);
}
}
main()
```
### .env
```.env
NOTION_TOKEN=secret_xxxxxxxxxxxxxx
NOTION_DATABASE_ID=xxxxxxxxxxxxxxx
```
### index.tsの実行結果
フォルダ構造がタグとして表現されます。
![](https://user-images.githubusercontent.com/81368541/228250770-6c9912c6-bc2f-401c-967a-76e7ae15117a.png)
タグでフィルタリングすることで、見たいファイルをすぐに探すことができます。
![](https://user-images.githubusercontent.com/81368541/228253068-aa17bc25-5401-43c1-8ecc-d98f6a5c1ab9.png)
### 🔽searchPage()
### index.ts
```typescript
import {searchPage} from 'markdown2notion'
import * as dotenv from 'dotenv'
async function main() {
dotenv.config()
const token = process.env.NOTION_TOKEN
const databaseId = process.env.NOTION_DATABASE_ID
const title = 'sampleContent1_1';
const tags = ['sample1_1'];
try {
const result = await searchPage(token, databaseId, 'Title', 'Tags', title, tags);
console.log(result['results'][0]['url']);
} catch (error) {
console.error('Error searching for page:', error);
}
}
main()
```
### result
```bash
{
object: 'list',
results: [
{
object: 'page',
id: '33.....',
created_time: '2023-03-29T14:15:00.000Z',
last_edited_time: '2023-03-29T14:15:00.000Z',
created_by: [Object],
last_edited_by: [Object],
cover: null,
icon: null,
parent: [Object],
archived: false,
properties: [Object],
url: 'https://www.notion.so/sampleContent1_1-33...'
}
],
next_cursor: null,
has_more: false,
type: 'page',
page: {}
}
```
<h2 style="color:red;">👀 注意点</h2>
操作対象のnotionのDB上に、ファイル名と同じページがある場合は上書きされます。
## ライセンス
MIT
+2
-2

@@ -1,2 +0,2 @@

export { markdownToNotion } from "./markdownToNotion";
export { searchPage } from "./searchPage";
export { markdownToNotion } from './markdownToNotion';
export { searchPage } from './searchPage';

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA;AACzB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uDAAqD;AAA5C,oHAAA,gBAAgB,OAAA;AACzB,2CAAyC;AAAhC,wGAAA,UAAU,OAAA"}

@@ -0,1 +1,3 @@

import { Client } from '@notionhq/client';
import { readMD } from './readMD';
/**

@@ -13,1 +15,2 @@ * Import Markdown files from the specified folder to a Notion database.

export declare function markdownToNotion(token: string | undefined, databaseId: string | undefined, mdFolderPath: string, fileNameColumn?: string, tagsColumn?: string): Promise<void>;
export declare function createPage(notion: Client, databaseId: string, md: ReturnType<typeof readMD>[number], fileNameColumn?: string, tagsColumn?: string): Promise<void>;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.markdownToNotion = void 0;
exports.createPage = exports.markdownToNotion = void 0;
const client_1 = require("@notionhq/client");

@@ -25,3 +25,3 @@ const readMD_1 = require("./readMD");

async function markdownToNotion(token, databaseId, mdFolderPath, fileNameColumn = 'Title', tagsColumn = 'Tags') {
if (!token || !databaseId) {
if (token === undefined || databaseId === undefined) {
throw new Error('NOTION_TOKEN or NOTION_DATABASE_ID is missing');

@@ -73,3 +73,3 @@ }

const pageId = Object.keys(existingPageTitles).find((key) => existingPageTitles[key] === md.fileName);
if (pageId) {
if (pageId !== undefined) {
await archivePage(notion, pageId);

@@ -88,3 +88,3 @@ }

async function archivePage(notion, pageId) {
const resDelete = await notion.pages.update({
await notion.pages.update({
page_id: pageId,

@@ -95,3 +95,3 @@ archived: true

async function createPage(notion, databaseId, md, fileNameColumn = 'Title', tagsColumn = 'Tags') {
const resCreate = await notion.pages.create({
await notion.pages.create({
parent: {

@@ -118,2 +118,3 @@ type: 'database_id',

}
exports.createPage = createPage;
//# sourceMappingURL=markdownToNotion.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"markdownToNotion.js","sourceRoot":"","sources":["../src/markdownToNotion.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AACzC,qCAAiC;AAIjC,QAAQ;AACR,mCAAmC;AACnC,kBAAkB;AAClB,yCAAyC;AACzC,oDAAoD;AACpD,sEAAsE;AAEtE,wBAAwB;AAExB;;;;;;;;;;GAUG;AACI,KAAK,UAAU,gBAAgB,CAAE,KAAsB,EAAE,UAA2B,EACzF,YAAmB,EACnB,iBAAyB,OAAO,EAChC,aAAqB,MAAM;IAC3B,IAAI,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE;QACzB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;KACjE;IAED,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAC1C,MAAM,GAAG,GAAG,IAAA,eAAM,EAAC,YAAY,CAAC,CAAA;IAEhC,IAAI;QACF,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QAChE,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE;YACpB,MAAM,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,EAAE,cAAc,EAAE,UAAU,CAAC,CAAA;SAC7F;KACF;IAAC,OAAO,KAAK,EAAE;QACd,WAAW,CAAC,KAAK,CAAC,CAAA;KACnB;AACH,CAAC;AAnBD,4CAmBC;AAED,SAAS,WAAW,CAAE,KAAc;IAClC,IAAI,KAAK,YAAY,KAAK,EAAE;QAC1B,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;KACnD;SAAM;QACL,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAA;KACnD;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,MAAc,EACd,UAAkB;IAElB,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;QACjD,WAAW,EAAE,UAAU;QACvB,KAAK,EAAE;YACL;gBACE,QAAQ,EAAE,OAAO;gBACjB,SAAS,EAAE,WAAW;aACvB;SACF;KACF,CAAC,CAAA;IACF,6BAA6B;IAC7B,oBAAoB;IACpB,MAAM,kBAAkB,GAAc,EAAE,CAAA;IACxC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;QAC1C,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAA;IAC3E,CAAC,CAAC,CAAA;IAEF,OAAO,kBAAkB,CAAA;AAC3B,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,MAAc,EACd,kBAA6B,EAC7B,UAAkB,EAClB,EAAqC,EACrC,iBAAyB,OAAO,EAChC,aAAqB,MAAM;IAE3B,IAAI;QACF,6BAA6B;QAC7B,IAAI,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE;YAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CACjD,CAAC,GAAG,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,CACjD,CAAA;YACD,IAAI,MAAM,EAAE;gBACV,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;aAClC;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;aACxC;SACF;QACD,MAAM,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,cAAc,EAAE,UAAU,CAAC,CAAA;KACrE;IAAC,OAAO,KAAK,EAAE;QACd,WAAW,CAAC,KAAK,CAAC,CAAA;KACnB;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAE,MAAc,EAAE,MAAc;IACxD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QAC1C,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,IAAI;KACf,CAAC,CAAA;AACJ,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,MAAc,EACd,UAAkB,EAClB,EAAqC,EACrC,iBAAyB,OAAO,EAChC,aAAqB,MAAM;IAE3B,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QAC1C,MAAM,EAAE;YACN,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,UAAU;SACxB;QACD,UAAU,EAAE;YACV,CAAC,cAAc,CAAC,EAAE;gBAChB,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE;4BACJ,OAAO,EAAE,EAAE,CAAC,QAAQ;yBACrB;qBACF;iBACF;aACF;YACD,CAAC,UAAU,CAAC,EAAE;gBACZ,YAAY,EAAE,EAAE,CAAC,WAAW;aAC7B;SACF;QACD,QAAQ,EAAE,EAAE,CAAC,YAAY;KAC1B,CAAC,CAAA;AACJ,CAAC"}
{"version":3,"file":"markdownToNotion.js","sourceRoot":"","sources":["../src/markdownToNotion.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AACzC,qCAAiC;AAIjC,QAAQ;AACR,mCAAmC;AACnC,kBAAkB;AAClB,yCAAyC;AACzC,oDAAoD;AACpD,sEAAsE;AAEtE,wBAAwB;AAExB;;;;;;;;;;GAUG;AACI,KAAK,UAAU,gBAAgB,CAAE,KAAyB,EAAE,UAA8B,EAC/F,YAAoB,EACpB,iBAAyB,OAAO,EAChC,aAAqB,MAAM;IAC3B,IAAI,KAAK,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;IAClE,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAC1C,MAAM,GAAG,GAAG,IAAA,eAAM,EAAC,YAAY,CAAC,CAAA;IAEhC,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QAChE,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,MAAM,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,EAAE,cAAc,EAAE,UAAU,CAAC,CAAA;QAC9F,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,WAAW,CAAC,KAAK,CAAC,CAAA;IACpB,CAAC;AACH,CAAC;AAnBD,4CAmBC;AAED,SAAS,WAAW,CAAE,KAAc;IAClC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IACpD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAA;IACpD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,MAAc,EACd,UAAkB;IAElB,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;QACjD,WAAW,EAAE,UAAU;QACvB,KAAK,EAAE;YACL;gBACE,QAAQ,EAAE,OAAO;gBACjB,SAAS,EAAE,WAAW;aACvB;SACF;KACF,CAAC,CAAA;IACF,6BAA6B;IAC7B,oBAAoB;IACpB,MAAM,kBAAkB,GAAc,EAAE,CAAA;IACxC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE;QAC1C,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAA;IAC3E,CAAC,CAAC,CAAA;IAEF,OAAO,kBAAkB,CAAA;AAC3B,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,MAAc,EACd,kBAA6B,EAC7B,UAAkB,EAClB,EAAqC,EACrC,iBAAyB,OAAO,EAChC,aAAqB,MAAM;IAE3B,IAAI,CAAC;QACH,6BAA6B;QAC7B,IAAI,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,IAAI,CACjD,CAAC,GAAG,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,CACjD,CAAA;YACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACnC,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;YACzC,CAAC;QACH,CAAC;QACD,MAAM,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,cAAc,EAAE,UAAU,CAAC,CAAA;IACtE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,WAAW,CAAC,KAAK,CAAC,CAAA;IACpB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CAAE,MAAc,EAAE,MAAc;IACxD,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QACxB,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,IAAI;KACf,CAAC,CAAA;AACJ,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,MAAc,EACd,UAAkB,EAClB,EAAqC,EACrC,iBAAyB,OAAO,EAChC,aAAqB,MAAM;IAE3B,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QACxB,MAAM,EAAE;YACN,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,UAAU;SACxB;QACD,UAAU,EAAE;YACV,CAAC,cAAc,CAAC,EAAE;gBAChB,KAAK,EAAE;oBACL;wBACE,IAAI,EAAE;4BACJ,OAAO,EAAE,EAAE,CAAC,QAAQ;yBACrB;qBACF;iBACF;aACF;YACD,CAAC,UAAU,CAAC,EAAE;gBACZ,YAAY,EAAE,EAAE,CAAC,WAAW;aAC7B;SACF;QACD,QAAQ,EAAE,EAAE,CAAC,YAAY;KAC1B,CAAC,CAAA;AACJ,CAAC;AA5BD,gCA4BC"}

@@ -36,3 +36,3 @@ "use strict";

// ページ内リンクの正規表現
const linkPattern = /\[([^\]]+)]\(#([^\)]+)\)/g;
const linkPattern = /\[([^\]]+)]\(#([^)]+)\)/g;
return content.replace(linkPattern, '$1');

@@ -62,3 +62,6 @@ }

const pathParts = relativePath.split(path.sep);
// ファイル名と拡張子の両方が存在しないファイルはありえないため許容
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
const fileNameWithExtension = pathParts.pop();
console.log('file:' + fileNameWithExtension);
const fileNameWithoutExtension = path.basename(fileNameWithExtension, '.md');

@@ -65,0 +68,0 @@ const folderNames = pathParts.map(folderName => ({ name: folderName }));

@@ -1,1 +0,1 @@

{"version":3,"file":"readMD.js","sourceRoot":"","sources":["../src/readMD.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,2CAA4B;AAC5B,8DAAgC;AAChC,gDAAqD;AAYrD,SAAS,mBAAmB,CAAC,OAAe;IACxC,eAAe;IACf,MAAM,WAAW,GAAG,2BAA2B,CAAA;IAC/C,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;AAC3C,CAAC;AAEH;;;;;;GAMG;AACH,SAAgB,MAAM,CAAE,OAAe;IACrC,MAAM,MAAM,GAAuB,EAAE,CAAA;IAErC,SAAS,IAAI,CAAE,WAAmB;QAChC,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;QAEpE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;YAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;YAEpD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE;gBACvB,IAAI,CAAC,SAAS,CAAC,CAAA;aAChB;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACvD,MAAM,OAAO,GAAG,IAAA,qBAAM,EAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;gBACnE,MAAM,aAAa,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAA;gBAClD,MAAM,YAAY,GAAG,IAAA,0BAAgB,EAAC,aAAa,CAAC,CAAA;gBACpD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;gBACtD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBAE9C,MAAM,qBAAqB,GAAG,SAAS,CAAC,GAAG,EAAY,CAAA;gBACvD,MAAM,wBAAwB,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAA;gBAC5E,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;gBAEvE,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,wBAAwB,EAAE,YAAY,EAAE,CAAC,CAAA;aAC/E;SACF;IACH,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,CAAA;IACb,OAAO,MAAM,CAAA;AACf,CAAC;AA7BD,wBA6BC;AAED,0CAA0C;AAC1C,8BAA8B;AAC9B,oCAAoC"}
{"version":3,"file":"readMD.js","sourceRoot":"","sources":["../src/readMD.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,2CAA4B;AAC5B,8DAAgC;AAChC,gDAAqD;AAYrD,SAAS,mBAAmB,CAAE,OAAe;IAC3C,eAAe;IACf,MAAM,WAAW,GAAG,0BAA0B,CAAA;IAC9C,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,MAAM,CAAE,OAAe;IACrC,MAAM,MAAM,GAAuB,EAAE,CAAA;IAErC,SAAS,IAAI,CAAE,WAAmB;QAChC,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;QAEpE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;YAEpD,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,IAAI,CAAC,SAAS,CAAC,CAAA;YACjB,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxD,MAAM,OAAO,GAAG,IAAA,qBAAM,EAAC,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;gBACnE,MAAM,aAAa,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAA;gBAClD,MAAM,YAAY,GAAG,IAAA,0BAAgB,EAAC,aAAa,CAAC,CAAA;gBACpD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;gBACtD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBAE9C,mCAAmC;gBACnC,oEAAoE;gBACpE,MAAM,qBAAqB,GAAG,SAAS,CAAC,GAAG,EAAG,CAAA;gBAC9C,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,qBAAqB,CAAC,CAAA;gBAC5C,MAAM,wBAAwB,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAA;gBAC5E,MAAM,WAAW,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAA;gBAEvE,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,wBAAwB,EAAE,YAAY,EAAE,CAAC,CAAA;YAChF,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,CAAA;IACb,OAAO,MAAM,CAAA;AACf,CAAC;AAhCD,wBAgCC;AAED,0CAA0C;AAC1C,8BAA8B;AAC9B,oCAAoC"}

@@ -17,3 +17,3 @@ interface QueryResult {

*/
export declare function searchPage(token: string, databaseId: string, fileNameColumn: string | undefined, tagsColumn: string | undefined, title: string, tags: Array<string>): Promise<QueryResult>;
export declare function searchPage(token: string, databaseId: string, fileNameColumn: string | undefined, tagsColumn: string | undefined, title: string, tags: string[]): Promise<QueryResult>;
export {};

@@ -22,4 +22,4 @@ "use strict";

multi_select: {
contains: tag,
},
contains: tag
}
}));

@@ -35,8 +35,8 @@ // Perform the database query with the specified filters

rich_text: {
equals: title,
},
equals: title
}
},
...tagFilters,
],
},
...tagFilters
]
}
});

@@ -43,0 +43,0 @@ return response;

@@ -1,1 +0,1 @@

{"version":3,"file":"searchPage.js","sourceRoot":"","sources":["../src/searchPage.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;AAS1C;;;;;;;;;;GAUG;AACI,KAAK,UAAU,UAAU,CAC9B,KAAa,EACb,UAAkB,EAClB,iBAAyB,OAAO,EAChC,aAAqB,MAAM,EAC3B,KAAa,EACb,IAAmB;IAEnB,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAE3C,mDAAmD;IACnD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,QAAQ,EAAE,UAAU;QACpB,YAAY,EAAE;YACZ,QAAQ,EAAE,GAAG;SACd;KACF,CAAC,CAAC,CAAC;IAEJ,wDAAwD;IACxD,IAAI;QACF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;YAC5C,WAAW,EAAE,UAAU;YACvB,MAAM,EAAE;gBACN,GAAG,EAAE;oBACH;wBACE,QAAQ,EAAE,cAAc;wBACxB,SAAS,EAAE;4BACT,MAAM,EAAE,KAAK;yBACd;qBACF;oBACD,GAAG,UAAU;iBACd;aACF;SACF,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;KACjB;IAAC,OAAO,KAAK,EAAE;QACd,mDAAmD;QACnD,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,KAAK,CAAC;KACb;AACH,CAAC;AAzCD,gCAyCC"}
{"version":3,"file":"searchPage.js","sourceRoot":"","sources":["../src/searchPage.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AASzC;;;;;;;;;;GAUG;AACI,KAAK,UAAU,UAAU,CAC9B,KAAa,EACb,UAAkB,EAClB,iBAAyB,OAAO,EAChC,aAAqB,MAAM,EAC3B,KAAa,EACb,IAAc;IAEd,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IAE1C,mDAAmD;IACnD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,QAAQ,EAAE,UAAU;QACpB,YAAY,EAAE;YACZ,QAAQ,EAAE,GAAG;SACd;KACF,CAAC,CAAC,CAAA;IAEH,wDAAwD;IACxD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;YAC5C,WAAW,EAAE,UAAU;YACvB,MAAM,EAAE;gBACN,GAAG,EAAE;oBACH;wBACE,QAAQ,EAAE,cAAc;wBACxB,SAAS,EAAE;4BACT,MAAM,EAAE,KAAK;yBACd;qBACF;oBACD,GAAG,UAAU;iBACd;aACF;SACF,CAAC,CAAA;QAEF,OAAO,QAAQ,CAAA;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,mDAAmD;QACnD,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAA;QAC3D,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC;AAzCD,gCAyCC"}
{
"name": "markdown2notion",
"version": "1.1.0",
"version": "1.1.1",
"description": "Convert markdown files to notion database. The folder structure is also fully represented as tags in notion.",

@@ -26,4 +26,6 @@ "author": "Rujuu",

"scripts": {
"lint": "eslint --fix 'src/**/*.ts'",
"build": "yarn run tsc"
"lint": "eslint --fix '{src,__tests__}/**/*.ts'",
"build": "yarn run tsc",
"test": "jest",
"test:coverage": "jest --coverage"
},

@@ -37,10 +39,16 @@ "dependencies": {

"devDependencies": {
"@typescript-eslint/eslint-plugin": "^5.43.0",
"@types/jest": "^29.5.12",
"@typescript-eslint/eslint-plugin": "^7.0.1",
"@typescript-eslint/parser": "^7.8.0",
"dotenv": "^16.0.3",
"eslint": "^8.0.1",
"eslint-config-standard-with-typescript": "^34.0.1",
"eslint-config-love": "^47.0.0",
"eslint-config-standard-with-typescript": "^43.0.1",
"eslint-plugin-import": "^2.25.2",
"eslint-plugin-jest": "^28.5.0",
"eslint-plugin-n": "^15.0.0",
"eslint-plugin-promise": "^6.0.0"
"eslint-plugin-promise": "^6.0.0",
"jest": "^29.7.0",
"ts-jest": "^29.1.2"
}
}
# markdown2notion
[![npm version](https://badge.fury.io/js/markdown2notion.svg)](https://badge.fury.io/js/markdown2notion) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![npm version](https://badge.fury.io/js/markdown2notion.svg)](https://badge.fury.io/js/markdown2notion) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![codecov](https://codecov.io/github/Rujuu-prog/markdown2notion/graph/badge.svg?token=YFLLMR17EB)](https://codecov.io/github/Rujuu-prog/markdown2notion)

@@ -191,2 +191,1 @@ Convert markdown files to notion database. The folder structure is also fully represented as tags in notion.

MIT