All Projects β†’ FusionAuth β†’ fusionauth-site

FusionAuth / fusionauth-site

Licence: Apache-2.0 license
Website and documentation for FusionAuth

Programming Languages

Liquid
124 projects
HTML
75241 projects
javascript
184084 projects - #8 most used programming language
Haml
164 projects
ruby
36898 projects - #4 most used programming language
shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to fusionauth-site

idoc
πŸ“’πŸ“šGenerate beautiful interactive documentation and Open-API 3.0 spec file from your existing Laravel app.
Stars: ✭ 95 (+295.83%)
Mutual labels:  docs, api-documentation
InternalSteamWebAPI
Documenting the unofficial and internal Steam Web API
Stars: ✭ 126 (+425%)
Mutual labels:  docs, api-documentation
Pdoc
API Documentation for Python Projects
Stars: ✭ 853 (+3454.17%)
Mutual labels:  docs, api-documentation
chappe
πŸ§‘β€πŸ’» Developer Docs builder. Write guides in Markdown and references in API Blueprint. Comes with a built-in search engine.
Stars: ✭ 132 (+450%)
Mutual labels:  docs, api-documentation
Pdoc
🐍 ➑️ πŸ“œ Auto-generate API documentation for Python projects
Stars: ✭ 604 (+2416.67%)
Mutual labels:  docs, api-documentation
Devdocs
API Documentation Browser
Stars: ✭ 27,208 (+113266.67%)
Mutual labels:  docs, api-documentation
Zeal
Offline documentation browser inspired by Dash
Stars: ✭ 9,164 (+38083.33%)
Mutual labels:  docs, api-documentation
cr-api-docs
Documentation project for RoyaleAPI
Stars: ✭ 13 (-45.83%)
Mutual labels:  docs
Google-Docs-for-Mac
Native Google Docs app for Mac
Stars: ✭ 33 (+37.5%)
Mutual labels:  docs
hapi-docs
Beautiful API documentation generator for Hapi using Vue
Stars: ✭ 64 (+166.67%)
Mutual labels:  api-documentation
repo-template
A template for creating new repositories in the @orbitdb organization
Stars: ✭ 22 (-8.33%)
Mutual labels:  docs
iis-docs
Documentation for IIS
Stars: ✭ 103 (+329.17%)
Mutual labels:  docs
taxonworks doc
TaxonWorks (https://taxonworks.org) documentation.
Stars: ✭ 13 (-45.83%)
Mutual labels:  docs
docs
No description or website provided.
Stars: ✭ 12 (-50%)
Mutual labels:  docs
specifications-ITS-REST
openEHR REST API Specifications
Stars: ✭ 20 (-16.67%)
Mutual labels:  api-documentation
devbook-palette
DEPRECATED Search engine for developers
Stars: ✭ 45 (+87.5%)
Mutual labels:  docs
documentation
Documentation for dahliaOS
Stars: ✭ 78 (+225%)
Mutual labels:  docs
pindo-cli
A simple Command Line Interface that allows you to authenticate with the Pindo API.
Stars: ✭ 32 (+33.33%)
Mutual labels:  api-documentation
openapi-boilerplate
πŸ“˜ Multi-file boilerplate for Open API Specification
Stars: ✭ 280 (+1066.67%)
Mutual labels:  api-documentation
blazor-docs
Public Documentation for Telerik UI for Blazor components.
Stars: ✭ 42 (+75%)
Mutual labels:  docs

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 with Docker

If you have Docker installed your machine, you can use it to build and serve the site. To make things easier, there's a run-docker script to build the container image and mount some cache volumes to speed up future processes.

To build the site and serve it locally, execute ./run-docker --serve to start the Docker container with a local HTTP server available at localhost:4000. For more information, see Build and run a local HTTP server.

You can just build the site with no HTTP server by executing ./run-docker.

Building on your host machine

This project is built using jekyll and asciidoc. You'll need to have ruby installed.

Install

Install these programs:

  • java
  • ruby (2.7.5)
  • plantuml
  • git

gem install bundle bundle install

Build Errors

On M1 Macs, you may receive an error similar to:

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /Users/<username>/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/eventmachine-1.2.7/ext
/Users/<username>/.rbenv/versions/2.7.5/bin/ruby -I /Users/mark/.rbenv/versions/2.7.5/lib/ruby/site_ruby/2.7.0 extconf.rb

To fix this, rebuild the eventmachine gem using:

gem install eventmachine -v '1.2.7' -- --with-ldflags="-Wl,-undefined,dynamic_lookup"
bundle install

Setup Savant

We use the Savant build tool. In order to 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 and run a local HTTP server

sb serve

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

If you are modifying the doc search and want to use a different Algolia index for testing, update the settings in _config.yml. To manually refresh the document search index, use this command: ALGOLIA_API_KEY='<admin api key>' bundle exec jekyll algolia

If you want to clean your Jekyll install, run bundle exec jekyll clean.

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 master:

  • 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

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

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

You may want to run bundle install to ensure that you have all the needed gems.

Make certain that you set the ALGOLIA_API_KEY environment variable to the Admin API Key value found in the Algolia dashboard. This key is used to push any changes to the index at build time. This takes some time, so you can avoid it with the --skipReindex switch.

Make sure that java8 is the first java in your path. If you have the standard FusionAuth setup, you can do this temporarily by running this command: export PATH=~/dev/java/current8/bin/:$PATH.

You need to have AWS credentials (access key, secret access key) with permissions to access the S3 bucket and CloudFront distribution. You need to make those available to the process. I use environment variables, but any method outlined here: https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html will work.

After master contains what you want to release, there is a Savant build target called push. When you run sb push it will pull master, re-build and update the website.

Example

If you are doing everything via environment variables:

ALGOLIA_API_KEY=... PATH=~/dev/java/current8/bin/:$PATH AWS_ACCESS_KEY_ID=AKIA... AWS_SECRET_ACCESS_KEY=Jffp... sb push

Troubleshooting

If you see an error message like:

Exception in thread "main" java.lang.ExceptionInInitializerError
	at org.jruby.Ruby.newInstance(Ruby.java:266)
	at s3.website.Ruby$.rubyRuntime$lzycompute(Ruby.scala:4)
	at s3.website.Ruby$.rubyRuntime(Ruby.scala:4)
	at s3.website.model.Config$$anonfun$15.apply(Config.scala:229)
	at s3.website.model.Config$$anonfun$15.apply(Config.scala:227)
	at scala.util.Try$.apply(Try.scala:192)
	at s3.website.model.Config$.erbEval(Config.scala:227)
	at s3.website.model.Site$$anonfun$2.apply(Site.scala:28)
	at s3.website.model.Site$$anonfun$2.apply(Site.scala:27)
	at scala.util.Success.flatMap(Try.scala:231)
	at s3.website.model.Site$.parseConfig(Site.scala:27)
	at s3.website.model.Site$.loadSite(Site.scala:100)
	at s3.website.Push$.push(Push.scala:62)
	at s3.website.Push$.main(Push.scala:40)
	at s3.website.Push.main(Push.scala)
Caused by: java.lang.RuntimeException: unsupported Java version: 15
	at org.jruby.RubyInstanceConfig.initGlobalJavaVersion(RubyInstanceConfig.java:1878)
	at org.jruby.RubyInstanceConfig.<clinit>(RubyInstanceConfig.java:1585)
	... 15 more

You are running the wrong version of java. Doublecheck your path.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].