Skip to content

Contribute, and help us improve

Call for translators! We’re looking for translators to help translate this spec for everyone!

Help improve the all-contributors documentation!

Section titled “Help improve the all-contributors documentation!”

Thanks for your interest in the project! Pull Requests welcome for any level of improvement, from a small typo to a new section, help us make the project better

All the source code is available at github.com/all-contributors/all-contributors

We use the angular commit convention for commits that are used for an automated changelog generation, so it would be advisable to respect that. If you’re not used to it or are afraid to mistype a commit, you can run npm run commit or git cz (if you have installed commitizen) which would take you through a few questions and write the commit for you.

Pro Tip: Every page has an Edit button up the top, clicking this will take you straight to the GitHub source code for that page

Once on a file, click the ‘pencil’ icon to easily edit the file inline

Example on how to edit a page

Crowdin

Our translations are managed through crowdin. You can help contribute by heading to the crowdin project and suggesting translations. If you like, comment on this issue to let us know you’re helping or if you have any queries!

When translating, anything that has the XPATH @href, @src etc mustn’t be translated. Things like code should not be either. This will cause the project to 404. See the below image for an example:

Contribute to translating

However, it’s recommended to translate any content that would contribute to a better comprehension like the comments in code tags as long as it doesn’t change the actual code since it only understands English.

  1. Go to the crowdin project, then sign up and/or log in.
  2. Join the “All Contributors” project and voila!
  1. Go to the crowdin project.
  2. Click on the flag of the language you want to translate the documentation to.
  3. Click on any *.md files that aren’t completely translated (read showing 100% on the right-hand side)
  4. Write your translation in the “Enter translation here” field (which would correspond to the translation of the text in the “SOURCE STRING” field above) then click “SAVE”
  5. For proofreaders only: You can either approve translation suggestions (whether it’s done by you or someone else), which you will find in the “[LANGUAGE] TRANSLATIONS” section, by clicking on the :ballot_box_with_check: or delete them by clicking on the :wastebasket: icon.

After you translate strings in any given language, you won’t see those changes appearing live until the master branch was updated followed by a successful deployment.

Search is by algolia, the configuration is at https://github.com/algolia/docsearch-configs/blob/main/configs/all-contributors.json

All Contributors currently uses Astro and the Starlight theme for our documentation and website.

To build the docs locally:

  1. Make sure npm is installed on your machine. Use the nodejs documentation if you aren’t sure how to install npm.

To check that npm is installed run the following in your favorite shell:

npm -v

Next, make sure you have at least node version 0.22 (LTS) or higher. To check the version, use:

node -v

If you don’t have atleast version .22 or higher, please install node or upgrade your current version.

Install Astro, the Starlight Theme and all of the project dependencies using npm i.

npm i is shorthand for npm install

Once you have completed the above, you can launch a server locally that will build and run the docs locally. In your favorite shell run:

npm run start

  • Then, go to http://localhost:4321 and you will see the all contributors website there!
  • Refresh the browser page as needed when editing markdown pages.

If you make changes to a markdown file in the site, then our linting action will check those changes. To run the linter yourself on a file locally:

First install markdownlint-cli:

npm i -g markdownlint-cli

Then run markdownlint on the file (or files) that you wish to check:

markdownlint --fix "src/content/docs/contribute.md"

Or you can run it on all files in the docs directory, like this:

markdownlint --fix "src/content/docs/**.md"

To add yourself to the table of contributors, follow the bot usage instructions ;).