Skip to content

Commit

Permalink
Update docs structure for website versioning improvements (#3150)
Browse files Browse the repository at this point in the history
---------

Co-authored-by: ashleynilo <[email protected]>
  • Loading branch information
thomas-bc and ashleynilo authored Jan 21, 2025
1 parent b4cfcaf commit 6f1369b
Show file tree
Hide file tree
Showing 83 changed files with 200 additions and 392 deletions.
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -84,5 +84,6 @@ depend
/venv/

Packet-Views
docs/documentation/reference/api/cpp
docs/documentation/reference/api/cmake
docs/reference/api/cpp
docs/reference/api/cmake
temp_dir/
6 changes: 3 additions & 3 deletions Fw/Dp/docs/sdd.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
This build module defines FPP ports and C++ classes that support
the collection and storage of data products.
For more information on data products and records, see the
[data products documentation](../../../../../user-manual/design/data-products.md).
[data products documentation](../../../docs/user-manual/design/data-products.md).

## 2. Configuration

Expand Down Expand Up @@ -81,7 +81,7 @@ The header hash has the following format.

|Field Name|Serialized Size|Description|
|----------|---------------|-----------|
|`Header Hash`|[`HASH_DIGEST_LENGTH`](../../../../api/cpp/html/index.html)|The hash value guarding the header.|
|`Header Hash`|[`HASH_DIGEST_LENGTH`](../../../Utils/Hash/README.md)|The hash value guarding the header.|

#### 5.1.3. Data

Expand Down Expand Up @@ -118,7 +118,7 @@ The data hash has the following format.

|Field Name|Serialized Size|Description|
|----------|---------------|-----------|
|`Data Hash`|[`HASH_DIGEST_LENGTH`](../../../../api/cpp/html/index.html)|The hash value guarding the data.|
|`Data Hash`|[`HASH_DIGEST_LENGTH`](../../../Utils/Hash/README.md)|The hash value guarding the data.|

### 5.2. Further Information

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
#
F´ (F Prime) is a component-driven framework that enables rapid development and deployment of spaceflight and other embedded software applications. Originally developed at the [Jet Propulsion Laboratory](https://www.jpl.nasa.gov/), F´ has been successfully deployed on [several space applications](https://nasa.github.io/fprime/projects.html). It is tailored but not limited to small-scale spaceflight systems such as CubeSats, SmallSats, and instruments.

**Please Visit the F´ Website:** [https://fprime.jpl.gov/latest](https://fprime.jpl.nasa.gov/latest/) for more information.
**Please Visit the F´ Website:** [https://fprime.jpl.gov/](https://fprime.jpl.nasa.gov/) for more information.


## What does F´ provide
Expand All @@ -17,7 +17,7 @@ F´ (F Prime) is a component-driven framework that enables rapid development and
- A growing collection of ready-to-use components
- Testing tools for testing flight software at the unit and integration levels.

Learn more about [F´ key features](https://fprime.jpl.nasa.gov/latest/).
Learn more about [F´ key features](https://fprime.jpl.nasa.gov/).


## System Requirements
Expand Down
2 changes: 1 addition & 1 deletion RPI/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ sudo apt update && sudo apt install -y gcc-arm-linux-gnueabihf g++-arm-linux-gnu

**Crosscompiling using CMake:**

The following commands are described at length in the [HelloWorld tutorial](../docs/documentation/tutorials/). These commands will
The following commands are described at length in the [HelloWorld tutorial](../docs/tutorials/index.md). These commands will
go to the RPI directory and generate a build directory for the RPI example. This step generates a CMake Cache, sets the toolchain use to build the
code and does an initial scan of the source tree. Since the RPI example sets a default F´ toolchain file in its CMakeLists.txt, we do not need to
supply one on the command line when generating the build. This only needs to be done once to prepare for the build because CMake will detect
Expand Down
2 changes: 1 addition & 1 deletion Ref/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,5 +63,5 @@ cd fprime/Ref/build-artifacts/<platform>/bin/
- The F´ utility's build command can build individual components too.
- The 'generate' command can take a toolchain argument for quickly generating a cross-compile `fprime-util generate raspberrypi` for example.

Further work with the F´ utility can be found in the [HelloWorld tutorial](../docs/documentation/tutorials/) tutorial.
Further work with the F´ utility can be found in the [HelloWorld tutorial](../docs/tutorials/index.md) tutorial.

2 changes: 1 addition & 1 deletion docs/INSTALL.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Please refer to the F´ website: https://fprime.jpl.nasa.gov/latest/getting-started/
Please refer to the F´ website: https://fprime.jpl.nasa.gov/
39 changes: 0 additions & 39 deletions docs/documentation/index.md

This file was deleted.

10 changes: 0 additions & 10 deletions docs/documentation/reference/fpp-user-guide.md

This file was deleted.

5 changes: 0 additions & 5 deletions docs/documentation/reference/sdd/index.md

This file was deleted.

6 changes: 3 additions & 3 deletions docs/doxygen/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ PROJECT_LOGO = ./docs/doxygen/small-logo.png
# entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used.

OUTPUT_DIRECTORY = ./docs/documentation/reference/api/cpp
OUTPUT_DIRECTORY = ./docs/reference/api/cpp

# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
# directories (in 2 levels) under the output directory of each output format and
Expand Down Expand Up @@ -906,8 +906,8 @@ RECURSIVE = YES
# run.

# ./docs need to be excluded individually because ./docs/doxygen/mainpage.md needs to be included
EXCLUDE = ./docs/documentation ./docs/events ./docs/getting-started \
./docs/overview ./docs/support \
EXCLUDE = ./docs/how-to ./docs/reference ./docs/tutorials ./docs/user-manual \
./docs/events ./docs/getting-started ./docs/overview ./docs/support \
*CMakeFiles/* ./Autocoders ./cmake ./gtest ./Ref ./RPI ./FppTest \
STest ./mk ./README.md ./CONTRIBUTORS.md ./CONTRIBUTING.md ./SECURITY.md \
./googletest/ ./CODE_OF_CONDUCT.md ./LICENSE.md ./docs/INSTALL.md
Expand Down
2 changes: 1 addition & 1 deletion docs/doxygen/generate_docs.bash
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
SOURCE_DIR=`dirname $BASH_SOURCE`

FPRIME=`cd ${SOURCE_DIR}/../../; pwd`
APIDOCS="${FPRIME}/docs/documentation/reference/api"
APIDOCS="${FPRIME}/docs/reference/api"

DOXY_OUTPUT="${APIDOCS}/cpp"
CMAKE_OUTPUT="${APIDOCS}/cmake"
Expand Down
19 changes: 6 additions & 13 deletions docs/doxygen/sdd_processing.py
Original file line number Diff line number Diff line change
@@ -1,26 +1,19 @@
import os
import shutil
from pathlib import Path

SDD_DIR = "./docs/documentation/reference/sdd"
os.makedirs(SDD_DIR, exist_ok=True)
SDD_INDEX_FILE = "./docs/reference/sdd.md"

# Append the new file path to index.md
with open(Path(SDD_DIR) / 'index.md', 'a') as index_file:
with open(Path(SDD_INDEX_FILE), 'a') as index_file:

# Find all sdd.md files and process them
for file in list(Path('.').rglob('*/docs/sdd.md')):
# Sort them for convenience, but also can't use the rglob generator since
# it would start matching generated files, so using sorted to create a list
for file in sorted(Path('.').rglob('*/docs/sdd.md')):
# Get module name and parent directory name
second_parent = file.parents[1].name
third_parent = file.parents[2].name

if third_parent in ["", ".", "fprime", "Ref"] or third_parent.startswith("cookiecutter-"):
continue

source_dir = file.parents[1] / 'docs'
dest_dir = Path(SDD_DIR) / third_parent / second_parent / 'docs'

os.makedirs(dest_dir, exist_ok=True)
shutil.copytree(source_dir, dest_dir, dirs_exist_ok=True)

index_file.write(f"- [{third_parent}::{second_parent}](./{third_parent}/{second_parent}/docs/sdd.md)\n")
index_file.write(f"- [{third_parent}::{second_parent}](../../{third_parent}/{second_parent}/docs/sdd.md)\n")
6 changes: 0 additions & 6 deletions docs/events/event-request.md

This file was deleted.

6 changes: 0 additions & 6 deletions docs/events/index.md

This file was deleted.

6 changes: 3 additions & 3 deletions docs/getting-started/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@ F´ has the following features:

## Hello, World!

New users should start with the [Hello World tutorial](../tutorials-hello-world/docs/hello-world//). This tutorial walks through the F´ installation process, how to create a new project and how to design, implement, and test a basic F Prime application.
New users should start with the [Hello World tutorial](../../tutorials-hello-world/docs/hello-world.md). This tutorial walks through the F´ installation process, how to create a new project and how to design, implement, and test a basic F Prime application.


## Further References

Here are some additional references to continue learning about F´:

- [More tutorials](../documentation/tutorials/)
- [F´ User Manual](../documentation/user-manual/)
- [More tutorials](../tutorials/index.md)
- [F´ User Manual](../user-manual/index.md)
- [Installation and Troubleshooting](./installing-fprime.md)
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
43 changes: 38 additions & 5 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,39 @@
---
Title: Home
template: home.html
---
# Documentation

[View the F Prime Website here](https://fprime.jpl.nasa.gov/latest/)

<div class="grid cards" markdown>

- <span class="card-title">__Tutorials__</span> *Learning-oriented*

---

Tutorials walk through the essentials of F Prime development, starting with the canonical HelloWorld example and progressing to cross-compiling and deploying on hardware.

[Visit Tutorials](tutorials/index.md){ .md-button .md-button--primary }

- <span class="card-title">__User Manual__</span> *Understanding-oriented*

---

The User Manual dives into F Prime design philosophy and architectural principles, providing a deep understanding of how the framework operates.

[Visit User Manual](user-manual/index.md){ .md-button .md-button--primary }

- <span class="card-title">__How To__</span> *Task-oriented*

---

How-To guides offer step-by-step instructions for specific development tasks in F Prime.

[Visit How Tos](how-to/index.md){ .md-button .md-button--primary }

- <span class="card-title">__Reference__</span> *Information-oriented*

---

Technical reference for the F Prime C++ API, CMake API, FPP language specification and more.

[Visit Reference](reference/index.md){ .md-button .md-button--primary }


</div>
Loading

0 comments on commit 6f1369b

Please sign in to comment.