Skip to content

feature/documentation#13

Merged
meticha-admin merged 8 commits into
mainfrom
feature/documentation
Jun 13, 2025
Merged

feature/documentation#13
meticha-admin merged 8 commits into
mainfrom
feature/documentation

Conversation

@cavin-macwan

@cavin-macwan cavin-macwan commented Jun 12, 2025

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • Documentation
    • Added comprehensive documentation for the TriggerX library, including an overview, installation guide, configuration instructions, permission handling, and step-by-step tutorials.
    • Introduced advanced and basic tutorial categories, with structured guides and example code for alarm scheduling and UI customization.
    • Added a standalone markdown example page and improved README instructions.
  • New Features
    • Launched a new documentation website with a styled homepage, feature highlights, and navigation.
  • Chores
    • Added configuration files for Docusaurus, TypeScript, and project dependencies.
    • Included .gitignore and robots.txt files for improved project management and search engine indexing.
  • Style
    • Added custom CSS and CSS modules for consistent theming and responsive layouts across the documentation site.

This commit introduces the initial set of documentation pages for the TriggerX library, covering basic setup and usage.

Key new files and their purpose:

- **`docs/docs/tutorial-basics/1-installation.md`**:
    - Provides instructions on how to install TriggerX using Gradle (Kotlin DSL) and Version Catalogs.
    - Lists the required Android permissions: `REQUEST_IGNORE_BATTERY_OPTIMIZATIONS`, `SYSTEM_ALERT_WINDOW`, and `SCHEDULE_EXACT_ALARM`.

- **`docs/docs/tutorial-basics/2-set-custom-alarm-activity.md`**:
    - Explains how to set a custom `Activity` (extending `TriggerXActivity`) that will be displayed when an alarm fires.
    - Includes an example of a custom `AppAlarmActivity` with a Composable `AlarmContent` override for the UI.

- **`docs/docs/tutorial-basics/3-configure-triggerx-dsl.md`**:
    - Details how to configure TriggerX using its Kotlin DSL within the `Application` class.
    - Provides an example of initializing `TriggerX` by setting the `activityClass` and using `useDefaultNotification` for the foreground service notification.

- **`docs/docs/tutorial-basics/5-scheduling-alarm.md`**:
    - Describes how to schedule an alarm using `TriggerXAlarmScheduler`.
    - Includes a Composable `HomeScreen` example demonstrating how to schedule an alarm that triggers after 1 minute, passing `type` and `alarmId`.
    - Briefly explains what happens behind the scenes when an alarm is scheduled and fires.

These new documentation pages aim to guide users through the initial steps of integrating and using the TriggerX library in their Android projects.
This commit updates the documentation by removing the "Manage Docs Versions" page and adding a new placeholder page for "Showing dynamic UI".

Key changes:

- **Deleted `docs/docs/tutorial-extras/manage-docs-versions.md`**:
    - Removed the documentation page that explained how to manage multiple versions of docs using Docusaurus, including creating versions and adding a version dropdown.

- **Added `docs/docs/tutorial-extras/showing-dynamic-ui.md`**:
    - Created a new, empty documentation page titled "Showing dynamic UI".
    - Set its `sidebar_position` to `1`.
This commit updates the Docusaurus configuration and content for the TriggerX documentation website.

Key changes:

- **Configuration (`docusaurus.config.ts`):**
    - Updated site `title` to "TriggerX Documentation".
    - Updated `tagline` to "Trigger UI. On time. Every time.".
    - Changed `organizationName` to "Meticha" and `projectName` to "triggerx".
    - Removed the "Tutorial" and "Blog" links from the navbar.
    - Updated the GitHub link in the navbar to point to the `meticha/triggerx` repository.
    - Updated footer links:
        - Removed "Stack Overflow".
        - Updated Discord link to `https://discord.gg/p3SC9ZKzb6`.
        - Updated X (formerly Twitter) link to `https://x.com/metichahq`.
        - Removed "Blog" link.
        - Updated GitHub link to `https://github.com/meticha`.
    - Updated copyright to "Copyright © YYYY Meticha".

- **Homepage (`docs/src/pages/index.tsx`, `docs/src/components/HomepageFeatures/index.tsx`):**
    - Changed the "Get Started" button text and link.
    - Updated feature descriptions to be specific to TriggerX:
        - "Easy to Use" changed to "✅ Time-Triggered UI That Just Works"
        - "Focus on What Matters" changed to "⚙️ Fully Custom UI with Compose"
        - "Powered by React" changed to "🔐 Handles Permissions So You Don’t Have To"

- **Styling (`docs/src/css/custom.css`):**
    - Updated primary color palette for both light and dark themes.
    - Set a specific background color for the dark theme.

- **Content Removal:**
    - Deleted all blog posts and related files:
        - `docs/blog/2019-05-28-first-blog-post.md`
        - `docs/blog/2019-05-29-long-blog-post.md`
        - `docs/blog/2021-08-01-mdx-blog-post.mdx`
        - `docs/blog/2021-08-26-welcome/index.md`
        - `docs/blog/2021-08-26-welcome/docusaurus-plushie-banner.jpeg`
        - `docs/blog/authors.yml`
        - `docs/blog/tags.yml`
    - Deleted the "Translate your site" tutorial page: `docs/docs/tutorial-extras/translate-your-site.md`.

- **Documentation Structure (`docs/docs/tutorial-extras/_category_.json`):**
    - Renamed the "Tutorial - Extras" category label to "Advanced".

These changes focus the documentation on TriggerX, update branding, and streamline the content by removing the unused blog and specific Docusaurus tutorials.
This commit introduces several improvements to the documentation website's homepage UI and updates some documentation content.

Key changes:

- **Homepage UI Enhancements (`docs/src/components/HomepageFeatures/`):**
    - **`styles.module.css`**: Added new CSS styles for feature cards (`.card`) and icons (`.icon`). Cards now have a background, border-radius, box-shadow, and hover effects (transform and shadow change). Icons have a larger font size and bottom margin.
    - **`index.tsx`**:
        - Replaced SVG icons with emoji icons for features.
        - Updated the `FeatureItem` type to use `icon: ReactNode` instead of `Svg`.
        - Modified the `Feature` component to use the new `icon` and apply the `.card` and `.icon` styles. The layout within each feature card is now centered.
        - Removed the "✅" prefix from the "Time-Triggered UI That Just Works" feature title.

- **Docusaurus Configuration (`docs/docusaurus.config.ts`):**
    - Changed the navbar title from "TriggerX Documentation" to "TriggerX".

- **Page Title (`docs/src/pages/index.tsx`):**
    - Updated the homepage title to use only `siteConfig.title` instead of `Hello from ${siteConfig.title}`.

- **Documentation Content Updates:**
    - **`docs/docs/tutorial-basics/1-installation.md`**: Removed the `SYSTEM_ALERT_WINDOW` permission from the list of required permissions.
    - **`README.md`**: Removed the `SYSTEM_ALERT_WINDOW` permission from the list of required permissions in the main project README.

These changes aim to create a more visually appealing and modern homepage for the documentation, and ensure the permission documentation is accurate.
This commit introduces several improvements to the Docusaurus documentation website for TriggerX.

Key changes:

- **docusaurus.config.ts**:
    - Updated `favicon` to `img/triggerx-logo.png`.
    - Corrected `editUrl` for both docs and blog to point to the `meticha/triggerx` repository.
    - Updated `image` (social card) to `img/triggerx-banner.png`.
    - Updated `navbar.logo.src` to `img/triggerx-logo.png`.
    - Added a "LinkedIn" link to the footer's social media section.

- **src/components/HomepageFeatures/styles.module.css**:
    - Updated `.card` background to use `var(--ifm-card-background-color, var(--ifm-background-color))` for better theme adaptability.
    - Set `.card` text color to `var(--ifm-font-color-base)`.
    - Added comments to clarify CSS rules for card container, hover effect, and icon.

- **static/robots.txt**:
    - Added a new `robots.txt` file to allow all user-agents to crawl the site (`User-agent: *`, `Disallow:`).

- **docs/tutorial-basics/5-scheduling-alarm.md**:
    - Added an "Expected output" section with an embedded GIF (`/img/triggerx_example.gif`) demonstrating the TriggerX functionality. The GIF height is set to 600.

These changes enhance the visual branding, improve SEO, provide correct edit links, and add a visual example to the tutorial.
This commit updates the Docusaurus configuration (`docs/docusaurus.config.ts`) to prepare the documentation site for deployment.

Key changes:

- **`url`**: Changed from the placeholder `https://your-docusaurus-site.example.com` to `https://labs.meticha.com`.
- **`trailingSlash`**: Set to `false`.
- **`baseUrl`**: Changed from `/` to `/triggerx/docs/`.

These changes configure the site's production URL and base path for proper deployment under the specified domain and subdirectory.
@cavin-macwan cavin-macwan self-assigned this Jun 12, 2025
@cavin-macwan cavin-macwan added the documentation Improvements or additions to documentation label Jun 12, 2025
@coderabbitai

coderabbitai Bot commented Jun 12, 2025

Copy link
Copy Markdown

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters (1)
  • docs/package-lock.json is excluded by !**/package-lock.json

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

This update introduces a comprehensive documentation site for the TriggerX library using Docusaurus. It adds configuration files, documentation content, React components for the homepage, CSS modules for styling, and supporting assets. The documentation covers installation, configuration, tutorials, permission handling, and example usage, and organizes content into structured categories. Additionally, the README was updated to remove a commented permission line.

Changes

File(s) Change Summary
README.md Removed commented-out SYSTEM_ALERT_WINDOW permission from example AndroidManifest.xml snippet.
docs/.gitignore Added .gitignore to exclude build artifacts, dependencies, and environment/system files in docs.
docs/README.md Added instructions for installing, developing, building, and deploying the Docusaurus docs site.
docs/docusaurus.config.ts, docs/sidebars.ts, docs/tsconfig.json, docs/package.json Added Docusaurus config, sidebar setup, TypeScript config, and package metadata/scripts/dependencies.
docs/src/components/HomepageFeatures/index.tsx, docs/src/components/HomepageFeatures/styles.module.css Added homepage features React component and its CSS module for feature cards.
docs/src/css/custom.css Added global CSS for custom color theming (light/dark) using Infima variables.
docs/src/pages/index.tsx, docs/src/pages/index.module.css Added homepage React component and its CSS module for hero banner and button styling.
docs/src/pages/markdown-page.md Added example standalone markdown page.
docs/static/robots.txt Added robots.txt allowing all web crawlers.
docs/docs/intro.md Added introduction to TriggerX, describing its purpose, challenges, and Play Store compliance.
docs/docs/tutorial-basics/1-installation.md Added installation tutorial with Gradle and Version Catalogs instructions and required permissions.
docs/docs/tutorial-basics/2-set-custom-alarm-activity.md Added tutorial for creating a custom alarm Activity by subclassing TriggerXActivity, with a Kotlin example.
docs/docs/tutorial-basics/3-configure-triggerx-dsl.md Added tutorial for configuring TriggerX via Kotlin DSL in the Application class.
docs/docs/tutorial-basics/4-permission-handling.mdx Added tutorial on permission handling using Compose helper and sample code.
docs/docs/tutorial-basics/5-scheduling-alarm.md Added tutorial for scheduling an alarm in a Compose app, with example and explanation.
docs/docs/tutorial-basics/category.json Added category JSON for "Basics" tutorials with ordering and description.
docs/docs/tutorial-extras/category.json Added category JSON for "Advanced" tutorials with ordering.
docs/docs/tutorial-extras/showing-dynamic-ui.md Added placeholder markdown file for "Showing dynamic UI" tutorial (frontmatter only).

Sequence Diagram(s)

sequenceDiagram
    participant Developer
    participant DocsSite
    participant TriggerX Library

    Developer->>DocsSite: Install dependencies (yarn)
    Developer->>DocsSite: Start local dev server (yarn start)
    Developer->>DocsSite: Build static site (yarn build)
    Developer->>DocsSite: Deploy to GitHub Pages (yarn deploy)
    Developer->>DocsSite: Read tutorials (installation, setup, scheduling)
    DocsSite->>TriggerX Library: Show code/configuration examples
Loading

Poem

🐇
A warren of docs now takes the stage,
With guides and code upon each page.
Compose, configure, schedule with cheer—
TriggerX’s wisdom is finally here!
From hero banners to feature cards bright,
Hop on in, and learn it right.
🥕


🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (20)
docs/.gitignore (1)

1-21: Add missing newline and verify ignore patterns

It’s good to ignore build artifacts and logs, but consider adding a trailing newline for POSIX compliance. Also verify whether Docusaurus v2 generates a .cache directory (in addition to .cache-loader) that should be ignored here.

docs/src/css/custom.css (1)

19-28: Enhance dark mode with color-scheme

Add color-scheme: dark; at the top of the [data-theme='dark'] block so user agents render form controls and scrollbars appropriately in dark mode.

Example:

[data-theme='dark'] {
  color-scheme: dark;
  --ifm-color-primary: #ffde22;
  /* … */
}
docs/src/components/HomepageFeatures/styles.module.css (3)

1-6: Make features container responsive

Consider adding flex-wrap: wrap; and a gap to ensure feature cards wrap on narrower viewports, improving mobile layout.

Example:

.features {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  /* existing rules */
}

8-11: Use responsive sizing for SVGs

Fixed 200px dimensions can overflow. Use max-width: 100%; height: auto; or CSS variables to keep SVGs scalable within the layout.


25-28: Extend hover effect to focus

Mirror the hover transform and shadow in :focus-visible so keyboard navigation receives the same visual feedback.

docs/docs/tutorial-extras/showing-dynamic-ui.md (1)

1-7: Add content scaffolding

The frontmatter is in place, but the file lacks any body content. Consider adding an introductory paragraph, example code block, or at least a TODO placeholder to guide authors.

Would you like me to generate a basic content scaffold?

docs/static/robots.txt (1)

1-2: Include sitemap directive

Allowing all crawlers is fine, but adding a Sitemap: /sitemap.xml directive can improve SEO by guiding bots directly to your sitemap.

docs/src/pages/index.tsx (2)

21-27: Use useBaseUrl for consistent routing.
Leverage Docusaurus’s useBaseUrl helper to resolve the docs path dynamically.

Proposed diff:

-import Link from '@docusaurus/Link';
+import Link from '@docusaurus/Link';
+import {useBaseUrl} from '@docusaurus/useBaseUrl';
...
-          <Link
-            className="button button--secondary button--lg"
-            to="/docs/intro">
+          <Link
+            className="button button--secondary button--lg"
+            to={useBaseUrl('docs/intro')}>
             Get Started️
           </Link>

35-37: Simplify template string in title prop.
You can pass the site title directly instead of wrapping it in a template literal.

-      title={`${siteConfig.title}`}
+      title={siteConfig.title}
docs/docs/tutorial-basics/2-set-custom-alarm-activity.md (1)

7-14: Fix minor typos and improve readability.

  • Add the missing article “the” for background.
  • Correct the casing of TriggerXActivity.
- entry point for your UI, even when the app is killed or in background.
+ entry point for your UI, even when the app is killed or in the background.

- Once you extend your class with `TriggerXActivity`, you can override the `AlarmContent` composable
+ Once you extend your class with `TriggerXActivity`, you can override the `AlarmContent` composable
- Also, since `TriggerxActivity` extends the `ComponentActivity` itself, you can also do all sorts of stuff...
+ Also, since `TriggerXActivity` extends the `ComponentActivity` itself, you can also do all sorts of things...
🧰 Tools
🪛 LanguageTool

[uncategorized] ~9-~9: You might be missing the article “the” here.
Context: ...r UI, even when the app is killed or in background. Once you extend your class with `Trig...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

docs/src/components/HomepageFeatures/index.tsx (3)

12-40: Ensure icon accessibility.
Raw emoji strings lack screen-reader context. Wrap each icon in a semantic element, e.g.:

icon: <span role="img" aria-label="Alarm clock"></span>

42-54: Optimize CSS class usage.
You're using clsx for static class names; you can simplify:

- <div className={clsx('col col--4')}>
+ <div className="col col--4">

and similarly for padding.


61-63: Use stable keys instead of index.
Replace key={idx} with a unique prop (e.g., props.title) to avoid rerender issues:

- {FeatureList.map((props, idx) => (
-   <Feature key={idx} {...props} />
- ))}
+ {FeatureList.map((props) => (
+   <Feature key={props.title} {...props} />
+ ))}
docs/docs/tutorial-basics/3-configure-triggerx-dsl.md (2)

2-5: Quote frontmatter strings containing backticks.
YAML can misinterpret inline code literals. Wrap the description value in quotes:

- description: Setting up TriggerX is as simple as declaring what you want—literally. Using a `Kotlin DSL`
+ description: "Setting up TriggerX is as simple as declaring what you want—literally. Using a `Kotlin DSL`"

19-33: Add import statements for the snippet.
Help users drop this into their project by including:

import android.app.Application
import com.triggerx.TriggerX
docs/docs/tutorial-basics/5-scheduling-alarm.md (1)

13-65: Include necessary imports in the example.
Add Compose and Android API imports so readers can copy-paste:

import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalContext
import androidx.compose.material3.*
import com.triggerx.TriggerXAlarmScheduler
import android.widget.Toast
import java.util.Calendar
docs/docs/intro.md (3)

9-10: Fix infinitive form for clarity.

Change “you don’t need worry about managing” to “you don’t need to worry about managing” to correct the missing “to” before the verb.

🧰 Tools
🪛 LanguageTool

[grammar] ~9-~9: The verb “worry” needs to be in the to-infinitive form.
Context: ...hen your App has been killed. You don't need worry about managing foreground-services, wak...

(MISSING_TO_BEFORE_A_VERB)


20-20: Tone down informal phrasing.

Consider replacing “Way too many times.” with a more professional alternative like “On numerous occasions.”

🧰 Tools
🪛 LanguageTool

[style] ~20-~20: The expression “Way too many” can be considered informal. Consider replacing the phrase to sound more professional.
Context: ...n. Just silence. We’ve been there too. Way too many times. At [Meticha](https://meticha.co...

(WAY_TOO_MUCH)


38-38: Reduce wordiness.

You might shorten “so you’re always in control of what the user sees and when” to “so you control what the user sees and when.”

🧰 Tools
🪛 LanguageTool

[style] ~38-~38: ‘in control of’ might be wordy. Consider a shorter alternative.
Context: ...sion flows gracefully, so you’re always in control of what the user sees and when. TriggerX ...

(EN_WORDINESS_PREMIUM_IN_CONTROL_OF)

docs/docusaurus.config.ts (1)

48-50: Extract repeated editUrl into a constant.

Avoid duplication by defining a shared base URL, e.g.:

+const repoEditBase = 'https://github.com/meticha/triggerx/tree/main/docs';
...
- editUrl:
-   'https://github.com/meticha/triggerx/tree/main/docs/docs',
+ editUrl: `${repoEditBase}/docs`,
...
- editUrl:
-   'https://github.com/meticha/triggerx/tree/main/docs/docs',
+ editUrl: `${repoEditBase}/docs`,

Also applies to: 59-61

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 72e378b and 95b084a.

⛔ Files ignored due to path filters (8)
  • docs/docs/tutorial-extras/img/docsVersionDropdown.png is excluded by !**/*.png
  • docs/docs/tutorial-extras/img/localeDropdown.png is excluded by !**/*.png
  • docs/package-lock.json is excluded by !**/package-lock.json
  • docs/static/img/docusaurus-social-card.jpg is excluded by !**/*.jpg
  • docs/static/img/docusaurus.png is excluded by !**/*.png
  • docs/static/img/trigerx-banner.png is excluded by !**/*.png
  • docs/static/img/triggerx-logo.png is excluded by !**/*.png
  • docs/static/img/triggerx_example.gif is excluded by !**/*.gif
📒 Files selected for processing (23)
  • README.md (0 hunks)
  • docs/.gitignore (1 hunks)
  • docs/README.md (1 hunks)
  • docs/docs/intro.md (1 hunks)
  • docs/docs/tutorial-basics/1-installation.md (1 hunks)
  • docs/docs/tutorial-basics/2-set-custom-alarm-activity.md (1 hunks)
  • docs/docs/tutorial-basics/3-configure-triggerx-dsl.md (1 hunks)
  • docs/docs/tutorial-basics/4-permission-handling.mdx (1 hunks)
  • docs/docs/tutorial-basics/5-scheduling-alarm.md (1 hunks)
  • docs/docs/tutorial-basics/_category_.json (1 hunks)
  • docs/docs/tutorial-extras/_category_.json (1 hunks)
  • docs/docs/tutorial-extras/showing-dynamic-ui.md (1 hunks)
  • docs/docusaurus.config.ts (1 hunks)
  • docs/package.json (1 hunks)
  • docs/sidebars.ts (1 hunks)
  • docs/src/components/HomepageFeatures/index.tsx (1 hunks)
  • docs/src/components/HomepageFeatures/styles.module.css (1 hunks)
  • docs/src/css/custom.css (1 hunks)
  • docs/src/pages/index.module.css (1 hunks)
  • docs/src/pages/index.tsx (1 hunks)
  • docs/src/pages/markdown-page.md (1 hunks)
  • docs/static/robots.txt (1 hunks)
  • docs/tsconfig.json (1 hunks)
💤 Files with no reviewable changes (1)
  • README.md
🧰 Additional context used
🧬 Code Graph Analysis (1)
docs/src/pages/index.tsx (1)
docs/src/components/HomepageFeatures/index.tsx (1)
  • HomepageFeatures (56-68)
🪛 LanguageTool
docs/src/pages/markdown-page.md

[grammar] ~7-~7: Did you mean “to React”?
Context: ...# Markdown page example You don't need React to write simple standalone pages.

(NEEDNT_TO_DO_AND_DONT_NEED_DO)

docs/docs/tutorial-basics/4-permission-handling.mdx

[grammar] ~44-~44: Did you mean “Does track” (emphatic ‘do’) or “tracks”?
Context: ... } } } ``` ## 💡 What This Does - rememberAppPermissionState() tracks the required permissions - On button ta...

(DOES_VBZ_DT)

docs/docs/intro.md

[grammar] ~9-~9: The verb “worry” needs to be in the to-infinitive form.
Context: ...hen your App has been killed. You don't need worry about managing foreground-services, wak...

(MISSING_TO_BEFORE_A_VERB)


[style] ~20-~20: The expression “Way too many” can be considered informal. Consider replacing the phrase to sound more professional.
Context: ...n. Just silence. We’ve been there too. Way too many times. At [Meticha](https://meticha.co...

(WAY_TOO_MUCH)


[style] ~38-~38: ‘in control of’ might be wordy. Consider a shorter alternative.
Context: ...sion flows gracefully, so you’re always in control of what the user sees and when. TriggerX ...

(EN_WORDINESS_PREMIUM_IN_CONTROL_OF)

docs/docs/tutorial-basics/2-set-custom-alarm-activity.md

[uncategorized] ~9-~9: You might be missing the article “the” here.
Context: ...r UI, even when the app is killed or in background. Once you extend your class with `Trig...

(AI_EN_LECTOR_MISSING_DETERMINER_THE)

🔇 Additional comments (26)
docs/src/css/custom.css (1)

8-16: Verify contrast for light theme overrides

Your custom primary palette overrides look consistent. Please confirm that they meet accessibility (WCAG AA) contrast standards against default backgrounds.

docs/src/components/HomepageFeatures/styles.module.css (1)

31-34: Approve icon styling

Icon size and margin are well chosen for clear visual hierarchy.

docs/docs/tutorial-extras/_category_.json (1)

1-7: Category JSON is correctly defined.
The new "Advanced" section with a generated-index link fits with the existing category structure.

docs/tsconfig.json (1)

1-8: Editor-only tsconfig is valid.
Extending @docusaurus/tsconfig, setting baseUrl, and excluding build artifacts will improve IDE support without impacting the Docusaurus build.

docs/docs/tutorial-basics/_category_.json (1)

1-8: Basics category configuration looks good.
The label, position, generated-index link, and descriptive text accurately organize the tutorial-basics content.

docs/src/pages/markdown-page.md (1)

1-8: Standalone markdown page is well-structured.
Frontmatter is correct and the content clearly explains that React isn’t required for simple pages.

🧰 Tools
🪛 LanguageTool

[grammar] ~7-~7: Did you mean “to React”?
Context: ...# Markdown page example You don't need React to write simple standalone pages.

(NEEDNT_TO_DO_AND_DONT_NEED_DO)

docs/src/pages/index.module.css (1)

6-23: CSS module styling is appropriate.
.heroBanner and .buttons styles align with the homepage layout, and the responsive padding tweak ensures mobile friendliness.

docs/docs/tutorial-basics/1-installation.md (4)

1-5: Front matter and introduction look good.
The metadata and initial explanation are clear and correctly formatted.


14-18: Kotlin dependency snippet is correct.
The Gradle Kotlin DSL example is accurate and easy to follow.


25-30: Version Catalog example is valid.
The libs.versions.toml and usage in build.gradle.kts are properly demonstrated.


39-47: Required permissions section is clear.
The XML snippet for battery optimizations and exact alarms is accurate.

docs/README.md (6)

1-4: Project README header and intro are solid.
The description of Docusaurus and project context is concise.


7-9: Installation instructions are clear.
Running yarn is the standard setup step.


13-15: Local development section is correct.
yarn start details are accurate and user-friendly.


21-23: Build instructions are accurate.
Generating the static site with yarn build is well documented.


31-33: SSH deployment instructions are fine.
Using USE_SSH=true yarn deploy aligns with Docusaurus defaults.


37-39: Non-SSH deployment instructions are fine.
Specifying GIT_USER covers scenarios where SSH is unavailable.

docs/src/pages/index.tsx (2)

1-9: Import section is well-organized.
Type imports, dependencies, and local modules follow a logical order.


11-30: HomepageHeader JSX structure is correct.
The hero banner markup, use of Heading, and button are implemented as expected.

docs/docs/tutorial-basics/4-permission-handling.mdx (3)

1-5: Front matter is properly defined.
Title, description, and sidebar position are clear and well-formatted.


13-42: Compose permission-handling example is accurate.
Kotlin code snippet correctly demonstrates rememberAppPermissionState() usage.


44-49: Explanation section is clear.
The bullet list concisely describes what the helper does and the control flow.

🧰 Tools
🪛 LanguageTool

[grammar] ~44-~44: Did you mean “Does track” (emphatic ‘do’) or “tracks”?
Context: ... } } } ``` ## 💡 What This Does - rememberAppPermissionState() tracks the required permissions - On button ta...

(DOES_VBZ_DT)

docs/docs/tutorial-basics/2-set-custom-alarm-activity.md (1)

19-65: Code example is clear and comprehensive.
The Kotlin snippet demonstrates extending TriggerXActivity and composing UI correctly.

docs/src/components/HomepageFeatures/index.tsx (2)

1-4: Imports look correct.
All necessary React types, clsx, Docusaurus Heading, and CSS module are imported.


6-10: FeatureItem type definition is clear.
The shape of each feature (title, icon, description) is well-typed.

docs/sidebars.ts (1)

1-3: Sidebar configuration is correct.
The autogenerated tutorialSidebar will pick up all docs under docs/.

Comment thread docs/src/components/HomepageFeatures/styles.module.css
Comment thread docs/package.json
Comment thread docs/docusaurus.config.ts Outdated
This commit introduces several improvements to the documentation website, including styling updates for homepage features, dark mode enhancements, and minor content corrections.

Key changes:

- **docs/src/components/HomepageFeatures/styles.module.css**:
    - Added `flex-wrap: wrap` to the `.features` class to allow features to wrap on smaller screens.
- **docs/src/components/HomepageFeatures/index.tsx**:
    - Changed the `key` for `Feature` components from `idx` to `props.title` for better stability.
    - Removed `clsx` from the `Feature` component's root div class assignment as it was not necessary.
- **docs/docs/tutorial-basics/2-set-custom-alarm-activity.md**:
    - Corrected "in background" to "in the background".
    - Corrected "all sorts of stuff" to "all sorts of things".
- **docs/src/css/custom.css**:
    - Added `color-scheme: dark;` to the `[data-theme='dark']` rule to improve dark mode styling.
- **docs/docs/intro.md**:
    - Corrected "need worry" to "need to worry".
- **docs/docusaurus.config.ts**:
    - Removed the `blog` configuration section as it's not currently used.
- **docs/docs/tutorial-basics/5-scheduling-alarm.md**:
    - Updated the image path for `triggerx_example.gif` to include the base path `/triggerx/docs/`.
- **docs/docs/tutorial-basics/3-configure-triggerx-dsl.md**:
    - Updated the `description` metadata.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (4)
docs/docs/intro.md (4)

5-11: Convert inline feature list into a bulleted list & unify hyphenation
For better readability, list “foreground services”, “wake locks”, “lock-screen flags”, and “permission management” as bullets. Also remove unnecessary hyphens and add a period at the end of the sentence.


20-20: Rephrase informal language
The expression “Way too many times” can sound informal; consider “too many times” or a more professional alternative.

🧰 Tools
🪛 LanguageTool

[style] ~20-~20: The expression “Way too many” can be considered informal. Consider replacing the phrase to sound more professional.
Context: ...n. Just silence. We’ve been there too. Way too many times. At [Meticha](https://meticha.co...

(WAY_TOO_MUCH)


8-8: Ensure consistent casing for “app”
The term “App” is capitalized mid-sentence; consider using lowercase “app” unless it’s intended as a proper noun.


38-39: Simplify phrase for brevity
“In control of what the user sees and when” is wordy; consider “in control of the user experience.”

🧰 Tools
🪛 LanguageTool

[style] ~38-~38: ‘in control of’ might be wordy. Consider a shorter alternative.
Context: ...sion flows gracefully, so you’re always in control of what the user sees and when. TriggerX ...

(EN_WORDINESS_PREMIUM_IN_CONTROL_OF)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 95b084a and fee5227.

📒 Files selected for processing (8)
  • docs/docs/intro.md (1 hunks)
  • docs/docs/tutorial-basics/2-set-custom-alarm-activity.md (1 hunks)
  • docs/docs/tutorial-basics/3-configure-triggerx-dsl.md (1 hunks)
  • docs/docs/tutorial-basics/5-scheduling-alarm.md (1 hunks)
  • docs/docusaurus.config.ts (1 hunks)
  • docs/src/components/HomepageFeatures/index.tsx (1 hunks)
  • docs/src/components/HomepageFeatures/styles.module.css (1 hunks)
  • docs/src/css/custom.css (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (7)
  • docs/src/css/custom.css
  • docs/src/components/HomepageFeatures/styles.module.css
  • docs/docs/tutorial-basics/3-configure-triggerx-dsl.md
  • docs/docs/tutorial-basics/2-set-custom-alarm-activity.md
  • docs/src/components/HomepageFeatures/index.tsx
  • docs/docs/tutorial-basics/5-scheduling-alarm.md
  • docs/docusaurus.config.ts
🧰 Additional context used
🪛 LanguageTool
docs/docs/intro.md

[style] ~20-~20: The expression “Way too many” can be considered informal. Consider replacing the phrase to sound more professional.
Context: ...n. Just silence. We’ve been there too. Way too many times. At [Meticha](https://meticha.co...

(WAY_TOO_MUCH)


[style] ~38-~38: ‘in control of’ might be wordy. Consider a shorter alternative.
Context: ...sion flows gracefully, so you’re always in control of what the user sees and when. TriggerX ...

(EN_WORDINESS_PREMIUM_IN_CONTROL_OF)

🔇 Additional comments (2)
docs/docs/intro.md (2)

28-36: Well-structured Play Store section
This section clearly addresses permissions and aligns with Docusaurus styling and user expectations.


41-42: Engaging closing statement
The final tagline reinforces TriggerX’s value proposition effectively.

Comment thread docs/docs/intro.md
This commit removes two unused image files related to Docusaurus from the `docs/static/img` directory.

Key changes:

- **docs/static/img/docusaurus.png**: Deleted.
- **docs/static/img/docusaurus-social-card.jpg**: Deleted.
@meticha-admin meticha-admin merged commit e0b50f3 into main Jun 13, 2025
1 check passed
@meticha-admin meticha-admin deleted the feature/documentation branch June 13, 2025 06:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants