From 1d2ff3bcf705ca5adde8601ee4e932f0a3d77e1e Mon Sep 17 00:00:00 2001 From: Chris Gammell Date: Tue, 7 Jul 2026 15:40:56 -0400 Subject: [PATCH 1/2] Update Golioth Docs submodule and fix README setup instructions Fast-forward the Golioth Docs submodule (dd7ee4c..80a1630) and correct the README: run npm commands from website/, and use `git submodule update --remote --merge` instead of the detached-HEAD- incompatible `git submodule foreach git pull`. Co-Authored-By: Claude Opus 4.8 (1M context) --- README.md | 17 +++++++++++++++-- submodule-goliothdocs | 2 +- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ef4acf37..a6fb64a2 100644 --- a/README.md +++ b/README.md @@ -16,17 +16,29 @@ git submodule update --init ## Update the Golioth Docs submodule -When updates are made to the Golioth Docs repo, the can be pulled into this one by updating the submodule: +When updates are made to the Golioth Docs repo, they can be pulled into this one by updating the submodule to the tip of its default branch (`main`): ```console -git submodule foreach git pull +git submodule update --remote --merge ``` +This leaves the updated submodule pointer staged, so commit it to record the update: + +```console +git add submodule-goliothdocs +git commit -m "Update Golioth Docs submodule" +``` + +> **Note:** Don't use `git submodule foreach git pull`. Submodules are checked out in a detached-HEAD state, so a plain `git pull` has no branch to track and fails with *"You are not currently on a branch."* + ## Testing and Deploying +The Docusaurus site lives in the `website/` directory, so run all npm commands from there. + Docs pages can be tested locally: ```bash +cd website npm install npm start ``` @@ -34,5 +46,6 @@ npm start Docs can be deployed to the live page by running: ```bash +cd website npm run deploy ``` diff --git a/submodule-goliothdocs b/submodule-goliothdocs index dd7ee4cc..80a16307 160000 --- a/submodule-goliothdocs +++ b/submodule-goliothdocs @@ -1 +1 @@ -Subproject commit dd7ee4cc2b5ed2f78d0c07d192d0d76ec9a08782 +Subproject commit 80a163072bd2c27c913d975e28893f9d1e0c124f From c1d7ebc11dcd862c08aa06810d77e2baada8d568 Mon Sep 17 00:00:00 2001 From: Chris Gammell Date: Tue, 14 Jul 2026 19:26:20 -0400 Subject: [PATCH 2/2] docs: add SEO descriptions and keywords to training pages - Rewrite frontmatter `description` on ~40 doc pages into descriptive summaries - Add `keywords` frontmatter arrays for search indexing - Update homepage title/description copy (removes stray `` typo) Co-Authored-By: Claude Opus 4.8 (1M context) --- website/docs/api-training/01-what-is-openapi.md | 4 ++-- website/docs/api-training/02-get-device-list.md | 4 ++-- website/docs/api-training/03-query-lightdb-stream.md | 4 ++-- website/docs/api-training/04-golioth-console-requests.md | 4 ++-- website/docs/api-training/05-issue-rpc.md | 4 ++-- website/docs/api-training/README.md | 2 ++ website/docs/community/code-of-conduct.mdx | 2 ++ .../01-golioth-intro/01-what-is-golioth.md | 3 ++- .../01-golioth-intro/02-golioth-console.md | 4 ++-- .../golioth-exploration/01-golioth-intro/03-hardware-setup.md | 4 ++-- .../02-device-interaction/01-device-status.md | 4 ++-- .../02-device-interaction/02-lightdb-stream.md | 4 ++-- .../02-device-interaction/03-lightdb-state.md | 4 ++-- .../02-device-interaction/04-remote-logging.md | 4 ++-- .../02-device-interaction/05-settings-service.md | 4 ++-- .../02-device-interaction/06-remote-procedure-call.md | 4 ++-- .../02-device-interaction/07-ota-firmware-update.md | 4 ++-- .../docs/golioth-exploration/02-device-interaction/index.md | 2 ++ website/docs/golioth-exploration/03-next-steps.md | 4 ++-- website/docs/golioth-exploration/README.md | 2 ++ website/docs/zephyr-training/01_What_is_Zephyr/README.md | 4 ++-- website/docs/zephyr-training/01_What_is_Zephyr/cmake.md | 4 ++-- website/docs/zephyr-training/01_What_is_Zephyr/kconfig.md | 4 ++-- website/docs/zephyr-training/01_What_is_Zephyr/west.md | 4 ++-- .../docs/zephyr-training/01_What_is_Zephyr/zephyr_setup.md | 4 ++-- website/docs/zephyr-training/02_helloworld/README.md | 4 ++-- .../docs/zephyr-training/02_helloworld/compile-hello-world.md | 4 ++-- .../docs/zephyr-training/02_helloworld/convert_to_logging.md | 4 ++-- .../02_helloworld/install_nrf_connect_desktop.md | 4 ++-- website/docs/zephyr-training/03_LED/README.md | 4 ++-- website/docs/zephyr-training/03_LED/add-led-devicetree.md | 4 ++-- website/docs/zephyr-training/03_LED/build_blinky.md | 4 ++-- website/docs/zephyr-training/03_LED/devicetree-overview.md | 4 ++-- website/docs/zephyr-training/04_blinkRTOS/README.md | 4 ++-- .../docs/zephyr-training/04_blinkRTOS/blink_with_thread.md | 3 ++- website/docs/zephyr-training/04_blinkRTOS/blink_with_timer.md | 3 ++- website/docs/zephyr-training/05_golioth/README.md | 4 ++-- website/docs/zephyr-training/05_golioth/kconfig_and_client.md | 4 ++-- website/docs/zephyr-training/05_golioth/lightdb_stream.md | 4 ++-- website/docs/zephyr-training/05_golioth/west_manifest.md | 4 ++-- website/docs/zephyr-training/README.md | 2 ++ website/src/pages/index.js | 4 ++-- 42 files changed, 84 insertions(+), 71 deletions(-) diff --git a/website/docs/api-training/01-what-is-openapi.md b/website/docs/api-training/01-what-is-openapi.md index 9174c3bb..f0f78a33 100644 --- a/website/docs/api-training/01-what-is-openapi.md +++ b/website/docs/api-training/01-what-is-openapi.md @@ -1,7 +1,7 @@ --- id: using-openapi -description: | - Use Golioth's OpenAPI Docs to Try our Rest API +description: Learn what the Golioth OpenAPI docs are, create a project API key, and authenticate the interactive docs to test REST API calls. +keywords: [openapi, golioth rest api, api key, authentication, golioth console, swagger, project settings] --- # Golioth OpenAPI Docs and Authenticating your Project diff --git a/website/docs/api-training/02-get-device-list.md b/website/docs/api-training/02-get-device-list.md index 0409f4fa..41ae7803 100644 --- a/website/docs/api-training/02-get-device-list.md +++ b/website/docs/api-training/02-get-device-list.md @@ -1,7 +1,7 @@ --- id: get-device-list -description: | - Query the Project for a list of Devices +description: Use the Golioth OpenAPI docs to query the Devices endpoint, find your projectId and deviceId, and return a list of fleet devices. +keywords: [openapi, golioth rest api, devices endpoint, projectid, deviceid, device list, fleet, device tags] --- # Query a list of Devices diff --git a/website/docs/api-training/03-query-lightdb-stream.md b/website/docs/api-training/03-query-lightdb-stream.md index 8b9f6211..ea20b431 100644 --- a/website/docs/api-training/03-query-lightdb-stream.md +++ b/website/docs/api-training/03-query-lightdb-stream.md @@ -1,7 +1,7 @@ --- id: lightb-stream -description: | - Access stored time-series data on LightDB Stream +description: Query stored time-series data from LightDB Stream using the REST API, building a JSON body with field paths, time windows, and filters. +keywords: [lightdb stream, time-series data, golioth rest api, openapi, json query, filters, temperature, sensor data] --- # Querying LightDB Stream Data diff --git a/website/docs/api-training/04-golioth-console-requests.md b/website/docs/api-training/04-golioth-console-requests.md index e64ef40f..c2ec32d3 100644 --- a/website/docs/api-training/04-golioth-console-requests.md +++ b/website/docs/api-training/04-golioth-console-requests.md @@ -1,7 +1,7 @@ --- id: golioth-console-queries -description: | - Learn from the REST API queries issued by the Golioth Console +description: Use Chrome or Firefox developer tools to inspect the REST API requests and endpoints the Golioth Web Console uses behind the scenes. +keywords: [golioth rest api, golioth console, developer tools, network inspector, xhr, lightdb stream, api endpoints] --- # Learn from the Queries of the Golioth Console diff --git a/website/docs/api-training/05-issue-rpc.md b/website/docs/api-training/05-issue-rpc.md index cd8fa145..092637dd 100644 --- a/website/docs/api-training/05-issue-rpc.md +++ b/website/docs/api-training/05-issue-rpc.md @@ -1,7 +1,7 @@ --- id: issue-rpc -description: | - Use the REST API to issue an RPC and view the result +description: Issue a Remote Procedure Call to a device through the Golioth REST API and receive live data such as network info back from the device. +keywords: [rpc, remote procedure call, golioth rest api, openapi, get_network_info, device management, nrf7002dk, multiply] --- # Issue a Remote Procedure Call diff --git a/website/docs/api-training/README.md b/website/docs/api-training/README.md index 568afcf3..89249fba 100644 --- a/website/docs/api-training/README.md +++ b/website/docs/api-training/README.md @@ -1,6 +1,8 @@ --- id: api-training sidebar_position: -1 +description: Explore the Golioth REST API with the interactive OpenAPI tool to list devices, query time-series data, and control your IoT fleet. +keywords: [golioth rest api, openapi, iot fleet, device list, lightdb stream, rpc, api key, golioth console] --- # Golioth REST API Training Overview diff --git a/website/docs/community/code-of-conduct.mdx b/website/docs/community/code-of-conduct.mdx index 92261ea3..1d7734da 100644 --- a/website/docs/community/code-of-conduct.mdx +++ b/website/docs/community/code-of-conduct.mdx @@ -1,6 +1,8 @@ --- id: code-of-conduct sidebar_position: 1 +description: The code of conduct for Golioth training, covering expected behavior, harassment policy, and how to contact organizers for in-person and remote events. +keywords: [code of conduct, golioth training, community, harassment policy, conduct expectations, devrel] --- # Golioth Training Code of Conduct diff --git a/website/docs/golioth-exploration/01-golioth-intro/01-what-is-golioth.md b/website/docs/golioth-exploration/01-golioth-intro/01-what-is-golioth.md index ca28a472..bd228bf7 100644 --- a/website/docs/golioth-exploration/01-golioth-intro/01-what-is-golioth.md +++ b/website/docs/golioth-exploration/01-golioth-intro/01-what-is-golioth.md @@ -1,6 +1,7 @@ --- id: what-is-golioth -description: Learn about Golioth, your Instant IoT Cloud +description: Understand Golioth's cloud-side IoT services and the open source device SDKs that connect Zephyr, NCS, ESP-IDF, and Linux devices to the cloud. +keywords: [golioth, iot cloud, device sdk, zephyr rtos, ncs, esp-idf, ota, lightdb, cloud services] --- # What is Golioth and how can I use it? diff --git a/website/docs/golioth-exploration/01-golioth-intro/02-golioth-console.md b/website/docs/golioth-exploration/01-golioth-intro/02-golioth-console.md index c29fcd87..70f95211 100644 --- a/website/docs/golioth-exploration/01-golioth-intro/02-golioth-console.md +++ b/website/docs/golioth-exploration/01-golioth-intro/02-golioth-console.md @@ -1,7 +1,7 @@ --- id: golioth-console -description: | - Login to Golioth and create a device with credentials. +description: Create a Golioth account, provision your first device through the setup wizard, and retrieve the credentials your hardware needs to authenticate. +keywords: [golioth console, account signup, device provisioning, credentials, psk, dev tier, device management] --- # Console Signup and Exploration diff --git a/website/docs/golioth-exploration/01-golioth-intro/03-hardware-setup.md b/website/docs/golioth-exploration/01-golioth-intro/03-hardware-setup.md index 5561c13e..5e664e9a 100644 --- a/website/docs/golioth-exploration/01-golioth-intro/03-hardware-setup.md +++ b/website/docs/golioth-exploration/01-golioth-intro/03-hardware-setup.md @@ -1,6 +1,6 @@ --- -description: | - Use a precompiled application to connect an nRF7002 DK to Golioth +description: Flash a precompiled binary to an nRF7002 DK or nRF9160 DK, add WiFi and Golioth credentials over serial, and watch the device connect to Golioth. +keywords: [nrf7002dk, nrf9160dk, nrf connect for desktop, flash firmware, device credentials, psk, wifi, serial terminal, golioth] --- import InstallNrfConnect from './\_partials/install_nrf_connect.md' diff --git a/website/docs/golioth-exploration/02-device-interaction/01-device-status.md b/website/docs/golioth-exploration/02-device-interaction/01-device-status.md index bed8de89..be8cfe93 100644 --- a/website/docs/golioth-exploration/02-device-interaction/01-device-status.md +++ b/website/docs/golioth-exploration/02-device-interaction/01-device-status.md @@ -1,7 +1,7 @@ --- id: device-status -description: | - View live device status on Golioth +description: View live device status in the Golioth Console, including name, blueprint, tags, hardware IDs, sync state, and reported firmware version. +keywords: [device status, golioth console, blueprint, tags, hardware id, device id, settings sync, firmware version] --- # Device Status diff --git a/website/docs/golioth-exploration/02-device-interaction/02-lightdb-stream.md b/website/docs/golioth-exploration/02-device-interaction/02-lightdb-stream.md index 4cf09b9c..9c46032f 100644 --- a/website/docs/golioth-exploration/02-device-interaction/02-lightdb-stream.md +++ b/website/docs/golioth-exploration/02-device-interaction/02-lightdb-stream.md @@ -1,7 +1,7 @@ --- id: lightdb-stream -description: | - View time-series data as it arrives +description: View time-series sensor data as it arrives in LightDB Stream and edit a Golioth Pipeline to route and transform that data, including injecting metadata. +keywords: [lightdb stream, time-series data, pipelines, cbor, json, inject-metadata, sensor data, golioth console] --- # LightDB Stream (Time-series) diff --git a/website/docs/golioth-exploration/02-device-interaction/03-lightdb-state.md b/website/docs/golioth-exploration/02-device-interaction/03-lightdb-state.md index ae6189d9..a5e42591 100644 --- a/website/docs/golioth-exploration/02-device-interaction/03-lightdb-state.md +++ b/website/docs/golioth-exploration/02-device-interaction/03-lightdb-state.md @@ -1,7 +1,7 @@ --- id: lightdb-state -description: | - View stateful data +description: Use LightDB State to view and edit a device's bi-directional stateful data in the Golioth Console and observe real-time updates from the dev kit. +keywords: [lightdb state, stateful data, golioth console, real-time updates, key-value, device state, observe] --- # LightDB State (Stateful) diff --git a/website/docs/golioth-exploration/02-device-interaction/04-remote-logging.md b/website/docs/golioth-exploration/02-device-interaction/04-remote-logging.md index 79e52ed3..adcad033 100644 --- a/website/docs/golioth-exploration/02-device-interaction/04-remote-logging.md +++ b/website/docs/golioth-exploration/02-device-interaction/04-remote-logging.md @@ -1,7 +1,7 @@ --- id: remote-logging -description: | - View device logs from the cloud +description: Access device log messages from the cloud in the Golioth Console, filter by level, module, and time, and view logs across your entire fleet. +keywords: [remote logging, device logs, golioth console, log levels, golioth_system, fleet monitoring, csv export] --- # Remote Logging diff --git a/website/docs/golioth-exploration/02-device-interaction/05-settings-service.md b/website/docs/golioth-exploration/02-device-interaction/05-settings-service.md index ba85014c..a916519f 100644 --- a/website/docs/golioth-exploration/02-device-interaction/05-settings-service.md +++ b/website/docs/golioth-exploration/02-device-interaction/05-settings-service.md @@ -1,7 +1,7 @@ --- id: settings-service -description: | - Change settings fleet-wide, by Blueprint, or by Device +description: Use the Golioth Settings Service to push configuration values fleet-wide, by blueprint, or per device, and verify devices stay synchronized. +keywords: [settings service, device settings, fleet configuration, loop_delay_s, blink_delay_ms, blueprint, settings sync, golioth console] --- # Device Settings diff --git a/website/docs/golioth-exploration/02-device-interaction/06-remote-procedure-call.md b/website/docs/golioth-exploration/02-device-interaction/06-remote-procedure-call.md index 2d774e5c..28b121ad 100644 --- a/website/docs/golioth-exploration/02-device-interaction/06-remote-procedure-call.md +++ b/website/docs/golioth-exploration/02-device-interaction/06-remote-procedure-call.md @@ -1,7 +1,7 @@ --- id: remote-procedure-call -description: | - Issue a remote procedure call and view return data +description: Issue a Remote Procedure Call from the Golioth Console to run a function on your device with input parameters and view the returned data. +keywords: [rpc, remote procedure call, golioth console, get_network_info, multiply, parameters, device control] --- # Remote Procedure Call (RPC) diff --git a/website/docs/golioth-exploration/02-device-interaction/07-ota-firmware-update.md b/website/docs/golioth-exploration/02-device-interaction/07-ota-firmware-update.md index afccc128..bdbcb071 100644 --- a/website/docs/golioth-exploration/02-device-interaction/07-ota-firmware-update.md +++ b/website/docs/golioth-exploration/02-device-interaction/07-ota-firmware-update.md @@ -1,7 +1,7 @@ --- id: ota-firmware-update -description: | - See how OTA firmware updates work with Golioth +description: Understand how Golioth Over-the-Air firmware updates work, including targeted releases, secondary-slot verification, and one-click rollbacks. +keywords: [ota, firmware update, over-the-air, golioth, rollback, firmware signature, fleet update, secondary slot] --- # Over-the-Air (OTA) Firmware Update diff --git a/website/docs/golioth-exploration/02-device-interaction/index.md b/website/docs/golioth-exploration/02-device-interaction/index.md index 659c0aea..0f1e7cce 100644 --- a/website/docs/golioth-exploration/02-device-interaction/index.md +++ b/website/docs/golioth-exploration/02-device-interaction/index.md @@ -1,5 +1,7 @@ --- id: device-interaction +description: View live device data and control your fleet from the Golioth Console, covering status, LightDB, logging, settings, RPCs, and OTA updates. +keywords: [golioth console, device interaction, lightdb stream, lightdb state, remote logging, settings service, rpc, ota, fleet management] --- # Interacting with Devices diff --git a/website/docs/golioth-exploration/03-next-steps.md b/website/docs/golioth-exploration/03-next-steps.md index 5908ff24..4f8c6f9c 100644 --- a/website/docs/golioth-exploration/03-next-steps.md +++ b/website/docs/golioth-exploration/03-next-steps.md @@ -1,7 +1,7 @@ --- id: next-steps -description: | - Show the options for where to go from here. +description: Choose your next training module after the Golioth intro, moving on to hands-on Zephyr RTOS firmware or the Golioth REST API training track. +keywords: [golioth training, next steps, zephyr training, api training, rest api, learning path] --- diff --git a/website/docs/golioth-exploration/README.md b/website/docs/golioth-exploration/README.md index 7e0f369b..a78641e5 100644 --- a/website/docs/golioth-exploration/README.md +++ b/website/docs/golioth-exploration/README.md @@ -1,6 +1,8 @@ --- id: golioth-exploration sidebar_position: -1 +description: Hands-on intro to Golioth, where you flash firmware to a Nordic dev kit, connect it to the cloud, and explore device data and fleet control. +keywords: [golioth, iot cloud, nrf7002dk, nrf9160dk, device fleet, lightdb, ota, remote logging, zephyr] --- # Intro to Golioth diff --git a/website/docs/zephyr-training/01_What_is_Zephyr/README.md b/website/docs/zephyr-training/01_What_is_Zephyr/README.md index ed0f6108..91691343 100644 --- a/website/docs/zephyr-training/01_What_is_Zephyr/README.md +++ b/website/docs/zephyr-training/01_What_is_Zephyr/README.md @@ -1,7 +1,7 @@ --- id: what-is-zephyr -description: | - Get an overview of the major components of Zephyr RTOS +description: An overview of Zephyr RTOS and its major components, including the Zephyr tree, Zephyr SDK, CMake, Kconfig, devicetree, and the west meta tool. +keywords: [zephyr rtos, zephyr tree, zephyr sdk, cmake, kconfig, devicetree, west, hardware abstraction, golioth] --- # What is Zephyr? diff --git a/website/docs/zephyr-training/01_What_is_Zephyr/cmake.md b/website/docs/zephyr-training/01_What_is_Zephyr/cmake.md index 070c8b44..8902c7a3 100644 --- a/website/docs/zephyr-training/01_What_is_Zephyr/cmake.md +++ b/website/docs/zephyr-training/01_What_is_Zephyr/cmake.md @@ -1,7 +1,7 @@ --- sidebar_position: 2 -description: - How CMake is used in Zephyr +description: Learn how Zephyr uses CMake and CMakeLists.txt files to control which C and header files are compiled, including conditional file inclusion. +keywords: [cmake, cmakelists.txt, zephyr build system, target_sources, conditional compilation, zephyr_library_sources_ifdef] --- # CMake Overview diff --git a/website/docs/zephyr-training/01_What_is_Zephyr/kconfig.md b/website/docs/zephyr-training/01_What_is_Zephyr/kconfig.md index 273e997f..e7fff478 100644 --- a/website/docs/zephyr-training/01_What_is_Zephyr/kconfig.md +++ b/website/docs/zephyr-training/01_What_is_Zephyr/kconfig.md @@ -1,7 +1,7 @@ --- sidebar_position: 3 -description: - How Kconfig works with Zephyr builds +description: Understand how Kconfig configures the Zephyr kernel and subsystems at build time using prj.conf symbols, merged config files, and menuconfig. +keywords: [kconfig, prj.conf, menuconfig, zephyr build, config symbols, autoconf.h, build configuration] --- # Kconfig Overview diff --git a/website/docs/zephyr-training/01_What_is_Zephyr/west.md b/website/docs/zephyr-training/01_What_is_Zephyr/west.md index 80a90b6f..2fa24da0 100644 --- a/website/docs/zephyr-training/01_What_is_Zephyr/west.md +++ b/website/docs/zephyr-training/01_What_is_Zephyr/west.md @@ -1,7 +1,7 @@ --- sidebar_position: 4 -description: - Learn about `west`, the Zephyr meta tool +description: Learn how west, the Zephyr meta tool, manages repositories with manifest files and wraps build, flash, and debug commands across architectures. +keywords: [west, zephyr meta tool, west manifest, west.yml, west init, west update, west build, west flash, repository management] --- # West Overview diff --git a/website/docs/zephyr-training/01_What_is_Zephyr/zephyr_setup.md b/website/docs/zephyr-training/01_What_is_Zephyr/zephyr_setup.md index e90eb142..3714e9ac 100644 --- a/website/docs/zephyr-training/01_What_is_Zephyr/zephyr_setup.md +++ b/website/docs/zephyr-training/01_What_is_Zephyr/zephyr_setup.md @@ -1,7 +1,7 @@ --- sidebar_position: 1 -description: - Learn about setting up a Zephyr development environment +description: Learn why this training uses GitHub Codespaces as a preconfigured, browser-based Zephyr development environment instead of a local toolchain install. +keywords: [zephyr development environment, github codespaces, vs code, zephyr toolchain, ncs, nrf connect sdk, command line] --- # About the Zephyr Dev Environment diff --git a/website/docs/zephyr-training/02_helloworld/README.md b/website/docs/zephyr-training/02_helloworld/README.md index 993056c6..fd1f1a46 100644 --- a/website/docs/zephyr-training/02_helloworld/README.md +++ b/website/docs/zephyr-training/02_helloworld/README.md @@ -1,7 +1,7 @@ --- id: hello-world -description: | - Build your first Zephyr app and then improve it. +description: Build, flash, and run your first Zephyr app, then add the in-tree Logging library using menuconfig and make the Kconfig change permanent. +keywords: [zephyr, hello world, west build, menuconfig, kconfig, logging, codespaces, first app] --- # Build Your First Zephyr App diff --git a/website/docs/zephyr-training/02_helloworld/compile-hello-world.md b/website/docs/zephyr-training/02_helloworld/compile-hello-world.md index 0a6c7a91..7937c65f 100644 --- a/website/docs/zephyr-training/02_helloworld/compile-hello-world.md +++ b/website/docs/zephyr-training/02_helloworld/compile-hello-world.md @@ -1,7 +1,7 @@ --- sidebar_position: 2 -description: - Get familiar with VS Code, Codespaces, and `west` +description: Build the Hello World sample in a GitHub Codespace with west, download the compiled binary, flash it to a Nordic dev kit, and view serial output. +keywords: [zephyr, hello world, west build, codespaces, vs code, nrf7002dk, nrf9160dk, west download, serial terminal] --- import HowToDownload from '/docs/\_partials/download-from-codespaces.md' diff --git a/website/docs/zephyr-training/02_helloworld/convert_to_logging.md b/website/docs/zephyr-training/02_helloworld/convert_to_logging.md index 2caa3ce6..192bf984 100644 --- a/website/docs/zephyr-training/02_helloworld/convert_to_logging.md +++ b/website/docs/zephyr-training/02_helloworld/convert_to_logging.md @@ -1,7 +1,7 @@ --- sidebar_position: 3 -description: - Learn about Logging, KConfig, and menuconfig +description: Convert Hello World from printk to the Zephyr Logging system, enabling LOG with menuconfig, registering a module, and using k_msleep in a loop. +keywords: [zephyr logging, log_module_register, log_inf, menuconfig, kconfig, prj.conf, k_msleep, printk, kernel functions] --- import FirmwareFlash from '/docs/\_partials/flash-the-example-nrf.md' diff --git a/website/docs/zephyr-training/02_helloworld/install_nrf_connect_desktop.md b/website/docs/zephyr-training/02_helloworld/install_nrf_connect_desktop.md index 6ae4fa47..bafff79d 100644 --- a/website/docs/zephyr-training/02_helloworld/install_nrf_connect_desktop.md +++ b/website/docs/zephyr-training/02_helloworld/install_nrf_connect_desktop.md @@ -1,8 +1,8 @@ --- id: nrf-connect-desktop sidebar_position: 1 -description: | - Using Nordic's tools for programming and serial terminal +description: Install Nordic's nRF Connect for Desktop Programmer and Serial Terminal apps to flash Codespaces-built binaries and connect to your device over serial. +keywords: [nrf connect for desktop, programmer app, serial terminal, nordic, flash firmware, codespaces, hex file] --- import InstallNrfConnect from '/docs/golioth-exploration/01-golioth-intro/\_partials/install_nrf_connect.md' diff --git a/website/docs/zephyr-training/03_LED/README.md b/website/docs/zephyr-training/03_LED/README.md index d1d830b3..451d56e3 100644 --- a/website/docs/zephyr-training/03_LED/README.md +++ b/website/docs/zephyr-training/03_LED/README.md @@ -1,7 +1,7 @@ --- id: led -description: | - Map an LED using Devicetree and make it glow. +description: Use a Zephyr devicetree overlay to map an LED, learn where devicetree definitions live in the Zephyr tree, and access those nodes from C code. +keywords: [zephyr, devicetree, led, overlay, hardware abstraction, dt_alias, gpio, nodelabel] --- # Map an LED using Devicetree diff --git a/website/docs/zephyr-training/03_LED/add-led-devicetree.md b/website/docs/zephyr-training/03_LED/add-led-devicetree.md index 7c6f56b2..19f0508c 100644 --- a/website/docs/zephyr-training/03_LED/add-led-devicetree.md +++ b/website/docs/zephyr-training/03_LED/add-led-devicetree.md @@ -1,8 +1,8 @@ --- id: add-led-devicetree sidebar_position: 3 -description: | - Add your own LED node to Devicetree +description: Write a Zephyr devicetree overlay to add a custom LED node and alias, map a GPIO pin, and reference it from main.c to blink LED2 on a Nordic board. +keywords: [zephyr, devicetree, overlay, led, aliases, gpios, dt_alias, dt_nodelabel, nrf7002dk, nrf9160dk] --- import HowToDownload from '/docs/\_partials/download-from-codespaces.md' diff --git a/website/docs/zephyr-training/03_LED/build_blinky.md b/website/docs/zephyr-training/03_LED/build_blinky.md index f1e16ff8..201b0eac 100644 --- a/website/docs/zephyr-training/03_LED/build_blinky.md +++ b/website/docs/zephyr-training/03_LED/build_blinky.md @@ -1,8 +1,8 @@ --- id: build-blinky sidebar_position: 2 -description: | - Build and flash the Zephyr blinky app +description: Build and flash the Zephyr blinky sample, learn how DT_ALIAS, gpio_dt_spec, and the led0 alias drive an LED, and handle pristine build errors. +keywords: [zephyr, blinky, devicetree, led0, dt_alias, gpio_dt_spec, pristine build, west build, gpio-leds] --- import HowToDownload from '/docs/\_partials/download-from-codespaces.md' diff --git a/website/docs/zephyr-training/03_LED/devicetree-overview.md b/website/docs/zephyr-training/03_LED/devicetree-overview.md index c9e0491e..8fca9b5b 100644 --- a/website/docs/zephyr-training/03_LED/devicetree-overview.md +++ b/website/docs/zephyr-training/03_LED/devicetree-overview.md @@ -1,8 +1,8 @@ --- id: devicetree-overview sidebar_position: 1 -description: | - High-level info of what Devicetree is and does +description: A high-level overview of how Zephyr devicetree describes hardware, layering chip, board, and overlay files to enable portability across MCUs. +keywords: [zephyr, devicetree, hardware description, overlay, phandle, compatible, bindings, pinctrl, nrf9160dk] --- # Devicetree Overview diff --git a/website/docs/zephyr-training/04_blinkRTOS/README.md b/website/docs/zephyr-training/04_blinkRTOS/README.md index 5150d686..d6732740 100644 --- a/website/docs/zephyr-training/04_blinkRTOS/README.md +++ b/website/docs/zephyr-training/04_blinkRTOS/README.md @@ -1,7 +1,7 @@ --- id: blink-rtos -description: | - Blink an LED using features of the RTOS +description: Blink an LED using two Zephyr RTOS approaches, a kernel timer and a dedicated thread, and learn why yielding time to the scheduler matters. +keywords: [zephyr, rtos, timer, thread, scheduler, k_thread_define, k_timer, led, stack usage] --- # Using the RTOS diff --git a/website/docs/zephyr-training/04_blinkRTOS/blink_with_thread.md b/website/docs/zephyr-training/04_blinkRTOS/blink_with_thread.md index c5ab691e..ab8e38e9 100644 --- a/website/docs/zephyr-training/04_blinkRTOS/blink_with_thread.md +++ b/website/docs/zephyr-training/04_blinkRTOS/blink_with_thread.md @@ -1,6 +1,7 @@ --- sidebar_position: 3 -description: "Zephyr can blink with threads!" +description: Move LED blinking to its own Zephyr thread using K_THREAD_DEFINE, learn to yield time to the scheduler, and check thread stack usage from the shell. +keywords: [zephyr, thread, k_thread_define, scheduler, k_sleep, k_yield, mutex, kernel stacks, led] --- import HowToDownload from '/docs/\_partials/download-from-codespaces.md' diff --git a/website/docs/zephyr-training/04_blinkRTOS/blink_with_timer.md b/website/docs/zephyr-training/04_blinkRTOS/blink_with_timer.md index 663324ce..94c15404 100644 --- a/website/docs/zephyr-training/04_blinkRTOS/blink_with_timer.md +++ b/website/docs/zephyr-training/04_blinkRTOS/blink_with_timer.md @@ -1,6 +1,7 @@ --- sidebar_position: 2 -description: "Zephyr can blink with timers!" +description: Blink an LED with a Zephyr kernel timer using K_TIMER_DEFINE and k_timer_start, moving the toggle out of the main loop into a timer callback. +keywords: [zephyr, timer, k_timer_define, k_timer_start, callback, rtos, scheduler, led, blinky] --- import HowToDownload from '/docs/\_partials/download-from-codespaces.md' diff --git a/website/docs/zephyr-training/05_golioth/README.md b/website/docs/zephyr-training/05_golioth/README.md index 4089bcf1..47972ae7 100644 --- a/website/docs/zephyr-training/05_golioth/README.md +++ b/website/docs/zephyr-training/05_golioth/README.md @@ -1,7 +1,7 @@ --- id: add-golioth -description: | - Add Golioth to an existing Zephyr project +description: Add the Golioth Firmware SDK to an existing Zephyr project via the west manifest, enable services with Kconfig, and stream data to the cloud. +keywords: [golioth, zephyr, golioth firmware sdk, west manifest, kconfig, golioth client, lightdb stream, iot] --- # Add Golioth to Zephyr Project diff --git a/website/docs/zephyr-training/05_golioth/kconfig_and_client.md b/website/docs/zephyr-training/05_golioth/kconfig_and_client.md index 02b6c9a3..c8ed797f 100644 --- a/website/docs/zephyr-training/05_golioth/kconfig_and_client.md +++ b/website/docs/zephyr-training/05_golioth/kconfig_and_client.md @@ -1,7 +1,7 @@ --- sidebar_position: 2 -description: - Add Golioth Kconfig options and create Golioth Client +description: Enable the Golioth Firmware SDK and its services with Kconfig symbols, then create a Golioth client and connection callback in main.c. +keywords: [golioth, kconfig, golioth firmware sdk, golioth client, golioth_client_create, semaphore, psk, certificate auth, zephyr] --- # Golioth Kconfig Options and Client Creation diff --git a/website/docs/zephyr-training/05_golioth/lightdb_stream.md b/website/docs/zephyr-training/05_golioth/lightdb_stream.md index 08c36359..39444d77 100644 --- a/website/docs/zephyr-training/05_golioth/lightdb_stream.md +++ b/website/docs/zephyr-training/05_golioth/lightdb_stream.md @@ -1,7 +1,7 @@ --- sidebar_position: 3 -description: - Send time series data with Golioth LightDB Stream +description: Stream time-series data to Golioth from your Zephyr app with golioth_stream_set_async, then add a JSON pipeline to route it into LightDB Stream. +keywords: [golioth, lightdb stream, golioth_stream_set_async, time-series data, json, pipelines, zephyr, kconfig] --- import HowToDownload from '/docs/\_partials/download-from-codespaces.md' diff --git a/website/docs/zephyr-training/05_golioth/west_manifest.md b/website/docs/zephyr-training/05_golioth/west_manifest.md index 6c2d6708..b810d712 100644 --- a/website/docs/zephyr-training/05_golioth/west_manifest.md +++ b/website/docs/zephyr-training/05_golioth/west_manifest.md @@ -1,7 +1,7 @@ --- sidebar_position: 1 -description: - How to add the Golioth Firmware SDK to the west manifest +description: Add the Golioth Firmware SDK to a Zephyr west manifest, comparing standalone-project manifests against adding Golioth as a module to an existing tree. +keywords: [golioth, west manifest, west.yml, golioth firmware sdk, standalone project, west update, ncs, zephyr, modules] --- # Add Golioth to the West Manifest diff --git a/website/docs/zephyr-training/README.md b/website/docs/zephyr-training/README.md index 8cc36417..00995c2f 100644 --- a/website/docs/zephyr-training/README.md +++ b/website/docs/zephyr-training/README.md @@ -1,6 +1,8 @@ --- id: zephyr-training sidebar_position: -1 +description: A hands-on Zephyr RTOS quickstart where you build Hello World, configure with menuconfig, blink an LED via devicetree, and add the Golioth SDK. +keywords: [zephyr rtos, west, kconfig, devicetree, cmake, menuconfig, blinky, golioth sdk, codespaces] --- # Zephyr Training Overview diff --git a/website/src/pages/index.js b/website/src/pages/index.js index e4c264c4..a998effa 100644 --- a/website/src/pages/index.js +++ b/website/src/pages/index.js @@ -34,8 +34,8 @@ export default function Home() { const {siteConfig} = useDocusaurusContext(); return ( + title="Golioth & Zephyr Developer Training" + description="Free, hands-on training for building IoT firmware with Zephyr RTOS and connecting devices to the Golioth cloud.">