From fd207fa90b76742e2681d367b0a0cc9af16f1859 Mon Sep 17 00:00:00 2001 From: Michael Flisar Date: Wed, 15 Jan 2025 12:06:08 +0100 Subject: [PATCH] docs --- .github/workflows/build-mkdocs.yml | 32 ++++ documentation/_data/other-projects.yml | 59 +++++++ documentation/_data/project.yml | 80 ++++++++++ documentation/_include/demo.md | 7 + documentation/_include/dependencies.md | 97 ++++++++++++ documentation/_include/description.md | 7 + documentation/_include/gradle.md | 6 + documentation/_include/header.md | 10 ++ documentation/_include/me.md | 5 + documentation/_include/modules.md | 40 +++++ documentation/_include/other-libraries.md | 42 +++++ documentation/_include/parts/gradle-multi.md | 70 ++++++++ documentation/_include/parts/gradle-single.md | 36 +++++ .../_include/parts/platforms-android-only.md | 5 + .../_include/parts/platforms-multiplatform.md | 75 +++++++++ documentation/_include/platforms.md | 4 + documentation/_include/region-features.md | 1 + documentation/_include/screenshots.md | 20 +++ documentation/docs/assets/logo.png | Bin 0 -> 12479 bytes documentation/docs/dependencies.md | 5 + documentation/docs/index.md | 27 ++++ documentation/docs/me.md | 5 + documentation/docs/other-libraries.md | 5 + .../docs/screenshots}/overview.jpg | Bin documentation/docs/setup.md | 5 + documentation/docs/usage.md | 68 ++++++++ documentation/mkdocs.yml | 149 ++++++++++++++++++ 27 files changed, 860 insertions(+) create mode 100644 .github/workflows/build-mkdocs.yml create mode 100644 documentation/_data/other-projects.yml create mode 100644 documentation/_data/project.yml create mode 100644 documentation/_include/demo.md create mode 100644 documentation/_include/dependencies.md create mode 100644 documentation/_include/description.md create mode 100644 documentation/_include/gradle.md create mode 100644 documentation/_include/header.md create mode 100644 documentation/_include/me.md create mode 100644 documentation/_include/modules.md create mode 100644 documentation/_include/other-libraries.md create mode 100644 documentation/_include/parts/gradle-multi.md create mode 100644 documentation/_include/parts/gradle-single.md create mode 100644 documentation/_include/parts/platforms-android-only.md create mode 100644 documentation/_include/parts/platforms-multiplatform.md create mode 100644 documentation/_include/platforms.md create mode 100644 documentation/_include/region-features.md create mode 100644 documentation/_include/screenshots.md create mode 100644 documentation/docs/assets/logo.png create mode 100644 documentation/docs/dependencies.md create mode 100644 documentation/docs/index.md create mode 100644 documentation/docs/me.md create mode 100644 documentation/docs/other-libraries.md rename {screenshots => documentation/docs/screenshots}/overview.jpg (100%) create mode 100644 documentation/docs/setup.md create mode 100644 documentation/docs/usage.md create mode 100644 documentation/mkdocs.yml diff --git a/.github/workflows/build-mkdocs.yml b/.github/workflows/build-mkdocs.yml new file mode 100644 index 0000000..69d475a --- /dev/null +++ b/.github/workflows/build-mkdocs.yml @@ -0,0 +1,32 @@ +name: build-mkdocs +on: + push: + branches: + - main +permissions: + contents: write +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: 3.x + - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV + - uses: actions/cache@v4 + with: + key: mkdocs-material-${{ env.cache_id }} + path: .cache + restore-keys: | + mkdocs-material- + - run: pip install \ + mkdocs-material \ + mkdocs-minify-plugin \ + "mkdocs-material[imaging]" \ + mkdocs-macros-plugin \ + mkdocs-glightbox \ + mkdocs-badges + - name: Deploy + run: mkdocs gh-deploy --force + working-directory: documentation diff --git a/documentation/_data/other-projects.yml b/documentation/_data/other-projects.yml new file mode 100644 index 0000000..7422778 --- /dev/null +++ b/documentation/_data/other-projects.yml @@ -0,0 +1,59 @@ +libraries: + Utilities: + - name: CacheFileProvider + link: https://mflisar.github.io/CacheFileProvider + maven: io.github.mflisar.cachefileprovider/library + description: This is a minimal library with a few lines of code and without dependencies that offers a simple file provider (simple read only access for sharing files with other apps). + - name: FeedbackManager + link: https://mflisar.github.io/FeedbackManager + maven: io.github.mflisar.feedbackmanager/library + description: This is a very small library that allows you to send feedback from an app without internet permission via email, either directly or via an unintrusive notification. + - name: Toolbox + link: https://github.com/MFlisar/Toolbox + maven: io.github.mflisar.toolbox/core + description: My personal toolbox library + Libraries: + - name: KotBilling + link: https://mflisar.github.io/KotBilling + maven: io.github.mflisar.kotbilling/library + description: A kotlin coroutine based solution for handling in app purchases for billing library version 7. + - name: KotPreferences + link: https://mflisar.github.io/KotPreferences + maven: io.github.mflisar.kotpreferences/core + description: With this library you can declare preferences via kotlin delegates and observe and update them via kotlin flows. This works with any storage implementation, an implementation for JetPack DataStore is provided already. + - name: Lumberjack + link: https://mflisar.github.io/Lumberjack + #image: https://raw.githubusercontent.com/MFlisar/Lumberjack/master/screenshots/compose-viewer1.jpg + maven: io.github.mflisar.lumberjack/core + description: This is a full logging library with a build in way to log to console, file or any custom place as well as optional extensions to send a log file via mail or show it on the device. + Compose: + - name: ComposeChangelog + link: https://mflisar.github.io/ComposeChangelog + image: https://raw.githubusercontent.com/MFlisar/ComposeChangelog/main/documentation/docs/screenshots/overview.jpg + maven: io.github.mflisar.composechangelog/core + description: This library offers you a a changelog dialog for compose including the ability to show new logs on app start only as well as filtering and customisation. + - name: ComposeColors + link: https://mflisar.github.io/ComposeColors + image: https://raw.githubusercontent.com/MFlisar/ComposeColors/main/documentation/docs/screenshots/material.png + maven: io.github.mflisar.composecolors/core + description: A simple collection of colors that can be used inside any KMP compose project. + - name: ComposeDebugDrawer + link: https://mflisar.github.io/ComposeDebugDrawer + image: https://raw.githubusercontent.com/MFlisar/ComposeDebugDrawer/main/documentation/docs/screenshots/demo2.jpg + maven: io.github.mflisar.composedebugdrawer/core + description: This library offers you a simple and easily extendable debug drawer. + - name: ComposeDialogs + link: https://mflisar.github.io/ComposeDialogs + image: https://raw.githubusercontent.com/MFlisar/ComposeDialogs/main/documentation/docs/screenshots/overview.jpg + maven: io.github.mflisar.composedialogs/core + description: A compose framework for modal dialogs. + - name: ComposePreferences + link: https://mflisar.github.io/ComposePreferences + image: https://raw.githubusercontent.com/MFlisar/ComposePreferences/main/documentation/docs/screenshots/overview.jpg + maven: io.github.mflisar.composepreferences/core + description: This library offers you preference screens for compose including the ability of endless nesting subscreens as well as simple integration of custom preferences. + - name: ComposeThemer + link: https://mflisar.github.io/ComposeThemer + image: https://raw.githubusercontent.com/MFlisar/ComposeThemer/main/documentation/docs/screenshots/demo.gif + maven: io.github.mflisar.composethemer/core + description: This is a full compose theme engine that handles applying a theme as well as updating the system ui elements. Extendible and allows to simply apply user selected themes inside your app. diff --git a/documentation/_data/project.yml b/documentation/_data/project.yml new file mode 100644 index 0000000..dd017d3 --- /dev/null +++ b/documentation/_data/project.yml @@ -0,0 +1,80 @@ +# ------- +# Library +# ------- + +library: + name: ComposeChangelog + api: 21 + github: MFlisar/ComposeChangelog + maven: io.github.mflisar.composechangelog + maven-main-library: core + multiplatform: true + screenshots: + - name: Changelog + images: + - ./screenshots/overview.jpg + branch: main + demo: true + +# ------------ +# Dependencies +# ------------ + +# optional +dependencies: + compose: + cmp: 1.7.1 + compose: 1.7.1 + material3: 1.3.1 + experimental: true + +# ------------- +# Module +# ------------- + +# GRUPPEN - optional: nur bei mehreren Modulen benötigt! +groups: + - name: core + label: Core + gradle-comment: core + - name: modules + label: Modules + gradle-comment: dialog modules + - name: plugins + label: Plugins + gradle-comment: gradle plugins + +modules: + - name: core + group: core + description: the core module to show a changelog + optional: false + platforms: + android: true + ios: true + jvm: false + info: + dependencies: [] + - name: statesaver-kotpreferences + group: modules + description: a statesaver implementation for kotpreferences + optional: true + platforms: + android: true + ios: true + jvm: false + info: + dependencies: + - name: KotPreferences + link: https://github.com/MFlisar/KotPreferences + version: 0.7.2 + - name: statesaver-preferences + group: modules + description: a statesaver implementation for jetpack preferences + optional: true + platforms: + android: true + ios: true + jvm: false + info: + dependencies: [] \ No newline at end of file diff --git a/documentation/_include/demo.md b/documentation/_include/demo.md new file mode 100644 index 0000000..53964b2 --- /dev/null +++ b/documentation/_include/demo.md @@ -0,0 +1,7 @@ +{% if project["library"]["demo"] %} + +## :dna: Demo + +A full [demo](https://github.com/{{ project["library"]["github"] }}/tree/{{ project["library"]["branch"] }}/demo){:target="_blank"} is included inside the demo module, it shows nearly every usage with working examples. + +{% endif %} \ No newline at end of file diff --git a/documentation/_include/dependencies.md b/documentation/_include/dependencies.md new file mode 100644 index 0000000..cc17e02 --- /dev/null +++ b/documentation/_include/dependencies.md @@ -0,0 +1,97 @@ +{% if project["dependencies"] is defined and project["dependencies"]["compose"] is defined %} + +## Compose + +| Dependency | Version | Infos | +|:---------------------:|:-------:|:----------------------------------------------:| +| Compose Multiplatform | `{{ project["dependencies"]["compose"]["cmp"] }}` | Uses compose `{{ project["dependencies"]["compose"]["compose"] }}` and material3 `{{ project["dependencies"]["compose"]["material3"] }}` | + +{% if project["dependencies"]["compose"]["experimental"] %} + +!!! warning + + I try to use as few experimental APIs as possible, but this library does use a few experimental APIs which are still marked as experimental in material3 `{{ project["dependencies"]["compose"]["material3"] }}`. I will provide new versions as soon as possible if experimental APIs change or become stable. + +{% endif %} + +{% endif %} + +{% macro row_dependencies(dependencies) %} + {% if dependencies|length > 0 %} + + {% for d in dependencies %} + {{ d["name"] }}
+ {% endfor %} + + + {% for d in dependencies %} + {{ d["version"] }}
+ {% endfor %} + + {% else %} + - + + {% endif %} +{% endmacro %} + +{% if project["modules"] is not defined or project["modules"] | length == 1 %} + {% if project["modules"] is not defined or project["modules"][0]["dependencies"] | length == 0 %} + This library does not have any dependencies! + {% else %} +This library does have following dependencies. + + + + + + {% for dependency in project["modules"][0]["dependencies"] -%} + {{ row_dependencies([dependency]) }} + {% endfor %} +
DependencyVersion
+ {% endif %} +{% else %} + +## Modules + + + + + + + + + {% for group in project["groups"] %} + + + + {% for module in project["modules"] %} + {% if module["group"] == group["name"] %} + + + + + {% if module["dependencies"]|length > 0 %} + + + {% else %} + + + {% endif %} + + + {% endif %} + {% endfor %} + + {% endfor %} + +
ModuleDependencyVersion
{{ group["label"] }}
{{ module["name"] }} + {% for d in module["dependencies"] %} + {{ d["name"] }}
+ {% endfor %} +
+ {% for d in module["dependencies"] %} + {{ d["version"] }}
+ {% endfor %} +
-
+ +{% endif %} \ No newline at end of file diff --git a/documentation/_include/description.md b/documentation/_include/description.md new file mode 100644 index 0000000..acd4e1f --- /dev/null +++ b/documentation/_include/description.md @@ -0,0 +1,7 @@ +{% for key, value in other_projects["libraries"].items() %} +{% for prj in value %} +{% if prj["name"] == project["library"]["name"] %} +{{ prj["description"] }} +{% endif %} +{% endfor %} +{% endfor %} \ No newline at end of file diff --git a/documentation/_include/gradle.md b/documentation/_include/gradle.md new file mode 100644 index 0000000..5ad1999 --- /dev/null +++ b/documentation/_include/gradle.md @@ -0,0 +1,6 @@ +This library is distributed via [maven central](https://central.sonatype.com/){:target="_blank"}. + +Add dependencies like following to use this library inside your project. + +{% include 'parts/gradle-single.md' %} +{% include 'parts/gradle-multi.md' %} \ No newline at end of file diff --git a/documentation/_include/header.md b/documentation/_include/header.md new file mode 100644 index 0000000..917d28e --- /dev/null +++ b/documentation/_include/header.md @@ -0,0 +1,10 @@ +[![Maven](https://img.shields.io/maven-central/v/{{ project["library"]["maven"] }}/{{ project["library"]["maven-main-library"] }}?style=for-the-badge&color=blue)](https://central.sonatype.com/namespace/{{ project["library"]["maven"] }}){:target="_blank"} +![API](https://img.shields.io/badge/api-{{ project["library"]["api"] }}%2B-brightgreen.svg?style=for-the-badge) +![Kotlin](https://img.shields.io/github/languages/top/{{ project["library"]["github"] }}.svg?style=for-the-badge&color=blueviolet) +{% if page.meta.multiplatform -%} +![KMP](https://img.shields.io/badge/Kotlin_Multiplatform-blue?style=for-the-badge&label=Kotlin) +{%- endif -%} +[![License](https://img.shields.io/github/license/{{ project["library"]["github"] }}?style=for-the-badge)](https://github.com/{{ project["library"]["github"] }}/blob/{{ project["library"]["branch"] }}/LICENSE){:target="_blank"} + +

{{ project["library"]["name"] }}

+ diff --git a/documentation/_include/me.md b/documentation/_include/me.md new file mode 100644 index 0000000..37ac010 --- /dev/null +++ b/documentation/_include/me.md @@ -0,0 +1,5 @@ +# About Me + +Check out my main homepage to get an impression of what I do and my *open source libraries*, *android apps* and *garmin watchfaces* that I've developed. + +[https://mflisar.github.io/](https://mflisar.github.io/){:target="_blank" .md-button } \ No newline at end of file diff --git a/documentation/_include/modules.md b/documentation/_include/modules.md new file mode 100644 index 0000000..4dce382 --- /dev/null +++ b/documentation/_include/modules.md @@ -0,0 +1,40 @@ +{% if project["library"]["multimodule"] %} + +## :material-puzzle: Modules + + + + + + + + + {% for group in project["groups"] %} + + + + {% for module in project["modules"] %} + {% if module["name"] is in group["modules"] %} + + + + + + + + + {% endif %} + {% endfor %} + + {% endfor %} + +
ModuleInfoDescription
{{ group["label"] }}
{{ module["name"] }} + {% if module["optional"] %} + Optional + {% else %} + {% endif %} + + {{ module["description"] }} +
+ +{% endif %} \ No newline at end of file diff --git a/documentation/_include/other-libraries.md b/documentation/_include/other-libraries.md new file mode 100644 index 0000000..0509a25 --- /dev/null +++ b/documentation/_include/other-libraries.md @@ -0,0 +1,42 @@ +# Other Libraries + +Here you can find an overview of my main libraries that do all play well together including some short descriptions. + +{% macro table_row(project) %} + +{% if project["image"] is defined %} + + + +{% endif %} + + {{ project["name"] }} +{{ project["description"] }}
+ +{% endmacro %} + +{% for key, value in other_projects["libraries"].items() %} + {% set ns = namespace(image=false) %} + {% for prj in value %} + {% if prj["name"] != project["library"]["name"] and prj["name"] != "Toolbox" %} + {% if prj["image"] is defined %} + {% set ns.images = true %} + {% endif %} + {% endif %} + {% endfor %} +

{{key}}

+ + + {% if ns.images %} + + {% endif %} + + + +{% for prj in value %} + {% if prj["name"] != project["library"]["name"] and prj["name"] != "Toolbox" %} + {{ table_row(prj) }} + {% endif %} +{% endfor %} +
ImageLibraryDescription
+{% endfor %} \ No newline at end of file diff --git a/documentation/_include/parts/gradle-multi.md b/documentation/_include/parts/gradle-multi.md new file mode 100644 index 0000000..fde4574 --- /dev/null +++ b/documentation/_include/parts/gradle-multi.md @@ -0,0 +1,70 @@ +{% if project["modules"] is defined and project["modules"] | length > 1 %} + +=== "Dependencies" + + Simply add the dependencies inside your `build.gradle.kts` file. + + ```kotlin title="build.gradle.kts" + + val {{ project["library"]["name"] | lower }} = "" + {% for group in project["groups"] %} + // {{ group["gradle-comment" ]}} + {% for module in project["modules"] -%} + {% if module["group"] == group["name"] -%} + implementation("{{ project["library"]["maven"] }}:{{ module["name"] }}:${{ project["library"]["name"] | lower }}") + {% endif -%} + {%- endfor -%} + {%- endfor -%} + ``` + +=== "Version Catalog" + + Define the dependencies inside your `libs.versions.toml` file. + + ```toml title="libs.versions.toml" + [versions] + + {{ project["library"]["name"] | lower }} = "" + + {%- set l1 = project["library"]["name"] | length -%} + {%- set ns = namespace(maxLength=0) -%} + {%- for group in project["groups"] -%} + {%- for module in group["modules"] -%} + {%- set l2 = module | length -%} + {%- if l2 > ns.maxLength -%} + {%- set ns.maxLength = l2 -%} + {%- endif -%} + {%- endfor -%} + {%- endfor -%} + + {%- set padding = ns.maxLength + l1 + 3 -%} + {%- set padding2 = ns.maxLength + 4 + project["library"]["maven"] | length %} + + [libraries] + {% for group in project["groups"] %} + # {{ group["gradle-comment" ]}} + {% for module in project["modules"] -%} + {% if module["group"] == group["name"] -%} + {%- set name = project["library"]["name"] | lower ~ "-" ~ module["name"] ~ " =" -%} + {%- set module2 = "\"" ~ project["library"]["maven"] ~ ":" ~ module["name"] ~ "\"," -%} + {{ name.ljust(padding) }} { module = {{ module2.ljust(padding2) }} version.ref = "{{ project["library"]["name"] | lower }}" } + {% endif -%} + {% endfor %} + {%- endfor -%} + ``` + + And then use the definitions in your projects like following: + + ```gradle title="build.gradle.kts" + {% for group in project["groups"] %} + # {{ group["gradle-comment" ]}} + {% for module in project["modules"] -%} + {% if module["group"] == group["name"] -%} + implementation(libs.{{ project["library"]["name"] | lower }}.{{ module["name"] | replace("-", ".") }}) + {% endif -%} + {% endfor %} + {%- endfor -%} + + ``` + +{% endif %} \ No newline at end of file diff --git a/documentation/_include/parts/gradle-single.md b/documentation/_include/parts/gradle-single.md new file mode 100644 index 0000000..f4ced9d --- /dev/null +++ b/documentation/_include/parts/gradle-single.md @@ -0,0 +1,36 @@ +{% if project["modules"] is not defined or project["modules"] | length == 1 %} + +=== "Dependencies" + + Simply add the dependencies inside your `build.gradle.kts` file. + + ```kotlin title="build.gradle.kts" + + val {{ project["library"]["name"] | lower }} = "" + + implementation("{{ project["library"]["maven"] }}:{{ project["library"]["maven-main-library"] }}:${{ project["library"]["name"] | lower }}") + ``` + +=== "Version Catalog" + + Define the dependencies inside your `libs.versions.toml` file. + + ```toml title="libs.versions.toml" + [versions] + {{ project["library"]["name"] | lower }} = "" + + [libraries] + + {%- set module = project["library"]["maven-main-library"] -%} + {%- set name = project["library"]["name"] | lower ~ " =" -%} + {% set module2 = "\"" ~ project["library"]["maven"] ~ ":" ~ module ~ "\"," %} + {{ name }} { module = {{ module2 }} version.ref = "{{ project["library"]["name"] | lower }}" } + ``` + + And then use the definitions in your projects like following: + + ```kotlin title="build.gradle.kts" + implementation(libs.{{ project["library"]["name"] | lower }}) + ``` + +{% endif %} \ No newline at end of file diff --git a/documentation/_include/parts/platforms-android-only.md b/documentation/_include/parts/platforms-android-only.md new file mode 100644 index 0000000..7680dcb --- /dev/null +++ b/documentation/_include/parts/platforms-android-only.md @@ -0,0 +1,5 @@ +{% if not project["library"]["multiplatform"] %} + +This is a **plain android library**. + +{% endif %} \ No newline at end of file diff --git a/documentation/_include/parts/platforms-multiplatform.md b/documentation/_include/parts/platforms-multiplatform.md new file mode 100644 index 0000000..9dd445a --- /dev/null +++ b/documentation/_include/parts/platforms-multiplatform.md @@ -0,0 +1,75 @@ +{% if project["library"]["multiplatform"] %} + +{% if project["modules"] | length == 1 %} +This is a **KMP (kotlin multiplatform)** library which supports following platforms. +{% else %} +This is a **KMP (kotlin multiplatform)** library and the provided modules do support following platforms. +{% endif %} + + + + {% if project["modules"] is defined and project["modules"] | length > 1 %} + + {% endif %} + + + + + + + {% if project["modules"] | length == 1 %} + + + + + + + + + {% elif project["modules"] is defined %} + + {% for group in project["groups"] %} + + + + {% for module in project["modules"] %} + {% if module["group"] == group["name"] %} + + + + + + + + + + {% endif %} + {% endfor %} + + {% endfor %} + + {% endif %} + +
ModuleAndroidiOSJVMInfo
+ {% if project["modules"][0]["platforms"]["android"] %}✔{% else %}-{% endif %} + + {% if project["modules"][0]["platforms"]["ios"] %}✔{% else %}-{% endif %} + + {% if project["modules"][0]["platforms"]["jvm"] %}✔{% else %}-{% endif %} + + {% if project["modules"][0]["platforms"]["info"] is not none %} + {{ project["modules"][0]["platforms"]["info"] }} + {% endif %} +
{{ group["label"] }}
{{ module["name"] }} + {% if module["platforms"]["android"] %}✔{% else %}-{% endif %} + + {% if module["platforms"]["ios"] %}✔{% else %}-{% endif %} + + {% if module["platforms"]["jvm"] %}✔{% else %}-{% endif %} + + {% if module["platforms"]["info"] is not none %} + {{ module["platforms"]["info"] }} + {% endif %} +
+ +{% endif %} \ No newline at end of file diff --git a/documentation/_include/platforms.md b/documentation/_include/platforms.md new file mode 100644 index 0000000..ee35ba5 --- /dev/null +++ b/documentation/_include/platforms.md @@ -0,0 +1,4 @@ +## :material-laptop: Supported Platforms + +{% include 'parts/platforms-multiplatform.md' %} +{% include 'parts/platforms-android-only.md' %} \ No newline at end of file diff --git a/documentation/_include/region-features.md b/documentation/_include/region-features.md new file mode 100644 index 0000000..cd9f52c --- /dev/null +++ b/documentation/_include/region-features.md @@ -0,0 +1 @@ +## :material-check-all: Features \ No newline at end of file diff --git a/documentation/_include/screenshots.md b/documentation/_include/screenshots.md new file mode 100644 index 0000000..73bbecb --- /dev/null +++ b/documentation/_include/screenshots.md @@ -0,0 +1,20 @@ +{% if project["library"]["screenshots"] | length > 0 %} + +## :camera: Screenshots + +{% for screenshot in project["library"]["screenshots"] %} + + + + + + + {% for image in screenshot["images"] %} + + {% endfor %} + + +
{{ screenshot["name"] }}
{{ image }}
+{% endfor %} + +{% endif %} diff --git a/documentation/docs/assets/logo.png b/documentation/docs/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4b785206d75fa7907079121cbaebd8af4475f47d GIT binary patch literal 12479 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 literal 0 HcmV?d00001 diff --git a/documentation/docs/dependencies.md b/documentation/docs/dependencies.md new file mode 100644 index 0000000..bba176b --- /dev/null +++ b/documentation/docs/dependencies.md @@ -0,0 +1,5 @@ +--- +icon: material/link +--- + +{% include 'dependencies.md' %} \ No newline at end of file diff --git a/documentation/docs/index.md b/documentation/docs/index.md new file mode 100644 index 0000000..3c480b0 --- /dev/null +++ b/documentation/docs/index.md @@ -0,0 +1,27 @@ +--- +icon: material/information-variant +--- + +{% include 'header.md' %} + +{% include 'description.md' %} + +{% include 'region-features.md' %} + +!!! info + + This docs are not written yet - the old docs are still available [here](https://mflisar.github.io/github-docs/pages/compose/composechangelog/) for now. + +Under Development + +{% include 'screenshots.md' %} + +{% include 'modules.md' %} + +{% include 'platforms.md' %} + +{% include 'demo.md' %} + + + + diff --git a/documentation/docs/me.md b/documentation/docs/me.md new file mode 100644 index 0000000..341054a --- /dev/null +++ b/documentation/docs/me.md @@ -0,0 +1,5 @@ +--- +icon: material/account +--- + +{% include 'me.md' %} \ No newline at end of file diff --git a/documentation/docs/other-libraries.md b/documentation/docs/other-libraries.md new file mode 100644 index 0000000..b32970e --- /dev/null +++ b/documentation/docs/other-libraries.md @@ -0,0 +1,5 @@ +--- +icon: material/link +--- + +{% include 'other-libraries.md' %} \ No newline at end of file diff --git a/screenshots/overview.jpg b/documentation/docs/screenshots/overview.jpg similarity index 100% rename from screenshots/overview.jpg rename to documentation/docs/screenshots/overview.jpg diff --git a/documentation/docs/setup.md b/documentation/docs/setup.md new file mode 100644 index 0000000..727ce31 --- /dev/null +++ b/documentation/docs/setup.md @@ -0,0 +1,5 @@ +--- +icon: simple/gradle +--- + +{% include 'gradle.md' %} diff --git a/documentation/docs/usage.md b/documentation/docs/usage.md new file mode 100644 index 0000000..d9b3e1e --- /dev/null +++ b/documentation/docs/usage.md @@ -0,0 +1,68 @@ +--- +icon: material/keyboard +--- + +#### Basic examples + +```kotlin +// create and remember a state +val state = rememberDialogState() + +// Create a dialog composable +if (state.visible) { + DialogInfo( + state = state, + info = "Some " + ) +} + +// show the dialog inside a button press event or similar +Button(onClick = { state.show() }) { + Text("Show Dialog") +} +``` + +Alternatively you can hold any `saveable` state inside dialog state. If the dialog state holds any data, it will consider itself as visible. + +```kotlin +// create and remember a state (e.g. selected list index as in this example) +val state = rememberDialogState(data = null) + +// show a dialog if necessary +if (state.showing) +{ + val data = state.requireData() // in this example the data is the list index + DialogInfo( + state = state, + info = "Data = $data" + ) +} + +// a list that uses the dialog +val items = 1..100 +LazyColumn { + items.forEach { + item(key = it) { + Button(onClick = { state.show(it) }) { + Text("Item $it") + } + } + } +} +``` + +#### Dialog styling/customisation and events + +All dialog (also custom ones) do support styling like: + +* optional icon (including style like `CenterTop` and `Begin`) +* dialog style (dialog, bottom sheet, fullscreen) +* custom buttons (zero, one or two) with custom texts +* a options variable to set up features like `dismissOnButtonClick`, `dismissOnBackPress` and `dismissOnClickOutside` +* a event callback for the close event and button click event + +Check out the advanced region on the side for more details. + +#### Dialogs + +Check out all the modules to find out more about the available implementations. \ No newline at end of file diff --git a/documentation/mkdocs.yml b/documentation/mkdocs.yml new file mode 100644 index 0000000..dbaaa37 --- /dev/null +++ b/documentation/mkdocs.yml @@ -0,0 +1,149 @@ +site_name: ComposeChangelog +site_url: https://mflisar.github.io/ComposeChangelog/ +repo_url: https://github.com/MFlisar/ComposeChangelog +repo_name: mflisar/ComposeDialogs + +# TODO +# - variablen oben anpassen + nav unten +# - _data/project.yml anpassen +# - md files in docs anpassen +# FERTIG + +copyright: Copyright © 2024 Michael Flisar + +theme: + name: material + logo: assets/logo.png + favicon: assets/logo.png + font: + text: Roboto + code: Roboto Mono + palette: + - media: "(prefers-color-scheme: light)" + scheme: default + primary: blue grey + accent: blue grey + toggle: + icon: material/toggle-switch + name: Switch to dark mode + - media: "(prefers-color-scheme: dark)" + scheme: slate + primary: black + accent: blue grey + toggle: + icon: material/toggle-switch-off-outline + name: Switch to light mode + #custom_dir: overrides + features: + #- navigation.instant + #- navigation.instant.prefetch + #- navigation.tracking + #- navigation.tabs + #- navigation.tabs.sticky + - navigation.sections + #- navigation.expand + - navigation.path + - navigation.footer + #- navigation.indexes + - toc.follow + #- toc.integrate + - navigation.top + - search.suggest + - search.highlight + - content.code.copy + - content.code.annotate + icon: + repo: fontawesome/brands/git-alt + +markdown_extensions: + - toc: + permalink: "#" + - pymdownx.emoji: + emoji_index: !!python/name:material.extensions.emoji.twemoji + emoji_generator: !!python/name:material.extensions.emoji.to_svg + - pymdownx.superfences: + custom_fences: + - name: mermaid + class: mermaid + format: !!python/name:pymdownx.superfences.fence_code_format + - pymdownx.highlight: + anchor_linenums: true + line_spans: __span + pygments_lang_class: true + - attr_list + - md_in_html + - pymdownx.inlinehilite + - pymdownx.snippets: + url_download: true + restrict_base_path: false + dedent_subsections: true + #base_path: ["docs/"] + - pymdownx.superfences + - pymdownx.tabbed: + alternate_style: true + - admonition + - pymdownx.details + - def_list + #- pymdownx.tasklist: + # custom_checkbox: true + +# Plugins +plugins: + - search + #- social + - minify: + minify_html: true + htmlmin_opts: + remove_comments: true + #- optimize + #- privacy + #- typeset + - macros: + include_dir: _include + include_yaml: + - project: _data/project.yml + - other_projects: _data/other-projects.yml + - glightbox: + skip_classes: + - exclude-glightbox + +# Additional configuration +extra: + social: + - icon: fontawesome/brands/github + link: https://github.com/mflisar + #generator: false + +extra_css: + - stylesheets/extra.css + +# nav +nav: + - About: index.md + - General: + - Dependencies: dependencies.md + - Setup: setup.md + - Usage: usage.md + #- Modules: + # - Core: modules/core.md + # - Dialog Info: modules/dialog-info.md + # - Dialog Input: modules/dialog-input.md + # - Dialog Number: modules/dialog-number.md + # - Dialog Date: modules/dialog-date.md + # - Dialog Time: modules/dialog-time.md + # - Dialog Color: modules/dialog-color.md + # - Dialog List: modules/dialog-list.md + # - Dialog Menu: modules/dialog-menu.md + # - Dialog Progress: modules/dialog-progress.md + # - Dialog Billing: modules/dialog-billing.md + #- Advanced: + # - Dialog Styles: advanced/styles.md + # - Events: advanced/events.md + # - Buttons: advanced/buttons.md + # - Options: advanced/options.md + # - Custom Dialog: advanced/custom-dialog.md + #- Migration: + # - Version 2: migration/v2.md + - More: + - Other Libraries: other-libraries.md + - About Me: me.md