Skip to content
This repository has been archived by the owner on Apr 5, 2022. It is now read-only.

Latest commit

 

History

History
92 lines (71 loc) · 4.33 KB

CONTRIBUTING.md

File metadata and controls

92 lines (71 loc) · 4.33 KB

Octomonkey says thanks!

Thank you for taking the time to contribute!

How do I add a list?

Please add your list to this file and submit a pull request. Here's an example:

"sorrycc/awesome-javascript": {
  slug: "javascript",
  label: "JavaScript",
  description:
    "JavaScript is an object-oriented programming language used alongside HTML and CSS to give functionality to web pages.",
  logo: "https://avatars.githubusercontent.com/javascript",
  color: "#f7df1e",
  category: "Programming Languages",
},

The following is an explanation of the required fields:

  • owner/name: The object key is the GitHub user and repo names of the list.
  • slug: Used for short URLs. For eg the slug javascript will generate this route: https://list.community/javascript.
  • label: Short title. Displayed in the homepage and in the page title.
  • description: Short description. Displayed in the homepage. Preferably less than 140 characters long.
  • category: Preferably one of the existing categories or a new one from https://github.com/sindresorhus/awesome.

The following fields are optional:

  • logo: URL to an image. Preferably a GitHub avatar such as "https://avatars.githubusercontent.com/username" so that we can pass a size param. If not available, it can be a file from the GitHub Explore project, such as "https://raw.githubusercontent.com/github/explore/master/topics/ios/ios.png". It can also be a local path to a 128x128 png file with transparent background inside the /public/logos folder.
  • favicon: Local path to a 32x32 png file with transparent background inside the /public/favicons folder.
  • color: 6 digit hexadecimal color code for the topbar that reflects the topic's brand. Defaults to #ffffff.
  • mutateContent: Allows to manipulate the rendered content, such as hiding a table of contents.
  • mutateTOC: Allows to manipulate the rendered table of contents in the sidebar, such as hiding an item.

How do I provide feedback, report a bug or make a feature request?

Please open an issue here. Feel free to submit pull requests too.

How can I run and deploy my own version of the website?

This project was bootstrapped with Create React App. You can refer to the User Guide for information on different topics, such as updating to new releases, folder structure, available scripts and others.

After installing a recent version of Node and running npm install you should be able to start the app by typing:

npm run start

If you want to deploy your own version of the website, you should know that the app is configured to be deployed to GitHub Pages and uses react-snap to generate pre-rendered static HTML pages for each route. You can disable this by removing the postbuild script from the package.json file:

  ...
  "build:css": "postcss src/css/index.css -o src/index.css",
  "build:js": "react-scripts build",
- "postbuild": "react-snap",
  "predeploy": "npm run build",
  "deploy": "gh-pages -d build -o private",
  ...

If you want to keep this behavior (for SEO purposes and users with JavaScript disabled) you should configure a GitHub token to avoid reaching usage limits. Visit this page and add your token to a .env.local file at the root:

REACT_APP_ACCESS_TOKEN="..."

You should also update:

  • The homepage field in the package.json file
  • The CNAME file
  • Your Google Analytics ID in the src/analytics.js file
  • Carbon Ads by deleting the src/Advertisement.js file

If you don't want to deploy to GitHub Pages, make sure to update the public/404.html file accordingly, which benefits from the Single Page Apps for GitHub Pages project. The reason why this is used in conjunction with our static files generated by react-snap is to dynamically render any repository readme that is passed via the URL.