{"id":20831071,"url":"https://github.com/mvdkleijn/vanity-builder","last_synced_at":"2026-04-21T10:06:05.210Z","repository":{"id":222917096,"uuid":"758273205","full_name":"mvdkleijn/vanity-builder","owner":"mvdkleijn","description":"Simple tool that takes a YAML based config and generates a set of static HTML files that can be used for vanity URLs.","archived":false,"fork":false,"pushed_at":"2024-10-08T07:21:35.000Z","size":13,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-21T12:48:17.486Z","etag":null,"topics":["go","html","static","vanity-address","vanity-url","yaml"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":false,"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/mvdkleijn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"ko_fi":"chaosmonkey","liberapay":"mvdkleijn"}},"created_at":"2024-02-16T00:45:56.000Z","updated_at":"2024-10-08T07:21:49.000Z","dependencies_parsed_at":"2024-02-19T16:32:16.638Z","dependency_job_id":"50024d24-6cea-4904-96aa-0859cf6d86dc","html_url":"https://github.com/mvdkleijn/vanity-builder","commit_stats":null,"previous_names":["mvdkleijn/vanity-builder"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mvdkleijn%2Fvanity-builder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mvdkleijn%2Fvanity-builder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mvdkleijn%2Fvanity-builder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mvdkleijn%2Fvanity-builder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mvdkleijn","download_url":"https://codeload.github.com/mvdkleijn/vanity-builder/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243179888,"owners_count":20249187,"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":["go","html","static","vanity-address","vanity-url","yaml"],"created_at":"2024-11-17T23:26:51.104Z","updated_at":"2025-10-07T04:18:09.650Z","avatar_url":"https://github.com/mvdkleijn.png","language":"Go","funding_links":["https://ko-fi.com/chaosmonkey","https://liberapay.com/mvdkleijn","https://liberapay.com/mvdkleijn/","https://ko-fi.com/O4O7H6C73"],"categories":[],"sub_categories":[],"readme":"![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/mvdkleijn/vanity-builder?style=for-the-badge)\n[![Codacy grade](https://img.shields.io/codacy/grade/85218c426eca4f4fa4a70e4f5c947889?style=for-the-badge)](https://app.codacy.com/gh/mvdkleijn/vanity-builder)\n[![Go Report Card](https://goreportcard.com/badge/github.com/mvdkleijn/vanity-builder?style=for-the-badge)](https://goreportcard.com/report/github.com/mvdkleijn/vanity-builder) [![Liberapay patrons](https://img.shields.io/liberapay/patrons/mvdkleijn?style=for-the-badge)](https://liberapay.com/mvdkleijn/) [![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/O4O7H6C73)\n\n# vanity-builder\n\nSimple tool that takes a YAML based config and generates a set of static HTML files\nbased on Go templates that can be used for vanity URL self-hosting.\n\n**Example**\n\nUse `code.vanderkleijn.net` instead of `github.com` for your modules.\n\n**Why?**\n\n- No renaming issues when (for whatever reason) you're moving away from Github to somewhere else;\n- Code can still be hosted on Github (or other places);\n\n_In other words:_ similar to gopkg.in but easily self-hostable.\n\n## Development notes\n\ngo-import: `\u003cvanityDomain\u003e/\u003cmoduleName\u003e git https://github.com/\u003cuser or org\u003e/\u003crepo\u003e.git`\n\ngo-source: `content=\"\u003cprefix\u003e \u003chomepage\u003e \u003cdirectory template\u003e \u003cfile template\u003e\"`\nWhere:\n  - prefix: `\u003cvanityDomain\u003e/\u003cmoduleName\u003e`\n    - The import path corresponding to the repo root\n    - `\u003cmoduleName\u003e` can include major version, e.g. `moduleName` or `moduleName/v2`\n  - homepage: `\u003chomepageURL\u003e`\n    - The url of the repo's homepage\n    - The '_' character can be used to signify the absence of a homepage\n  - directory template: `https://github.com/\u003cuser or org\u003e/\u003crepo\u003e/tree/\u003cbranch\u003e{/dir}`\n    - An template used to create the URL for listing the files in the module\n  - file template: `https://github.com/\u003cuser or org\u003e/\u003crepo\u003e/blob/\u003cbranch\u003e{/dir}/{file}#L{line}`\n    - An template used to create the url that points to a line in a file","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmvdkleijn%2Fvanity-builder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmvdkleijn%2Fvanity-builder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmvdkleijn%2Fvanity-builder/lists"}