Giter Club home page Giter Club logo

handbook-2's Introduction

πŸ“˜ Sourcegraph handbook Netlify Status

The Sourcegraph handbook describes how we (Sourcegraph teammates) work. It’s publicly visible because we are an open company.

The handbook is a living document and we expect every teammate to propose improvements, changes, additions, and fixes to keep it continuously up-to-date and accurate.

All content is in Markdown files under the πŸ“ content folder.

Run locally

Using a local Node environment

You need NodeJS and Yarn installed. How to do so can vary from machine to machine, but as an example on Ubuntu 20.04:

  1. Install nvm from https://github.com/nvm-sh/nvm
  2. Run nvm install from the current directory
  3. Run npm install -g yarn from the current directory

Install dependencies:

yarn

Then start the handbook:

yarn dev

Using Docker

You can run the handbook locally using Docker and the included Dockerfile. This won't require you to have a Node environment installed, you'll need only the Docker engine (Linux) or Docker Desktop (Windows and MacOS) installed.

After cloning this repository, build the image with:

docker build . -t handbook-builder

Then, you'll need to install dependencies with Yarn. The following command will execute your image in a temporary container, creating a bind mount with the current application directory mapped to /app inside the container.

docker run -it --rm --mount type=bind,source="$(pwd)",target=/app handbook-builder yarn

With the dependencies installed, you can run the development environment to preview the handbook on your browser. Use the following command to create the mount and redirect all connections on port 8000 of the host machine to port 3000 inside the container, where the application is running:

docker run -it --rm --mount type=bind,source="$(pwd)",target=/app -p 8000:3000 handbook-builder yarn dev

You can now access the application on http://localhost:8000. Any changes made to the handbook will be automatically reflected on the preview.

Autogenerated content

There are special tokens within some markdown pages ({{generator:*}}) that are filled at build time from the YAML files in the data folder. The code which does this the filling is in [src/lib/generatedMarkdown.ts], and these are called as part of the markdown pipeline in src/lib/markdownToHtml.ts.

Check links locally

We use markdown-link-check for link checking at build time in the link-check GitHub action. If you want to run it locally, from the root of the repository you can run this command:

yarn check-links

This can be slow, so you can also check a single file by running this command, replacing path_to_file with the file you want to validate:

yarn markdown-link-check <path_to_file>

Note that this will also check external links, which the GitHub action ignores. If you wish to ignore those, add -c .github/workflows/link-check-internal.json to the command.

Build

During deployment, the netlify-build script gets executed. To simulate the build process, you can run it locally:

yarn netlify-build

The output will be in the out directory.

Deployment to production

The repository is configured to automatically deploy the main branch to production on Netlify.

handbook-2's People

Contributors

nicksnyder avatar sqs avatar virginiaulrich avatar felixfbecker avatar carlyj0nes avatar mercadon avatar dadlerj avatar kmorris50 avatar marybelzer avatar inesroitman avatar docadam avatar bobheadxi avatar joelkw avatar withdavidli avatar cassiemelani avatar daxmc99 avatar slimsag avatar malomarrec avatar devoncoords avatar abschu avatar rvantonder avatar fabicastp avatar pecigonzalo avatar joekirschersg avatar dan-mckean avatar aileenrose avatar cecilyblack avatar emchap avatar mjgmuldez avatar serinadawn avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.