Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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/usage/" "302"
assert_status "http://localhost:8080/actors/proxy/usage/" "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/usage" "Content-Type" "text/html"
assert_header "http://localhost:8080/platform/proxy/usage.md" "Content-Type" "text/markdown"
assert_header "http://localhost:8080/platform/proxy/usage" "Content-Type" "text/markdown" -H "Accept: text/markdown"
assert_header "http://localhost:8080/actors/proxy/usage" "Content-Type" "text/html"
assert_header "http://localhost:8080/actors/proxy/usage.md" "Content-Type" "text/markdown"
assert_header "http://localhost:8080/actors/proxy/usage" "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/usage" "https://docs.apify.com/platform/proxy/usage.md"
assert_html_md_alternate "http://localhost:8080/actors/proxy/usage" "https://docs.apify.com/actors/proxy/usage.md"

echo "🧪 Checking Nginx responses... (apify-sdk-js)"
assert_final_content_type "http://localhost:8080/sdk/js" "text/html"
Expand Down
92 changes: 55 additions & 37 deletions apify-docs-theme/src/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,80 +19,92 @@ const themeConfig = {
target: '_self',
},
items: [
// PRODUCT (left)
{
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: 'Integrations',
href: `${absoluteUrl}/integrations`,
activeBasePath: 'integrations',
position: 'left',
target: '_self',
rel: 'dofollow',
},
{
label: 'Account',
href: `${absoluteUrl}/account`,
activeBasePath: 'account',
position: 'left',
target: '_self',
rel: 'dofollow',
},
{
label: 'APIs & SDKs',
type: 'dropdown',
to: `${absoluteUrl}/api/v2`,
activeBasePath: 'api',
position: 'left',
target: '_self',
rel: 'dofollow',
items: [
{
label: 'Reference',
label: 'API Reference',
href: `${absoluteUrl}/api/v2`,
target: '_self',
rel: 'dofollow',
},
{
label: 'Client for JavaScript',
href: `${absoluteUrl}/api/client/js/docs`,
label: 'SDK for JavaScript',
href: `${absoluteUrl}/sdk/js/docs/overview`,
target: '_self',
rel: 'dofollow',
},
{
label: 'Client for Python',
href: `${absoluteUrl}/api/client/python/docs`,
label: 'SDK for Python',
href: `${absoluteUrl}/sdk/python/docs/overview`,
target: '_self',
rel: 'dofollow',
},
],
},
{
label: 'SDK',
type: 'dropdown',
to: `${absoluteUrl}/sdk`,
activeBasePath: 'sdk',
position: 'left',
target: '_self',
rel: 'dofollow',
items: [
{
label: 'SDK for JavaScript',
href: `${absoluteUrl}/sdk/js/docs/overview`,
label: 'Client for JavaScript',
href: `${absoluteUrl}/api/client/js/docs`,
target: '_self',
rel: 'dofollow',
},
{
html: 'SDK for Python',
href: `${absoluteUrl}/sdk/python/docs/overview`,
label: 'Client for Python',
href: `${absoluteUrl}/api/client/python/docs`,
target: '_self',
rel: 'dofollow',
},
{
label: 'CLI',
href: `${absoluteUrl}/cli/docs`,
target: '_self',
rel: 'dofollow',
},
],
},
// ECOSYSTEM (right)
{
label: 'CLI',
href: `${absoluteUrl}/cli/docs`,
position: 'left',
activeBasePath: 'cli',
label: 'Academy',
href: `${absoluteUrl}/academy`,
activeBasePath: 'academy',
position: 'right',
target: '_self',
rel: 'dofollow',
},
Expand All @@ -102,7 +114,7 @@ const themeConfig = {
to: `${absoluteUrl}/open-source`,
activeBasePath: 'open-source',
target: '_self',
position: 'left',
position: 'right',
className: 'navbar__item',
items: [
{
Expand Down Expand Up @@ -170,8 +182,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
5 changes: 4 additions & 1 deletion apify-docs-theme/src/theme/DocItemContent/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,13 @@ export default function DocItemContent({ children }) {
'/api/v2/logs',
'/api/v2/users',
'/api/client',
'/platform',
'/sdk',
'/cli',
'/academy',
'/get-started',
'/actors',
'/integrations',
'/account',
];

// Define paths that should not show LLMButtons (e.g., changelog pages)
Expand Down
8 changes: 7 additions & 1 deletion apify-docs-theme/src/theme/SearchBar/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,13 @@ 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('/integrations') ||
href.startsWith('/account')
);
}

return href.startsWith(baseUrl);
Expand Down
7 changes: 4 additions & 3 deletions docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ module.exports = {
},
].filter(Boolean),

onBrokenLinks: /** @type {import('@docusaurus/types').ReportingSeverity} */ ('throw'),
onBrokenLinks: /** @type {import('@docusaurus/types').ReportingSeverity} */ ('warn'),
onBrokenAnchors: /** @type {import('@docusaurus/types').ReportingSeverity} */ ('warn'),
themes: [
[
Expand Down Expand Up @@ -118,7 +118,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 Expand Up @@ -377,7 +377,8 @@ module.exports = {
markdown: {
mermaid: true,
hooks: {
onBrokenMarkdownLinks: /** @type {import('@docusaurus/types').ReportingSeverity} */ ('throw'),
onBrokenMarkdownLinks: /** @type {import('@docusaurus/types').ReportingSeverity} */ ('warn'),
onBrokenMarkdownImages: /** @type {import('@docusaurus/types').ReportingSeverity} */ ('warn'),
},
parseFrontMatter: async (params) => {
const result = await params.defaultParseFrontMatter(params);
Expand Down
4 changes: 2 additions & 2 deletions sources/academy/ai/ai-agents.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ _Example input:_
_Example output:_

- Text response with insights
- Data stored in Apify [Dataset](/platform/storage/dataset)
- Data stored in Apify [Dataset](/actors/storage/dataset)

:::note Agent memory

Expand Down Expand Up @@ -253,7 +253,7 @@ Apify's pay-per-event (PPE) pricing model allows charging users based on specifi

:::info How pay-per-event pricing works

If you want more details about PPE pricing, refer to our [PPE documentation](/platform/actors/publishing/monetize/pay-per-event).
If you want more details about 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 @@ -34,7 +34,7 @@ Monetizing your Actor on the Apify platform involves several key steps:

:::info Pass platform usage costs to users

Optionally, you can [pass costs associated with the platform usage](../../../platform/actors/publishing/monetize/pay-per-event#pass-platform-usage-to-users) to the users.
Optionally, you can [pass costs associated with the platform usage](../../../actors/publishing/monetize/pay-per-event#pass-platform-usage-to-users) to the users.

Profit calculation: `profit = 0.8 * revenue`

Expand Down Expand Up @@ -62,7 +62,7 @@ Profit calculation: `profit = 0.8 * revenue`

:::info Pay-per-event details

If you want more details about PPE pricing, refer to our [PPE documentation](/platform/actors/publishing/monetize/pay-per-event).
If you want more details about PPE pricing, refer to our [PPE documentation](/actors/publishing/monetize/pay-per-event).

:::

Expand All @@ -80,7 +80,7 @@ If you want more details about PPE pricing, refer to our [PPE documentation](/pl

:::info Rental pricing details

If you want more details about rental pricing, refer to our [rental pricing documentation](/platform/actors/publishing/monetize/rental).
If you want more details about rental pricing, refer to our [rental pricing documentation](/actors/publishing/monetize/rental).

:::

Expand Down Expand Up @@ -130,7 +130,7 @@ Learn more about what makes a good readme here: [How to create an Actor README](

### Adapt when needed

Don’t be afraid to experiment with pricing, especially at the start. You can monitor your results in the dashboard and adjust if necessary. You can also choose to [pass platform usage costs to users](/platform/actors/publishing/monetize/pay-per-event#pass-platform-usage-to-users) while you’re still figuring out the right price.
Don’t be afraid to experiment with pricing, especially at the start. You can monitor your results in the dashboard and adjust if necessary. You can also choose to [pass platform usage costs to users](/actors/publishing/monetize/pay-per-event#pass-platform-usage-to-users) while you’re still figuring out the right price.

To estimate pricing, run a few test runs and review the statistics in the Actor [**Analytics**](https://console.apify.com/actors?tab=analytics) tab.

Expand All @@ -157,8 +157,8 @@ Example of useful pricing estimates from the **Analytics** tab:
## Resources

- Learn about [incentives behind monetization](https://apify.com/partners/actor-developers)
- Detailed guide to [setting up monetization models](/platform/actors/publishing/monetize)
- Guide to [publishing Actors](/platform/actors/publishing)
- Detailed guide to [setting up monetization models](/actors/publishing/monetize)
- Guide to [publishing Actors](/actors/publishing)
- Watch our webinar on how to [build, publish and monetize Actors](https://www.youtube.com/watch?v=4nxStxC1BJM)
- Read a blog post from our CEO on the [reasoning behind monetizing Actors](https://blog.apify.com/make-regular-passive-income-developing-web-automation-actors-b0392278d085/)
- Learn about the [Creator plan](https://apify.com/pricing/creator-plan), which allows you to create and freely test your own Actors for $1
Expand Down
Loading
Loading