Source code (written in RubyGems) for our offical project's website is stored here along with the build-and-publish automation scripts (using GitHub CI).
NuttX Technical Documentation is a sublocation of the project website, therefore is built and bundled here, but documentation sources are part of the NuttX source code repository in order to stay in sync with the upstream code. Documentation uses Sphinx generator tools to produce HTML output.
Please keep in mind that Website (this repository) and Documentation (NuttX repository) have different source origins and common resulting location.
Fork the repository, clone it to a local machine, make changes, commit changes onto a dedicated branch, push the branch onto your fork repository, GitHub will help you create a Pull Request.
Remember to use signed commits and report single problem per PR.
Make sure to preview local changes before submitting a Pull Request.
If you already submitted a Pull Request, but some changes needs to be made, add modified files with git add <your_file>
, then git commit --amend
to update existing commit, then git push -f <your_fork> <your_branch>
in order to update code under existing Pull Request.
Website source code resides at top location of this repository.
Before opening a Pull Request, you should preview your contributions.
You first need to install Ruby Gems on a local machine:
sudo apt install git ruby ruby-dev bundler
Then you can build and preview the results with:
git clone https://github.com/apache/nuttx-website cd nuttx-website/ export GEM_HOME=$HOME/.gem # Adjust this path as you want. export PATH=$PATH:$GEM_HOME/bin # Add Gem binaries to the path. bundle install # Install required packages. bundle exec jekyll serve # Build and start local web server.
Preview should be visible at http://localhost:4000.
Note: The Gemfile.lock
may contain some platform specific pins. You may want to regenerate it by deleting Gemfile.lock
and running bundle update
. Pins can be locked for x86_64-linux
, Darwin
, FreeBSD
, and other build hosts with bundle lock --add-platform <your_platform>
command.
NuttX Technical Documentation is part of the NuttX source code repository.
Before opening a Pull Request, you should preview your contributions.
You first need to install Python3 and PipEnv.
sudo apt install git python3 pipenv
You can setup build tools and create preview with:
git clone https://github.com/apache/nuttx cd nuttx/Documentation pipenv install pipenv run make html
Preview files should be visible at _build/html/
directory.
Website is updated by the GitHub CI Action script that builds the RubyGem and Shinx part from sources, bundles them together, and then runs the publish.sh
script to update the web hosting at https://nuttx.apache.org.
Website build-and-publish Action can be started by hand with: