From 87910e28bf208a3e685bb9601a77f895cbf0c5df Mon Sep 17 00:00:00 2001 From: raghav Date: Thu, 30 Oct 2025 13:51:15 +0100 Subject: [PATCH 1/3] Update learning nav to bring beginner friendly topics before complex articles for the english locale --- apps/site/navigation.json | 214 +++++++++++++++--------------- packages/i18n/src/locales/en.json | 82 ++++++------ 2 files changed, 148 insertions(+), 148 deletions(-) diff --git a/apps/site/navigation.json b/apps/site/navigation.json index 0514ce54fd689..64c1099398f71 100644 --- a/apps/site/navigation.json +++ b/apps/site/navigation.json @@ -178,22 +178,10 @@ "link": "/learn/getting-started/ecmascript-2015-es6-and-beyond", "label": "components.navigation.learn.gettingStarted.links.ecmascript2015Es6AndBeyond" }, - "nodejsTheDifferenceBetweenDevelopmentAndProduction": { - "link": "/learn/getting-started/nodejs-the-difference-between-development-and-production", - "label": "components.navigation.learn.gettingStarted.links.nodejsTheDifferenceBetweenDevelopmentAndProduction" - }, - "nodejsWithWebassembly": { - "link": "/learn/getting-started/nodejs-with-webassembly", - "label": "components.navigation.learn.gettingStarted.links.nodejsWithWebassembly" - }, "debugging": { "link": "/learn/getting-started/debugging", "label": "components.navigation.learn.gettingStarted.links.debugging" }, - "profiling": { - "link": "/learn/getting-started/profiling", - "label": "components.navigation.learn.gettingStarted.links.profiling" - }, "fetch": { "link": "/learn/getting-started/fetch", "label": "components.navigation.learn.gettingStarted.links.fetch" @@ -202,52 +190,93 @@ "link": "/learn/getting-started/websocket", "label": "components.navigation.learn.gettingStarted.links.websocket" }, + "nodejsTheDifferenceBetweenDevelopmentAndProduction": { + "link": "/learn/getting-started/nodejs-the-difference-between-development-and-production", + "label": "components.navigation.learn.gettingStarted.links.nodejsTheDifferenceBetweenDevelopmentAndProduction" + }, + "profiling": { + "link": "/learn/getting-started/profiling", + "label": "components.navigation.learn.gettingStarted.links.profiling" + }, + "nodejsWithWebassembly": { + "link": "/learn/getting-started/nodejs-with-webassembly", + "label": "components.navigation.learn.gettingStarted.links.nodejsWithWebassembly" + }, "securityBestPractices": { "link": "/learn/getting-started/security-best-practices", "label": "components.navigation.learn.gettingStarted.links.securityBestPractices" } } }, - "typescript": { - "label": "components.navigation.learn.typescript.links.typescript", + "commandLine": { + "label": "components.navigation.learn.commandLine.links.commandLine", "items": { - "introduction": { - "link": "/learn/typescript/introduction", - "label": "components.navigation.learn.typescript.links.introduction" + "runNodejsScriptsFromTheCommandLine": { + "link": "/learn/command-line/run-nodejs-scripts-from-the-command-line", + "label": "components.navigation.learn.commandLine.links.runNodejsScriptsFromTheCommandLine" }, - "runNatively": { - "link": "/learn/typescript/run-natively", - "label": "components.navigation.learn.typescript.links.runNatively" + "howToUseTheNodejsRepl": { + "link": "/learn/command-line/how-to-use-the-nodejs-repl", + "label": "components.navigation.learn.commandLine.links.howToUseTheNodejsRepl" }, - "run": { - "link": "/learn/typescript/run", - "label": "components.navigation.learn.typescript.links.run" + "outputToTheCommandLineUsingNodejs": { + "link": "/learn/command-line/output-to-the-command-line-using-nodejs", + "label": "components.navigation.learn.commandLine.links.outputToTheCommandLineUsingNodejs" }, - "transpile": { - "link": "/learn/typescript/transpile", - "label": "components.navigation.learn.typescript.links.transpile" + "acceptInputFromTheCommandLineInNodejs": { + "link": "/learn/command-line/accept-input-from-the-command-line-in-nodejs", + "label": "components.navigation.learn.commandLine.links.acceptInputFromTheCommandLineInNodejs" }, - "publishingTSPackage": { - "link": "/learn/typescript/publishing-a-ts-package", - "label": "components.navigation.learn.typescript.links.publishingTSPackage" + "howToReadEnvironmentVariablesFromNodejs": { + "link": "/learn/command-line/how-to-read-environment-variables-from-nodejs", + "label": "components.navigation.learn.commandLine.links.howToReadEnvironmentVariablesFromNodejs" } } }, - "asynchronousWork": { - "label": "components.navigation.learn.asynchronousWork.links.asynchronousWork", + "manipulatingFiles": { + "label": "components.navigation.learn.manipulatingFiles.links.manipulatingFiles", "items": { - "asynchronousFlowControl": { - "link": "/learn/asynchronous-work/asynchronous-flow-control", - "label": "components.navigation.learn.asynchronousWork.links.asynchronousFlowControl" + "nodejsFileStats": { + "link": "/learn/manipulating-files/nodejs-file-stats", + "label": "components.navigation.learn.manipulatingFiles.links.nodejsFileStats" }, - "overviewOfBlockingVsNonBlocking": { - "link": "/learn/asynchronous-work/overview-of-blocking-vs-non-blocking", - "label": "components.navigation.learn.asynchronousWork.links.overviewOfBlockingVsNonBlocking" + "nodejsFilePaths": { + "link": "/learn/manipulating-files/nodejs-file-paths", + "label": "components.navigation.learn.manipulatingFiles.links.nodejsFilePaths" }, + "readingFilesWithNodejs": { + "link": "/learn/manipulating-files/reading-files-with-nodejs", + "label": "components.navigation.learn.manipulatingFiles.links.readingFilesWithNodejs" + }, + "writingFilesWithNodejs": { + "link": "/learn/manipulating-files/writing-files-with-nodejs", + "label": "components.navigation.learn.manipulatingFiles.links.writingFilesWithNodejs" + }, + "workingWithFileDescriptorsInNodejs": { + "link": "/learn/manipulating-files/working-with-file-descriptors-in-nodejs", + "label": "components.navigation.learn.manipulatingFiles.links.workingWithFileDescriptorsInNodejs" + }, + "workingWithFoldersInNodejs": { + "link": "/learn/manipulating-files/working-with-folders-in-nodejs", + "label": "components.navigation.learn.manipulatingFiles.links.workingWithFoldersInNodejs" + }, + "workingWithDifferentFilesystems": { + "link": "/learn/manipulating-files/working-with-different-filesystems", + "label": "components.navigation.learn.manipulatingFiles.links.workingWithDifferentFilesystems" + } + } + }, + "asynchronousWork": { + "label": "components.navigation.learn.asynchronousWork.links.asynchronousWork", + "items": { "javascriptAsynchronousProgrammingAndCallbacks": { "link": "/learn/asynchronous-work/javascript-asynchronous-programming-and-callbacks", "label": "components.navigation.learn.asynchronousWork.links.javascriptAsynchronousProgrammingAndCallbacks" }, + "asynchronousFlowControl": { + "link": "/learn/asynchronous-work/asynchronous-flow-control", + "label": "components.navigation.learn.asynchronousWork.links.asynchronousFlowControl" + }, "discoverPromisesInNodejs": { "link": "/learn/asynchronous-work/discover-promises-in-nodejs", "label": "components.navigation.learn.asynchronousWork.links.discoverPromisesInNodejs" @@ -256,6 +285,10 @@ "link": "/learn/asynchronous-work/discover-javascript-timers", "label": "components.navigation.learn.asynchronousWork.links.discoverJavascriptTimers" }, + "overviewOfBlockingVsNonBlocking": { + "link": "/learn/asynchronous-work/overview-of-blocking-vs-non-blocking", + "label": "components.navigation.learn.asynchronousWork.links.overviewOfBlockingVsNonBlocking" + }, "eventLoopTimersAndNexttick": { "link": "/learn/asynchronous-work/event-loop-timers-and-nexttick", "label": "components.navigation.learn.asynchronousWork.links.eventLoopTimersAndNexttick" @@ -278,76 +311,46 @@ } } }, - "manipulatingFiles": { - "label": "components.navigation.learn.manipulatingFiles.links.manipulatingFiles", + "typescript": { + "label": "components.navigation.learn.typescript.links.typescript", "items": { - "nodejsFileStats": { - "link": "/learn/manipulating-files/nodejs-file-stats", - "label": "components.navigation.learn.manipulatingFiles.links.nodejsFileStats" - }, - "nodejsFilePaths": { - "link": "/learn/manipulating-files/nodejs-file-paths", - "label": "components.navigation.learn.manipulatingFiles.links.nodejsFilePaths" - }, - "workingWithFileDescriptorsInNodejs": { - "link": "/learn/manipulating-files/working-with-file-descriptors-in-nodejs", - "label": "components.navigation.learn.manipulatingFiles.links.workingWithFileDescriptorsInNodejs" + "introduction": { + "link": "/learn/typescript/introduction", + "label": "components.navigation.learn.typescript.links.introduction" }, - "readingFilesWithNodejs": { - "link": "/learn/manipulating-files/reading-files-with-nodejs", - "label": "components.navigation.learn.manipulatingFiles.links.readingFilesWithNodejs" + "runNatively": { + "link": "/learn/typescript/run-natively", + "label": "components.navigation.learn.typescript.links.runNatively" }, - "writingFilesWithNodejs": { - "link": "/learn/manipulating-files/writing-files-with-nodejs", - "label": "components.navigation.learn.manipulatingFiles.links.writingFilesWithNodejs" + "transpile": { + "link": "/learn/typescript/transpile", + "label": "components.navigation.learn.typescript.links.transpile" }, - "workingWithFoldersInNodejs": { - "link": "/learn/manipulating-files/working-with-folders-in-nodejs", - "label": "components.navigation.learn.manipulatingFiles.links.workingWithFoldersInNodejs" + "run": { + "link": "/learn/typescript/run", + "label": "components.navigation.learn.typescript.links.run" }, - "workingWithDifferentFilesystems": { - "link": "/learn/manipulating-files/working-with-different-filesystems", - "label": "components.navigation.learn.manipulatingFiles.links.workingWithDifferentFilesystems" + "publishingTSPackage": { + "link": "/learn/typescript/publishing-a-ts-package", + "label": "components.navigation.learn.typescript.links.publishingTSPackage" } } }, - "commandLine": { - "label": "components.navigation.learn.commandLine.links.commandLine", + "modules": { + "label": "components.navigation.learn.modules.links.modules", "items": { - "runNodejsScriptsFromTheCommandLine": { - "link": "/learn/command-line/run-nodejs-scripts-from-the-command-line", - "label": "components.navigation.learn.commandLine.links.runNodejsScriptsFromTheCommandLine" - }, - "howToReadEnvironmentVariablesFromNodejs": { - "link": "/learn/command-line/how-to-read-environment-variables-from-nodejs", - "label": "components.navigation.learn.commandLine.links.howToReadEnvironmentVariablesFromNodejs" + "anatomyOfAnHttpTransaction": { + "link": "/learn/modules/anatomy-of-an-http-transaction", + "label": "components.navigation.learn.modules.links.anatomyOfAnHttpTransaction" }, - "howToUseTheNodejsRepl": { - "link": "/learn/command-line/how-to-use-the-nodejs-repl", - "label": "components.navigation.learn.commandLine.links.howToUseTheNodejsRepl" + "howToUseStreams": { + "link": "/learn/modules/how-to-use-streams", + "label": "components.navigation.learn.modules.links.howToUseStreams" }, - "outputToTheCommandLineUsingNodejs": { - "link": "/learn/command-line/output-to-the-command-line-using-nodejs", - "label": "components.navigation.learn.commandLine.links.outputToTheCommandLineUsingNodejs" + "backpressuringInStreams": { + "link": "/learn/modules/backpressuring-in-streams", + "label": "components.navigation.learn.modules.links.backpressuringInStreams" }, - "acceptInputFromTheCommandLineInNodejs": { - "link": "/learn/command-line/accept-input-from-the-command-line-in-nodejs", - "label": "components.navigation.learn.commandLine.links.acceptInputFromTheCommandLineInNodejs" - } - } - }, - "migrations": { - "label": "components.navigation.learn.migrations.links.migrations", - "items": { - "introduction": { - "link": "/learn/migrations/introduction", - "label": "components.navigation.learn.migrations.links.introduction" - } - } - }, - "modules": { - "label": "components.navigation.learn.modules.links.modules", - "items": { "publishingAPackage": { "link": "/learn/modules/publishing-a-package", "label": "components.navigation.learn.modules.links.publishingAPackage" @@ -356,21 +359,9 @@ "link": "/learn/modules/publishing-node-api-modules", "label": "components.navigation.learn.modules.links.publishingNodeApiModules" }, - "anatomyOfAnHttpTransaction": { - "link": "/learn/modules/anatomy-of-an-http-transaction", - "label": "components.navigation.learn.modules.links.anatomyOfAnHttpTransaction" - }, "abiStability": { "link": "/learn/modules/abi-stability", "label": "components.navigation.learn.modules.links.abiStability" - }, - "howToUseStreams": { - "link": "/learn/modules/how-to-use-streams", - "label": "components.navigation.learn.modules.links.howToUseStreams" - }, - "backpressuringInStreams": { - "link": "/learn/modules/backpressuring-in-streams", - "label": "components.navigation.learn.modules.links.backpressuringInStreams" } } }, @@ -419,6 +410,15 @@ "label": "components.navigation.learn.testRunner.links.collectingCodeCoverage" } } + }, + "migrations": { + "label": "components.navigation.learn.migrations.links.migrations", + "items": { + "introduction": { + "link": "/learn/migrations/introduction", + "label": "components.navigation.learn.migrations.links.introduction" + } + } } } } diff --git a/packages/i18n/src/locales/en.json b/packages/i18n/src/locales/en.json index 653bd8f5e775c..881bdd7ef1b35 100644 --- a/packages/i18n/src/locales/en.json +++ b/packages/i18n/src/locales/en.json @@ -42,38 +42,23 @@ "theV8JavascriptEngine": "The V8 JavaScript Engine", "anIntroductionToTheNpmPackageManager": "An introduction to the npm package manager", "ecmascript2015Es6AndBeyond": "ECMAScript 2015 (ES6) and beyond", - "nodejsTheDifferenceBetweenDevelopmentAndProduction": "Node.js, the difference between development and production", - "nodejsWithWebassembly": "Node.js with WebAssembly", "debugging": "Debugging Node.js", - "profiling": "Profiling Node.js Applications", "fetch": "Fetching data with Node.js", "websocket": "WebSocket client with Node.js", + "nodejsTheDifferenceBetweenDevelopmentAndProduction": "Node.js, the difference between development and production", + "profiling": "Profiling Node.js Applications", + "nodejsWithWebassembly": "Node.js with WebAssembly", "securityBestPractices": "Security Best Practices" } }, - "typescript": { - "links": { - "typescript": "TypeScript", - "introduction": "Introduction to TypeScript", - "transpile": "Running TypeScript code using transpilation", - "run": "Running TypeScript with a runner", - "runNatively": "Running TypeScript Natively", - "publishingTSPackage": "Publishing a TypeScript package" - } - }, - "asynchronousWork": { + "commandLine": { "links": { - "asynchronousWork": "Asynchronous Work", - "asynchronousFlowControl": "Asynchronous flow control", - "discoverPromisesInNodejs": "Discover Promises in Node.js", - "overviewOfBlockingVsNonBlocking": "Overview of Blocking vs Non-Blocking", - "javascriptAsynchronousProgrammingAndCallbacks": "JavaScript Asynchronous Programming and Callbacks", - "discoverJavascriptTimers": "Discover JavaScript Timers", - "eventLoopTimersAndNexttick": "The Node.js Event Loop", - "theNodejsEventEmitter": "The Node.js Event Emitter", - "understandingProcessnexttick": "Understanding process.nextTick()", - "understandingSetimmediate": "Understanding setImmediate()", - "dontBlockTheEventLoop": "Don't Block the Event Loop" + "commandLine": "Command Line", + "runNodejsScriptsFromTheCommandLine": "Run Node.js scripts from the command line", + "howToUseTheNodejsRepl": "How to use the Node.js REPL", + "outputToTheCommandLineUsingNodejs": "Output to the command line using Node.js", + "acceptInputFromTheCommandLineInNodejs": "Accept input from the command line in Node.js", + "howToReadEnvironmentVariablesFromNodejs": "How to read environment variables from Node.js" } }, "manipulatingFiles": { @@ -81,46 +66,55 @@ "manipulatingFiles": "Manipulating Files", "nodejsFileStats": "Node.js file stats", "nodejsFilePaths": "Node.js File Paths", - "workingWithFileDescriptorsInNodejs": "Working with file descriptors in Node.js", "readingFilesWithNodejs": "Reading files with Node.js", "writingFilesWithNodejs": "Writing files with Node.js", + "workingWithFileDescriptorsInNodejs": "Working with file descriptors in Node.js", "workingWithFoldersInNodejs": "Working with folders in Node.js", "workingWithDifferentFilesystems": "How to work with Different Filesystems" } }, - "commandLine": { + "asynchronousWork": { "links": { - "commandLine": "Command Line", - "runNodejsScriptsFromTheCommandLine": "Run Node.js scripts from the command line", - "howToReadEnvironmentVariablesFromNodejs": "How to read environment variables from Node.js", - "howToUseTheNodejsRepl": "How to use the Node.js REPL", - "outputToTheCommandLineUsingNodejs": "Output to the command line using Node.js", - "acceptInputFromTheCommandLineInNodejs": "Accept input from the command line in Node.js" + "asynchronousWork": "Asynchronous Work", + "javascriptAsynchronousProgrammingAndCallbacks": "JavaScript Asynchronous Programming and Callbacks", + "asynchronousFlowControl": "Asynchronous flow control", + "discoverPromisesInNodejs": "Discover Promises in Node.js", + "discoverJavascriptTimers": "Discover JavaScript Timers", + "overviewOfBlockingVsNonBlocking": "Overview of Blocking vs Non-Blocking", + "eventLoopTimersAndNexttick": "The Node.js Event Loop", + "theNodejsEventEmitter": "The Node.js Event Emitter", + "understandingProcessnexttick": "Understanding process.nextTick()", + "understandingSetimmediate": "Understanding setImmediate()", + "dontBlockTheEventLoop": "Don't Block the Event Loop" } }, - "migrations": { + "typescript": { "links": { - "migrations": "Userland Migrations", - "introduction": "Introduction to Userland Migrations" + "typescript": "TypeScript", + "introduction": "Introduction to TypeScript", + "runNatively": "Running TypeScript Natively", + "transpile": "Running TypeScript code using transpilation", + "run": "Running TypeScript with a runner", + "publishingTSPackage": "Publishing a TypeScript package" } }, "modules": { "links": { "modules": "Modules", - "publishingAPackage": "Publishing a package", - "publishingNodeApiModules": "How to publish a Node-API package", "anatomyOfAnHttpTransaction": "Anatomy of an HTTP Transaction", - "abiStability": "ABI Stability", "howToUseStreams": "How to use streams", - "backpressuringInStreams": "Backpressuring in Streams" + "backpressuringInStreams": "Backpressuring in Streams", + "publishingAPackage": "Publishing a package", + "publishingNodeApiModules": "How to publish a Node-API package", + "abiStability": "ABI Stability" } }, "diagnostics": { "links": { "diagnostics": "Diagnostics", "userJourney": "User Journey", - "understandingAndTuningMemory": "Understanding and Tuning Memory", "memory": "Memory", + "understandingAndTuningMemory": "Understanding and Tuning Memory", "liveDebugging": "Live Debugging", "poorPerformance": "Poor Performance", "flameGraphs": "Flame Graphs" @@ -134,6 +128,12 @@ "mocking": "Mocking in tests", "collectingCodeCoverage": "Collecting code coverage in Node.js" } + }, + "migrations": { + "links": { + "migrations": "Userland Migrations", + "introduction": "Introduction to Userland Migrations" + } } }, "about": { From 71449c7ffb98501853a4d2c66a2c5fa15e7832f1 Mon Sep 17 00:00:00 2001 From: raghav Date: Thu, 30 Oct 2025 15:03:36 +0100 Subject: [PATCH 2/3] fix broken i18n keys[en] and move userland migrations to getting started --- apps/site/navigation.json | 18 ------------------ packages/i18n/src/locales/en.json | 19 +++++++++++++------ 2 files changed, 13 insertions(+), 24 deletions(-) diff --git a/apps/site/navigation.json b/apps/site/navigation.json index 9502b0ec5064c..be6683b55f941 100644 --- a/apps/site/navigation.json +++ b/apps/site/navigation.json @@ -355,15 +355,6 @@ "link": "/learn/modules/backpressuring-in-streams", "label": "components.navigation.learn.modules.links.backpressuringInStreams" }, - "acceptInputFromTheCommandLineInNodejs": { - "link": "/learn/command-line/accept-input-from-the-command-line-in-nodejs", - "label": "components.navigation.learn.commandLine.links.acceptInputFromTheCommandLineInNodejs" - } - } - }, - "modules": { - "label": "components.navigation.learn.modules.links.modules", - "items": { "publishingAPackage": { "link": "/learn/modules/publishing-a-package", "label": "components.navigation.learn.modules.links.publishingAPackage" @@ -423,15 +414,6 @@ "label": "components.navigation.learn.testRunner.links.collectingCodeCoverage" } } - }, - "migrations": { - "label": "components.navigation.learn.migrations.links.migrations", - "items": { - "introduction": { - "link": "/learn/migrations/introduction", - "label": "components.navigation.learn.migrations.links.introduction" - } - } } } } diff --git a/packages/i18n/src/locales/en.json b/packages/i18n/src/locales/en.json index 1e8a72bfe1c52..5b910a026eb53 100644 --- a/packages/i18n/src/locales/en.json +++ b/packages/i18n/src/locales/en.json @@ -45,6 +45,9 @@ "debugging": "Debugging Node.js", "fetch": "Fetching data with Node.js", "websocket": "WebSocket client with Node.js", + "nodejsTheDifferenceBetweenDevelopmentAndProduction": "Node.js, the difference between development and production", + "profiling": "Profiling Node.js Applications", + "nodejsWithWebassembly": "Node.js with WebAssembly", "securityBestPractices": "Security Best Practices", "userlandMigrations": "Introduction to Userland Migrations" } @@ -86,6 +89,16 @@ "dontBlockTheEventLoop": "Don't Block the Event Loop" } }, + "typescript": { + "links": { + "typescript": "TypeScript", + "introduction": "Introduction to TypeScript", + "runNatively": "Running TypeScript Natively", + "transpile": "Running TypeScript code using transpilation", + "run": "Running TypeScript with a runner", + "publishingTSPackage": "Publishing a TypeScript package" + } + }, "modules": { "links": { "modules": "Modules", @@ -116,12 +129,6 @@ "mocking": "Mocking in tests", "collectingCodeCoverage": "Collecting code coverage in Node.js" } - }, - "migrations": { - "links": { - "migrations": "Userland Migrations", - "introduction": "Introduction to Userland Migrations" - } } }, "about": { From c8114ddf0f9957de5e275c3570fba27c4c338e11 Mon Sep 17 00:00:00 2001 From: raghav Date: Thu, 30 Oct 2025 19:31:45 +0100 Subject: [PATCH 3/3] create a new HTTP section within the learn tab --- apps/site/navigation.json | 13 +++++++++---- .../anatomy-of-an-http-transaction.md | 0 packages/i18n/src/locales/en.json | 7 ++++++- 3 files changed, 15 insertions(+), 5 deletions(-) rename apps/site/pages/en/learn/{modules => http}/anatomy-of-an-http-transaction.md (100%) diff --git a/apps/site/navigation.json b/apps/site/navigation.json index be6683b55f941..e3128e64a9a54 100644 --- a/apps/site/navigation.json +++ b/apps/site/navigation.json @@ -237,6 +237,15 @@ } } }, + "http": { + "label": "components.navigation.learn.http.links.http", + "items": { + "anatomyOfAnHttpTransaction": { + "link": "/learn/http/anatomy-of-an-http-transaction", + "label": "components.navigation.learn.http.links.anatomyOfAnHttpTransaction" + } + } + }, "manipulatingFiles": { "label": "components.navigation.learn.manipulatingFiles.links.manipulatingFiles", "items": { @@ -343,10 +352,6 @@ "modules": { "label": "components.navigation.learn.modules.links.modules", "items": { - "anatomyOfAnHttpTransaction": { - "link": "/learn/modules/anatomy-of-an-http-transaction", - "label": "components.navigation.learn.modules.links.anatomyOfAnHttpTransaction" - }, "howToUseStreams": { "link": "/learn/modules/how-to-use-streams", "label": "components.navigation.learn.modules.links.howToUseStreams" diff --git a/apps/site/pages/en/learn/modules/anatomy-of-an-http-transaction.md b/apps/site/pages/en/learn/http/anatomy-of-an-http-transaction.md similarity index 100% rename from apps/site/pages/en/learn/modules/anatomy-of-an-http-transaction.md rename to apps/site/pages/en/learn/http/anatomy-of-an-http-transaction.md diff --git a/packages/i18n/src/locales/en.json b/packages/i18n/src/locales/en.json index 5b910a026eb53..07c0769b5ce6d 100644 --- a/packages/i18n/src/locales/en.json +++ b/packages/i18n/src/locales/en.json @@ -62,6 +62,12 @@ "howToReadEnvironmentVariablesFromNodejs": "How to read environment variables from Node.js" } }, + "http": { + "links": { + "http": "HTTP", + "anatomyOfAnHttpTransaction": "Anatomy of an HTTP Transaction" + } + }, "manipulatingFiles": { "links": { "manipulatingFiles": "Manipulating Files", @@ -102,7 +108,6 @@ "modules": { "links": { "modules": "Modules", - "anatomyOfAnHttpTransaction": "Anatomy of an HTTP Transaction", "howToUseStreams": "How to use streams", "backpressuringInStreams": "Backpressuring in Streams", "publishingAPackage": "Publishing a package",