From d8d95e68978409fa0cb1b5c78605986117cb2d19 Mon Sep 17 00:00:00 2001 From: ikarenkov Date: Wed, 23 Oct 2024 13:08:21 +0400 Subject: [PATCH] Initial google codelabs setup --- .github/workflows/build-docs.yml | 19 +++++++- .idea/codeStyles/Project.xml | 1 + codelabs/README.md | 4 ++ codelabs/workshop/workshop-codelab.md | 62 +++++++++++++++++++++++++++ 4 files changed, 84 insertions(+), 2 deletions(-) create mode 100644 codelabs/README.md create mode 100644 codelabs/workshop/workshop-codelab.md diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml index 8b16299..5eb9259 100644 --- a/.github/workflows/build-docs.yml +++ b/.github/workflows/build-docs.yml @@ -1,4 +1,4 @@ -name: Build documentation +name: Build and Deploy Writerside + CodeLabs on: push: @@ -23,6 +23,17 @@ jobs: with: fetch-depth: 0 + # Step to Install claat + - name: Install claat tool + run: go install github.com/googlecodelabs/tools/claat@latest + + # Step to Generate CodeLab HTML Files + - name: Generate CodeLabs content + run: | + mkdir -p codelabs + claat export codelabs/workshop/workshop-codelab.md -o codelabs-generated + + # Writerside build step - name: Build docs using Writerside Docker builder uses: JetBrains/writerside-github-action@v4 with: @@ -52,9 +63,13 @@ jobs: with: name: docs - - name: Unzip artifact + - name: Unzip Writerside artifact run: unzip -O UTF-8 -qq ${{ env.ARTIFACT }} -d dir + # Inject CodeLab HTML into Writerside docs + - name: Copy CodeLabs to Writerside output + run: cp -R codelabs-generated/* dir/ + - name: Setup Pages uses: actions/configure-pages@v4.0.0 diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml index 192dee4..4f24840 100644 --- a/.idea/codeStyles/Project.xml +++ b/.idea/codeStyles/Project.xml @@ -79,6 +79,7 @@ diff --git a/codelabs/README.md b/codelabs/README.md new file mode 100644 index 0000000..f889aff --- /dev/null +++ b/codelabs/README.md @@ -0,0 +1,4 @@ +# Codelabs + +Codelabs are interactive tutorials that run in the browser. This directory contains the source files for +the [Google codelabs](https://github.com/googlecodelabs/tools). diff --git a/codelabs/workshop/workshop-codelab.md b/codelabs/workshop/workshop-codelab.md new file mode 100644 index 0000000..114b1c9 --- /dev/null +++ b/codelabs/workshop/workshop-codelab.md @@ -0,0 +1,62 @@ +author: Igor Karenkov +summary: Get known with Modo library for navigation in Jetpack Compose +id: modo-get-started-codelab +environments: Android +status: Published +feedback link: https://github.com/ikarenkov/Modo/issues + +# Modo - get started Workshop + +## Welcome to Modo Workshop + +This workshop will guide you through the basics of Modo library for navigation in Jetpack Compose. + +At the end of this workshop you will have a good sample application with Modo navigation that covers common use cases that can be found in real-world +applications. + +You will learn: + +1. Core concepts of Modo +2. How to setup Modo in your project +3. How to use Modo for stack navigation +4. How to use Modo for tab navigation +5. How to use Modo for navigation inside flow +6. How to use Modo for dialogs +7. How to use Modo with ViewModel and DI + +## Core concepts + +Please, follow this [link](https://ikarenkov.github.io/Modo/core-concepts.html) to learn more about core concepts of Modo library. + +Make sure that you know that: + +1. Navigation is defined by state +2. To update state you need to dispatch an action + +## Library setup + +TODO + +## Stack Navigation + +TODO + +## Tab Navigation + +TODO + +## Navigation inside flow + +TODO + +## Dialogs + +TODO + +## ViewModel and DI + +TODO + +## Conclusion + +TODO