Skip to content

Commit 0165e63

Browse files
authored
feat: ia v3 flip (#2745)
Re-applies the IA v3 flip (`/platform/*` → root) after #2702 shipped, and was reverted (#2713). The root cause was nginx deploy propagation, not this config and has since been fixed.
1 parent 09531b0 commit 0165e63

232 files changed

Lines changed: 906 additions & 817 deletions

File tree

Some content is hidden

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

.github/workflows/test.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -138,14 +138,14 @@ jobs:
138138
assert_no_redirect "http://localhost:8080" --request-target '/\evil.com/'
139139
assert_no_redirect "http://localhost:8080" --request-target '///\evil.com/'
140140
# Normal trailing-slash redirect must still work
141-
assert_status "http://localhost:8080/platform/proxy/datacenter-proxy/" "302"
141+
assert_status "http://localhost:8080/proxy/datacenter-proxy/" "302"
142142
143143
echo "🧪 Checking Nginx responses... (apify-docs)"
144144
assert_header "http://localhost:8080/" "Content-Type" "text/html"
145145
assert_header "http://localhost:8080/" "Content-Type" "text/markdown" -H "Accept: text/markdown"
146-
assert_header "http://localhost:8080/platform/proxy/datacenter-proxy" "Content-Type" "text/html"
147-
assert_header "http://localhost:8080/platform/proxy/datacenter-proxy.md" "Content-Type" "text/markdown"
148-
assert_header "http://localhost:8080/platform/proxy/datacenter-proxy" "Content-Type" "text/markdown" -H "Accept: text/markdown"
146+
assert_header "http://localhost:8080/proxy/datacenter-proxy" "Content-Type" "text/html"
147+
assert_header "http://localhost:8080/proxy/datacenter-proxy.md" "Content-Type" "text/markdown"
148+
assert_header "http://localhost:8080/proxy/datacenter-proxy" "Content-Type" "text/markdown" -H "Accept: text/markdown"
149149
assert_header "http://localhost:8080/img/docs-og.png" "Content-Type" "image/png"
150150
assert_header "http://localhost:8080/img/javascript-40x40.svg" "Content-Type" "image/svg"
151151
assert_header "http://localhost:8080/llms.txt" "Content-Type" "text/markdown"
@@ -172,7 +172,7 @@ jobs:
172172
assert_html_md_alternate "http://localhost:8080/api/v2/dataset-get" "https://docs.apify.com/api/v2/dataset-get.md"
173173
assert_html_md_alternate "http://localhost:8080/academy/tutorials" "https://docs.apify.com/academy/tutorials.md"
174174
# Sanity check: a regular (non-excluded) page also has the alternate.
175-
assert_html_md_alternate "http://localhost:8080/platform/proxy/datacenter-proxy" "https://docs.apify.com/platform/proxy/datacenter-proxy.md"
175+
assert_html_md_alternate "http://localhost:8080/proxy/datacenter-proxy" "https://docs.apify.com/proxy/datacenter-proxy.md"
176176
177177
echo "🧪 Checking Nginx responses... (apify-sdk-js)"
178178
assert_final_content_type "http://localhost:8080/sdk/js" "text/html"

apify-api/openapi/components/objects/actor-runs/charge.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ byRunId:
99
1010
:::info Learn more about pay-per-event pricing
1111
12-
For more details about pay-per-event (PPE) pricing, refer to our [PPE documentation](/platform/actors/publishing/monetize/pay-per-event).
12+
For more details about pay-per-event (PPE) pricing, refer to our [PPE documentation](/actors/publishing/monetize/pay-per-event).
1313
1414
:::
1515

apify-api/openapi/components/parameters/datasetParameters.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ view:
236236
description: |
237237
Defines the view configuration for dataset items based on the schema definition.
238238
This parameter determines how the data will be filtered and presented.
239-
For complete specification details, see the [dataset schema documentation](/platform/actors/development/actor-definition/dataset-schema).
239+
For complete specification details, see the [dataset schema documentation](/actors/development/actor-definition/dataset-schema).
240240
schema:
241241
type: string
242242
example: overview

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ properties:
4848
examples: [get(input, startUrls.length, 1) * 1024]
4949
- type: integer
5050
examples: [1024]
51-
description: Specifies the default amount of memory in megabytes to be used when the Actor is started. Can be an integer or a [dynamic memory expression](/platform/actors/development/actor-definition/dynamic-actor-memory).
51+
description: Specifies the default amount of memory in megabytes to be used when the Actor is started. Can be an integer or a [dynamic memory expression](/actors/development/actor-definition/dynamic-actor-memory).
5252
minMemoryMbytes:
5353
type: integer
5454
minimum: 128

apify-api/openapi/components/schemas/datasets/Dataset.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ properties:
5050
description: ""
5151
schema:
5252
type: [object, "null"]
53-
description: Defines the schema of items in your dataset, the full specification can be found in [Apify docs](/platform/actors/development/actor-definition/dataset-schema)
53+
description: Defines the schema of items in your dataset, the full specification can be found in [Apify docs](/actors/development/actor-definition/dataset-schema)
5454
example:
5555
actorSpecification: 1
5656
title: My dataset

apify-api/openapi/components/schemas/users/UpdateLimitsRequest.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ properties:
1010
type: integer
1111
examples: [90]
1212
description: |
13-
Apify securely stores your ten most recent Actor runs indefinitely, ensuring they are always accessible. Unnamed storages and other Actor runs are automatically deleted after the retention period. If you're subscribed, you can change it to keep data for longer or to limit your usage. [Lear more](https://docs.apify.com/platform/storage/usage#data-retention).
13+
Apify securely stores your ten most recent Actor runs indefinitely, ensuring they are always accessible. Unnamed storages and other Actor runs are automatically deleted after the retention period. If you're subscribed, you can change it to keep data for longer or to limit your usage. [Lear more](https://docs.apify.com/storage#data-retention).

apify-docs-theme/src/config.js

Lines changed: 114 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -20,119 +20,118 @@ const themeConfig = {
2020
},
2121
items: [
2222
{
23-
label: 'Academy',
24-
href: `${absoluteUrl}/academy`,
25-
activeBasePath: 'academy',
23+
label: 'Get started',
24+
href: `${absoluteUrl}/get-started`,
25+
activeBasePath: 'get-started',
2626
position: 'left',
2727
target: '_self',
2828
rel: 'dofollow',
2929
},
3030
{
31-
label: 'Platform',
32-
href: `${absoluteUrl}/platform`,
33-
className: 'navbar__active',
34-
activeBasePath: 'platform',
31+
label: 'Actors',
32+
href: `${absoluteUrl}/actors`,
33+
activeBasePath: 'actors',
3534
position: 'left',
3635
target: '_self',
3736
rel: 'dofollow',
3837
},
3938
{
40-
label: 'API',
41-
type: 'dropdown',
42-
to: `${absoluteUrl}/api`,
39+
label: 'Storage',
40+
href: `${absoluteUrl}/storage`,
41+
activeBasePath: 'storage',
42+
position: 'left',
4343
target: '_self',
4444
rel: 'dofollow',
45-
activeBasePath: 'api',
45+
},
46+
{
47+
label: 'Proxy',
48+
href: `${absoluteUrl}/proxy`,
49+
activeBasePath: 'proxy',
4650
position: 'left',
47-
items: [
48-
{
49-
label: 'Reference',
50-
href: `${absoluteUrl}/api/v2`,
51-
target: '_self',
52-
rel: 'dofollow',
53-
},
54-
{
55-
label: 'Client for JavaScript',
56-
href: `${absoluteUrl}/api/client/js/docs`,
57-
target: '_self',
58-
rel: 'dofollow',
59-
},
60-
{
61-
label: 'Client for Python',
62-
href: `${absoluteUrl}/api/client/python/docs`,
63-
target: '_self',
64-
rel: 'dofollow',
65-
},
66-
],
51+
target: '_self',
52+
rel: 'dofollow',
6753
},
6854
{
69-
label: 'SDK',
70-
type: 'dropdown',
71-
to: `${absoluteUrl}/sdk`,
72-
activeBasePath: 'sdk',
55+
label: 'Account',
56+
href: `${absoluteUrl}/account`,
57+
activeBasePath: 'account',
7358
position: 'left',
7459
target: '_self',
7560
rel: 'dofollow',
76-
items: [
77-
{
78-
label: 'SDK for JavaScript',
79-
href: `${absoluteUrl}/sdk/js/docs/overview`,
80-
target: '_self',
81-
rel: 'dofollow',
82-
},
83-
{
84-
html: 'SDK for Python',
85-
href: `${absoluteUrl}/sdk/python/docs/overview`,
86-
target: '_self',
87-
rel: 'dofollow',
88-
},
89-
],
9061
},
9162
{
92-
label: 'CLI',
93-
href: `${absoluteUrl}/cli/docs`,
63+
label: 'Integrations',
64+
href: `${absoluteUrl}/integrations`,
65+
activeBasePath: 'integrations',
9466
position: 'left',
95-
activeBasePath: 'cli',
9667
target: '_self',
9768
rel: 'dofollow',
9869
},
9970
{
100-
label: 'Open source',
101-
type: 'dropdown',
102-
to: `${absoluteUrl}/open-source`,
103-
activeBasePath: 'open-source',
71+
label: 'Limits',
72+
href: `${absoluteUrl}/limits`,
73+
activeBasePath: 'limits',
74+
position: 'left',
10475
target: '_self',
76+
rel: 'dofollow',
77+
},
78+
{
79+
label: 'Security',
80+
href: `${absoluteUrl}/security`,
81+
activeBasePath: 'security',
10582
position: 'left',
106-
className: 'navbar__item',
83+
target: '_self',
84+
rel: 'dofollow',
85+
},
86+
{
87+
label: 'Academy',
88+
href: `${absoluteUrl}/academy`,
89+
activeBasePath: 'academy',
90+
position: 'right',
91+
target: '_self',
92+
rel: 'dofollow',
93+
},
94+
{
95+
label: 'APIs, SDKs & CLI',
96+
type: 'dropdown',
97+
activeBaseRegex: '^/(api|sdk|cli)/',
98+
position: 'right',
10799
items: [
108100
{
109-
label: 'Crawlee',
110-
href: 'https://crawlee.dev',
101+
label: 'API Reference',
102+
href: `${absoluteUrl}/api/v2`,
103+
target: '_self',
111104
rel: 'dofollow',
112105
},
113106
{
114-
label: 'Fingerprint Suite',
115-
href: 'https://github.com/apify/fingerprint-suite',
116-
},
117-
{
118-
label: 'impit',
119-
href: 'https://github.com/apify/impit',
107+
label: 'SDK for JavaScript',
108+
href: `${absoluteUrl}/sdk/js/docs/overview`,
109+
target: '_self',
110+
rel: 'dofollow',
120111
},
121112
{
122-
label: 'MCP CLI',
123-
href: 'https://github.com/apify/mcpc',
113+
label: 'SDK for Python',
114+
href: `${absoluteUrl}/sdk/python/docs/overview`,
115+
target: '_self',
116+
rel: 'dofollow',
124117
},
125118
{
126-
label: 'Actor whitepaper',
127-
href: 'https://whitepaper.actor',
119+
label: 'Client for JavaScript',
120+
href: `${absoluteUrl}/api/client/js/docs`,
121+
target: '_self',
122+
rel: 'dofollow',
128123
},
129124
{
130-
label: 'proxy-chain',
131-
href: 'https://github.com/apify/proxy-chain',
125+
label: 'Client for Python',
126+
href: `${absoluteUrl}/api/client/python/docs`,
127+
target: '_self',
128+
rel: 'dofollow',
132129
},
133130
{
134-
label: 'Apify on GitHub',
135-
href: 'https://github.com/apify',
131+
label: 'CLI',
132+
href: `${absoluteUrl}/cli/docs`,
133+
target: '_self',
134+
rel: 'dofollow',
136135
},
137136
],
138137
},
@@ -163,8 +162,14 @@ const themeConfig = {
163162
rel: 'dofollow',
164163
},
165164
{
166-
label: 'Platform',
167-
href: `${absoluteUrl}/platform`,
165+
label: 'Get started',
166+
href: `${absoluteUrl}/get-started`,
167+
target: '_self',
168+
rel: 'dofollow',
169+
},
170+
{
171+
label: 'Actors',
172+
href: `${absoluteUrl}/actors`,
168173
target: '_self',
169174
rel: 'dofollow',
170175
},
@@ -211,18 +216,45 @@ const themeConfig = {
211216
],
212217
},
213218
{
214-
title: 'Other',
219+
title: 'Open source',
215220
items: [
216221
{
217-
label: 'CLI',
218-
href: `${absoluteUrl}/cli/docs`,
219-
position: 'left',
220-
target: '_self',
222+
label: 'Crawlee',
223+
href: 'https://crawlee.dev',
221224
rel: 'dofollow',
222225
},
223226
{
224-
label: 'Open source',
225-
href: `${absoluteUrl}/open-source`,
227+
label: 'Fingerprint Suite',
228+
href: 'https://github.com/apify/fingerprint-suite',
229+
},
230+
{
231+
label: 'impit',
232+
href: 'https://github.com/apify/impit',
233+
},
234+
{
235+
label: 'MCP CLI',
236+
href: 'https://github.com/apify/mcpc',
237+
},
238+
{
239+
label: 'Actor whitepaper',
240+
href: 'https://whitepaper.actor',
241+
},
242+
{
243+
label: 'proxy-chain',
244+
href: 'https://github.com/apify/proxy-chain',
245+
},
246+
{
247+
label: 'Apify on GitHub',
248+
href: 'https://github.com/apify',
249+
},
250+
],
251+
},
252+
{
253+
title: 'Other',
254+
items: [
255+
{
256+
label: 'CLI',
257+
href: `${absoluteUrl}/cli/docs`,
226258
position: 'left',
227259
target: '_self',
228260
rel: 'dofollow',

apify-docs-theme/src/theme/DocItemContent/index.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,14 @@ export default function DocItemContent({ children }) {
5151
'/api/v2/logs',
5252
'/api/v2/users',
5353
'/api/client',
54-
'/platform',
54+
'/get-started',
55+
'/actors',
56+
'/storage',
57+
'/proxy',
58+
'/account',
59+
'/integrations',
60+
'/limits',
61+
'/security',
5562
'/sdk',
5663
'/cli',
5764
'/academy',

apify-docs-theme/src/theme/SearchBar/index.js

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,17 @@ import './styles.css';
1717
*/
1818
function matchesCurrentInstance(href, baseUrl) {
1919
if (baseUrl === '/') {
20-
return href.startsWith('/academy') || href.startsWith('/platform');
20+
return (
21+
href.startsWith('/academy') ||
22+
href.startsWith('/get-started') ||
23+
href.startsWith('/actors') ||
24+
href.startsWith('/storage') ||
25+
href.startsWith('/proxy') ||
26+
href.startsWith('/account') ||
27+
href.startsWith('/integrations') ||
28+
href.startsWith('/limits') ||
29+
href.startsWith('/security')
30+
);
2131
}
2232

2333
return href.startsWith(baseUrl);

docusaurus.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ module.exports = {
120120
showLastUpdateTime: false,
121121
editUrl: 'https://github.com/apify/apify-docs/edit/master/',
122122
path: './sources/platform',
123-
routeBasePath: 'platform',
123+
routeBasePath: '/',
124124
sidebarPath: require.resolve('./sources/platform/sidebars.js'),
125125
rehypePlugins: [externalLinkProcessor],
126126
},

0 commit comments

Comments
 (0)