An open API service indexing awesome lists of open source software.

https://github.com/apache/nuttx-website

Apache NuttX Website
https://github.com/apache/nuttx-website

embedded mcu microcontroller nuttx real-time rtos

Last synced: about 1 month ago
JSON representation

Apache NuttX Website

Awesome Lists containing this project

README

        

# Apache NuttX RTOS Website

Source code (written in [RubyGems](https://rubygems.org/))
for [our offical project's website](https://nuttx.apache.org)
is stored here along with the build-and-publish automation scripts
(using GitHub CI).

[NuttX Technical Documentation](https://nuttx.apache.org/docs/latest/)
is a sublocation of the project website, therefore is built and bundled here,
but documentation sources are part of the
[NuttX source code repository](https://github.com/apache/nuttx/tree/master/Documentation)
in order to stay in sync with the upstream code.
Documentation uses [Sphinx](https://www.sphinx-doc.org/) 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.

## Providing the Updates

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 `, then `git commit --amend`
to update existing commit, then `git push -f `
in order to update code under existing Pull Request.

## Updating the Website

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](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 ` command.

## Updating the Documentaion

NuttX Technical Documentation is part of the
[NuttX source code repository](https://github.com/apache/nuttx/tree/master/Documentation).

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 Publishing

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](https://nuttx.apache.org).

Website build-and-publish Action can be started by hand with:
1. [Actions](https://github.com/apache/nuttx-website/actions/workflows/main.yml).
2. Run workflow.
3. Branch: master.
4. Run workflow.

![Trigger Workflow](ci-workflow.png)

## Important Locations

* Apache NuttX RTOS Project Members, Mentors, PMC/IPMC members, and Committers
are listed at
[https://nuttx.apache.org/community-members/](https://nuttx.apache.org/community-members/).
Source file for this site is located at [_data/contributors.yml](_data/contributors.yml).
* Project details and link references are at [_data/project.yml](_data/project.yml).