Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
f78bc51
feat: restructure docs into the v3 information architecture
TC-MO Jun 29, 2026
fa662ed
refactor: drop the /platform prefix from internal links
TC-MO Jun 29, 2026
2011b54
feat: flip routeBasePath to root and switch to the v3 navbar
TC-MO Jun 29, 2026
9a6d702
refactor: scope theme doc-content and search to the v3 section roots
TC-MO Jun 29, 2026
221cfde
refactor: remove the platform landing page
TC-MO Jun 29, 2026
06face5
feat: redirect /platform/* URLs to their v3 paths
TC-MO Jun 29, 2026
96767e2
fix: label v3 section overviews and sort them first
TC-MO Jun 29, 2026
b4e2a1d
fix: drop the duplicate Open source link from the footer
TC-MO Jun 29, 2026
808cc23
refactor: split Get Started into Agent onboarding and a Build group
TC-MO Jun 29, 2026
93882b9
refactor: remove the duplicate Actor development quick start tree
TC-MO Jun 29, 2026
c7df5f2
ci: point docs redirect assertions at the v3 URLs
TC-MO Jun 29, 2026
571c3b7
docs: realign tables shortened by the /platform link rewrite
TC-MO Jun 29, 2026
fade92f
docs: add titles to two untitled admonitions
TC-MO Jun 29, 2026
96c5c93
fix: drop pre-platform redirect aliases that loop after the flip
TC-MO Jun 29, 2026
36e3a4f
ci: point the per-page nav-header check at the v3 URLs
TC-MO Jun 29, 2026
9cb714b
fix: address flip PR review nits
TC-MO Jun 30, 2026
7431870
refactor: drop next/previous pagination from Get Started pages
TC-MO Jun 30, 2026
a797a72
Merge remote-tracking branch 'origin/master' into ia-v3-flip
TC-MO Jun 30, 2026
3082dc1
fix: address PR review feedback
TC-MO Jun 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -138,14 +138,14 @@ jobs:
assert_no_redirect "http://localhost:8080" --request-target '/\evil.com/'
assert_no_redirect "http://localhost:8080" --request-target '///\evil.com/'
# Normal trailing-slash redirect must still work
assert_status "http://localhost:8080/platform/proxy/datacenter-proxy/" "302"
assert_status "http://localhost:8080/proxy/datacenter-proxy/" "302"

echo "🧪 Checking Nginx responses... (apify-docs)"
assert_header "http://localhost:8080/" "Content-Type" "text/html"
assert_header "http://localhost:8080/" "Content-Type" "text/markdown" -H "Accept: text/markdown"
assert_header "http://localhost:8080/platform/proxy/datacenter-proxy" "Content-Type" "text/html"
assert_header "http://localhost:8080/platform/proxy/datacenter-proxy.md" "Content-Type" "text/markdown"
assert_header "http://localhost:8080/platform/proxy/datacenter-proxy" "Content-Type" "text/markdown" -H "Accept: text/markdown"
assert_header "http://localhost:8080/proxy/datacenter-proxy" "Content-Type" "text/html"
assert_header "http://localhost:8080/proxy/datacenter-proxy.md" "Content-Type" "text/markdown"
assert_header "http://localhost:8080/proxy/datacenter-proxy" "Content-Type" "text/markdown" -H "Accept: text/markdown"
assert_header "http://localhost:8080/img/docs-og.png" "Content-Type" "image/png"
assert_header "http://localhost:8080/img/javascript-40x40.svg" "Content-Type" "image/svg"
assert_header "http://localhost:8080/llms.txt" "Content-Type" "text/markdown"
Expand All @@ -172,7 +172,7 @@ jobs:
assert_html_md_alternate "http://localhost:8080/api/v2/dataset-get" "https://docs.apify.com/api/v2/dataset-get.md"
assert_html_md_alternate "http://localhost:8080/academy/tutorials" "https://docs.apify.com/academy/tutorials.md"
# Sanity check: a regular (non-excluded) page also has the alternate.
assert_html_md_alternate "http://localhost:8080/platform/proxy/datacenter-proxy" "https://docs.apify.com/platform/proxy/datacenter-proxy.md"
assert_html_md_alternate "http://localhost:8080/proxy/datacenter-proxy" "https://docs.apify.com/proxy/datacenter-proxy.md"

echo "🧪 Checking Nginx responses... (apify-sdk-js)"
assert_final_content_type "http://localhost:8080/sdk/js" "text/html"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ byRunId:
:::info Learn more about pay-per-event pricing
For more details about pay-per-event (PPE) pricing, refer to our [PPE documentation](/platform/actors/publishing/monetize/pay-per-event).
For more details about pay-per-event (PPE) pricing, refer to our [PPE documentation](/actors/publishing/monetize/pay-per-event).
:::
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ view:
description: |
Defines the view configuration for dataset items based on the schema definition.
This parameter determines how the data will be filtered and presented.
For complete specification details, see the [dataset schema documentation](/platform/actors/development/actor-definition/dataset-schema).
For complete specification details, see the [dataset schema documentation](/actors/development/actor-definition/dataset-schema).
schema:
type: string
example: overview
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ properties:
examples: [get(input, startUrls.length, 1) * 1024]
- type: integer
examples: [1024]
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).
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).
minMemoryMbytes:
type: integer
minimum: 128
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ properties:
description: ""
schema:
type: [object, "null"]
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)
description: Defines the schema of items in your dataset, the full specification can be found in [Apify docs](/actors/development/actor-definition/dataset-schema)
example:
actorSpecification: 1
title: My dataset
Expand Down
196 changes: 114 additions & 82 deletions apify-docs-theme/src/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,119 +20,118 @@ const themeConfig = {
},
items: [
{
label: 'Academy',
href: `${absoluteUrl}/academy`,
activeBasePath: 'academy',
label: 'Get started',
href: `${absoluteUrl}/get-started`,
activeBasePath: 'get-started',
position: 'left',
target: '_self',
rel: 'dofollow',
},
{
label: 'Platform',
href: `${absoluteUrl}/platform`,
className: 'navbar__active',
activeBasePath: 'platform',
label: 'Actors',
href: `${absoluteUrl}/actors`,
activeBasePath: 'actors',
position: 'left',
target: '_self',
rel: 'dofollow',
},
{
label: 'API',
type: 'dropdown',
to: `${absoluteUrl}/api`,
label: 'Storage',
href: `${absoluteUrl}/storage`,
activeBasePath: 'storage',
position: 'left',
target: '_self',
rel: 'dofollow',
activeBasePath: 'api',
},
{
label: 'Proxy',
href: `${absoluteUrl}/proxy`,
activeBasePath: 'proxy',
position: 'left',
items: [
{
label: 'Reference',
href: `${absoluteUrl}/api/v2`,
target: '_self',
rel: 'dofollow',
},
{
label: 'Client for JavaScript',
href: `${absoluteUrl}/api/client/js/docs`,
target: '_self',
rel: 'dofollow',
},
{
label: 'Client for Python',
href: `${absoluteUrl}/api/client/python/docs`,
target: '_self',
rel: 'dofollow',
},
],
target: '_self',
rel: 'dofollow',
},
{
label: 'SDK',
type: 'dropdown',
to: `${absoluteUrl}/sdk`,
activeBasePath: 'sdk',
label: 'Account',
href: `${absoluteUrl}/account`,
activeBasePath: 'account',
position: 'left',
target: '_self',
rel: 'dofollow',
items: [
{
label: 'SDK for JavaScript',
href: `${absoluteUrl}/sdk/js/docs/overview`,
target: '_self',
rel: 'dofollow',
},
{
html: 'SDK for Python',
href: `${absoluteUrl}/sdk/python/docs/overview`,
target: '_self',
rel: 'dofollow',
},
],
},
{
label: 'CLI',
href: `${absoluteUrl}/cli/docs`,
label: 'Integrations',
href: `${absoluteUrl}/integrations`,
activeBasePath: 'integrations',
position: 'left',
activeBasePath: 'cli',
target: '_self',
rel: 'dofollow',
},
{
label: 'Open source',
type: 'dropdown',
to: `${absoluteUrl}/open-source`,
activeBasePath: 'open-source',
label: 'Limits',
href: `${absoluteUrl}/limits`,
activeBasePath: 'limits',
position: 'left',
target: '_self',
rel: 'dofollow',
},
{
label: 'Security',
href: `${absoluteUrl}/security`,
activeBasePath: 'security',
position: 'left',
className: 'navbar__item',
target: '_self',
rel: 'dofollow',
},
{
label: 'Academy',
href: `${absoluteUrl}/academy`,
activeBasePath: 'academy',
position: 'right',
target: '_self',
rel: 'dofollow',
},
{
label: 'APIs, SDKs & CLI',
type: 'dropdown',
activeBaseRegex: '^/(api|sdk|cli)/',
position: 'right',
items: [
{
label: 'Crawlee',
href: 'https://crawlee.dev',
label: 'API Reference',
href: `${absoluteUrl}/api/v2`,
target: '_self',
rel: 'dofollow',
},
{
label: 'Fingerprint Suite',
href: 'https://github.com/apify/fingerprint-suite',
},
{
label: 'impit',
href: 'https://github.com/apify/impit',
label: 'SDK for JavaScript',
href: `${absoluteUrl}/sdk/js/docs/overview`,
target: '_self',
rel: 'dofollow',
},
{
label: 'MCP CLI',
href: 'https://github.com/apify/mcpc',
label: 'SDK for Python',
href: `${absoluteUrl}/sdk/python/docs/overview`,
target: '_self',
rel: 'dofollow',
},
{
label: 'Actor whitepaper',
href: 'https://whitepaper.actor',
label: 'Client for JavaScript',
href: `${absoluteUrl}/api/client/js/docs`,
target: '_self',
rel: 'dofollow',
},
{
label: 'proxy-chain',
href: 'https://github.com/apify/proxy-chain',
label: 'Client for Python',
href: `${absoluteUrl}/api/client/python/docs`,
target: '_self',
rel: 'dofollow',
},
{
label: 'Apify on GitHub',
href: 'https://github.com/apify',
label: 'CLI',
href: `${absoluteUrl}/cli/docs`,
target: '_self',
rel: 'dofollow',
},
],
},
Expand Down Expand Up @@ -163,8 +162,14 @@ const themeConfig = {
rel: 'dofollow',
},
{
label: 'Platform',
href: `${absoluteUrl}/platform`,
label: 'Get started',
href: `${absoluteUrl}/get-started`,
target: '_self',
rel: 'dofollow',
},
{
label: 'Actors',
href: `${absoluteUrl}/actors`,
target: '_self',
rel: 'dofollow',
},
Expand Down Expand Up @@ -211,18 +216,45 @@ const themeConfig = {
],
},
{
title: 'Other',
title: 'Open source',
items: [
{
label: 'CLI',
href: `${absoluteUrl}/cli/docs`,
position: 'left',
target: '_self',
label: 'Crawlee',
href: 'https://crawlee.dev',
rel: 'dofollow',
},
{
label: 'Open source',
href: `${absoluteUrl}/open-source`,
label: 'Fingerprint Suite',
href: 'https://github.com/apify/fingerprint-suite',
},
{
label: 'impit',
href: 'https://github.com/apify/impit',
},
{
label: 'MCP CLI',
href: 'https://github.com/apify/mcpc',
},
{
label: 'Actor whitepaper',
href: 'https://whitepaper.actor',
},
{
label: 'proxy-chain',
href: 'https://github.com/apify/proxy-chain',
},
{
label: 'Apify on GitHub',
href: 'https://github.com/apify',
},
],
},
{
title: 'Other',
items: [
{
label: 'CLI',
href: `${absoluteUrl}/cli/docs`,
position: 'left',
target: '_self',
rel: 'dofollow',
Expand Down
9 changes: 8 additions & 1 deletion apify-docs-theme/src/theme/DocItemContent/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,14 @@ export default function DocItemContent({ children }) {
'/api/v2/logs',
'/api/v2/users',
'/api/client',
'/platform',
'/get-started',
'/actors',
'/storage',
'/proxy',
'/account',
'/integrations',
'/limits',
'/security',
'/sdk',
'/cli',
'/academy',
Expand Down
12 changes: 11 additions & 1 deletion apify-docs-theme/src/theme/SearchBar/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,17 @@ import './styles.css';
*/
function matchesCurrentInstance(href, baseUrl) {
if (baseUrl === '/') {
return href.startsWith('/academy') || href.startsWith('/platform');
return (
href.startsWith('/academy') ||
href.startsWith('/get-started') ||
href.startsWith('/actors') ||
href.startsWith('/storage') ||
href.startsWith('/proxy') ||
href.startsWith('/account') ||
href.startsWith('/integrations') ||
href.startsWith('/limits') ||
href.startsWith('/security')
);
}

return href.startsWith(baseUrl);
Expand Down
2 changes: 1 addition & 1 deletion docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ module.exports = {
showLastUpdateTime: false,
editUrl: 'https://github.com/apify/apify-docs/edit/master/',
path: './sources/platform',
routeBasePath: 'platform',
routeBasePath: '/',
sidebarPath: require.resolve('./sources/platform/sidebars.js'),
rehypePlugins: [externalLinkProcessor],
},
Expand Down
Loading
Loading