This repository contains the code of the spine.io site. It is based on Jekyll and is hosted on GitHub Pages.
This project is two-headed:
- It is a Ruby project because of Jekyll.
- It is a Gradle project to for checking the source code embedded to the site.
The code samples used on the site and in the framework documentation are added using
the embed-code
Jekyll subcommand.
The code resides under the _code
directory. For instructions on embedding the code into the pages,
please see the _code/EMBEDDING.md
file.
- Install Ruby 2.7 (as it's the latest version supported by GitHub Pages).
- Install the
bundler
tool. - Install the project dependencies by running
bundle install
.
Now you should be able to run the site locally.
To build and launch the site on the local server:
./gradlew :runSite
To build the site without running the server:
./gradlew :buildSite
If you experience issues with this step, please check out the Troubleshooting Guide.
The documentation is located in a separate repository. It is added to this site as a Git submodule.
Any changes to the documentation must be made in its own repository.
The documentation
repository is made to be self-sustainable in terms of editing. A fully-fledged
Jekyll site has been set up for it. All the contents and links in it are working as intended.
It allows making changes to it more convenient for authors.
However, to make it all possible, the documentation
repository has its own docs
folder —
otherwise, all links would be broken. Therefore, to avoid any confusion, the submodule
in this “main” repository is named _docs
.
In terms of building the “main” site, the Jekyll collections
are used to embed the contents of the _docs
submodule.
- Update submodules:
git submodule update --remote
- Add any new files pulled from the repository:
git add .
- Perform a commit and push back to origin to rebuild the site.
For instructions on adding the content to the site, please see
the AUTHORING.md
file.