Skip to content

Commit b389a51

Browse files
authored
Merge pull request #72 from objectstack-ai/copilot/fix-link-errors-in-fumadocs
2 parents 7d77bd8 + eea0ba9 commit b389a51

28 files changed

+206
-77
lines changed

.github/workflows/check-links.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: Check Links
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
pull_request:
8+
branches:
9+
- main
10+
11+
jobs:
12+
link-checker:
13+
name: Check Documentation Links
14+
runs-on: ubuntu-latest
15+
permissions:
16+
contents: read
17+
issues: write
18+
19+
steps:
20+
- name: Checkout repository
21+
uses: actions/checkout@v4
22+
23+
- name: Check links with lychee
24+
uses: lycheeverse/lychee-action@v2
25+
with:
26+
# Use configuration file for path remapping and settings
27+
args: >-
28+
--config lychee.toml
29+
'content/**/*.md'
30+
'content/**/*.mdx'
31+
'README.md'
32+
# Fail the job if broken links are found
33+
fail: true
34+
env:
35+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
36+
37+
- name: Create Issue on Failure
38+
if: failure()
39+
uses: actions/github-script@v7
40+
with:
41+
script: |
42+
github.rest.issues.create({
43+
owner: context.repo.owner,
44+
repo: context.repo.repo,
45+
title: '🔗 Broken links detected in documentation',
46+
body: `Link checker found broken links in the documentation.\n\nPlease review the [workflow run](${context.payload.repository.html_url}/actions/runs/${context.runId}) for details.`,
47+
labels: ['documentation', 'bug']
48+
});

.lycheeignore

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Lychee Link Checker Ignore Rules
2+
# This file contains patterns for links that should be ignored during link checking
3+
4+
# Local development links
5+
http://localhost*
6+
http://127.0.0.1*
7+
8+
# Example/placeholder links
9+
https://example.com
10+
https://example.org
11+
http://example.com
12+
http://example.org
13+
14+
# Social media (prevents anti-bot false positives)
15+
https://twitter.com*
16+
https://x.com*
17+
18+
# Common false positives
19+
mailto:*

content/docs/guides/advanced/ai-integration-guide.mdx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -698,7 +698,7 @@ const trainingExamples: NLQTrainingExample[] = [
698698
## Example Applications
699699

700700
### 1. AI Support Assistant
701-
[View Example](../examples/ai-support)
701+
[View Example](/docs/guides/examples/ai-support)
702702

703703
**Features:**
704704
- RAG knowledge base
@@ -712,7 +712,7 @@ Customer → GPT-4 Agent → RAG (Pinecone) → Actions → ObjectQL
712712
```
713713

714714
### 2. AI Data Analyst
715-
[View Example](../examples/ai-analyst)
715+
[View Example](/docs/guides/examples/ai-analyst)
716716

717717
**Features:**
718718
- Natural language queries
@@ -721,7 +721,7 @@ Customer → GPT-4 Agent → RAG (Pinecone) → Actions → ObjectQL
721721
- Query templates
722722

723723
### 3. AI Code Generator
724-
[View Example](../examples/ai-codegen)
724+
[View Example](/docs/guides/examples/ai-codegen)
725725

726726
**Features:**
727727
- Generate ObjectStack apps
@@ -730,7 +730,7 @@ Customer → GPT-4 Agent → RAG (Pinecone) → Actions → ObjectQL
730730
- RAG for documentation
731731

732732
### 4. AI Sales Assistant
733-
[View Example](../examples/ai-sales)
733+
[View Example](/docs/guides/examples/ai-sales)
734734

735735
**Features:**
736736
- Lead qualification
@@ -792,8 +792,8 @@ if (response.parseResult.confidence < 0.7) {
792792
## Resources
793793

794794
- [ObjectStack Documentation](https://docs.objectstack.ai)
795-
- [AI Protocol Reference](../packages/spec/src/ai)
796-
- [Example Applications](../examples)
795+
- [AI Protocol Reference](/docs/guides/packages/spec/src/ai)
796+
- [Example Applications](/docs/guides/examples)
797797
- [Discord Community](https://discord.gg/objectstack)
798798

799799
---

content/docs/guides/advanced/ai-integration/quick-start.mdx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -166,12 +166,12 @@ const generated = await ai.generate({
166166

167167
See the following example implementations:
168168

169-
- [AI Sales Assistant](../../../examples/ai-sales/)
170-
- [AI Support Agent](../../../examples/ai-support/)
171-
- [AI Code Generator](../../../examples/ai-codegen/)
172-
- [AI Analyst](../../../examples/ai-analyst/)
169+
- [AI Sales Assistant](/docs/examples/ai-sales/)
170+
- [AI Support Agent](/docs/examples/ai-support/)
171+
- [AI Code Generator](/docs/examples/ai-codegen/)
172+
- [AI Analyst](/docs/examples/ai-analyst/)
173173

174-
For complete documentation, see [AI_INTEGRATION_GUIDE.md](../../AI_INTEGRATION_GUIDE.md)
174+
For complete documentation, see [AI_INTEGRATION_GUIDE.md](/docs/guides/AI_INTEGRATION_GUIDE.md)
175175

176176
---
177177

content/docs/guides/advanced/security/best-practices.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ const authConfig = {
9898
- [ ] Audit logging enabled
9999
- [ ] Regular security updates
100100

101-
For detailed information, see [AUTHENTICATION_STANDARD.md](../../../AUTHENTICATION_STANDARD.md)
101+
For detailed information, see [AUTHENTICATION_STANDARD.md](/docs/AUTHENTICATION_STANDARD.md)
102102

103103
---
104104

content/docs/guides/field-types.cn.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -737,7 +737,7 @@ created_at: Field.datetime({
737737

738738
## CRM 示例
739739

740-
参见 **[CRM 示例](/examples/crm)** 了解所有字段类型的实际使用:
740+
参见 **[CRM 示例](https://github.com/objectstack-ai/spec/tree/main/examples/crm)** 了解所有字段类型的实际使用:
741741

742742
- **账户:** 自动编号、公式、货币、带颜色的选择
743743
- **联系人:** 主从关系、公式(全名)、头像、电子邮件、电话

content/docs/guides/field-types.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -737,7 +737,7 @@ created_at: Field.datetime({
737737

738738
## Examples from CRM
739739

740-
See the **[CRM Example](/examples/crm)** for real-world usage of all field types:
740+
See the **[CRM Example](https://github.com/objectstack-ai/spec/tree/main/examples/crm)** for real-world usage of all field types:
741741

742742
- **Account:** Autonumber, formula, currency, select with colors
743743
- **Contact:** Master-detail, formula (full_name), avatar, email, phone

content/docs/guides/getting-started.cn.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,7 @@ views: {
275275

276276
现在你有了有效的元数据,你可以:
277277

278-
1. **探索示例**:查看 [CRM 示例](/examples/crm) 了解完整功能实现
278+
1. **探索示例**:查看 [CRM 示例](https://github.com/objectstack-ai/spec/tree/main/examples/crm) 了解完整功能实现
279279
2. **学习字段类型**:参见 [字段类型指南](/docs/guides/field-types) 了解所有 30+ 种字段类型
280280
3. **构建 UI**:使用 ObjectStack 运行时的元数据来生成界面
281281
4. **部署**:推送到 ObjectStack 内核用于生产环境

content/docs/guides/getting-started.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,7 @@ views: {
275275

276276
Now that you have valid metadata, you can:
277277

278-
1. **Explore Examples**: Check out the [CRM Example](/examples/crm) for a full-featured implementation
278+
1. **Explore Examples**: Check out the [CRM Example](https://github.com/objectstack-ai/spec/tree/main/examples/crm) for a full-featured implementation
279279
2. **Learn Field Types**: See the [Field Types Guide](/docs/guides/field-types) for all 30+ field types
280280
3. **Build UI**: Use the metadata with ObjectStack runtime to generate interfaces
281281
4. **Deploy**: Push to an ObjectStack kernel for production use

content/docs/guides/migration/v0-to-v1.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,8 @@ The following features are deprecated and will be removed in v2.0.0:
145145

146146
If you encounter issues:
147147

148-
1. Check the [CHANGELOG.md](../../CHANGELOG.md)
149-
2. Review [CONTRIBUTING.md](../../CONTRIBUTING.md)
148+
1. Check the [CHANGELOG.md](/docs/CHANGELOG.md)
149+
2. Review [CONTRIBUTING.md](/docs/CONTRIBUTING.md)
150150
3. Open an issue on GitHub
151151

152152
---

0 commit comments

Comments
 (0)