{"id":19194989,"url":"https://github.com/rujuu-prog/markdown2notion","last_synced_at":"2025-05-08T22:44:25.464Z","repository":{"id":148518459,"uuid":"620196074","full_name":"Rujuu-prog/markdown2notion","owner":"Rujuu-prog","description":"🔀 Convert markdown files to notion database. The folder structure is also fully represented as tags in notion.","archived":false,"fork":false,"pushed_at":"2025-04-13T16:51:49.000Z","size":834,"stargazers_count":7,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-08T22:44:19.308Z","etag":null,"topics":["javascript","markdown","notion","notion-api","npm","npm-module","oss","typescript"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/markdown2notion","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Rujuu-prog.png","metadata":{"files":{"readme":"README-JP.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-03-28T08:03:21.000Z","updated_at":"2025-04-13T16:51:48.000Z","dependencies_parsed_at":"2024-05-16T18:48:48.422Z","dependency_job_id":"91192291-8271-4e7a-b755-d51d1aa1fe5e","html_url":"https://github.com/Rujuu-prog/markdown2notion","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rujuu-prog%2Fmarkdown2notion","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rujuu-prog%2Fmarkdown2notion/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rujuu-prog%2Fmarkdown2notion/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rujuu-prog%2Fmarkdown2notion/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Rujuu-prog","download_url":"https://codeload.github.com/Rujuu-prog/markdown2notion/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253160727,"owners_count":21863624,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","markdown","notion","notion-api","npm","npm-module","oss","typescript"],"created_at":"2024-11-09T12:07:36.560Z","updated_at":"2025-05-08T22:44:25.444Z","avatar_url":"https://github.com/Rujuu-prog.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# markdown2notion\n[![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)\n\nnotionのDBにmarkdownファイルを変換するツールです。フォルダ構造もタグとして表現されます。\n\n\u003e notionのtokenの発行方法やDBとの紐付けかたは[こちら](https://developers.notion.com/docs/getting-started)を参照してください。\n\n## 🔗 リンク\nEnglish👉[README.md](https://github.com/Rujuu-prog/markdownToNotion/blob/main/README.md)\n\n## 🔽 インストール方法\n\n```bash\nnpm install markdown2notion\n```\n\n```bash\nyarn add markdown2notion\n```\n\n## 🔧 使い方\n\njavascriptとtypescriptで使えます。\n\n### markdownToNotion()\n\n```typescript\nimport {markdownToNotion} from 'markdown2notion'\n\n\n\nasync function main(){\n    try{\n        await markdownToNotion(\n        'notion_token', \n        'notion database id', \n        'markdownファイルが入っているフォルダのパス',\n        'ファイル名を表示するnotionの列名。 デフォルトはTitle', \n        'タグとしてフォルダ名を表示する列名。 デフォルトはTags')\n    } catch (error) {\n        console.error(error);\n    }\n}\n```\n\n### searchPage()\n\n\u003e ページのURLはmarkdownToNotion()を使うたびに変更されるため、URLを使って何かしたい場合は、この関数でページのURLを取得してください。\n  \n  ```typescript\n  import {searchPage} from 'markdown2notion'\n\n  async function main(){\n    try{\n        const result = await searchPage(\n        'notion token',\n        'notion database id',\n        'ファイル名を表示するnotionの列名。 デフォルトはTitle', \n        'タグとしてフォルダ名を表示する列名。 デフォルトはTags'\n        '検索したいファイル名',\n        '検索したいファイルが入っているフォルダ名。配列で指定。'\n        )\n        // 同じファイル名のファイルが存在している場合、複数のページが返ってきます。\n        console.log(result)// notionのpageのobjectが返ってきます。urlはresult['results'][0]['url']とかで取れます。\n    } catch (error) {\n        console.error(error)\n    }\n  }\n  ```\n\n\n## 🔰 使用例\n\n### 🔽markdownToNotion()\n\n### フォルダ構成\n\n```bash\n├── docs\n│   ├── sample1\n│   │   ├── sample1_1\n│   │   │   ├── sampleContent1_1.md\n│   │   ├── sampleContent1.md\n│   ├── sample2\n│   │   ├── sampleContent2.md\n├── src\n│   ├── index.ts\n├── .env\n```\n\n### notion DB\n\n![](https://user-images.githubusercontent.com/81368541/228247308-30b798e0-b029-4d21-9a91-9d045f11997f.png)\n\n### マークダウンファイルのサンプル\n[Sample Markdown Folder](https://github.com/Rujuu-prog/markdown2notion/tree/main/sample/docs)\n\n### index.ts\n\n```typescript\nimport {markdownToNotion} from 'markdown2notion'\nimport * as dotenv from 'dotenv'\n\nasync function main() {\n    dotenv.config()\n    const token = process.env.NOTION_TOKEN\n    const databaseId = process.env.NOTION_DATABASE_ID\n    try {\n      await markdownToNotion(token, databaseId, 'docs', 'Title', 'Tags');\n    } catch (error) {\n      console.error(error);\n    }\n}\n\nmain()\n```\n\n### .env\n\n```.env\nNOTION_TOKEN=secret_xxxxxxxxxxxxxx\nNOTION_DATABASE_ID=xxxxxxxxxxxxxxx\n```\n\n### index.tsの実行結果\nフォルダ構造がタグとして表現されます。\n![](https://user-images.githubusercontent.com/81368541/228250770-6c9912c6-bc2f-401c-967a-76e7ae15117a.png)\n\nタグでフィルタリングすることで、見たいファイルをすぐに探すことができます。\n![](https://user-images.githubusercontent.com/81368541/228253068-aa17bc25-5401-43c1-8ecc-d98f6a5c1ab9.png)\n\n### 🔽searchPage()\n\n### index.ts\n\n```typescript\nimport {searchPage} from 'markdown2notion'\nimport * as dotenv from 'dotenv'\n\nasync function main() {\n    dotenv.config()\n    const token = process.env.NOTION_TOKEN\n    const databaseId = process.env.NOTION_DATABASE_ID\n    const title = 'sampleContent1_1';\n    const tags = ['sample1_1'];\n\n    try {\n      const result = await searchPage(token, databaseId, 'Title', 'Tags', title, tags);\n      console.log(result['results'][0]['url']);\n    } catch (error) {\n      console.error('Error searching for page:', error);\n    }\n}\n\nmain()\n```\n\n### result\n\n```bash\n{\n  object: 'list',\n  results: [\n    {\n      object: 'page',\n      id: '33.....',\n      created_time: '2023-03-29T14:15:00.000Z',\n      last_edited_time: '2023-03-29T14:15:00.000Z',\n      created_by: [Object],\n      last_edited_by: [Object],\n      cover: null,\n      icon: null,\n      parent: [Object],\n      archived: false,\n      properties: [Object],\n      url: 'https://www.notion.so/sampleContent1_1-33...'\n    }\n  ],\n  next_cursor: null,\n  has_more: false,\n  type: 'page',\n  page: {}\n}\n```\n\n\n\u003ch2 style=\"color:red;\"\u003e👀 注意点\u003c/h2\u003e\n操作対象のnotionのDB上に、ファイル名と同じページがある場合は上書きされます。\n\n## ライセンス\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frujuu-prog%2Fmarkdown2notion","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frujuu-prog%2Fmarkdown2notion","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frujuu-prog%2Fmarkdown2notion/lists"}