Thank you for taking the time to contribute!
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.
Please open an issue here. Feel free to submit pull requests too.
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 thepackage.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.