Skip to content

Conversation

@vishvamsinh28
Copy link
Contributor

@vishvamsinh28 vishvamsinh28 commented Oct 20, 2025

Update readme to add a guide explaining how to create, organize, and maintain short URLs using Netlify redirects (public/_redirects).

#3005

Summary by CodeRabbit

  • Documentation
    • Added a new guide for creating and using short URLs on the website, including best practices, syntax, step-by-step instructions, and examples.

@netlify
Copy link

netlify bot commented Oct 20, 2025

Deploy Preview for asyncapi-website ready!

Built without sensitive environment variables

Name Link
🔨 Latest commit 568a820
🔍 Latest deploy log https://app.netlify.com/projects/asyncapi-website/deploys/690add1578daca00089a3068
😎 Deploy Preview https://deploy-preview-4491--asyncapi-website.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Oct 20, 2025

Walkthrough

The pull request adds a new guide section to README.md documenting how to create and manage short URLs on the AsyncAPI website using Netlify redirects via the public/_redirects file. The guide includes creation guidelines, syntax, implementation steps, and examples.

Changes

Cohort / File(s) Summary
Documentation: Short URLs Guide
README.md
Adds comprehensive guide section for creating short URLs using Netlify redirects, including when to create them, what to avoid, syntax, setup steps, and examples. Content is duplicated within the document.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Attention required: The added content appears duplicated in the document—verify if this is intentional or should be consolidated into a single section.
  • Scope: Documentation-only change with no code logic; primary focus is on content accuracy and clarity.

Suggested reviewers

  • bandantonio
  • thulieblack
  • TRohit20

Poem

🐰 Short URLs bloom like clover in the spring,
Through Netlify redirects, swift passages we bring,
Guide the seekers with rules both clear and bright,
Though echoes remain—ensure duplication's right! ✨

Pre-merge checks and finishing touches

✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: adding documentation about managing short URLs on the AsyncAPI website, which directly matches the README.md modifications described in the raw summary.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c5b76fb and 568a820.

📒 Files selected for processing (1)
  • README.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • README.md
⏰ Context from checks skipped due to timeout of 180000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Test NodeJS PR - windows-latest

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link

codecov bot commented Oct 20, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (b4bdd8b) to head (568a820).

Additional details and impacted files
@@            Coverage Diff            @@
##            master     #4491   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           22        22           
  Lines          780       780           
  Branches       144       144           
=========================================
  Hits           780       780           

☔ 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.

@asyncapi-bot
Copy link
Contributor

asyncapi-bot commented Oct 20, 2025

⚡️ Lighthouse report for the changes in this PR:

Category Score
🔴 Performance 41
🟢 Accessibility 98
🟢 Best practices 92
🟢 SEO 100
🔴 PWA 33

Lighthouse ran on https://deploy-preview-4491--asyncapi-website.netlify.app/

Copy link
Contributor

@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: 1

🧹 Nitpick comments (1)
README.md (1)

290-292: Expand redirect syntax documentation with working examples.

The redirect syntax documentation is minimal and could benefit from more concrete examples. Line 292 shows the template format (/short-path destination-url status-code!), but clarifying real-world usage would improve contributor understanding.

Consider expanding this section with actual examples. For instance:

 ## 🧩 Redirect Syntax
 
 `/short-path destination-url status-code!`
+
+**Examples:**
+
+```
+/slack-invite https://slack.com/asyncapi-invite 302
+/modelina /tools/modelina 301
+/docs https://example.com/documentation 301
+```
+
+- `/short-path`: The short URL path on the website
+- `destination-url`: Full URL or relative path to redirect to
+- `status-code!`: HTTP status code (301 for permanent, 302 for temporary; the `!` indicates a rewrite)

This provides contributors with a clearer mental model of the syntax.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5733a74 and a2e872b.

📒 Files selected for processing (1)
  • README.md (1 hunks)
🔇 Additional comments (2)
README.md (2)

276-278: The public/_redirects file exists and is properly tracked in the repository.

Verification confirms that public/_redirects exists at the expected location with valid Netlify redirect rules. The README.md instructions at lines 276-278 correctly reference this file. No action is required.

Likely an incorrect or invalid review comment.


221-293: No duplication found — original review comment is inaccurate.

The search results confirm the short URLs guide appears only once in the README. All distinctive phrases from the section (lines 221-293) matched only within their expected location, with no instances elsewhere in the document. The AI summary's claim that "The content appears twice: once under the Case studies area and again later in the document" is incorrect. There is a single, isolated short URLs guide section between the Case studies section (ending at line 220) and JSON Schema definitions section (starting at line 294).

Likely an incorrect or invalid review comment.

@asyncapi-bot asyncapi-bot added the bounty AsyncAPI Bounty program related label label Oct 21, 2025
@aeworxet
Copy link
Contributor

@asyncapi/bounty_team

@aeworxet aeworxet moved this to In Progress in Bounty Program Oct 21, 2025
@Sourya07
Copy link

hii @vishvamsinh28
is anyone working on this .

Copy link
Member

@derberg derberg left a comment

Choose a reason for hiding this comment

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

@vishvamsinh28 smells AI from a distance 😞

@vishvamsinh28
Copy link
Contributor Author

vishvamsinh28 commented Oct 26, 2025

@derberg yes it is, but i think its good, isn’t it ? we already support short urls with the help of redirect thing. I also think it shouldn’t be part of bounty because there’s really not much work to do for this issue.

@derberg
Copy link
Member

derberg commented Oct 26, 2025

generating docs with chatgpt is definitely not worth any money if you just copy/paste.

see comment: #3005 (comment)

what is worth the money is spending time on figuring out with other community members where such document should be located, what content is needed, maybe we need one simple short url as example - stuff like that that need extra effort.

docs are like code, you need to align and design first to have good quality result 😉

README.md Outdated
A case study becomes publicly available right after merging and rebuilding the website.
# 🌐 Adding Short URLs to the AsyncAPI Website
Copy link
Collaborator

Choose a reason for hiding this comment

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

Never use emojis in headings, they break anchor urls.

Please check the reply in another PR with the same issue

README.md Outdated
Comment on lines 248 to 261
## ✅ When to Create a Short URL
- **Community resources:** Slack, GitHub repositories
- **Frequently accessed tools:** AsyncAPI Studio, Generator, Modelina
- **Docs shortcuts:** Specification, Getting Started, Tutorials
- **Events & campaigns:** Conferences
### Avoid Short URLs For
- Frequently changing internal pages
- Temporary content without clear end dates
- URLs that conflict with existing site routes
- Personal or private organization links
- Already short, self-explanatory URLs
Copy link
Collaborator

Choose a reason for hiding this comment

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

I would move these sections above instead of lines 226-229, as they repeat the same information

README.md Outdated
- Personal or private organization links
- Already short, self-explanatory URLs
---
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
---

README.md Outdated
### Step 1: Plan
1. **Identify the target URL** you want to redirect to.
2. **Choose a descriptive short path** (see naming conventions below).
Copy link
Collaborator

Choose a reason for hiding this comment

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

see naming conventions below

Where? 🤔

Copy link
Contributor Author

Choose a reason for hiding this comment

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

it was above not below 😅

README.md Outdated
3. **Select the correct redirect type** — permanent (301) or temporary (302).
4. **Check for conflicts** with existing routes or redirects.
### Step 2: Edit the Redirects File
Copy link
Collaborator

Choose a reason for hiding this comment

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

Some examples would be helpful here

README.md Outdated
### Step 3: Submit and Test
1. **Create a Pull Request (PR)** with your changes.
2. Add **context in the PR description** — why this short URL is needed.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
2. Add **context in the PR description** why this short URL is needed.
2. Add **context in the PR description** describing why this short URL is needed.

README.md Outdated
1. **Identify the target URL** you want to redirect to.
2. **Choose a descriptive short path** (see naming conventions below).
3. **Select the correct redirect type** — permanent (301) or temporary (302).
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
3. **Select the correct redirect type** permanent (301) or temporary (302).
3. **Select the appropriate redirect type**, for example, permanent (301) or temporary (302).

README.md Outdated
1. **Create a Pull Request (PR)** with your changes.
2. Add **context in the PR description** — why this short URL is needed.
3. **Test the redirect** after deployment to staging/production.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Do we have staging env?

README.md Outdated
1. **Create a Pull Request (PR)** with your changes.
2. Add **context in the PR description** — why this short URL is needed.
3. **Test the redirect** after deployment to staging/production.
4. **Monitor for issues** and update if necessary.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Does it mean that the author of a new short url will forever be its maintainer?

README.md Outdated
Comment on lines 290 to 292
## 🧩 Redirect Syntax
`/short-path destination-url status-code!`
Copy link
Collaborator

Choose a reason for hiding this comment

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

This section should be a part of the step 2 of the guide above

@aeworxet aeworxet mentioned this pull request Nov 4, 2025
Copy link
Contributor

@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: 1

🧹 Nitpick comments (1)
README.md (1)

288-293: Consider adding explicit staging environment testing guidance.

Line 292 mentions testing "after deployment to production," but there's no guidance on testing in a staging environment first. Add a note clarifying the full testing workflow (test locally/in preview → deploy → verify in production) to align with best practices and address the staging question raised in previous review.

 ### Step 3: Submit and Test
 
 1. **Create a Pull Request (PR)** with your changes.  
 2. Add **context in the PR description** describing why this short URL is needed.  
+3. **Test on the preview deployment** to ensure the redirect works as expected.  
-3. **Test the redirect** after deployment to production.  
-4. **Monitor for issues** - while the author isn't necessarily the permanent maintainer, they should help resolve any initial issues that arise.
+4. **Test the redirect** after deployment to production.  
+5. **Monitor for issues** - while the author isn't necessarily the permanent maintainer, they should help resolve any initial issues that arise.
📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a2e872b and c5b76fb.

📒 Files selected for processing (2)
  • README.md (1 hunks)
  • config/adopters.json (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • config/adopters.json
🧰 Additional context used
🧠 Learnings (4)
📚 Learning: 2025-07-19T20:58:34.040Z
Learnt from: bandantonio
Repo: asyncapi/website PR: 4264
File: markdown/docs/tutorials/getting-started/coming-from-openapi.md:24-25
Timestamp: 2025-07-19T20:58:34.040Z
Learning: In the AsyncAPI website documentation, anchor references to specification sections can use camelCase format (e.g., #serverObject, #parameterObject, #messageObject) even if the actual HTML IDs on the spec page use hyphenated lowercase format. This is acceptable and should not be changed.

Applied to files:

  • README.md
📚 Learning: 2025-01-19T04:51:41.255Z
Learnt from: anshgoyalevil
Repo: asyncapi/website PR: 3557
File: tests/fixtures/markdown/check-edit-links-data.js:3-11
Timestamp: 2025-01-19T04:51:41.255Z
Learning: In the AsyncAPI website repository, the test data in `tests/fixtures/markdown/check-edit-links-data.js` intentionally includes inconsistent paths (with and without 'docs' prefix) to verify the script's ability to normalize and handle ambiguous path structures.

Applied to files:

  • README.md
📚 Learning: 2024-11-13T20:34:18.998Z
Learnt from: bandantonio
Repo: asyncapi/website PR: 3393
File: markdown/blog/2024-Q1-docs-report.md:10-12
Timestamp: 2024-11-13T20:34:18.998Z
Learning: In the markdown files for the AsyncAPI website, avatar image paths should be referenced without the `public` prefix (e.g., use `/img/avatars/...` instead of `/public/img/avatars/...`).

Applied to files:

  • README.md
📚 Learning: 2025-01-14T14:58:38.076Z
Learnt from: anshgoyalevil
Repo: asyncapi/website PR: 3557
File: tests/markdown/check-edit-links.test.js:20-46
Timestamp: 2025-01-14T14:58:38.076Z
Learning: In the AsyncAPI website codebase, the edit-page-config.json contains a fallback match entry that ensures determineEditLink function always has a valid target.value, making null checks unnecessary.

Applied to files:

  • README.md
🪛 markdownlint-cli2 (0.18.1)
README.md

280-280: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

⏰ Context from checks skipped due to timeout of 180000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
  • GitHub Check: Redirect rules - asyncapi-website
  • GitHub Check: Header rules - asyncapi-website
  • GitHub Check: Pages changed - asyncapi-website
  • GitHub Check: Test NodeJS PR - macos-13
  • GitHub Check: Test NodeJS PR - windows-latest
🔇 Additional comments (1)
README.md (1)

221-224: Guide structure and introduction are well done.

The section provides a clear overview of the short URL feature with practical context about use cases and benefits. The organization (when to use → how to use → step-by-step guide) is logical and easy to follow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bounty AsyncAPI Bounty program related label

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

8 participants