{"id":24108616,"url":"https://github.com/nikaera/sync-zenn-with-dev-action","last_synced_at":"2025-05-12T20:13:08.571Z","repository":{"id":37829780,"uuid":"349789739","full_name":"nikaera/sync-zenn-with-dev-action","owner":"nikaera","description":"Just sync Zenn articles to DEV.","archived":false,"fork":false,"pushed_at":"2024-06-24T03:51:47.000Z","size":1448,"stargazers_count":5,"open_issues_count":6,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-12-17T23:22:29.690Z","etag":null,"topics":["dev","forem","github-actions","javascript","sync-articles","typescript","zenn"],"latest_commit_sha":null,"homepage":"https://zenn.dev/nikaera/articles/sync-zenn-with-dev-action","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/nikaera.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-20T17:18:14.000Z","updated_at":"2024-10-03T09:42:26.000Z","dependencies_parsed_at":"2024-11-16T15:05:31.256Z","dependency_job_id":"2315ffd4-be1d-4da1-99d1-bfa86263ad9b","html_url":"https://github.com/nikaera/sync-zenn-with-dev-action","commit_stats":{"total_commits":65,"total_committers":3,"mean_commits":"21.666666666666668","dds":0.4461538461538461,"last_synced_commit":"4dcdeb9b9ecf24f691a160384288d0aae58e1304"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":"actions/typescript-action","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikaera%2Fsync-zenn-with-dev-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikaera%2Fsync-zenn-with-dev-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikaera%2Fsync-zenn-with-dev-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikaera%2Fsync-zenn-with-dev-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nikaera","download_url":"https://codeload.github.com/nikaera/sync-zenn-with-dev-action/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233422972,"owners_count":18674089,"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":["dev","forem","github-actions","javascript","sync-articles","typescript","zenn"],"created_at":"2025-01-10T23:39:07.635Z","updated_at":"2025-01-10T23:39:08.152Z","avatar_url":"https://github.com/nikaera.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Just sync Zenn articles to DEV 🧘\n\nIt can be used to sync articles written in [Zenn](https://zenn.dev/) to [DEV](http://dev.to/).\n\n## ▶️ Usage\n\nThe minimum usage is as follows.\n\n```yml\nname: 'Sync all Zenn articles to DEV'\non:\n  push:\n    branches:\n      - main\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n      - name: checkout my project\n        uses: actions/checkout@v4\n      - name: dev.to action step\n        uses: nikaera/sync-zenn-with-dev-action@v1.2.0\n        id: dev-to\n        with:\n          # DEV API key will be required.\n          api_key: ${{ secrets.api_key }}\n          # (optional) Your account name in Zenn (Fields to be filled in if canonical url is set.)\n          # username: nikaera\n          # (optional) Synchronize only the articles in the file path divided by line breaks.\n          # added_modified_filepath: ./added_modified.txt\n          # (optional) Whether to sync all articles. `update_all` takes precedence over `added_modified_filepath`.\n          # update_all: false\n          # (optional) Specify the DEV article title format. {title} is required. {type} and {emoji} are not required.\n          # title_format: \"[{type}] {title} {emoji}\"\n        # If there is a new article to be synced to DEV,\n        # the ID of the DEV article will be assigned to the markdown header of the Zenn article.\n        # (This is used to determine whether the article will be newly created or updated next time.)\n      - name: write article id of DEV to articles of Zenn.\n        run: |\n          git config user.name github-actions\n          git config user.email github-actions@github.com\n          git add ${{ steps.dev-to.outputs.newly-sync-articles }}\n          git commit -m \"sync: Zenn with DEV [skip ci]\"\n          git push\n        if: steps.dev-to.outputs.newly-sync-articles\n        # Output the title and URL of the article synced to DEV.\n      - name: Get the output articles.\n        run: echo \"${{ steps.dev-to.outputs.articles }}\"\n```\n\n## 🎬 Scenario\n\nInitially, I recommend running the following GitHub Action to sync all your articles to DEV.\nhttps://github.com/nikaera/zenn.dev/blob/main/.github/workflows/sync-zenn-with-dev-action-all.yml\n\nAfter that, you can use the following GitHub Action to synchronize the article as soon as there are changes in the article file.\nhttps://github.com/nikaera/zenn.dev/blob/main/.github/workflows/sync-zenn-with-dev.yml\n\n## 🛠️ Customizing\n\n### Inputs\n\n| key | description | required |\n|:---|:---|:---:|\n|api_key| The [API Key](https://docs.forem.com/api/#section/Authentication) required to use the DEV API | true |\n|username | **Your account name** in Zenn (Fields to be filled in if canonical url is set.)  | false |\n|added_modified_filepath | Synchronize only the articles in the file path divided by line breaks. You can use [jitterbit/get-changed-files@v1](https://github.com/jitterbit/get-changed-files) to get only the file paths of articles that have changed in the correct format. | false |\n|update_all| Whether to sync all articles. **`update_all` takes precedence over `added_modified_filepath`**. | true |\n|title_format| Specify the DEV article title format. **`{title}` is required. `{type}` and `{emoji}` are not required.** (ex. `\"[{type}] {title} {emoji}\"`) | false |\n\n### Outputs\n\n| key | description |\n|:---|:---|\n| articles | A list of URLs of dev.to articles that have been created or updated |\n| newly-sync-articles | File path list of newly synchronized articles. **Make sure to commit the list of articles set to this value, as they will be updated.** See [action.yml](https://github.com/nikaera/sync-zenn-with-dev-action/blob/main/.github/workflows/test.yml#L31-L38) |\n\n## 📝 Notes\n\n- [DEV only allows 4 tags](https://dev.to/p/editor_guide#front-matter), so if an article has more than 4 tags, the first 4 tags will be set in the article.\n\n## License\n\n[MIT](https://github.com/nikaera/sync-zenn-with-dev-action/blob/main/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikaera%2Fsync-zenn-with-dev-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnikaera%2Fsync-zenn-with-dev-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikaera%2Fsync-zenn-with-dev-action/lists"}