Skip to content

ritza-co/fusionauth-site

 
 

Repository files navigation

FusionAuth Site

https://fusionauth.io

The FusionAuth site is open source. Found a bug, an issue, or a typo in our docs? Please report using an issue or submit a pull request.

Thanks!
   – FusionAuth team

Building

If you want to submit a PR or test a change to fix a link, etc it may be helpful for you to build and run locally.

Building on your host machine

This project is built using astro. You'll need to have node (v20) installed.

Install

Install these programs:

  • java
  • node
  • git

Go to the astro directory:

cd astro

Run npm install

Running Astro In Dev Mode

This is the quickest way to get started, but it only builds pages you visit.

You'll need to be in the astro directory.

npm run dev

Then you can visit http://localhost:3000

(It'll pick a different port if you have a process running on port 3000.)

Setup Savant

We use the Savant build tool to build the entire website.

In order to fully build and run this project, you'll need to first setup Savant.

Linux or macOS

mkdir ~/savant
cd ~/savant
wget http://savant.inversoft.org/org/savantbuild/savant-core/1.0.0/savant-1.0.0.tar.gz
tar xvfz savant-1.0.0.tar.gz
ln -s ./savant-1.0.0 current
export PATH=$PATH:~/savant/current/bin/

You may optionally want to add ~/savant/current/bin to your PATH that is set in your profile so that this change persists. You'll also need to ensure that you have Java >= 8 installed and the environment variable JAVA_HOME is set.

Build The Entire Site

sb serve

For more information on the Savant build tool, checkout savantbuild.org.

CSS changes

This project depends on CSS from the fusionauth-style project.

If you are making changes to the CSS, you'll need to do the following:

  • clone that repo, make changes there on a branch
  • when your changes are done, run sb int which pushes up an integration build (similar to a maven snapshot) to the savant repo.
  • edit your css dependency var to be something like this (with the appropriate version number):
fusionauthWebsiteStyleVersion = "0.2.27-{integration}"
  • then you can commit this and other folks can pull down your changes

Each time you make a CSS change, you can run sb int in fusionauth-style and then sb css in this project to pull down the latest CSS.

Releasing CSS changes

Before you merge your site changes with CSS dependencies to main:

  • do a CSS version release, which will bump the version (see instructions in that repo for more)
  • update the version number in site/_includes/_head.liquid
  • update the dependency in the fusionauth-site savant build file.
  • run sb css
  • check in the new css files.

Deploying to S3

📝 This section is only useful if you work for FusionAuth. Sorry!

Only main is ever released. You should work on a feature branch so that nothing is inadvertently released, but you must merge to main before you release. On every project, including this site, main should always be completely clean and able to be released at anytime.

Deploying happens automatically via a GitHub action when main is updated.

Deploying Redirect Rules

📝 This section is only useful if you work for FusionAuth. Sorry!

The redirects.json file specifies our redirect rules. This file is published to s3 and read by a Lambda function that processes redirects for the site.

  • If you are moving a page around, update redirects
  • If you are adding a page that is an index page, update indexPages
  • If you are adding a new top level file or directory that's pulled from the S3 bucket, make sure you:
    • Add a behavior in CloudFront. You'll need to submit a PR in fusionauth-site-infra for this change.
    • If you are adding a top level file, add an entry to the s3Paths array
    • If you are adding a top level directory, add an entry to the s3Prefixes array

⚠️ When updating this file, please keep items in alpha order.

Sitemap

📝 This section is only useful if you work for FusionAuth. Sorry!

This is the state of things as of Nov 2023.

The sitemap is generated during the Astro build by @astrojs/sitemap.

As of today, we still have static sitemaps that were generated by Jekyll, located in astro/public. These static sitemaps reference the sitemap generated by Astro.

About

Website and documentation for FusionAuth

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • MDX 90.6%
  • Astro 7.2%
  • JavaScript 1.0%
  • TypeScript 0.4%
  • Ruby 0.3%
  • Shell 0.2%
  • Other 0.3%