Skip to content

mathesar-foundation/mathesar-website

Repository files navigation

Mathesar logo

An intuitive UI for managing data, for users of all technical skill levels. Built on Postgres.

Mathesar codeWebsiteDocsMatrix (chat)Wiki

Mathesar website

This repository is a SvelteKit website that powers https://mathesar.org. It is hosted on GitHub pages.

Table of Contents

Local setup

Installation

Running the Mathesar website locally requires Node.js >18. See this guide for the ideal way to manage Node.js versions on your computer.

Running locally

Tip

The first time you run npm run dev the site will be extremely slow. SvelteKit is optimizing images, which will be cached in the node_modules directory. Running npm run build once first will populate the cache, in the same manner as npm run dev but makes it clearer what is happening.

  1. Clone the repo:

    # Or `gh repo clone mathesar-foundation/mathesar-website` using the Github CLI
    > git clone [email protected]:mathesar-foundation/mathesar-website-beta.git
  2. Install dependencies with npm install.

  3. Run the local development server:

    npm run dev
    
    # or start the server and open the app in a new browser tab
    npm run dev -- --open

Building

To create a production version of the app:

npm run build

You can preview the production build with npm run preview.

Content editing

Much of the site's contents are stored in .yml files in the _data directory. This pattern was inherited from our previous Jekyll site to ensure a consistient editing experience. Blog posts live in the _pages directory as markdown files.

Currently, all other page content is held in the respective src/routes/{route-nanme/+page.svelte file for each page. Take care not to break the structure of pages when making content edits.

Analytics

Lightweight, privacy-concious event and pageview data is collected using Simple Analytics.

Forms

We collect newsletter signups using a Formspree form in the site's footer.