{"id":14987738,"url":"https://github.com/apache/apisix-website","last_synced_at":"2025-04-08T12:10:13.648Z","repository":{"id":36968595,"uuid":"180267768","full_name":"apache/apisix-website","owner":"apache","description":"Apache APISIX Website","archived":false,"fork":false,"pushed_at":"2025-04-08T03:31:07.000Z","size":75491,"stargazers_count":134,"open_issues_count":39,"forks_count":187,"subscribers_count":24,"default_branch":"master","last_synced_at":"2025-04-08T04:27:07.245Z","etag":null,"topics":["api-management","apisix","cloud-native","docker","kubernetes","luajit","microservice","nginx","serverless","service-mesh","website"],"latest_commit_sha":null,"homepage":"https://apisix.apache.org/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apache.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}},"created_at":"2019-04-09T02:19:43.000Z","updated_at":"2025-04-02T02:25:55.000Z","dependencies_parsed_at":"2023-02-19T04:45:28.463Z","dependency_job_id":"a7f83815-d772-4da1-ae7c-603d1799662f","html_url":"https://github.com/apache/apisix-website","commit_stats":{"total_commits":1335,"total_committers":113,"mean_commits":"11.814159292035399","dds":0.8891385767790262,"last_synced_commit":"72aabb8bfbb0d1162abefb951364444b1500610c"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fapisix-website","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fapisix-website/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fapisix-website/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fapisix-website/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/apisix-website/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247838445,"owners_count":21004580,"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":["api-management","apisix","cloud-native","docker","kubernetes","luajit","microservice","nginx","serverless","service-mesh","website"],"created_at":"2024-09-24T14:15:18.215Z","updated_at":"2025-04-08T12:10:13.594Z","avatar_url":"https://github.com/apache.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cbr\u003e\n\n\u003ch1 style=\"position: relative\" align=\"center\"\u003eApache APISIX® Website\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\nThe website of \u003ca href=\"https://github.com/apache/apisix/\"\u003eApache APISIX®\u003c/a\u003e\n\nA cloud-native microservices API Gateway\n\n\u003ca href=\"https://apisix.apache.org/slack\"\u003e\u003cimg  width=\"150\" src=\"./website/static/img/join-slack.png\"\u003e\u003c/a\u003e\n\n\u003c/div\u003e\n\n\u003cbr\u003e\n\n## Getting Started\n\n\u003e If you want to write a blog or fix some blog-related issues, please read [Apache APISIX Blog Contributing Guide](http://apisix.apache.org/docs/general/blog) first.\n\n### Pre-requisites\n\nFirst, you need to install **Git**.\n\nThen you should fork this repo, and clone your fork:\n\n```bash\n# clone your fork repo\ngit clone git@github.com:${your GitHub name}/apisix-website.git\n\n# add this repo as upstream\ngit remote add upstream https://github.com/apache/apisix-website.git\n\n# default dir should be apisix-website\ncd apisix-website\n```\n\n### Getting started in a Dev Container\n\nIf you are using **VS Code**, **Docker**, and **Remote - Containers** plugin, you can use this to get started quickly.\n\n\u003e No, but want to try this way? Please read [Developing inside a Container#Installation](https://code.visualstudio.com/docs/remote/containers#_installation).\n\nThen, start **VS Code**, run the `Remote-Containers: Open Folder in Container...` command.\n\n\u003e **Tip:** For details on how to do this, see the documentation [Developing inside a Container#Quick Start](https://code.visualstudio.com/docs/remote/containers#_quick-start-open-an-existing-folder-in-a-container).\n\nAfter the initialization, you can skip the preparation part of the commands below and read [the rest](#previewing-documents-developing) directly.\n\n### Getting started in the conventional way\n\nFirst, you need to install **Node.js**, **Yarn**.\n\n\u003e **Tip:** Since the installation method may change, we recommend that you check the installation method on the corresponding official website. If you encounter any problems, please feel free to create an issue.\n\nThen you can read [the commands](#commands) below.\n\n## Commands\n\nWhen you find that some commands do not run, or cannot be found, look at the package.json file.\n\nThis may be because the project is being updated quickly, but the corresponding developer did not find the time to update the corresponding documentation.\n\n### Preparation\n\nExcept for the following commands that you need to run after downloading the project for the first time, you can **try running them again** when you encounter any problems.\n\n```sh\n# 1. Install deps\nyarn\n\n# 2. Prepare necessary data\nyarn prepare-data\n\n# Tip.\n# The `yarn prepare-data` command contains the following three commands\n# If necessary, you can run any of the following commands individually\nyarn sync-doc # Sync all project documents\nyarn generate-repos-info # Generate repository information for each project\nyarn generate-picked-posts # Generate frontmatter information for featured blogs\n```\n\n\u003e If you get a 403 error `Rate Limit Exceeded` from GitHub, that means you have hit the GitHub API rate limit. the project needs your [personal access token](https://github.com/settings/tokens) to unlimit it.\n\u003e\n\u003e If you don't already have one, [create one](https://github.com/settings/tokens/new), and run below command in your terminal (no scope to your personal data is needed)\n\u003e\n\u003e ```bash\n\u003e export GITHUB_TOKEN=${your token}\n\u003e ```\n\n### Previewing documents, Developing\n\nWhen you modify a document, blog, or page code, the preview in development mode is the fastest.\n\n```sh\n# Start docs part\nyarn start:doc\n\n# Tip.\n# in dev, only English docs will be built\n# it's a feature of docusaurus\n# if you want to specify the locale,\n# for example, Chinese, your should run\nyarn start:doc --locale zh\n\n# Start English Blog\nyarn start:blog:en\n\n# Start Chinese Blog\nyarn start:blog:zh\n\n# Start general docs, other pages part\nyarn start:website\n```\n\n### Building\n\nWhen you want to build or preview a site that looks the same as it does online, run the following commands.\n\n```bash\n# Since the local environment is slightly different from the online one,\n# you must add the environment variable `preview`\npreview=true yarn build\n# or\nyarn build:preview\n\n# The above commands only build the site,\n# to preview it locally you need the following commands\nyarn serve\n\n# You can also build and preview each part individually,\n# just like in development mode\npreview=true yarn build:doc \u0026\u0026 yarn serve:doc\npreview=true yarn build:blog:en \u0026\u0026 yarn serve:blog:en\npreview=true yarn build:blog:zh \u0026\u0026 yarn serve:blog:zh\npreview=true yarn build:website \u0026\u0026 yarn serve:website\n```\n\nNext, you can modify the documentation or code, commit it and push it to GitHub when you're done. If you're not familiar with this, you can read [GitHub flow](https://docs.github.com/en/get-started/quickstart/github-flow) first.\n\n## Advance Guide\n\nIf you only want to modify the `*.md` files, the above guide may be sufficient.\n\nBut if you need to develop, please read the guide below.\n\n### Project Structure\n\nOmitted some documents that may not be important.\n\n```bash\napisix-website\n├── .github\n│   └── workflows # for GitHub CI, with steps to actually build the site\n├── .husky # git hooks, currently only pre-commit is used\n├── scripts # scripts to help build the site\n├── blog\n│   ├── en\n│   └── zh\n├── config\n├── doc\n└── website\n    ├── articles\n    ├── docs\n    │   └── general # https://apisix.apache.org/docs/general/join\n    ├── i18n\n    │   └── zh # chinese content\n    │       ├── docusaurus-plugin-content-blog # blog\n    │       ├── docusaurus-plugin-content-docs # general\n    │       └── docusaurus-theme-classic # translations of navbar and footer\n    ├── src\n    │   ├── clientModules # docusaurus feature\n    │   ├── hooks # react hooks\n    │   ├── pages\n    │   ├── shaders\n    │   └── theme # swizzled any Docs/Blog component\n    ├── static\n    └── docusaurus.config.js\n```\n\n## Acknowledge\n\nSpecial thanks to [Docusaurus](https://docusaurus.io/).\n\n## License\n\n[Apache License 2.0](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fapisix-website","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Fapisix-website","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fapisix-website/lists"}