44 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # How to work on the docs theme
 | |
| 
 | |
| > [!NOTE]
 | |
| > **You do not need to setup anything locally for working on the documentation content.**
 | |
| >
 | |
| > To work on the contributing guidelines, you can edit or add files in the `docs` directory [available here](https://github.com/freeCodeCamp/freeCodeCamp/tree/master/docs). When your changes are merged, it will be made available automatically at the documentation site.
 | |
| 
 | |
| ## About the documentation site
 | |
| 
 | |
| While you do not need to generate the documenatation site locally, sometimes it may be required for instance if you are working on the site theme or a feature for the site.
 | |
| 
 | |
| The site is generated using [`docsify`](https://docsify.js.org), and served using GitHub pages.
 | |
| 
 | |
| Typically you would not need to change any configuration, or build the site locally, but incase you are interested here is how it works:
 | |
| 
 | |
| - The homepage's source for this site is available in [`docs/index.html`](index.html).
 | |
| - We serve this file as a SPA using `docsify` and GitHub Pages.
 | |
| - The `docsify` script generates the content of `markdown` files in `docs` directory on demand.
 | |
| - The homepage is generated from the [`index.md`](index.md).
 | |
| - the sidebar navigation is generated from [`components/sidebar.md`](components/sidebar.md).
 | |
| 
 | |
| ## Serving the documenation site locally
 | |
| 
 | |
| Clone freeCodeCamp:
 | |
| 
 | |
| ```sh
 | |
| git clone https://github.com/freeCodeCamp/freeCodeCamp.git
 | |
| docsify serve docs
 | |
| ```
 | |
| 
 | |
| Install `docsify`:
 | |
| 
 | |
| ```sh
 | |
| npm install -g docsify
 | |
| ```
 | |
| 
 | |
| and serve the `/docs` directory
 | |
| 
 | |
| ```sh
 | |
| docsify serve docs
 | |
| ```
 | |
| 
 | |
| Alternatively, if you have installed freeCodeCamp locally (see the local setup guide), we bundle the CLI with the development tools so you can run `npm run docs:serve` from the root of the repo.
 |