Skip to content

Conversation

@AlexSkrypnyk
Copy link
Member

@AlexSkrypnyk AlexSkrypnyk commented Jul 25, 2025

Summary by CodeRabbit

  • Documentation

    • Updated installation instructions to use the filename installer.php instead of install.php across all relevant documentation and banners.
    • Refined tab and card labels for improved clarity and consistency in the features and index pages.
    • Enhanced text formatting and descriptions for better readability and presentation.
  • Style

    • Adjusted font sizes and color variables for improved visual consistency in cards and vertical tabs.
  • New Features

    • Card descriptions now support raw HTML content, allowing for richer formatting.
  • Tests

    • Updated unit tests to better handle and verify HTML content within card descriptions.

@coderabbitai
Copy link

coderabbitai bot commented Jul 25, 2025

Walkthrough

The updates primarily adjust documentation and UI labels to use “installer.php” instead of “install.php” in installation instructions, and refine tab/card labels and descriptions for clarity and consistency. The Card component now renders HTML descriptions using dangerouslySetInnerHTML, with corresponding test updates. Minor CSS color and font-size adjustments were also made.

Changes

Files/Groups Change Summary
README.md, .vortex/docs/content/README.mdx, .vortex/docs/content/getting-started/installation.mdx, .vortex/installer/box.json Changed installation script filename from install.php to installer.php in commands and banners.
.vortex/docs/content/getting-started/features.mdx, .vortex/docs/src/pages/index.mdx Updated tab and card labels/titles and some descriptions for clarity and consistency.
.vortex/docs/src/components/Card/Card.js Card now renders description prop as raw HTML using dangerouslySetInnerHTML.
.vortex/docs/tests/unit/Card/Card.test.js, .vortex/docs/tests/unit/Card/CardGrid.test.js Adjusted tests to match new HTML rendering in Card descriptions and simplified description props.
.vortex/docs/src/components/Card/Card.module.css Added font-size: 1.2rem to .card-description class.
.vortex/docs/src/components/VerticalTabs/VerticalTabs.css Updated color variables for text elements for improved emphasis/contrast.
.vortex/docs/src/pages/features.mdx Removed unused import statement for Card/CardGrid components.

Sequence Diagram(s)

sequenceDiagram
  participant User
  participant Docs
  participant Installer

  User->>Docs: View installation instructions
  Docs-->>User: Show curl command with installer.php
  User->>Installer: Download installer.php via curl
  User->>Installer: Run php installer.php
  Installer-->>User: Perform installation steps
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Poem

🐇✨
A swirl of docs, a script renamed,
“installer.php” now proudly claimed.
Cards and tabs with labels new,
CSS with colors bold and true.
Tests and styles all in line,
Vortex docs now look divine!
📝🌈

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

.vortex/docs/src/components/Card/Card.module.css

Oops! Something went wrong! :(

ESLint: 8.57.1

ESLint couldn't find the plugin "eslint-plugin-react".

(The package "eslint-plugin-react" was not found when loaded as a Node module from the directory "/.vortex/docs".)

It's likely that the plugin isn't installed correctly. Try reinstalling by running the following:

npm install eslint-plugin-react@latest --save-dev

The plugin "eslint-plugin-react" was referenced from the config file in ".vortex/docs/.eslintrc.js".

If you still can't figure out the problem, please stop by https://eslint.org/chat/help to chat with the team.

.vortex/docs/src/components/Card/Card.js

Oops! Something went wrong! :(

ESLint: 8.57.1

ESLint couldn't find the plugin "eslint-plugin-react".

(The package "eslint-plugin-react" was not found when loaded as a Node module from the directory "/.vortex/docs".)

It's likely that the plugin isn't installed correctly. Try reinstalling by running the following:

npm install eslint-plugin-react@latest --save-dev

The plugin "eslint-plugin-react" was referenced from the config file in ".vortex/docs/.eslintrc.js".

If you still can't figure out the problem, please stop by https://eslint.org/chat/help to chat with the team.

.vortex/docs/tests/unit/Card/Card.test.js

Oops! Something went wrong! :(

ESLint: 8.57.1

ESLint couldn't find the plugin "eslint-plugin-react".

(The package "eslint-plugin-react" was not found when loaded as a Node module from the directory "/.vortex/docs".)

It's likely that the plugin isn't installed correctly. Try reinstalling by running the following:

npm install eslint-plugin-react@latest --save-dev

The plugin "eslint-plugin-react" was referenced from the config file in ".vortex/docs/.eslintrc.js".

If you still can't figure out the problem, please stop by https://eslint.org/chat/help to chat with the team.

  • 2 others

Note

⚡️ Unit Test Generation is now available in beta!

Learn more here, or try it out under "Finishing Touches" below.

✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/fix-docs-site

🪧 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 generate unit tests to generate unit tests for 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.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

♻️ Duplicate comments (4)
README.md (1)

50-52: Same hardening & consistency as earlier comment
See comment on .vortex/installer/box.json.

.vortex/docs/content/README.mdx (1)

52-54: Same hardening & consistency as earlier comment
See comment on .vortex/installer/box.json.

.vortex/docs/content/getting-started/installation.mdx (2)

20-22: Same hardening & consistency as earlier comment
See comment on .vortex/installer/box.json.


53-55: Same hardening & consistency as earlier comment
See comment on .vortex/installer/box.json.

📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between b11cf7d and 78fd0da.

📒 Files selected for processing (11)
  • .vortex/docs/content/README.mdx (1 hunks)
  • .vortex/docs/content/getting-started/features.mdx (3 hunks)
  • .vortex/docs/content/getting-started/installation.mdx (2 hunks)
  • .vortex/docs/src/components/Card/Card.js (1 hunks)
  • .vortex/docs/src/components/Card/Card.module.css (1 hunks)
  • .vortex/docs/src/components/VerticalTabs/VerticalTabs.css (2 hunks)
  • .vortex/docs/src/pages/features.mdx (0 hunks)
  • .vortex/docs/src/pages/index.mdx (5 hunks)
  • .vortex/docs/tests/unit/Card/Card.test.js (2 hunks)
  • .vortex/installer/box.json (1 hunks)
  • README.md (1 hunks)
💤 Files with no reviewable changes (1)
  • .vortex/docs/src/pages/features.mdx
🧰 Additional context used
🪛 Biome (2.1.2)
.vortex/docs/src/components/Card/Card.js

[error] 11-11: Avoid passing content using the dangerouslySetInnerHTML prop.

Setting content using code can expose users to cross-site scripting (XSS) attacks

(lint/security/noDangerouslySetInnerHtml)

🪛 GitHub Actions: Vortex - Test docs
.vortex/docs/src/components/Card/Card.js

[warning] 1-1: Prettier formatting check failed. Code style issues found. Run Prettier with --write to fix.

🪛 LanguageTool
.vortex/docs/content/getting-started/features.mdx

[grammar] ~82-~82: Use correct spacing
Context: ...Configurations | Continuous integration pipelines Continuous integration and deployment with multiple provider support. ### Multiple CI Providers - Identical CI configurations for continuous integration providers - CircleCI pipeline configuration - GitHub Actions pipeline configuration ### 3-stage pipeline - Download the database from hosting and cache it for 24 hours for faster builds - Build and test a fully provisioned site - Deploy the site to the hosting provider ### Containerized environments - Drupal runs in a containerized stack - The same stack is used for local development ensuring consistency - Identical PHP version, dependency versions, tooling and configurations as used in local development ### Pipeline flow control - Pipeline triggered by code pushes to pre-configured branches/tags or manually - Skip deployments for specific branches or pull requests - Selectively ignore code checks and test failures without modifying the pipeline configuration ### Assets and code coverage - Build and test assets are stored as pipeline artifact and accessible after the build - Code coverage reports are stored as pipeline artifact and accessible after the build - Code coverage reports are pushed to Codecov for easy access and visualization. :::note Azure Pipelines and GitLab CI are coming soon ::: 💻 Local Development | Containerized dev...

(QB_NEW_EN_OTHER_ERROR_IDS_5)


[grammar] ~177-~177: Use correct spacing
Context: ...Tab>⚙️ Workflows | Useful workflows and automation ### Identical workflows across environments - Scripted workflows for common tasks configured to run in the same way in all environments - Support for workflow customization via hooks - Database sourcing from hosting provider or intermediate storage (URL, FTP, container image, etc.) ### Deployment Notifications - Deployment notifications via email, GitHub, Jira, New Relic - Integration with GitHub to provide a deployed environment status - Integration with Jira to post deployed environment information as a comment - Integration with New Relic to mark deployments ### Automated dependency management - Automated dependency updates via Renovate - Separate schedules for critical and regular updates - Automated pull requests for dependency updates - Optional continuous integration job for self-hosted runner for projects restricted in terms of third-party access. ### Development workflow automation - Pull request template for consistent reviews - Release drafter for automated changelog - PR auto-assign for review assignments - PR auto-label for merge conflicts 📖 Documentation | Documentation and gui...

(QB_NEW_EN_OTHER_ERROR_IDS_5)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (12)
  • GitHub Check: build (0)
  • GitHub Check: build (1)
  • GitHub Check: vortex-test-deployment (1)
  • GitHub Check: vortex-test-workflow (3)
  • GitHub Check: vortex-test-deployment (0)
  • GitHub Check: vortex-test-workflow (0)
  • GitHub Check: vortex-test-workflow (2)
  • GitHub Check: vortex-test-workflow (1)
  • GitHub Check: vortex-test-common
  • GitHub Check: vortex-test-installer (8.3)
  • GitHub Check: vortex-test-installer (8.4)
  • GitHub Check: vortex-test-installer (8.2)
🔇 Additional comments (7)
.vortex/installer/box.json (1)

10-10: Harden the one-liner installer command in .vortex/installer/box.json

Consider switching to a more failure-resilient pattern:

-<code>curl -SsL https://www.vortextemplate.com/install > installer.php && php installer.php</code><br/>
+<code>curl -fsSL https://www.vortextemplate.com/install -o installer.php && php installer.php</code><br/>

-f makes curl exit non-zero on HTTP errors.
-o installer.php is clearer than shell redirection.

I ran rg -n 'install\.php' and only saw references to the core installer (core/install.php) in .htaccess, settings.fast404.php, and autoload.php. No other docs are pointing at the old script name, so nothing else needs updating.

.vortex/docs/src/components/Card/Card.module.css (1)

87-87: LGTM! Font-size addition improves consistency.

The addition of font-size: 1.2rem to the card description styling provides consistent typography sizing for the new HTML content rendering in the Card component.

.vortex/docs/src/components/Card/Card.js (1)

11-11: Card.js: Verify HTML source and fix JSX formatting

  • File: .vortex/docs/src/components/Card/Card.js
    Line 11 uses dangerouslySetInnerHTML without sanitization:
        <p className={styles['card-description']} dangerouslySetInnerHTML={{__html: description}}/>
  • We couldn’t find any <Card description=…> usages in the docs source. Please confirm:
    • Where does description come from?
    • Is it always static, trusted content?
    • If it could ever include user-supplied or external HTML, it must be sanitized.

Formatting fix:

-      <p className={styles['card-description']} dangerouslySetInnerHTML={{__html: description}}/>
+      <p
+        className={styles['card-description']}
+        dangerouslySetInnerHTML={{ __html: description }}
+      />

Optional security hardening:

  1. Install DOMPurify
    npm install dompurify
  2. Sanitize before injecting:
    import DOMPurify from 'dompurify';
    
    <p
      className={styles['card-description']}
      dangerouslySetInnerHTML={{ __html: DOMPurify.sanitize(description) }}
    />
.vortex/docs/src/components/VerticalTabs/VerticalTabs.css (1)

99-99: Excellent color consistency improvements!

The color variable updates enhance visual hierarchy and readability:

  • Moving from --ifm-color-emphasis-700 to --ifm-color-emphasis-800 provides better contrast
  • Using --ifm-font-color-base for headers follows semantic color naming conventions
  • These changes likely improve accessibility by increasing text contrast

Also applies to: 133-133, 140-140, 148-148

.vortex/docs/content/getting-started/features.mdx (1)

55-55: Excellent label improvements for clarity and consistency!

The VerticalTab label updates enhance user understanding:

  • "Hosting Integrations" is more descriptive than "Hosting"
  • "CI/CD Configurations" better represents the comprehensive pipeline content
  • "Workflows" (plural) accurately reflects the multiple workflow types covered

These changes align well with modern terminology and improve the documentation's clarity.

Also applies to: 82-82, 177-177

.vortex/docs/tests/unit/Card/Card.test.js (1)

181-182: Well-adapted tests for HTML content rendering!

The test updates properly handle the Card component's new dangerouslySetInnerHTML rendering:

  • Appropriate use of { exact: false } for partial text matching with HTML content
  • Explicit assertions for nested HTML text nodes maintain test coverage
  • Conversion from React fragments to HTML strings aligns with component changes

These changes ensure test reliability while properly validating the new HTML rendering functionality.

Also applies to: 381-381, 388-388

.vortex/docs/src/pages/index.mdx (1)

71-80: Verify fragment-ID targets match feature page headings

The index page’s <Card> components link to #hosting-integrations, #cicd-configurations, #tools, and #workflows. You need to ensure that the corresponding headings in .vortex/docs/content/getting-started/features.mdx produce exactly these slugs. Otherwise, users clicking the links will land at the top of the page instead of the intended section.

Please confirm that features.mdx contains headings such as:

  • ## Hosting Integrations (id “hosting-integrations”)
  • ## CI/CD Configurations (id “cicd-configurations”)
  • ## Tools (id “tools”)
  • ## Workflows (id “workflows”)

You can verify with a case-insensitive grep, for example:

rg -i "^##\s+(Hosting Integrations|CI/CD Configurations|Tools|Workflows)" .vortex/docs/content/getting-started/features.mdx

Comment on lines +38 to +40
<p><strong>Vortex</strong> is a Drupal project template designed to
streamline onboarding, accelerate development, and support long-term
maintainability
</p>
maintainability</p>
Copy link

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Add terminal punctuation for consistency
All other sentences in the hero section end with a period. Consider adding one here to keep the tone consistent.

🤖 Prompt for AI Agents
In .vortex/docs/src/pages/index.mdx around lines 38 to 40, the sentence
describing Vortex lacks a terminal period, which breaks consistency with other
sentences in the hero section. Add a period at the end of the sentence inside
the paragraph tag to maintain uniform punctuation style.

Comment on lines +52 to +59
<p
style={{
textAlign: 'center',
fontSize: '1.25rem',
marginBottom: '3rem',
maxWidth: '800px',
margin: '0 auto 3rem'
}}
Copy link

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Duplicate margin declaration – drop the redundant marginBottom

marginBottom: '3rem' is overridden by the later shorthand margin: '0 auto 3rem', so it is dead code and may confuse future maintainers.

       textAlign: 'center',
       fontSize: '1.25rem',
-      marginBottom: '3rem',
       maxWidth: '800px',
       margin: '0 auto 3rem'
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<p
style={{
textAlign: 'center',
fontSize: '1.25rem',
marginBottom: '3rem',
maxWidth: '800px',
margin: '0 auto 3rem'
}}
<p
style={{
textAlign: 'center',
fontSize: '1.25rem',
maxWidth: '800px',
margin: '0 auto 3rem'
}}
🤖 Prompt for AI Agents
In .vortex/docs/src/pages/index.mdx around lines 52 to 59, there is a redundant
CSS style where marginBottom is declared and then overridden by a later margin
shorthand. Remove the marginBottom: '3rem' line to eliminate the duplicate
declaration and keep only the margin: '0 auto 3rem' shorthand for clarity and
maintainability.

Comment on lines +116 to 117
description="Consistent developer experience across every project.<br/>Same tools, commands, and workflows so team members can jump between projects without missing a beat"
/>
Copy link

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Inline <br/> relies on dangerouslySetInnerHTML

Because Card now renders description via dangerouslySetInnerHTML, any HTML inside the string will be injected verbatim. It’s acceptable for static, trusted copy, but keep in mind:

  1. Future dynamic content fed into description must be sanitised.
  2. For simple line breaks, CSS (e.g. display: block) or wrapping in separate elements avoids HTML injection entirely.
🤖 Prompt for AI Agents
In .vortex/docs/src/pages/index.mdx around lines 116 to 117, the description
prop uses an inline <br/> tag which requires dangerouslySetInnerHTML in the Card
component, posing a risk of HTML injection. To fix this, replace the <br/> tag
with CSS-based line breaks or split the description into multiple elements to
avoid embedding raw HTML. This ensures safer rendering without relying on
dangerouslySetInnerHTML and prevents potential injection issues with future
dynamic content.

@AlexSkrypnyk AlexSkrypnyk force-pushed the feature/fix-docs-site branch from 78fd0da to eed17ae Compare July 25, 2025 06:48
@codecov
Copy link

codecov bot commented Jul 25, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 74.09%. Comparing base (b11cf7d) to head (c14bfe8).
Report is 7 commits behind head on develop.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #1838   +/-   ##
========================================
  Coverage    74.09%   74.09%           
========================================
  Files           84       84           
  Lines         4830     4830           
  Branches        35       35           
========================================
  Hits          3579     3579           
  Misses        1251     1251           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@AlexSkrypnyk AlexSkrypnyk force-pushed the feature/fix-docs-site branch from eed17ae to c14bfe8 Compare July 25, 2025 07:08
@github-actions github-actions bot temporarily deployed to commit July 25, 2025 07:10 Inactive
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

♻️ Duplicate comments (2)
.vortex/docs/src/pages/index.mdx (2)

52-61: Formatting improvement, but duplicate margin declaration remains.

The multi-line formatting improves readability. However, the marginBottom: '3rem' on line 56 is still overridden by the margin: '0 auto 3rem' shorthand on line 58.


116-116: HTML injection concern persists.

The inline <br/> tag in the description string still poses the HTML injection risk previously identified. The Card component's use of dangerouslySetInnerHTML makes this a security concern for future dynamic content.

📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 78fd0da and c14bfe8.

📒 Files selected for processing (12)
  • .vortex/docs/content/README.mdx (1 hunks)
  • .vortex/docs/content/getting-started/features.mdx (3 hunks)
  • .vortex/docs/content/getting-started/installation.mdx (2 hunks)
  • .vortex/docs/src/components/Card/Card.js (1 hunks)
  • .vortex/docs/src/components/Card/Card.module.css (1 hunks)
  • .vortex/docs/src/components/VerticalTabs/VerticalTabs.css (2 hunks)
  • .vortex/docs/src/pages/features.mdx (0 hunks)
  • .vortex/docs/src/pages/index.mdx (5 hunks)
  • .vortex/docs/tests/unit/Card/Card.test.js (2 hunks)
  • .vortex/docs/tests/unit/Card/CardGrid.test.js (1 hunks)
  • .vortex/installer/box.json (1 hunks)
  • README.md (1 hunks)
💤 Files with no reviewable changes (1)
  • .vortex/docs/src/pages/features.mdx
🧰 Additional context used
🪛 Biome (2.1.2)
.vortex/docs/src/components/Card/Card.js

[error] 13-13: Avoid passing content using the dangerouslySetInnerHTML prop.

Setting content using code can expose users to cross-site scripting (XSS) attacks

(lint/security/noDangerouslySetInnerHtml)

🪛 LanguageTool
.vortex/docs/content/getting-started/features.mdx

[grammar] ~82-~82: Use correct spacing
Context: ...Configurations | Continuous integration pipelines Continuous integration and deployment with multiple provider support. ### Multiple CI Providers - Identical CI configurations for continuous integration providers - CircleCI pipeline configuration - GitHub Actions pipeline configuration ### 3-stage pipeline - Download the database from hosting and cache it for 24 hours for faster builds - Build and test a fully provisioned site - Deploy the site to the hosting provider ### Containerized environments - Drupal runs in a containerized stack - The same stack is used for local development ensuring consistency - Identical PHP version, dependency versions, tooling and configurations as used in local development ### Pipeline flow control - Pipeline triggered by code pushes to pre-configured branches/tags or manually - Skip deployments for specific branches or pull requests - Selectively ignore code checks and test failures without modifying the pipeline configuration ### Assets and code coverage - Build and test assets are stored as pipeline artifact and accessible after the build - Code coverage reports are stored as pipeline artifact and accessible after the build - Code coverage reports are pushed to Codecov for easy access and visualization. :::note Azure Pipelines and GitLab CI are coming soon ::: 💻 Local Development | Containerized dev...

(QB_NEW_EN_OTHER_ERROR_IDS_5)


[grammar] ~177-~177: Use correct spacing
Context: ...Tab>⚙️ Workflows | Useful workflows and automation ### Identical workflows across environments - Scripted workflows for common tasks configured to run in the same way in all environments - Support for workflow customization via hooks - Database sourcing from hosting provider or intermediate storage (URL, FTP, container image, etc.) ### Deployment Notifications - Deployment notifications via email, GitHub, Jira, New Relic - Integration with GitHub to provide a deployed environment status - Integration with Jira to post deployed environment information as a comment - Integration with New Relic to mark deployments ### Automated dependency management - Automated dependency updates via Renovate - Separate schedules for critical and regular updates - Automated pull requests for dependency updates - Optional continuous integration job for self-hosted runner for projects restricted in terms of third-party access. ### Development workflow automation - Pull request template for consistent reviews - Release drafter for automated changelog - PR auto-assign for review assignments - PR auto-label for merge conflicts 📖 Documentation | Documentation and gui...

(QB_NEW_EN_OTHER_ERROR_IDS_5)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (12)
  • GitHub Check: build (1)
  • GitHub Check: build (0)
  • GitHub Check: vortex-test-workflow (3)
  • GitHub Check: vortex-test-deployment (1)
  • GitHub Check: vortex-test-deployment (0)
  • GitHub Check: vortex-test-workflow (2)
  • GitHub Check: vortex-test-workflow (0)
  • GitHub Check: vortex-test-common
  • GitHub Check: vortex-test-workflow (1)
  • GitHub Check: vortex-test-installer (8.2)
  • GitHub Check: vortex-test-installer (8.3)
  • GitHub Check: vortex-test-installer (8.4)
🔇 Additional comments (14)
.vortex/docs/src/components/Card/Card.module.css (1)

87-87: LGTM - Appropriate font size adjustment for card descriptions.

The addition of font-size: 1.2rem; enhances the readability of card descriptions and complements the HTML rendering capability changes in the Card component.

.vortex/docs/tests/unit/Card/CardGrid.test.js (1)

431-431: LGTM - Test correctly updated to match Card component's HTML rendering.

The change from JSX elements to HTML string in the description prop appropriately reflects the Card component's new dangerouslySetInnerHTML rendering approach.

.vortex/docs/src/components/Card/Card.js (1)

11-14: Security: Sanitize description HTML

It appears there are currently no occurrences of <Card description=…> elsewhere in the repo, but introducing dangerouslySetInnerHTML still carries an XSS risk if untrusted content ever reaches this prop. Please ensure that:

  • Any HTML passed into description is properly sanitized (e.g., via DOMPurify or a trusted pipeline)
  • The prop is only fed from vetted sources (e.g., compiled MDX or hard-coded strings)
  • You add clear JSDoc or README notes to warn future consumers about this requirement
.vortex/docs/src/components/VerticalTabs/VerticalTabs.css (1)

99-99: LGTM - Color improvements enhance readability and consistency.

The updates to use darker color variants (--ifm-color-emphasis-800 instead of --ifm-color-emphasis-700) and theme-consistent colors (--ifm-font-color-base) improve text readability and visual consistency across the component.

Also applies to: 133-133, 140-140, 148-148

.vortex/docs/content/getting-started/features.mdx (1)

55-55: LGTM - Improved tab labels enhance clarity and consistency.

The label updates provide better clarity:

  • "Hosting Integrations" is more descriptive than "Hosting"
  • "CI/CD Configurations" better describes the content than "Continuous Integration"
  • "Workflows" (plural) is more accurate than "Workflow" (singular)

These changes align well with the homepage card updates for consistent terminology across the documentation.

Note: The static analysis spacing warnings appear to be false positives related to the VerticalTab component structure.

Also applies to: 82-82, 177-177

.vortex/docs/tests/unit/Card/Card.test.js (3)

181-182: Test adaptations for HTML rendering look correct.

The changes properly handle the Card component's new dangerouslySetInnerHTML behavior by using partial text matching for the main content and separate assertions for HTML elements.


381-381: Correct adaptation of test data for HTML string format.

The change from React fragment to HTML string aligns with the Card component's new dangerouslySetInnerHTML rendering approach.


388-388: Improved test assertion for HTML content.

The change from regex to partial text matching is more appropriate for testing HTML content rendered via dangerouslySetInnerHTML.

.vortex/docs/src/pages/index.mdx (5)

38-40: Clean formatting improvement.

The consolidation from multi-line to single-line JSX improves code readability without changing the content.


71-71: Improved specificity in card title.

The change from "Hosting" to "Hosting Integrations" provides better clarity about the feature scope.


77-79: Well-coordinated content improvements.

The title, description, and link updates work together to provide better clarity about the CI/CD configuration features.


91-91: No substantive change detected.

The line appears identical to before - this may be a formatting or whitespace change only.


96-97: Minor refinements improve consistency.

The description clarification and link anchor pluralization enhance content quality and navigation consistency.

.vortex/installer/box.json (1)

10-10: Change looks good & keeps banner in sync with docs

The filename update to installer.php aligns the banner with the rest of the documentation and avoids confusing users with two different script names. No further action required.

2. Run the following command to install the **Vortex** template.
```shell title="Install using interactive prompts"
curl -SsL https://www.vortextemplate.com/install > install.php && php install.php
curl -SsL https://www.vortextemplate.com/install > installer.php && php installer.php
Copy link

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Adopt the clearer curl -o pattern here as well

-    curl -SsL https://www.vortextemplate.com/install > installer.php && php installer.php
+    curl -fSsL https://www.vortextemplate.com/install -o installer.php && php installer.php
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
curl -SsL https://www.vortextemplate.com/install > installer.php && php installer.php
curl -fSsL https://www.vortextemplate.com/install -o installer.php && php installer.php
🤖 Prompt for AI Agents
In .vortex/docs/content/getting-started/installation.mdx at line 21, replace the
current curl command using the redirection operator (>) with the clearer curl -o
option to specify the output file. Change the command to use 'curl -SsL -o
installer.php https://www.vortextemplate.com/install' followed by 'php
installer.php' to improve readability and consistency.

4. Run the following command to install the **Vortex** template.
```shell title="Install using interactive prompts"
curl -SsL https://www.vortextemplate.com/install > install.php && php install.php
curl -SsL https://www.vortextemplate.com/install > installer.php && php installer.php
Copy link

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Keep repeated instructions in sync

Same adjustment as above to avoid divergent examples:

-    curl -SsL https://www.vortextemplate.com/install > installer.php && php installer.php
+    curl -fSsL https://www.vortextemplate.com/install -o installer.php && php installer.php
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
curl -SsL https://www.vortextemplate.com/install > installer.php && php installer.php
curl -fSsL https://www.vortextemplate.com/install -o installer.php && php installer.php
🤖 Prompt for AI Agents
In .vortex/docs/content/getting-started/installation.mdx at line 54, update the
curl command to match the previously corrected example to keep repeated
instructions consistent. Replace the URL or command syntax as needed so this
example does not diverge from the others in the documentation.


```bash
curl -SsL https://www.vortextemplate.com/install > install.php && php install.php
curl -SsL https://www.vortextemplate.com/install > installer.php && php installer.php
Copy link

Choose a reason for hiding this comment

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

🧹 Nitpick (assertive)

Mirror the curl -o refinement suggested for the main README

For consistency and a slightly safer download, consider:

-curl -SsL https://www.vortextemplate.com/install > installer.php && php installer.php
+curl -fSsL https://www.vortextemplate.com/install -o installer.php && php installer.php
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
curl -SsL https://www.vortextemplate.com/install > installer.php && php installer.php
curl -fSsL https://www.vortextemplate.com/install -o installer.php && php installer.php
🤖 Prompt for AI Agents
In .vortex/docs/content/README.mdx at line 53, replace the curl command using
output redirection with the safer and more consistent curl -o option to download
the installer.php file. Change the command to use 'curl -SsL -o installer.php
https://www.vortextemplate.com/install' followed by 'php installer.php' to
ensure the file is downloaded correctly and consistently.


```bash
curl -SsL https://www.vortextemplate.com/install > install.php && php install.php
curl -SsL https://www.vortextemplate.com/install > installer.php && php installer.php
Copy link

Choose a reason for hiding this comment

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

💡 Verification agent

🧩 Analysis chain

Consider using the -o flag for clearer intent & safer redirect

Using shell redirection (> installer.php) works, but curl already has a purpose-built option that avoids accidental truncation when copy-pasted in unusual shells and reads cleaner:

-curl -SsL https://www.vortextemplate.com/install > installer.php && php installer.php
+curl -fSsL https://www.vortextemplate.com/install -o installer.php && php installer.php

-f fails on HTTP errors
-o explicitly sets the output file rather than relying on shell redirection

Replicating this tweak everywhere the command appears keeps instructions consistent.


🏁 Script executed:

#!/bin/bash
# Confirm no stale 'install.php' references remain after this PR
rg -n '"install\.php"' --glob '!vendor/*'

Length of output: 43


I’ll re-run the search using the correct filename to ensure we catch every occurrence:


🏁 Script executed:

#!/bin/bash
# Confirm all occurrences of 'installer.php' in the repo outside vendor/
rg -n 'installer\.php' --glob '!vendor/*'

Length of output: 142


Use curl’s -o flag for clearer intent & safer redirect

To avoid accidental truncation and handle HTTP errors properly, replace the shell redirection with curl’s built-in output option and add -f:

• Location:

  • README.md:51

• Change:

- curl -SsL https://www.vortextemplate.com/install > installer.php && php installer.php
+ curl -fSsL https://www.vortextemplate.com/install -o installer.php && php installer.php

-f causes curl to fail on HTTP errors
-o explicitly writes to the given file instead of relying on >

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
curl -SsL https://www.vortextemplate.com/install > installer.php && php installer.php
curl -fSsL https://www.vortextemplate.com/install -o installer.php && php installer.php
🤖 Prompt for AI Agents
In README.md at line 51, replace the shell redirection using `>` with curl's
`-o` flag to explicitly specify the output file, and add the `-f` flag to make
curl fail on HTTP errors. This means changing the command to use `curl -fSsL -o
installer.php https://www.vortextemplate.com/install` followed by `php
installer.php` to ensure safer and clearer file handling.

@AlexSkrypnyk AlexSkrypnyk enabled auto-merge (rebase) July 25, 2025 07:33
@AlexSkrypnyk AlexSkrypnyk disabled auto-merge July 25, 2025 08:07
@AlexSkrypnyk AlexSkrypnyk merged commit 5f2c5d9 into develop Jul 25, 2025
36 of 38 checks passed
@AlexSkrypnyk AlexSkrypnyk deleted the feature/fix-docs-site branch July 25, 2025 08:07
@github-project-automation github-project-automation bot moved this from BACKLOG to Release queue in Vortex Jul 25, 2025
@AlexSkrypnyk AlexSkrypnyk added this to the 25.7.0 milestone Jul 26, 2025
@AlexSkrypnyk AlexSkrypnyk moved this from Release queue to Released in 25.7.0 in Vortex Jul 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants