Skip to content

Commit e609827

Browse files
authored
Merge branch 'master' into chore/update-general-resource-access-docs
2 parents 0938857 + 6bbf218 commit e609827

File tree

85 files changed

+929
-653
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+929
-653
lines changed

.github/styles/config/vocabularies/Docs/accept.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ subreddits?
119119
[Ss]ubwoofer
120120
Tripadvisor
121121
upvote
122-
walkthroughs?
122+
[Ww]alkthroughs?
123123

124124
ul
125125
[Aa]gno

.github/workflows/nginx.conf-test.yaml

Lines changed: 0 additions & 24 deletions
This file was deleted.

.github/workflows/test.yaml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,66 @@ jobs:
3535
INTERCOM_APP_ID: ${{ secrets.INTERCOM_APP_ID }}
3636
SEGMENT_TOKEN: ${{ secrets.SEGMENT_TOKEN }}
3737

38+
- name: Install Nginx
39+
run: |
40+
sudo apt-get update
41+
sudo apt-get install -y nginx
42+
43+
- name: Start Docusaurus server
44+
run: |
45+
nohup npx docusaurus serve --port 3000 --no-open &
46+
sleep 5
47+
curl -f http://localhost:3000 > /dev/null
48+
49+
- name: Start Nginx with project config
50+
run: |
51+
cat > default.conf <<EOF
52+
worker_processes auto;
53+
error_log $(pwd)/logs/error.log;
54+
pid $(pwd)/logs/nginx.pid;
55+
events {}
56+
http {
57+
access_log $(pwd)/logs/access.log;
58+
include $(pwd)/nginx.conf;
59+
}
60+
EOF
61+
sed -i 's|https://apify.github.io/apify-docs|http://localhost:3000|g' default.conf
62+
mkdir -p $(pwd)/logs
63+
nginx -c $(pwd)/default.conf
64+
sleep 1
65+
66+
- name: Run header assertions
67+
run: |
68+
set -euo pipefail
69+
function assert_header() {
70+
url=$1
71+
header=$2
72+
expected=$3
73+
shift 3
74+
extra_args=("$@")
75+
actual=$(curl -s -D - -o /dev/null "${extra_args[@]}" "$url" | grep -i "^$header" | tr -d '\r' || true)
76+
echo "→ $url → $actual"
77+
echo "$actual" | grep -q "$expected" || (echo "❌ Expected '$expected' in '$header' for $url" && exit 1)
78+
}
79+
80+
echo "🧪 Checking Nginx responses..."
81+
82+
assert_header "http://localhost:8080/" "Content-Type" "text/html"
83+
assert_header "http://localhost:8080/" "Content-Type" "text/markdown" -H "Accept: text/markdown"
84+
assert_header "http://localhost:8080/platform/proxy/usage" "Content-Type" "text/html"
85+
assert_header "http://localhost:8080/platform/proxy/usage.md" "Content-Type" "text/markdown"
86+
assert_header "http://localhost:8080/platform/proxy/usage" "Content-Type" "text/markdown" -H "Accept: text/markdown"
87+
assert_header "http://localhost:8080/img/docs-og.png" "Content-Type" "image/png"
88+
assert_header "http://localhost:8080/img/javascript-40x40.svg" "Content-Type" "image/svg"
89+
assert_header "http://localhost:8080/llms.txt" "Content-Type" "text/markdown"
90+
assert_header "http://localhost:8080/llms-full.txt" "Content-Type" "text/markdown"
91+
92+
echo "✅ All Nginx header checks passed."
93+
94+
- name: Stop Nginx
95+
if: always()
96+
run: nginx -c $(pwd)/default.conf -s stop
97+
3898
lint_content:
3999
name: Lint markdown content
40100
runs-on: ubuntu-latest

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ This will be enough to work on Platform, Academy and OpenAPI. If you want to wor
7070
5. Add a record to `/etc/hosts`, which maps the `docs.apify.loc` to a localhost:
7171
7272
```text
73-
127.0.01 docs.apify.loc
73+
127.0.0.1 docs.apify.loc
7474
```
7575
7676
You should be able to open https://docs.apify.loc in your browser and run all the repositories jointly as one project.

apify-api/openapi/components/schemas/actors/UpdateActorRequest.yaml

Lines changed: 39 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,16 +53,48 @@ properties:
5353
taggedBuilds:
5454
type: object
5555
description: |
56-
Object containing the Actor's tagged builds, where the key is the tag name (e.g., _latest_) and the value is an object containing the build ID.
57-
The object you provide will completely overwrite all existing tagged builds for the Actor.
56+
An object to modify tags on the Actor's builds. The key is the tag name (e.g., _latest_), and the value is either an object with a `buildId` or `null`.
5857
59-
- To create or reassign a tag: Include it in the object with the desired `buildId`.
60-
- To remove a specific tag: Submit the object without that tag's key.
61-
- To remove all tags: Provide an empty object: `{}`.
62-
- If this field is omitted or `null`, the existing tags will not be changed.
58+
This operation is a patch; any existing tags that you omit from this object will be preserved.
59+
60+
- **To create or reassign a tag**, provide the tag name with a `buildId`. e.g., to assign the _latest_ tag:
61+
62+
&nbsp;
63+
64+
```json
65+
{
66+
"latest": {
67+
"buildId": "z2EryhbfhgSyqj6Hn"
68+
}
69+
}
70+
```
71+
72+
- **To remove a tag**, provide the tag name with a `null` value. e.g., to remove the _beta_ tag:
73+
74+
&nbsp;
75+
76+
```json
77+
{
78+
"beta": null
79+
}
80+
```
81+
82+
- **To perform multiple operations**, combine them. The following reassigns _latest_ and removes _beta_, while preserving any other existing tags.
83+
84+
&nbsp;
85+
86+
```json
87+
{
88+
"latest": {
89+
"buildId": "z2EryhbfhgSyqj6Hn"
90+
},
91+
"beta": null
92+
}
93+
```
6394
nullable: true
6495
additionalProperties:
6596
type: object
97+
nullable: true
6698
required:
6799
- buildId
68100
properties:
@@ -71,3 +103,4 @@ properties:
71103
example:
72104
latest:
73105
buildId: z2EryhbfhgSyqj6Hn
106+
beta: null

apify-api/openapi/paths/actors/acts@{actorId}.yaml

Lines changed: 47 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -133,32 +133,53 @@ put:
133133
application/json:
134134
schema:
135135
$ref: "../../components/schemas/actors/UpdateActorRequest.yaml"
136-
example:
137-
name: MyActor
138-
description: My favourite Actor!
139-
isPublic: false
140-
seoTitle: My Actor
141-
seoDescription: My Actor is the best
142-
title: My Actor
143-
restartOnError: false
144-
versions:
145-
- versionNumber: '0.0'
146-
sourceType: SOURCE_FILES
147-
envVars:
148-
- name: DOMAIN
149-
value: 'http://example.com'
150-
isSecret: false
151-
- name: SECRET_PASSWORD
152-
value: MyTopSecretPassword123
153-
isSecret: true
154-
applyEnvVarsToBuild: false
155-
buildTag: latest
156-
sourceFiles: []
157-
categories: []
158-
defaultRunOptions:
159-
build: latest
160-
timeoutSecs: 3600
161-
memoryMbytes: 2048
136+
examples:
137+
common:
138+
summary: 'Common example'
139+
value:
140+
name: MyActor
141+
description: My favourite Actor!
142+
isPublic: false
143+
seoTitle: My Actor
144+
seoDescription: My Actor is the best
145+
title: My Actor
146+
restartOnError: false
147+
versions:
148+
- versionNumber: '0.0'
149+
sourceType: SOURCE_FILES
150+
envVars:
151+
- name: DOMAIN
152+
value: 'http://example.com'
153+
isSecret: false
154+
- name: SECRET_PASSWORD
155+
value: MyTopSecretPassword123
156+
isSecret: true
157+
applyEnvVarsToBuild: false
158+
buildTag: latest
159+
sourceFiles: []
160+
categories: []
161+
defaultRunOptions:
162+
build: latest
163+
timeoutSecs: 3600
164+
memoryMbytes: 2048
165+
taggedBuildsCreateOrReassignTag:
166+
summary: 'Create or reassign a build tag'
167+
value:
168+
taggedBuilds:
169+
latest:
170+
buildId: 'z2EryhbfhgSyqj6Hn'
171+
taggedBuildsRemoveTag:
172+
summary: 'Remove a build tag'
173+
value:
174+
taggedBuilds:
175+
latest: null
176+
taggedBuildsMultipleOperations:
177+
summary: 'Update multiple build tags at once'
178+
value:
179+
taggedBuilds:
180+
latest:
181+
buildId: 'z2EryhbfhgSyqj6Hn'
182+
beta: null
162183
required: true
163184
responses:
164185
'200':

apify-docs-theme/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@apify/docs-theme",
3-
"version": "1.0.217",
3+
"version": "1.0.218",
44
"description": "",
55
"main": "./src/index.js",
66
"files": [

apify-docs-theme/src/theme/LLMButtons/index.jsx

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import clsx from 'clsx';
22
import React, { useCallback, useState } from 'react';
33

44
import {
5+
AnthropicIcon,
56
ChatGptIcon,
67
CheckIcon,
78
ChevronDownIcon,
@@ -37,6 +38,13 @@ const DROPDOWN_OPTIONS = [
3738
Icon: ChatGptIcon,
3839
value: 'openInChatGPT',
3940
},
41+
{
42+
label: 'Open in Claude',
43+
description: 'Ask questions about this page',
44+
showExternalIcon: true,
45+
Icon: AnthropicIcon,
46+
value: 'openInClaude',
47+
},
4048
{
4149
label: 'Open in Perplexity',
4250
description: 'Ask questions about this page',
@@ -70,6 +78,27 @@ const onOpenInChatGPTClick = () => {
7078
}
7179
};
7280

81+
const onOpenInClaudeClick = () => {
82+
if (window.analytics) {
83+
window.analytics.track('Clicked', {
84+
app: 'docs',
85+
button_text: 'Open in Claude',
86+
element: 'llm-buttons.openInClaude',
87+
});
88+
}
89+
90+
const prompt = getPrompt(window.location.href);
91+
92+
try {
93+
window.open(
94+
`https://claude.ai/new?q=${encodeURIComponent(prompt)}`,
95+
'_blank',
96+
);
97+
} catch (error) {
98+
console.error('Error opening Claude:', error);
99+
}
100+
};
101+
73102
const onOpenInPerplexityClick = () => {
74103
if (window.analytics) {
75104
window.analytics.track('Clicked', {
@@ -227,6 +256,9 @@ export default function LLMButtons({ isApiReferencePage = false }) {
227256
case 'openInChatGPT':
228257
onOpenInChatGPTClick();
229258
break;
259+
case 'openInClaude':
260+
onOpenInClaudeClick();
261+
break;
230262
case 'openInPerplexity':
231263
onOpenInPerplexityClick();
232264
break;

0 commit comments

Comments
 (0)