{"id":20980901,"url":"https://github.com/cap-go/website","last_synced_at":"2025-07-04T11:05:34.563Z","repository":{"id":37772566,"uuid":"447587950","full_name":"Cap-go/website","owner":"Cap-go","description":"Capgo landing website + documentation","archived":false,"fork":false,"pushed_at":"2025-07-01T00:09:13.000Z","size":144950,"stargazers_count":11,"open_issues_count":7,"forks_count":20,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-07-01T01:24:36.324Z","etag":null,"topics":["capacitor","capacitor-plugin"],"latest_commit_sha":null,"homepage":"https://capgo.app","language":"MDX","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Cap-go.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},"funding":{"github":"Cap-go","patreon":null,"open_collective":"capgo","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2022-01-13T12:17:24.000Z","updated_at":"2025-07-01T00:09:16.000Z","dependencies_parsed_at":"2023-02-16T04:31:23.600Z","dependency_job_id":"b594f38b-8422-481a-bae6-72b21f6e9f87","html_url":"https://github.com/Cap-go/website","commit_stats":{"total_commits":1077,"total_committers":14,"mean_commits":76.92857142857143,"dds":0.2432683379758589,"last_synced_commit":"928d7d2ee9e8198458667b88a24d86eda1f303d4"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Cap-go/website","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cap-go%2Fwebsite","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cap-go%2Fwebsite/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cap-go%2Fwebsite/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cap-go%2Fwebsite/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Cap-go","download_url":"https://codeload.github.com/Cap-go/website/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cap-go%2Fwebsite/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263499191,"owners_count":23476021,"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":["capacitor","capacitor-plugin"],"created_at":"2024-11-19T05:31:23.635Z","updated_at":"2025-07-04T11:05:34.537Z","avatar_url":"https://github.com/Cap-go.png","language":"MDX","funding_links":["https://github.com/sponsors/Cap-go","https://opencollective.com/capgo"],"categories":[],"sub_categories":[],"readme":"# Capgo website\n\n\u003ca href=\"https://capgo.app/\"\u003e\u003cimg src='https://raw.githubusercontent.com/Cap-go/capgo/main/assets/capgo_banner.png' alt='Capgo - Instant updates for capacitor'/\u003e\u003c/a\u003e\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord\u0026label)](https://discord.com/invite/VnYRvBfgA6)\n\u003ca href=\"https://discord.com/invite/VnYRvBfgA6\"\u003e\u003cimg src=\"https://img.shields.io/discord/912707985829163099?color=%237289DA\u0026label=Discord\" alt=\"Discord\"\u003e\n[![npm](https://img.shields.io/npm/dm/@capgo/website)](https://www.npmjs.com/package/@capgo/website)\n[![GitHub latest commit](https://badgen.net/github/last-commit/Cap-go/website/main)](https://GitHub.com/Cap-go/website/commit/)\n[![https://good-labs.github.io/greater-good-affirmation/assets/images/badge.svg](https://good-labs.github.io/greater-good-affirmation/assets/images/badge.svg)](https://good-labs.github.io/greater-good-affirmation)\n[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=Cap-go_website\u0026metric=security_rating)](https://sonarcloud.io/summary/new_code?id=Cap-go_website)\n[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=Cap-go_website\u0026metric=bugs)](https://sonarcloud.io/summary/new_code?id=Cap-go_website)\n[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=Cap-go_website\u0026metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=Cap-go_website)\n[![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=Cap-go_website\u0026metric=code_smells)](https://sonarcloud.io/summary/new_code?id=Cap-go_website)\n[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=Cap-go_website\u0026metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=Cap-go_website)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=Cap-go_website\u0026metric=alert_status)](https://sonarcloud.io/summary/new_code?id=Cap-go_website)\n[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=Cap-go_website\u0026metric=sqale_index)](https://sonarcloud.io/summary/new_code?id=Cap-go_website)\n[![Open Bounties](https://img.shields.io/endpoint?url=https%3A%2F%2Fconsole.algora.io%2Fapi%2Fshields%2FCapgo%2Fbounties%3Fstatus%3Dopen)](https://console.algora.io/org/Capgo/bounties?status=open)\n[![Rewarded Bounties](https://img.shields.io/endpoint?url=https%3A%2F%2Fconsole.algora.io%2Fapi%2Fshields%2FCapgo%2Fbounties%3Fstatus%3Dcompleted)](https://console.algora.io/org/Capgo/bounties?status=completed)\n\n\u003ch2\u003e\u003ca href=\"https://capgo.app/consulting/\"\u003eHire a Capacitor consultant\u003c/a\u003e\u003c/h2\u003e\n\nThis is the source code for the Capgo website, built with [Astro](https://astro.build/).\n\n## Development\n\nTo start the development server, run:\n\n```sh\nbun install\nbun run dev\n```\n\n## Deployment\n\nThe website is deployed to [Cloudflare Pages](https://pages.cloudflare.com/). The deployment is automated using a GitHub action.\n\n## License\n\nThe source code is licensed under the GNU AFFERO GENERAL PUBLIC license. See the [LICENSE](LICENSE) file for details.\n\n## 🚀 Project Structure\n\nInside of your Astro project, you'll see the following folders and files:\n\n```\n/\n├── public/\n│   └── favicon.svg\n├── src/\n│   ├── components/\n│   │   └── Card.astro\n│   ├── layouts/\n│   │   └── Layout.astro\n│   └── pages/\n│       └── index.astro\n└── package.json\n```\n\nAstro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name.\n\nThere's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.\n\nAny static assets, like images, can be placed in the `public/` directory.\n\n## 🧞 Commands\n\nAll commands are run from the root of the project, from a terminal:\n\n| Command                   | Action                                           |\n| :------------------------ | :----------------------------------------------- |\n| `bun install`             | Installs dependencies                            |\n| `bun run dev`             | Starts local dev server at `localhost:3000`      |\n| `bun run build`           | Build your production site to `./dist/`          |\n| `bun run preview`         | Preview your build locally, before deploying     |\n| `bun run astro ...`       | Run CLI commands like `astro add`, `astro check` |\n| `bun run astro -- --help` | Get help using the Astro CLI                     |\n\n## Automatic i18n\n\nThe website aims at having an automatic i18n done via various scripts in the `scripts` directory.\n\nThe [translations.tsx](./scripts/translations.tsx) script is used to translate the website content into the desired language. It has two methods to create translations, via `OpenAI API` or `Anthropic API`, and the other via `api.datpmt.com`. To use the OpenAI API method, make sure you have an `OPENAI_API_KEY` or `ANTHROPIC_API_KEY` as the environment variable set. To use the other API, just un-comment the `translateText` function call using it.\n\nNow, let's say that you want to update translations or add a new locale, `fr`.\n\nFirst, make sure to update the files `scripts/setup_new_locale.tsx` and `scripts/generate_locale_translations.tsx` to have the latest locale values as the following respectively.\n\n```tsx\nconst newLocale = 'fr'\n```\n\n```tsx\nconst locales = ['fr']\n```\n\nNow to have translations generated for `fr`, you'd want to run:\n\n- `bun run setup:new:locale`: This script copies the existing files in `src/pages` directory to `src/pages/fr` directory and makes sure to replace each reference to `content/blog` to `content/fr/blog`. Then, it copies the `src/content/blog` directory to `src/content/fr/blog` and makes sure to set `locale` frontmatter in each markdown file as `fr`. Then, it runs all the translation scripts mentioned below.\n- `bun run generate:locale:translations`: This script uses the translate function to translate the `en.yml` key value pairs into the desired language, and creates a `fr.yml` file.\n- `bun run generate:translation.ts`: This script uses all the `.yml` files in the `locales` directory to generate two files, `src/services/locale.ts` and `src/services/translation.ts` files with all the locales translations key value pair.\n- `bun run generate:blog:translations`: This script uses all the `.md` files in the `src/content/blog` directory to generate the translated version of the file in the `src/content/fr/blog` directory.\n- `bun run generate:plugin:translations`: This script uses all the `.md` files in the `src/content/plugins-tutorials` directory to generate the translated version of the file in the `src/content/fr/plugins-tutorials` directory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcap-go%2Fwebsite","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcap-go%2Fwebsite","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcap-go%2Fwebsite/lists"}