Skip to content

hyu-iot/website-lingua-franca

 
 

Repository files navigation

The Lingua Franca website

Getting Started

This repo uses yarn workspaces with node 16, and watchman.

The main website source files are located in packages/lingua-franca/src/templates/pages and the documentation files are located in packages/documentation/copy/en.

(Windows users can install watchman via chocolatey)

For switching to Node Version 16, consult this repo for Linux and Mac and this repo for Windows.

With set up done on your local machine, clone this repo and run the following commands.

git submodule update --init
yarn install
code .

# Then:
yarn bootstrap

# Now you can start up the website
yarn start

Working on this repo is done by running yarn start - this starts up the website on port 8000 and creates a builder worker for every package in the repo, so if you make a change outside of the site it will compile and lint etc.

Some useful knowledge you need to know:

  • All packages have: yarn build and yarn test
  • All packages use debug - which means you can do env DEBUG="*" yarn test to get verbose logs

Working on this repo is done by running yarn start -- this starts up the website on port 8000 and creates a builder worker for every package in the repo, so if you make a change outside of the site it will compile.

Deployment

Deployment is done automatically through a GitHub Pages Action. Feel free to look at .github/workflows/deploy-website.yml to see how it works!

Docs

If you want to know in-depth how the framework behind this website was originally architected, see this YouTube video.

Packages

The Lingua-Franca website is organized under three packages whose purposes are outlined below.


Lingua-Franca

The main website for Lingua Franca, a Gatsby website which is statically deployed. You can run it via:

yarn start

Generic Pages

Generic Pages (i.e., pages tied solely to the website and not to the documentation handbook) are handled solely by the lingua-franca package.

Contributors

To add yourself to the list of community contributors, simply add your information to the Community.tsx file.

For more information on adding pages and contributors, consult the README in the lingua-franca package.


Documentation

The Documentation package serves as the primary point for adding documentation on the Lingua Franca language. Markdown pages defined in this packages are automatically added to the Website Handbook. The Handbook is organized hierarchically by rules defined within the Documentation package.

For more info on how to add/modify handbook pages, consult the README under the documentation package.


Handbook-Epub

The handbook-epub package converts the handbook defined in documentation into an Epub/PDF friendly version for viewing.

An epub file is automatically generated from the handbook files and is published here. You can also access a PDF version of the handbook here.

Legal Notices

The original code base of this website is based on the TypeScript website which is licenced under the MIT License (see the LICENSE-CODE file). Other content in this repository is licened under the Creative Commons Attribution 4.0 International Public License (see the LICENSE file). Copyright of changes in this repository after 01/12/2021 is held by the Lingua Franca contributors.

About

Gatsby-based website for Lingua Franca

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 60.4%
  • SCSS 31.2%
  • JavaScript 7.0%
  • Other 1.4%