Skip to content

wpengine/faustjs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

5ce074a · May 1, 2025
May 1, 2025
Apr 28, 2025
Apr 30, 2025
Apr 17, 2025
Apr 15, 2025
May 1, 2025
Oct 4, 2023
Feb 18, 2025
Feb 18, 2025
May 4, 2022
Feb 18, 2025
Nov 9, 2023
Feb 28, 2024
Feb 18, 2025
Jun 20, 2024
Oct 5, 2021
Jan 22, 2025
Nov 17, 2020
Apr 16, 2025
Nov 15, 2024
Apr 25, 2023
Apr 4, 2025
Apr 16, 2025
Jan 22, 2025
Feb 23, 2023

Repository files navigation

Faust.js

Introduction

Faust.js is a toolkit for building Next.js applications for headless WordPress sites. Faust.js provides tooling to reduce the pains of building a headless WordPress site (namely around data fetching, authentication, previews, and SSR/SSG) while offering a pleasant experience for both developers and publishers.

System Requirements

  • Node.js v16.0.0 or newer (v16.8.0 when using Next.js 13 and v18.17 when using Next.js 14).
  • MacOS, Windows (including WSL), and Linux are supported.

Documentation

Visit https://faustjs.org/docs/ to view the full documentation.

Editing Docs

Docs are MD in docs. Here are a couple things you should know!

  1. Our Docs support Github Flavored Markdown (GFM).

  2. Images should be stored along side the doc that uses them in an images/ folder.

  3. Shared Images can be stored in a shared folder @ docs/images

  4. Callouts: These are similar to block quotes or an aside but for various warnings, info, pro times, etc.

  5. Code Blocks:

    • Required

      1. Specify a language: ```js or `const inlineCode = [1,2,3];{:js}`
        • Commands for a users terminal = bash
        • env files = ini
        • JavaScript = js
        • TypeScript = ts
        • GraphQL = gql
        • JSON = json
        • For a full list see: https://shiki.style/languages
      2. Add line numbers to any complex code. ini and bash don't need to show line numbers generally. ```js showLineNumbers
      3. Complete files should have a file names ```js title="pages/_app.js
    • Optional

      1. Lines can be highlighted in code blocks ```js {1,3-5}. There are a variety of advanced highlighting methods, see: https://rehype-pretty.pages.dev/#highlight-lines

      2. Lines may be diffed in a code block:

         console.log('hewwo') // [!code --]
         console.log('hello') // [!code ++]
         console.log('goodbye')

WordPress Plugin (FaustWP)

There are two key parts to Faust.js: the NPM packages and the WordPress plugin. To take full advantage of headless, you will need to install the plugin in addition to the npm packages.

You can download and install FaustWP from the WordPress Plugin Directory, or by using the zip linked below.

📥 Download Latest Version

Community

To chat with other Faust.js users and the headless community as a whole, you can join the WP Engine Developers Discord.

Additionally, if you have questions or ideas, please share them on GitHub Discussions.

Contributing

There are many ways to contribute to this project.

Contributor License Agreement

All external contributors to WP Engine products must have a signed Contributor License Agreement (CLA) in place before the contribution may be accepted into any WP Engine codebase.

  1. Submit your name and email
  2. 📝 Sign the CLA emailed to you
  3. 📥 Receive copy of signed CLA

❤️ Thank you for helping us fulfill our legal obligations in order to continue empowering builders through headless WordPress.