{"id":24033769,"url":"https://github.com/daanv2/markdown-linker","last_synced_at":"2025-08-31T13:33:24.333Z","repository":{"id":134184838,"uuid":"582074671","full_name":"DaanV2/Markdown-Linker","owner":"DaanV2","description":"This action will link all markdown files in a repository together","archived":false,"fork":false,"pushed_at":"2025-06-10T10:04:33.000Z","size":17720,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-15T07:40:06.121Z","etag":null,"topics":["link","links","markdown"],"latest_commit_sha":null,"homepage":"","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/DaanV2.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":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-12-25T15:08:06.000Z","updated_at":"2025-07-05T00:22:31.000Z","dependencies_parsed_at":"2023-03-23T22:48:51.470Z","dependency_job_id":"522155b8-c14f-498c-8027-a0d1a5e4ba38","html_url":"https://github.com/DaanV2/Markdown-Linker","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/DaanV2/Markdown-Linker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaanV2%2FMarkdown-Linker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaanV2%2FMarkdown-Linker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaanV2%2FMarkdown-Linker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaanV2%2FMarkdown-Linker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DaanV2","download_url":"https://codeload.github.com/DaanV2/Markdown-Linker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaanV2%2FMarkdown-Linker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272988754,"owners_count":25026959,"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","status":"online","status_checked_at":"2025-08-31T02:00:09.071Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["link","links","markdown"],"created_at":"2025-01-08T18:54:44.083Z","updated_at":"2025-08-31T13:33:24.293Z","avatar_url":"https://github.com/DaanV2.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Markdown Linker\n\nThis action will link all markdown files in a repository, it will link all files in subfolders as well. \nIt will ignore files that are already linked. As well as files that are ignored.\ntags can be specified through JSON files or HTML comments in markdown files, see [tags](#tags)\nTags are words or phrases that can be used to link files together. The action will go through all files and create links for each tag it found.\n\n- [Markdown Linker](#markdown-linker)\n  - [Action](#action)\n  - [Example Workflow](#example-workflow)\n  - [Tags](#tags)\n    - [HTML Comments](#html-comments)\n    - [JSON files](#json-files)\n\n## Action\n\n**Inputs**\n| Input  | Required | Description                                                                 |\n| ------ | -------- | --------------------------------------------------------------------------- |\n| ignore | false    | Glob patterns to use on what files/folder to ignore, each line is a pattern |\n| folder | false    | The folder to start as from, default to GitHub.workspace                    |\n\n**Example**\n  \n```yaml\n- name: 📓 Link Markdown files\n  uses: DaanV2/Markdown-Linker@latest\n  with:\n    ignore: |\n      README.md\n```\n\n## Example Workflow\n\n```yaml\njobs:\n  linking:\n    runs-on: ubuntu-latest\n    steps:\n      - name: 📦 Checkout Repository\n        uses: actions/checkout@v3\n\n      - name: ⌛ Get Time\n        id: time\n        uses: nanzm/get-time-action@v1.1\n        with:\n          timeZone: 8\n          format: \"YYYY-MM-DD\"\n\n      - name: 📓 Link Markdown files\n        uses: DaanV2/Markdown-Linker@latest\n        with:\n          ignore: |\n            README.md\n\n      - name: 📖 Commit changes\n        continue-on-error: true\n        run: |\n          cd ${{github.workspace}}\n          git config --global user.email \"actions@github.com\"\n          git config --global user.name \"actions[Bot]\"\n          git add .\n          git commit -m \"auto: 📑 Applied linking ${{ steps.time.outputs.time }}\"\n```\n\n## Tags\nTags are words or phrases that can be used to link files together. The action will go through all files and create links for each tag it found.\nTags can be specified through JSON files or HTML comments in markdown files\n\n### HTML Comments\n\nThrough HTML comments you can specify tags for a file, the tags are specified in JSON format. The tags are specified in the comment anywhere in the file.\nIf any other document has any of the tags specified in the comment, it will be linked to this file.\n\n```md\n\u003c!--{\"tags\":[\"FooBar\", \"Foo\",\"Bar\"]}--\u003e\n\n# FooBar\n\nLoprem ipsum\n```\n\nThe above example will link any file that has the tags `FooBar`, `Foo` or `Bar` to this file.\n\n### JSON files\n\nThe action will also look for JSON files in the repository, these files should be located in a .tags folder in any subfolder of the repository.\nAny JSON file located in this folder will be read and parsed. The JSON file should have the following format:\n\n```jsonc\n[\n  {\n    \"tag\": \"FooBar\",\n    \"url\": \"https://example.com\"\n  },\n  {\n    \"tag\": \"Foo\",\n    \"url\": \"../Foo.md\"\n  },\n  {\n    \"tag\": \"Bar\",\n    \"url\": \"../Bar.md\",\n    //Regex\n    \"search\": \"\\bBar\\b\"\n  }\n]\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaanv2%2Fmarkdown-linker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaanv2%2Fmarkdown-linker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaanv2%2Fmarkdown-linker/lists"}