Support - Roadmap - Open an issue - Style guide
This is the repository for the PostHog website. It contains:
- All of our written content and visuals including product features, manuals, docs, blogs, case studies, tutorials, and the handbook
- Features like questions and answers (using Squeak!), job listings (using Ashby), pricing calculator, roadmap, API docs, and more
- All the components, templates, logic, and styling to make this work, look pretty, and spark joy
-
Pre-installation
Install Node and Yarn. (If you're on a Mac with Apple Silicon and get an error with
-86
in it, you may need to install Rosetta.)npm install --global yarn
-
Start developing
Clone the repo and navigate into your new site’s directory:
git clone git@github.com:PostHog/posthog.com.git && cd posthog.com/
If you're using an Apple Silicon Mac (M1) you'll need to run the following commands:
rm -rf ./node_modules brew install vips
Then install the site dependencies, and start it up:
yarn yarn start
Tip: Seeing a discrepancy between local development and staging/production? Preview the production build locally by running
gatsby build && gatsby serve
-
Open the source code and start editing!
Your site is now running at
http://localhost:8001
!Note: You'll also see a second link:
http://localhost:8001/___graphql
. This is a tool you can use to experiment with querying your data. Learn more about using this tool in the Gatsby tutorial.
See full instructions on developing PostHog.com locally in our manual.
- Pull the latest changes from
master
- Run
gatsby clean && yarn start
or deletenode_modules
and.cache
- Check builds are passing in deployment to Vercel
The site will load the API schema from US Cloud by default. You can override this to use your local PostHog instance with an env var:
POSTHOG_OPEN_API_SPEC_URL="http://127.0.0.1:8000/api/schema/" yarn start
You’ll need to set environment variables for these. See (private) instructions for this.
To see your local version of the posts section, /posts
needs to be visited directly (http://localhost:8001/posts
)
Additional environment variables are needed to develop the merch store:
SHOPIFY_APP_PASSWORD
GATSBY_MYSHOPIFY_URL
GATSBY_SHOPIFY_STOREFRONT_TOKEN
Currently, these environment variables are excluded from Vercel preview builds to disable merch store node creation and speed up build times on non-merch related PRs.
To develop a dynamic open graph image:
- Run
yarn build
with both theASHBY_API_KEY
andGITHUB_API_KEY
set. - In
gatsby/onPostBuild.ts
, temporarily comment out the following:if (process.env.VERCEL_GIT_COMMIT_REF !== 'master') return
- Find the generated open graph image in
public/og-images/
We <3 contributions big and small. In priority order (although everything is appreciated) with the most helpful first:
- Ask a question in our community
- Submit bug reports and give us feedback in the app!
- Vote on features or get early access to beta functionality in our roadmap
- Open a PR
- Read our instructions above on developing PostHog.com locally
- Read more detailed instructions in our manual
- For basic edits, go to the file in GitHub and click the edit button (pencil icon)
- Open an issue or content idea