From bc0c94b874fa287a21876f621d7a5ceb158caab1 Mon Sep 17 00:00:00 2001 From: younho9 Date: Wed, 2 Dec 2020 18:18:12 +0900 Subject: [PATCH 01/26] feat: Remove docsDir and filters from config --- narkdown.config.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/narkdown.config.json b/narkdown.config.json index 26303c3..16cd5c0 100644 --- a/narkdown.config.json +++ b/narkdown.config.json @@ -1,6 +1,5 @@ { "exportConfig": { - "docsDirectory": "./docs/v1.2.1/", "recursiveExport": true, "createPageDirectory": true, "addMetadata": false, @@ -14,7 +13,6 @@ "createdTimeColumnName": "Created Time", "statusColumnName": "Status", "currentStatus": "โœ… Completed", - "nextStatus": "๐Ÿ–จ Published", - "filters": {} + "nextStatus": "๐Ÿ–จ Published" } } From 97ca484c7aaca05aaa140fe75989b1d5779a358a Mon Sep 17 00:00:00 2001 From: younho9 Date: Wed, 2 Dec 2020 18:18:43 +0900 Subject: [PATCH 02/26] chore(deps): Update narkdown@v1.2.3 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 721ba94..56bf8f8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1 @@ -narkdown==1.2.1 +narkdown==1.2.3 From 83314668f7c8250de339b713605b99523f734eac Mon Sep 17 00:00:00 2001 From: younho9 Date: Wed, 2 Dec 2020 18:20:17 +0900 Subject: [PATCH 03/26] feat: Update notion2github workflow --- .github/workflows/notion2github.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/notion2github.yml b/.github/workflows/notion2github.yml index 75689aa..8a85cd0 100644 --- a/.github/workflows/notion2github.yml +++ b/.github/workflows/notion2github.yml @@ -1,7 +1,7 @@ name: Notion2Github on: schedule: - - cron: "0 14 * * *" + - cron: '0 14 * * *' jobs: automatic-syncronization-from-notion-to-github: runs-on: ubuntu-latest @@ -12,7 +12,10 @@ jobs: - name: Notion2Github uses: ./ with: - database-url: "https://www.notion.so/acc3dfd0339e4cacb5baae8673fddfad" + database-url: 'https://www.notion.so/acc3dfd0339e4cacb5baae8673fddfad' + docs-directory: docs + filter-prop: โœ… Completed + filter-value: ๐Ÿ–จ Published env: NOTION_TOKEN: ${{ secrets.NOTION_TOKEN }} @@ -20,6 +23,6 @@ jobs: uses: creyD/prettier_action@v3.1 with: prettier_options: --write ./docs/**/*.md - commit_message: "docs: Update docs (auto)" + commit_message: 'docs: Update docs (auto)' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 6ae58f9673a4c6c9a8e8674fb3b507bc09302d9f Mon Sep 17 00:00:00 2001 From: younho9 Date: Wed, 2 Dec 2020 18:21:11 +0900 Subject: [PATCH 04/26] feat: Update inputs --- action.yml | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/action.yml b/action.yml index 267de02..3b1d33b 100644 --- a/action.yml +++ b/action.yml @@ -8,11 +8,29 @@ inputs: database-url: description: URL of the notion database to extract. required: true + docs-directory: + description: Directory in which the notion pages to extract will be stored. + required: false + default: 'docs' + filter-prop: + description: Property of the filter to apply to the notion database. + required: false + default: '' + filter-value: + description: Value of the filter to apply to the notion database. + required: false + default: '' runs: - using: "docker" - image: "Dockerfile" + using: 'docker' + image: 'Dockerfile' args: - --url - ${{ inputs.database-url }} + - --docs-directory + - ${{ inputs.docs-directory }} + - --filter-prop + - ${{ inputs.filter-prop }} + - --filter-value + - ${{ inputs.filter-value }} - --is-database From 5891e5f060a2aee1ebbbb7e7a16e8eaa694bd2d5 Mon Sep 17 00:00:00 2001 From: younho9 Date: Wed, 2 Dec 2020 18:25:55 +0900 Subject: [PATCH 05/26] fix: Correct invalid filter values --- .github/workflows/notion2github.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/notion2github.yml b/.github/workflows/notion2github.yml index 8a85cd0..aefd625 100644 --- a/.github/workflows/notion2github.yml +++ b/.github/workflows/notion2github.yml @@ -14,8 +14,8 @@ jobs: with: database-url: 'https://www.notion.so/acc3dfd0339e4cacb5baae8673fddfad' docs-directory: docs - filter-prop: โœ… Completed - filter-value: ๐Ÿ–จ Published + # filter-prop: Category + # filter-value: Test env: NOTION_TOKEN: ${{ secrets.NOTION_TOKEN }} From c909206979e1e91c8ed5365d42779708a7e29eb7 Mon Sep 17 00:00:00 2001 From: younho9 Date: Thu, 3 Dec 2020 00:47:10 +0900 Subject: [PATCH 06/26] chore: Rename workflow job --- .github/workflows/notion2github.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/notion2github.yml b/.github/workflows/notion2github.yml index aefd625..d222c88 100644 --- a/.github/workflows/notion2github.yml +++ b/.github/workflows/notion2github.yml @@ -3,7 +3,7 @@ on: schedule: - cron: '0 14 * * *' jobs: - automatic-syncronization-from-notion-to-github: + auto-sync-from-notion-to-github: runs-on: ubuntu-latest steps: - name: Checkout code From 037a77a3c074336a0db521c72a17a6d09c528c8f Mon Sep 17 00:00:00 2001 From: younho9 Date: Thu, 3 Dec 2020 01:09:50 +0900 Subject: [PATCH 07/26] feat: Update workflow trigger --- .github/workflows/notion2github.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/notion2github.yml b/.github/workflows/notion2github.yml index d222c88..f7b2d7e 100644 --- a/.github/workflows/notion2github.yml +++ b/.github/workflows/notion2github.yml @@ -1,7 +1,8 @@ name: Notion2Github on: - schedule: - - cron: '0 14 * * *' + push: + branches: + - 'test/**' jobs: auto-sync-from-notion-to-github: runs-on: ubuntu-latest @@ -13,7 +14,7 @@ jobs: uses: ./ with: database-url: 'https://www.notion.so/acc3dfd0339e4cacb5baae8673fddfad' - docs-directory: docs + docs-directory: docs/test # filter-prop: Category # filter-value: Test env: From f84378c85bb707c9a6a7f6f2b215290961284214 Mon Sep 17 00:00:00 2001 From: younho9 Date: Thu, 3 Dec 2020 01:25:51 +0900 Subject: [PATCH 08/26] chore: Specify action naming --- .github/workflows/notion2github.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/notion2github.yml b/.github/workflows/notion2github.yml index f7b2d7e..c97fbf8 100644 --- a/.github/workflows/notion2github.yml +++ b/.github/workflows/notion2github.yml @@ -11,7 +11,7 @@ jobs: uses: actions/checkout@v2 - name: Notion2Github - uses: ./ + uses: younho9/notion2github@v1.0.0-beta with: database-url: 'https://www.notion.so/acc3dfd0339e4cacb5baae8673fddfad' docs-directory: docs/test From 2c33765b9ff4e32e794b11f6a84759cef0e162e3 Mon Sep 17 00:00:00 2001 From: younho9 Date: Thu, 3 Dec 2020 02:14:21 +0900 Subject: [PATCH 09/26] docs: Update README.md --- README.md | 157 +++++++++++++++++++++++++++++++++ docs/images/logo.png | Bin 0 -> 6550 bytes docs/images/readme-image-0.png | Bin 0 -> 101486 bytes docs/images/readme-image-1.png | Bin 0 -> 17979 bytes 4 files changed, 157 insertions(+) create mode 100644 docs/images/logo.png create mode 100644 docs/images/readme-image-0.png create mode 100644 docs/images/readme-image-1.png diff --git a/README.md b/README.md index 83a8931..e5bba23 100644 --- a/README.md +++ b/README.md @@ -1 +1,158 @@ +Notion2Github + # Notion2Github + +[![GitHub Action: View on Marketplace](https://img.shields.io/badge/GitHub%20Action-View_on_Marketplace-blue?style=flat-square&logo=github)](https://github.com/marketplace/actions/notion2github) +[![Demo: available](https://img.shields.io/badge/Demo-available-orange?style=flat-square)](.github/workflows/notion2github.yml) +[![Version: v1.0.0-beta](https://img.shields.io/badge/Version-v1.0.0--beta-brightgreen?style=flat-square)](https://github.com/younho9/narkdown/releases/tag/v1.0.0-beta) +[![license: MIT](https://img.shields.io/badge/license-MIT-yellow.svg?style=flat-square)](./LICENSE) + +**Automatic syncronization from Notion to Github** + +--- + +> โš ๏ธ **NOTE:** Narkdown is dependent on [notion-py](https://github.com/jamalex/notion-py), the **_unofficial_** Notion API created by [Jamie Alexandre](https://github.com/jamalex). +> It can not gurantee it will stay stable. If you need to use in production, I recommend waiting for their official release. + +--- + +## Usage + +### Using encrypted token_v2 in a workflow + +
+ notion2github-image-0 +
+ +The `token_v2` is required to get contents from Notion. The `token_v2` of notion is a variable that should not be shared. So you can use encrypted secrets in your repository. + +For more information, See ["Using encrypted secrets in a workflow"](https://docs.github.com/en/free-pro-team@latest/actions/reference/encrypted-secrets#using-encrypted-secrets-in-a-workflow) + +| Name | Description | Required | Default | +| ---------------- | -------------------------------------------------------------- | ---------- | -------- | +| `database-url` | URL of the Notion database to extract. | `required` | | +| `docs-directory` | Directory in which the Notion pages to extract will be stored. | | `"docs"` | +| `filter-prop` | Property of the filter to apply to the notion database. | | `""` | +| `filter-value` | Value of the filter to apply to the notion database. | | `""` | + +### Database template page for test + +Here is an [database template page](/acc3dfd0339e4cacb5baae8673fddfad?v=be43c1c8dd644cfb9df9efd97d8af60a) for importing pages from the database. Move to that page, duplicate it, and test it. + +
+ notion2github-image-1 +
+ +### Example Workflow + +Create workflow in `.github/workflows/**.yml` + +#### Example 1 (run on push & pull request in main) + +```yaml +name: Notion2Github +on: + pull_request: + push: + branches: + - main +jobs: + auto-sync-from-notion-to-github: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Notion2Github + uses: younho9/notion2github@v1.0.0-beta + with: + database-url: 'https://www.notion.so/acc3dfd0339e4cacb5baae8673fddfad' + docs-directory: docs/test + filter-prop: Category + filter-value: Test + env: + NOTION_TOKEN: ${{ secrets.NOTION_TOKEN }} + + - name: Format documents + uses: creyD/prettier_action@v3.1 + with: + prettier_options: --write ./docs/**/*.md + commit_message: 'docs: Update docs (auto)' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +``` + +#### Example 2 (scheduled) + +```yaml +name: Notion2Github +on: + schedule: + - cron: '0 14 * * *' +jobs: + auto-sync-from-notion-to-github: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Notion2Github + uses: younho9/notion2github@v1.0.0-beta + with: + database-url: 'https://www.notion.so/acc3dfd0339e4cacb5baae8673fddfad' + docs-directory: docs/test + filter-prop: Category + filter-value: Test + env: + NOTION_TOKEN: ${{ secrets.NOTION_TOKEN }} + + - name: Format documents + uses: creyD/prettier_action@v3.1 + with: + prettier_options: --write ./docs/**/*.md + commit_message: 'docs: Update docs (auto)' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +``` + +> [Useful site for crontab setting](https://crontab.guru/) + +### Live examples + +- [younho9/narkdown](https://github.com/younho9/narkdown/blob/main/.github/workflows/notion2github.yml) + +- [younho9/TIL](https://github.com/younho9/til/blob/main/.github/workflows/notion2github.yml) + +## Configuring Narkdown + +Narkdown provides some configuration for how to extract documents. You can configure Narkdown via `narkdown.config.json` . + +Create `narkdown.config.json` in root directory of your repository. + +For more information on configure your environment, [see the document in Nakdown](https://github.com/younho9/narkdown#configuring-narkdown). + +```json +// narkdown.config.json +{ + "exportConfig": { + "recursiveExport": true, + "createPageDirectory": true, + "addMetadata": false, + "lowerPathname": false, + "lowerFilename": false, + "lineBreak": false + }, + "databaseConfig": { + "categoryColumnName": "Category", + "tagsColumnName": "Tags", + "createdTimeColumnName": "Created Time", + "statusColumnName": "Status", + "currentStatus": "โœ… Completed", + "nextStatus": "๐Ÿ–จ Published" + } +} +``` + +### License + +MIT ยฉ [younho9](https://github.com/younho9) diff --git a/docs/images/logo.png b/docs/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1773409609d2542408e65f463dbb11639161e5f0 GIT binary patch literal 6550 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 L`Pou^T+Dv~q^)F7 literal 0 HcmV?d00001 diff --git a/docs/images/readme-image-0.png b/docs/images/readme-image-0.png new file mode 100644 index 0000000000000000000000000000000000000000..2961de74d18c4ba0375548d07eea27f1d700dc8b GIT binary patch literal 101486 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/images/readme-image-1.png b/docs/images/readme-image-1.png new file mode 100644 index 0000000000000000000000000000000000000000..915352eb79162488f21b64867a74b83461bfcd42 GIT binary patch literal 17979 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 EKLWyo<^TWy literal 0 HcmV?d00001 From 2106364a4d89fa2e0a735db7b3bb1dd2fe6db592 Mon Sep 17 00:00:00 2001 From: younho9 Date: Thu, 3 Dec 2020 02:21:58 +0900 Subject: [PATCH 10/26] docs: Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index e5bba23..14d5152 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,8 @@ The `token_v2` is required to get contents from Notion. The `token_v2` of notion For more information, See ["Using encrypted secrets in a workflow"](https://docs.github.com/en/free-pro-team@latest/actions/reference/encrypted-secrets#using-encrypted-secrets-in-a-workflow) +### Parameters + | Name | Description | Required | Default | | ---------------- | -------------------------------------------------------------- | ---------- | -------- | | `database-url` | URL of the Notion database to extract. | `required` | | From e9506404a4f1dfa6f254b018d22d036820b45bff Mon Sep 17 00:00:00 2001 From: younho9 Date: Thu, 3 Dec 2020 02:27:00 +0900 Subject: [PATCH 11/26] chore: Reflect version update --- .github/workflows/notion2github.yml | 2 +- README.md | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/notion2github.yml b/.github/workflows/notion2github.yml index c97fbf8..fc9a8e4 100644 --- a/.github/workflows/notion2github.yml +++ b/.github/workflows/notion2github.yml @@ -11,7 +11,7 @@ jobs: uses: actions/checkout@v2 - name: Notion2Github - uses: younho9/notion2github@v1.0.0-beta + uses: younho9/notion2github@v1 with: database-url: 'https://www.notion.so/acc3dfd0339e4cacb5baae8673fddfad' docs-directory: docs/test diff --git a/README.md b/README.md index 14d5152..8915262 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![GitHub Action: View on Marketplace](https://img.shields.io/badge/GitHub%20Action-View_on_Marketplace-blue?style=flat-square&logo=github)](https://github.com/marketplace/actions/notion2github) [![Demo: available](https://img.shields.io/badge/Demo-available-orange?style=flat-square)](.github/workflows/notion2github.yml) -[![Version: v1.0.0-beta](https://img.shields.io/badge/Version-v1.0.0--beta-brightgreen?style=flat-square)](https://github.com/younho9/narkdown/releases/tag/v1.0.0-beta) +[![Version: v1.0.1](https://img.shields.io/badge/Version-v1.0.1-brightgreen?style=flat-square)](https://github.com/younho9/narkdown/releases/tag/v1.0.1) [![license: MIT](https://img.shields.io/badge/license-MIT-yellow.svg?style=flat-square)](./LICENSE) **Automatic syncronization from Notion to Github** @@ -66,7 +66,7 @@ jobs: uses: actions/checkout@v2 - name: Notion2Github - uses: younho9/notion2github@v1.0.0-beta + uses: younho9/notion2github@v1 with: database-url: 'https://www.notion.so/acc3dfd0339e4cacb5baae8673fddfad' docs-directory: docs/test @@ -99,7 +99,7 @@ jobs: uses: actions/checkout@v2 - name: Notion2Github - uses: younho9/notion2github@v1.0.0-beta + uses: younho9/notion2github@v1 with: database-url: 'https://www.notion.so/acc3dfd0339e4cacb5baae8673fddfad' docs-directory: docs/test From e02abc40396401b2a72e0f52bdd4bed28db112e2 Mon Sep 17 00:00:00 2001 From: younho9 Date: Thu, 3 Dec 2020 02:32:36 +0900 Subject: [PATCH 12/26] docs: Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8915262..0c68ffb 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![GitHub Action: View on Marketplace](https://img.shields.io/badge/GitHub%20Action-View_on_Marketplace-blue?style=flat-square&logo=github)](https://github.com/marketplace/actions/notion2github) [![Demo: available](https://img.shields.io/badge/Demo-available-orange?style=flat-square)](.github/workflows/notion2github.yml) -[![Version: v1.0.1](https://img.shields.io/badge/Version-v1.0.1-brightgreen?style=flat-square)](https://github.com/younho9/narkdown/releases/tag/v1.0.1) +[![Version: v1.0.1](https://img.shields.io/badge/Version-v1.0.1-brightgreen?style=flat-square)](https://github.com/younho9/notion2github/releases/tag/v1.0.1) [![license: MIT](https://img.shields.io/badge/license-MIT-yellow.svg?style=flat-square)](./LICENSE) **Automatic syncronization from Notion to Github** From f7c864634e53e18c1f5178ffa43c196d58a29e3a Mon Sep 17 00:00:00 2001 From: younho9 Date: Thu, 3 Dec 2020 03:13:55 +0900 Subject: [PATCH 13/26] docs: Update README.md --- README.md | 54 ++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 34 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 0c68ffb..0af4109 100644 --- a/README.md +++ b/README.md @@ -18,32 +18,21 @@ ## Usage -### Using encrypted token_v2 in a workflow +### Quick Start -
- notion2github-image-0 -
+1. Go to `github.com/{your_id}/{your_repo}/settings/secrets/actions` -The `token_v2` is required to get contents from Notion. The `token_v2` of notion is a variable that should not be shared. So you can use encrypted secrets in your repository. +2. Set `token_v2` of Notion to your repository secret. -For more information, See ["Using encrypted secrets in a workflow"](https://docs.github.com/en/free-pro-team@latest/actions/reference/encrypted-secrets#using-encrypted-secrets-in-a-workflow) + ![notion2github-image-0](docs/images/readme-image-0.png) -### Parameters + [How To Find Your Notion v2 Token - Red Gregory](https://www.redgregory.com/notion/2020/6/15/9zuzav95gwzwewdu1dspweqbv481s5) -| Name | Description | Required | Default | -| ---------------- | -------------------------------------------------------------- | ---------- | -------- | -| `database-url` | URL of the Notion database to extract. | `required` | | -| `docs-directory` | Directory in which the Notion pages to extract will be stored. | | `"docs"` | -| `filter-prop` | Property of the filter to apply to the notion database. | | `""` | -| `filter-value` | Value of the filter to apply to the notion database. | | `""` | + [Encrypted secrets](https://docs.github.com/en/free-pro-team@latest/actions/reference/encrypted-secrets#using-encrypted-secrets-in-a-workflow) -### Database template page for test +3. Create workflow to `.github/workflows/**.yml` -Here is an [database template page](/acc3dfd0339e4cacb5baae8673fddfad?v=be43c1c8dd644cfb9df9efd97d8af60a) for importing pages from the database. Move to that page, duplicate it, and test it. - -
- notion2github-image-1 -
+Here is examples. ### Example Workflow @@ -125,7 +114,26 @@ jobs: - [younho9/TIL](https://github.com/younho9/til/blob/main/.github/workflows/notion2github.yml) -## Configuring Narkdown +## Database template page for test + +Here is an [database template page](/acc3dfd0339e4cacb5baae8673fddfad?v=be43c1c8dd644cfb9df9efd97d8af60a) for importing pages from the database. Move to that page, duplicate it, and test it. + +
+ notion2github-image-1 +
+ +## Configuration + +### Parameters + +| Name | Description | Required | Default | +| ---------------- | -------------------------------------------------------------- | ---------- | -------- | +| `database-url` | URL of the Notion database to extract. | `required` | | +| `docs-directory` | Directory in which the Notion pages to extract will be stored. | | `"docs"` | +| `filter-prop` | Property of the filter to apply to the notion database. | | `""` | +| `filter-value` | Value of the filter to apply to the notion database. | | `""` | + +### Configuring Narkdown Narkdown provides some configuration for how to extract documents. You can configure Narkdown via `narkdown.config.json` . @@ -155,6 +163,12 @@ For more information on configure your environment, [see the document in Nakdown } ``` +### Used in combination with other actions + +Notion2Github is a step in the workflow, just import the contents of notion to a running virtual machine in github action. + +There are great actions to commit the imported content to your repository. + ### License MIT ยฉ [younho9](https://github.com/younho9) From 300d37809053800fe503e9c3f1bbbab8f26b2775 Mon Sep 17 00:00:00 2001 From: younho9 Date: Thu, 3 Dec 2020 12:42:46 +0900 Subject: [PATCH 14/26] docs: Add README.ko.md --- README.md | 22 +++--- docs/README.ko.md | 173 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 184 insertions(+), 11 deletions(-) create mode 100644 docs/README.ko.md diff --git a/README.md b/README.md index 0af4109..bc32d23 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,8 @@ [![Version: v1.0.1](https://img.shields.io/badge/Version-v1.0.1-brightgreen?style=flat-square)](https://github.com/younho9/notion2github/releases/tag/v1.0.1) [![license: MIT](https://img.shields.io/badge/license-MIT-yellow.svg?style=flat-square)](./LICENSE) +| [English](/README.md) | [ํ•œ๊ตญ์–ด](/docs/README.ko.md) | + **Automatic syncronization from Notion to Github** --- @@ -30,14 +32,12 @@ [Encrypted secrets](https://docs.github.com/en/free-pro-team@latest/actions/reference/encrypted-secrets#using-encrypted-secrets-in-a-workflow) -3. Create workflow to `.github/workflows/**.yml` +3. Create a workflow in `.github/workflows/**.yml` of your repository -Here is examples. +Here are examples. ### Example Workflow -Create workflow in `.github/workflows/**.yml` - #### Example 1 (run on push & pull request in main) ```yaml @@ -58,9 +58,7 @@ jobs: uses: younho9/notion2github@v1 with: database-url: 'https://www.notion.so/acc3dfd0339e4cacb5baae8673fddfad' - docs-directory: docs/test - filter-prop: Category - filter-value: Test + docs-directory: docs env: NOTION_TOKEN: ${{ secrets.NOTION_TOKEN }} @@ -91,9 +89,7 @@ jobs: uses: younho9/notion2github@v1 with: database-url: 'https://www.notion.so/acc3dfd0339e4cacb5baae8673fddfad' - docs-directory: docs/test - filter-prop: Category - filter-value: Test + docs-directory: docs env: NOTION_TOKEN: ${{ secrets.NOTION_TOKEN }} @@ -116,7 +112,7 @@ jobs: ## Database template page for test -Here is an [database template page](/acc3dfd0339e4cacb5baae8673fddfad?v=be43c1c8dd644cfb9df9efd97d8af60a) for importing pages from the database. Move to that page, duplicate it, and test it. +Here is an [database template page](https://www.notion.so/acc3dfd0339e4cacb5baae8673fddfad?v=be43c1c8dd644cfb9df9efd97d8af60a) for importing pages from the database. Move to that page, duplicate it, and test it.
notion2github-image-1 @@ -169,6 +165,10 @@ Notion2Github is a step in the workflow, just import the contents of notion to a There are great actions to commit the imported content to your repository. +- [Git Auto Commit - GitHub Marketplace](https://github.com/marketplace/actions/git-auto-commit) + +- [Prettier Action - GitHub Marketplace](https://github.com/marketplace/actions/prettier-action) + ### License MIT ยฉ [younho9](https://github.com/younho9) diff --git a/docs/README.ko.md b/docs/README.ko.md new file mode 100644 index 0000000..7cd20b2 --- /dev/null +++ b/docs/README.ko.md @@ -0,0 +1,173 @@ +Notion2Github + +# Notion2Github + +[![GitHub Action: View on Marketplace](https://img.shields.io/badge/GitHub%20Action-View_on_Marketplace-blue?style=flat-square&logo=github)](https://github.com/marketplace/actions/notion2github) +[![Demo: available](https://img.shields.io/badge/Demo-available-orange?style=flat-square)](.github/workflows/notion2github.yml) +[![Version: v1.0.1](https://img.shields.io/badge/Version-v1.0.1-brightgreen?style=flat-square)](https://github.com/younho9/notion2github/releases/tag/v1.0.1) +[![license: MIT](https://img.shields.io/badge/license-MIT-yellow.svg?style=flat-square)](./LICENSE) + +| [English](/README.md) | [ํ•œ๊ตญ์–ด](/docs/README.ko.md) | + +**๋…ธ์…˜์—์„œ ๊นƒํ—™์œผ๋กœ์˜ ์ž๋™ ๋™๊ธฐํ™”** + +--- + +> โš ๏ธ **์œ ์˜์‚ฌํ•ญ:** Notion2Github์€ [Jamie Alexandre](https://github.com/jamalex)์ด ๋งŒ๋“  **_๋น„๊ณต์‹_** ๋…ธ์…˜ API์ธ [notion-py](https://github.com/jamalex/notion-py) ํ”„๋กœ์ ํŠธ์— ์˜์กดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณต์‹ API๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์•ˆ์ •์ ์ด์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด, ๋…ธ์…˜ ๊ณต์‹ API ์ถœ์‹œ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค. + +--- + +## ์‚ฌ์šฉ๋ฒ• + +### ๋ฐ”๋กœ ์‹œ์ž‘ํ•˜๊ธฐ + +1. `github.com/{your_id}/{your_repo}/settings/secrets/actions` ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. + +1. ๋…ธ์…˜์˜ `token_v2` ๋ฅผ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ Secrets์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. + + ![notion2github-image-0](images/readme-image-0.png) + + [How To Find Your Notion v2 Token - Red Gregory](https://www.redgregory.com/notion/2020/6/15/9zuzav95gwzwewdu1dspweqbv481s5) + + [Encrypted secrets](https://docs.github.com/en/free-pro-team@latest/actions/reference/encrypted-secrets#using-encrypted-secrets-in-a-workflow) + +1. ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ `.github/workflows/**.yml` ํŒŒ์ผ์— ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. + +๋ช‡ ๊ฐ€์ง€ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค. + +### ์›Œํฌํ”Œ๋กœ์šฐ ์˜ˆ์ œ + +#### ์˜ˆ์ œ 1 (main ๋ธŒ๋žœ์น˜์— push & pull request ์‹œ์— ์‹คํ–‰) + +```yaml +name: Notion2Github +on: + pull_request: + push: + branches: + - main +jobs: + auto-sync-from-notion-to-github: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Notion2Github + uses: younho9/notion2github@v1 + with: + database-url: 'https://www.notion.so/acc3dfd0339e4cacb5baae8673fddfad' + docs-directory: docs + env: + NOTION_TOKEN: ${{ secrets.NOTION_TOKEN }} + + - name: Format documents + uses: creyD/prettier_action@v3.1 + with: + prettier_options: --write ./docs/**/*.md + commit_message: 'docs: Update docs (auto)' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +``` + +#### ์˜ˆ์ œ 2 (์ •ํ•ด์ง„ ์‹œ๊ฐ„์— ์‹คํ–‰) + +```yaml +name: Notion2Github +on: + schedule: + - cron: '0 14 * * *' +jobs: + auto-sync-from-notion-to-github: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Notion2Github + uses: younho9/notion2github@v1 + with: + database-url: 'https://www.notion.so/acc3dfd0339e4cacb5baae8673fddfad' + docs-directory: docs + env: + NOTION_TOKEN: ${{ secrets.NOTION_TOKEN }} + + - name: Format documents + uses: creyD/prettier_action@v3.1 + with: + prettier_options: --write ./docs/**/*.md + commit_message: 'docs: Update docs (auto)' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +``` + +> [ํฌ๋ก ํƒญ ์„ค์ •์— ์œ ์šฉํ•œ ์‚ฌ์ดํŠธ](https://crontab.guru/) + +### ์‹ค์‚ฌ์šฉ ์˜ˆ์ œ + +- [younho9/narkdown](https://github.com/younho9/narkdown/blob/main/.github/workflows/notion2github.yml) + +- [younho9/TIL](https://github.com/younho9/til/blob/main/.github/workflows/notion2github.yml) + +## ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…œํ”Œ๋ฆฟ ํŽ˜์ด์ง€ + +๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ๋ถ€ํ„ฐ ํŽ˜์ด์ง€๋“ค์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” [๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…œํ”Œ๋ฆฟ ํŽ˜์ด์ง€](https://www.notion.so/acc3dfd0339e4cacb5baae8673fddfad?v=be43c1c8dd644cfb9df9efd97d8af60a)๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. + +ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ด์„œ ๋ณต์ œํ•˜๊ณ  ํ…Œ์ŠคํŠธํ•ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +
+ notion2github-image-1 +
+ +## ํ™˜๊ฒฝ์„ค์ • + +| Name | Description | Required | Default | +| ---------------- | ------------------------------------------- | ---------- | -------- | +| `database-url` | ์ถ”์ถœํ•  ๋…ธ์…˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ URL | `required` | | +| `docs-directory` | ์ถ”์ถœ๋œ ๋…ธ์…˜ ํŽ˜์ด์ง€๋“ค์ด ์ €์žฅ๋  ๋””๋ ‰ํ† ๋ฆฌ | | `"docs"` | +| `filter-prop` | ๋…ธ์…˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ์šฉํ•  ํ•„ํ„ฐ์˜ ์†์„ฑ ์ด๋ฆ„ | | `""` | +| `filter-value` | ๋…ธ์…˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ์šฉํ•  ํ•„ํ„ฐ์˜ ๊ฐ’ ์ด๋ฆ„ | | `""` | + +### Narkdown ํ™˜๊ฒฝ์„ค์ • + +Narkdown์€ ๋ฌธ์„œ๋“ค์„ ์–ด๋–ป๊ฒŒ ์ถ”์ถœํ•  ๊ฒƒ์ธ์ง€์— ๋Œ€ํ•ด ๋ช‡๊ฐ€์ง€ ํ™˜๊ฒฝ์„ค์ •์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. `narkdown.config.json` ํŒŒ์ผ์„ ํ†ตํ•ด์„œ Narkdown์„ ํ™˜๊ฒฝ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ root์— `narkdown.config.json` ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜์„ธ์š”. + +ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ํ™˜๊ฒฝ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ๋ณด๋ ค๋ฉด [Narkdown์˜ ๋ฌธ์„œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”](https://github.com/younho9/narkdown#configuring-narkdown). + +```json +// narkdown.config.json +{ + "exportConfig": { + "recursiveExport": true, + "createPageDirectory": true, + "addMetadata": false, + "lowerPathname": false, + "lowerFilename": false, + "lineBreak": false + }, + "databaseConfig": { + "categoryColumnName": "Category", + "tagsColumnName": "Tags", + "createdTimeColumnName": "Created Time", + "statusColumnName": "Status", + "currentStatus": "โœ… Completed", + "nextStatus": "๐Ÿ–จ Published" + } +} +``` + +### ๋‹ค๋ฅธ ์•ก์…˜๊ณผ ์กฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉ + +Notion2Github์€ ์›Œํฌํ”Œ๋กœ์šฐ์˜ ํ•œ step์œผ๋กœ ๋‹จ์ง€ github action์œผ๋กœ ์‹คํ–‰๋˜๋Š” ๊ฐ€์ƒ ๋จธ์‹ ์œผ๋กœ ๋…ธ์…˜์˜ ์ฝ˜ํ…์ธ ๋“ค์„ ๊ฐ€์ ธ์˜ฌ ๋ฟ์ž…๋‹ˆ๋‹ค. + +๋…ธ์…˜์˜ ์ฝ˜ํ…์ธ ๋“ค์„ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋กœ ์ปค๋ฐ‹ํ•  ์ˆ˜ ์žˆ๋Š” ํ›Œ๋ฅญํ•œ action๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค. + +- [Git Auto Commit - GitHub Marketplace](https://github.com/marketplace/actions/git-auto-commit) + +- [Prettier Action - GitHub Marketplace](https://github.com/marketplace/actions/prettier-action) + +### License + +MIT ยฉ [younho9](https://github.com/younho9) From 77ff648f41d600e84ebe55feb0dba94057617f98 Mon Sep 17 00:00:00 2001 From: younho9 Date: Thu, 3 Dec 2020 13:46:56 +0900 Subject: [PATCH 15/26] chore(deps): Update narkdown@v1.2.4 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 56bf8f8..2d6d92c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1 @@ -narkdown==1.2.3 +narkdown==1.2.4 From f7d08b319d12a0c11f3d9038c46663ae603172bb Mon Sep 17 00:00:00 2001 From: younho9 Date: Thu, 3 Dec 2020 19:59:36 +0900 Subject: [PATCH 16/26] chore(deps): Update narkdown@v1.2.5 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 2d6d92c..091516a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1 @@ -narkdown==1.2.4 +narkdown==1.2.5 From 4b2bddb3737de52983de562847559987d494bdd1 Mon Sep 17 00:00:00 2001 From: younho9 Date: Thu, 3 Dec 2020 20:04:26 +0900 Subject: [PATCH 17/26] docs: Update v1.0.2 --- .github/workflows/notion2github.yml | 2 +- README.md | 4 ++-- docs/README.ko.md | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/notion2github.yml b/.github/workflows/notion2github.yml index fc9a8e4..14ce727 100644 --- a/.github/workflows/notion2github.yml +++ b/.github/workflows/notion2github.yml @@ -11,7 +11,7 @@ jobs: uses: actions/checkout@v2 - name: Notion2Github - uses: younho9/notion2github@v1 + uses: younho9/notion2github@v1.0.2 with: database-url: 'https://www.notion.so/acc3dfd0339e4cacb5baae8673fddfad' docs-directory: docs/test diff --git a/README.md b/README.md index bc32d23..19df6bb 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ jobs: uses: actions/checkout@v2 - name: Notion2Github - uses: younho9/notion2github@v1 + uses: younho9/notion2github@v1.0.2 with: database-url: 'https://www.notion.so/acc3dfd0339e4cacb5baae8673fddfad' docs-directory: docs @@ -86,7 +86,7 @@ jobs: uses: actions/checkout@v2 - name: Notion2Github - uses: younho9/notion2github@v1 + uses: younho9/notion2github@v1.0.2 with: database-url: 'https://www.notion.so/acc3dfd0339e4cacb5baae8673fddfad' docs-directory: docs diff --git a/docs/README.ko.md b/docs/README.ko.md index 7cd20b2..9603e37 100644 --- a/docs/README.ko.md +++ b/docs/README.ko.md @@ -54,7 +54,7 @@ jobs: uses: actions/checkout@v2 - name: Notion2Github - uses: younho9/notion2github@v1 + uses: younho9/notion2github@v1.0.2 with: database-url: 'https://www.notion.so/acc3dfd0339e4cacb5baae8673fddfad' docs-directory: docs @@ -85,7 +85,7 @@ jobs: uses: actions/checkout@v2 - name: Notion2Github - uses: younho9/notion2github@v1 + uses: younho9/notion2github@v1.0.2 with: database-url: 'https://www.notion.so/acc3dfd0339e4cacb5baae8673fddfad' docs-directory: docs From 0da3305e7252c68999b889f8e9c8f12abd79bfc4 Mon Sep 17 00:00:00 2001 From: Younho Choo Date: Sun, 14 Feb 2021 20:12:03 +0900 Subject: [PATCH 18/26] chore(deps): Update narkdown --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 091516a..ed17a15 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1 @@ -narkdown==1.2.5 +narkdown==1.2.7 From 52fb741c8e19b01cfe6e5e9835d56a7ecec67e6a Mon Sep 17 00:00:00 2001 From: Younho Choo Date: Mon, 15 Feb 2021 16:59:46 +0900 Subject: [PATCH 19/26] chore(deps): Update narkdown@v1.2.8 --- narkdown.config.json | 8 ++------ requirements.txt | 2 +- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/narkdown.config.json b/narkdown.config.json index 16cd5c0..0004bbf 100644 --- a/narkdown.config.json +++ b/narkdown.config.json @@ -2,15 +2,11 @@ "exportConfig": { "recursiveExport": true, "createPageDirectory": true, - "addMetadata": false, - "lowerPathname": true, - "lowerFilename": true, - "lineBreak": false + "addMetadata": true, + "appendCreatedTime": true }, "databaseConfig": { "categoryColumnName": "Category", - "tagsColumnName": "Tags", - "createdTimeColumnName": "Created Time", "statusColumnName": "Status", "currentStatus": "โœ… Completed", "nextStatus": "๐Ÿ–จ Published" diff --git a/requirements.txt b/requirements.txt index ed17a15..e547ade 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1 @@ -narkdown==1.2.7 +narkdown==1.2.8 From 112a13733c66ee97367e41f3ed9ad01f308a80fa Mon Sep 17 00:00:00 2001 From: Younho Choo Date: Mon, 15 Feb 2021 22:33:43 +0900 Subject: [PATCH 20/26] chore: Update narkdown config --- narkdown.config.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/narkdown.config.json b/narkdown.config.json index 0004bbf..6ab6355 100644 --- a/narkdown.config.json +++ b/narkdown.config.json @@ -3,7 +3,8 @@ "recursiveExport": true, "createPageDirectory": true, "addMetadata": true, - "appendCreatedTime": true + "appendCreatedTime": true, + "generateSlug": true }, "databaseConfig": { "categoryColumnName": "Category", From cf4564c1896508327e8f9bfa746f07ae10ffb244 Mon Sep 17 00:00:00 2001 From: Younho Choo Date: Mon, 15 Feb 2021 22:35:50 +0900 Subject: [PATCH 21/26] chore(deps): Update narkdown --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index e547ade..108f564 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1 @@ -narkdown==1.2.8 +narkdown==1.3.1 From 5bcaca6157d87406ae094046a33e4b91688668e7 Mon Sep 17 00:00:00 2001 From: Younho Choo Date: Mon, 15 Feb 2021 22:35:57 +0900 Subject: [PATCH 22/26] docs: Update README.md --- README.md | 9 +++------ docs/README.ko.md | 9 +++------ 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 19df6bb..a952fd2 100644 --- a/README.md +++ b/README.md @@ -143,15 +143,12 @@ For more information on configure your environment, [see the document in Nakdown "exportConfig": { "recursiveExport": true, "createPageDirectory": true, - "addMetadata": false, - "lowerPathname": false, - "lowerFilename": false, - "lineBreak": false + "addMetadata": true, + "appendCreatedTime": true, + "generateSlug": true }, "databaseConfig": { "categoryColumnName": "Category", - "tagsColumnName": "Tags", - "createdTimeColumnName": "Created Time", "statusColumnName": "Status", "currentStatus": "โœ… Completed", "nextStatus": "๐Ÿ–จ Published" diff --git a/docs/README.ko.md b/docs/README.ko.md index 9603e37..6fa1a6f 100644 --- a/docs/README.ko.md +++ b/docs/README.ko.md @@ -142,15 +142,12 @@ Narkdown์€ ๋ฌธ์„œ๋“ค์„ ์–ด๋–ป๊ฒŒ ์ถ”์ถœํ•  ๊ฒƒ์ธ์ง€์— ๋Œ€ํ•ด ๋ช‡๊ฐ€์ง€ ํ™˜ "exportConfig": { "recursiveExport": true, "createPageDirectory": true, - "addMetadata": false, - "lowerPathname": false, - "lowerFilename": false, - "lineBreak": false + "addMetadata": true, + "appendCreatedTime": true, + "generateSlug": true }, "databaseConfig": { "categoryColumnName": "Category", - "tagsColumnName": "Tags", - "createdTimeColumnName": "Created Time", "statusColumnName": "Status", "currentStatus": "โœ… Completed", "nextStatus": "๐Ÿ–จ Published" From b4e9092e1c2e29157eb10152de1187bb37f15d94 Mon Sep 17 00:00:00 2001 From: Younho Choo Date: Mon, 15 Feb 2021 22:45:53 +0900 Subject: [PATCH 23/26] docs: Update notion2github@v1.1.0 --- .github/workflows/notion2github.yml | 2 +- README.md | 4 ++-- docs/README.ko.md | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/notion2github.yml b/.github/workflows/notion2github.yml index 14ce727..85063f2 100644 --- a/.github/workflows/notion2github.yml +++ b/.github/workflows/notion2github.yml @@ -11,7 +11,7 @@ jobs: uses: actions/checkout@v2 - name: Notion2Github - uses: younho9/notion2github@v1.0.2 + uses: younho9/notion2github@v1.1.0 with: database-url: 'https://www.notion.so/acc3dfd0339e4cacb5baae8673fddfad' docs-directory: docs/test diff --git a/README.md b/README.md index a952fd2..5ca90b7 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ jobs: uses: actions/checkout@v2 - name: Notion2Github - uses: younho9/notion2github@v1.0.2 + uses: younho9/notion2github@v1.1.0 with: database-url: 'https://www.notion.so/acc3dfd0339e4cacb5baae8673fddfad' docs-directory: docs @@ -86,7 +86,7 @@ jobs: uses: actions/checkout@v2 - name: Notion2Github - uses: younho9/notion2github@v1.0.2 + uses: younho9/notion2github@v1.1.0 with: database-url: 'https://www.notion.so/acc3dfd0339e4cacb5baae8673fddfad' docs-directory: docs diff --git a/docs/README.ko.md b/docs/README.ko.md index 6fa1a6f..5183be0 100644 --- a/docs/README.ko.md +++ b/docs/README.ko.md @@ -54,7 +54,7 @@ jobs: uses: actions/checkout@v2 - name: Notion2Github - uses: younho9/notion2github@v1.0.2 + uses: younho9/notion2github@v1.1.0 with: database-url: 'https://www.notion.so/acc3dfd0339e4cacb5baae8673fddfad' docs-directory: docs @@ -85,7 +85,7 @@ jobs: uses: actions/checkout@v2 - name: Notion2Github - uses: younho9/notion2github@v1.0.2 + uses: younho9/notion2github@v1.1.0 with: database-url: 'https://www.notion.so/acc3dfd0339e4cacb5baae8673fddfad' docs-directory: docs From 89eb2b6221a0818639b11631bb83402615a0ff7c Mon Sep 17 00:00:00 2001 From: Younho Choo Date: Sat, 27 Mar 2021 11:31:50 +0900 Subject: [PATCH 24/26] chore: Use versioned action --- .github/workflows/notion2github.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/notion2github.yml b/.github/workflows/notion2github.yml index 85063f2..409c2b9 100644 --- a/.github/workflows/notion2github.yml +++ b/.github/workflows/notion2github.yml @@ -11,7 +11,7 @@ jobs: uses: actions/checkout@v2 - name: Notion2Github - uses: younho9/notion2github@v1.1.0 + uses: younho9/notion2github@main with: database-url: 'https://www.notion.so/acc3dfd0339e4cacb5baae8673fddfad' docs-directory: docs/test From 2052bdfe35cf57f673517b33e07223e1b487b99a Mon Sep 17 00:00:00 2001 From: Younho Choo Date: Sat, 27 Mar 2021 12:08:21 +0900 Subject: [PATCH 25/26] chore(deps): Update narkdown version --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 108f564..a174ef4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1 @@ -narkdown==1.3.1 +narkdown==1.3.2 From 8090143207848670f86430c3f29dc217782ed0c4 Mon Sep 17 00:00:00 2001 From: Younho Choo Date: Sun, 28 Mar 2021 11:32:08 +0900 Subject: [PATCH 26/26] chore(deps): Follow latest narkdown version --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index a174ef4..17bb333 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1 @@ -narkdown==1.3.2 +narkdown