From 1481a961c86fa9970b0f12e4889eb9e86ee46e3c Mon Sep 17 00:00:00 2001 From: Jo Franchetti Date: Mon, 9 Dec 2024 23:57:14 +0000 Subject: [PATCH 01/17] new examples section which holds all examples, tutorials and videos --- _components/Footer.tsx | 8 +- _components/Header.tsx | 12 +- _components/SearchInput.tsx | 6 +- _components/Sidebar.tsx | 3 +- _config.ts | 8 +- _includes/doc.tsx | 252 +----- _includes/layout.tsx | 5 +- _includes/renderCommand.tsx | 214 +++++ deno.lock | 66 ++ deploy/_data.ts | 2 +- examples.page.tsx | 599 ------------- examples/_components/CopyButton.tsx | 19 + examples/_components/EmbedVideo.tsx | 37 + examples/_components/ExampleIcon.tsx | 19 + examples/_components/LearningList.tsx | 35 + examples/_components/SnippetComponent.tsx | 61 ++ examples/_components/TutorialIcon.tsx | 27 + examples/_components/VideoIcon.tsx | 52 ++ examples/_data.ts | 814 ++++++++++++++++++ examples/_pages/ExamplePage.tsx | 127 +++ examples/_pages/LandingPage.tsx | 105 +++ examples/_pages/VideoPage.tsx | 16 + examples/_pages/examples_test.ts | 21 + examples/{ => examples}/aes-encryption.ts | 0 examples/{ => examples}/benchmarking.ts | 0 examples/{ => examples}/byte-manipulation.ts | 0 .../{ => examples}/checking-file-existence.ts | 0 examples/{ => examples}/color-logging.ts | 0 .../{ => examples}/command-line-arguments.ts | 0 .../create-remove-directories.ts | 0 .../creating-and-verifying-jwt.ts | 0 examples/{ => examples}/cron.ts | 0 examples/{ => examples}/data-processing.ts | 0 examples/{ => examples}/deleting-files.ts | 0 examples/{ => examples}/deno-version.ts | 0 examples/{ => examples}/dns-queries.ts | 0 .../{ => examples}/environment-variables.ts | 0 .../{ => examples}/exponential-backoff.ts | 0 examples/{ => examples}/hashing.ts | 0 examples/{ => examples}/hello-world.ts | 8 +- .../{ => examples}/hex-base64-encoding.ts | 0 .../{ => examples}/hmac-generate-verify.ts | 0 examples/{ => examples}/hono.ts | 0 examples/{ => examples}/http-requests.ts | 0 examples/{ => examples}/http-server-files.ts | 0 ...ver-oak-crud-middleware-with-sqlite3-db.ts | 0 .../{ => examples}/http-server-routing.ts | 0 .../{ => examples}/http-server-streaming.ts | 0 .../{ => examples}/http-server-websocket.ts | 0 examples/{ => examples}/http-server.ts | 0 examples/{ => examples}/import-export.ts | 0 examples/{ => examples}/importing-json.ts | 0 examples/{ => examples}/kv-watch.ts | 0 examples/{ => examples}/kv.ts | 0 examples/{ => examples}/mongo.ts | 0 .../{ => examples}/moving-renaming-files.ts | 0 examples/{ => examples}/node.ts | 0 examples/{ => examples}/npm.ts | 0 .../{ => examples}/openai-chat-completion.ts | 0 examples/{ => examples}/os-signals.ts | 0 .../{ => examples}/parsing-serializing-csv.ts | 0 .../parsing-serializing-json.ts | 0 .../parsing-serializing-toml.ts | 0 .../parsing-serializing-yaml.ts | 0 examples/{ => examples}/path-operations.ts | 0 examples/{ => examples}/permissions.ts | 0 examples/{ => examples}/pid.ts | 0 examples/{ => examples}/piping-streams.ts | 0 examples/{ => examples}/postgres.ts | 0 examples/{ => examples}/prompts.ts | 0 examples/{ => examples}/queues.ts | 0 examples/{ => examples}/reading-files.ts | 0 .../{ => examples}/reading-system-metrics.ts | 0 examples/{ => examples}/redis.ts | 0 examples/{ => examples}/rsa-signature.ts | 0 examples/{ => examples}/spy-functions.ts | 0 examples/{ => examples}/sqlite.ts | 0 examples/{ => examples}/streaming-files.ts | 0 examples/{ => examples}/stubs.ts | 0 .../subprocess-running-files.ts | 0 .../{ => examples}/subprocesses-output.ts | 0 examples/{ => examples}/subprocesses-spawn.ts | 0 examples/{ => examples}/supabase.ts | 0 examples/{ => examples}/symlinks.ts | 0 examples/{ => examples}/tcp-connector.ts | 0 examples/{ => examples}/tcp-echo-server.ts | 0 examples/{ => examples}/tcp-listener.ts | 0 examples/{ => examples}/temporary-files.ts | 0 examples/{ => examples}/timers.ts | 0 examples/{ => examples}/tls-connector.ts | 0 examples/{ => examples}/tls-listener.ts | 0 examples/{ => examples}/typescript.ts | 0 examples/{ => examples}/udp-connector.ts | 0 examples/{ => examples}/udp-listener.ts | 0 examples/{ => examples}/ulid.ts | 0 examples/{ => examples}/unix-cat.ts | 0 examples/{ => examples}/unzip-gzipped-file.ts | 0 examples/{ => examples}/url-parsing.ts | 0 examples/{ => examples}/uuids.ts | 0 .../{ => examples}/walking-directories.ts | 0 examples/{ => examples}/watching-files.ts | 0 examples/{ => examples}/web-workers.ts | 0 examples/{ => examples}/webassembly.ts | 0 examples/{ => examples}/websocket.ts | 0 examples/{ => examples}/writing-files.ts | 0 examples/{ => examples}/writing-tests.ts | 0 examples/index.examples.tsx | 33 + examples/index.tsx | 39 + examples/index.video.tsx | 26 + .../tutorials}/apollo.md | 2 + examples/tutorials/astro.md | 216 +++++ {runtime => examples}/tutorials/aws_lambda.md | 3 + .../tutorials/aws_lightsail.md | 5 +- {runtime => examples}/tutorials/chat_app.md | 2 + {runtime => examples}/tutorials/cjs_to_esm.md | 5 +- .../tutorials/cloudflare_workers.md | 5 +- .../tutorials/connecting_to_databases.md | 11 +- .../tutorials}/create-react.md | 3 + .../tutorials/digital_ocean.md | 5 +- examples/tutorials/drizzle.md | 392 +++++++++ .../tutorials}/express.md | 2 + {runtime => examples}/tutorials/fetch_data.md | 2 + .../tutorials/file_based_routing.md | 5 +- .../tutorials/file_server.md | 2 + .../tutorials/file_system_events.md | 2 + .../tutorials/google_cloud_run.md | 5 +- {runtime => examples}/tutorials/hashbang.md | 2 + .../images/how-to/astro/dynamic-page.webp | Bin 0 -> 27206 bytes .../images/how-to/astro/hello-astro.png | Bin 0 -> 129902 bytes .../images/how-to/astro/index-page.webp | Bin 0 -> 54576 bytes .../create-container-service-on-aws.png | Bin ...ello-world-from-deno-and-aws-lightsail.png | Bin .../hello-world-from-localhost.png | Bin .../aws-lightsail/new-image-on-docker-hub.png | Bin .../cloudflare-workers/main-on-cloudflare.png | Bin .../hello-from-deno-and-digital-ocean.png | Bin .../hello-world-from-localhost.png | Bin ...ge-on-digital-ocean-container-registry.png | Bin .../images/how-to/drizzle/table-diagram.png | Bin 0 -> 59694 bytes .../hello-from-google-cloud-run.png | Bin .../hello-world-from-localhost.png | Bin .../image-in-google-artifact-registry.png | Bin ...pository-in-google-artifact-repository.png | Bin .../tutorials/images/how-to/next/dinoapp.gif | Bin .../how-to/prisma/1-dinosaurs-in-prisma.png | Bin .../how-to/prisma/2-dinosaurs-from-api.png | Bin .../prisma/3-new-dinosaur-in-prisma.png | Bin .../how-to/react/react-dinosaur-app-demo.gif | Bin .../images/how-to/redis/cached-redis-body.png | Bin .../how-to/redis/cached-redis-header.png | Bin .../how-to/redis/uncached-redis-body.png | Bin .../how-to/redis/uncached-redis-header.png | Bin .../tutorials/images/how-to/vue/vue.gif | Bin .../tutorials/images/quick-fix.png | Bin .../tutorials/images/websockets.gif | Bin .../tutorials/images/word_finder.png | Bin examples/tutorials/initialize_project.md | 102 +++ {runtime => examples}/tutorials/kinsta.md | 5 +- .../tutorials/module_metadata.md | 2 + .../tutorials}/mongoose.md | 2 + .../tutorials}/mysql2.md | 2 + .../tutorials}/next.md | 3 + {runtime => examples}/tutorials/os_signals.md | 2 + .../tutorials}/planetscale.md | 2 + .../tutorials}/prisma.md | 2 + .../tutorials}/react.md | 2 + .../tutorials}/redis.md | 2 + .../tutorials/run_script.md | 104 +-- {runtime => examples}/tutorials/subprocess.md | 2 + examples/tutorials/trpc.md | 421 +++++++++ .../tutorials}/vue.md | 2 + .../tutorials/word_finder.md | 2 + examples/types.ts | 61 ++ examples/utils/parseExample.ts | 162 ++++ examples_test.ts | 21 - index.page.tsx | 8 +- oldurls.json | 5 +- overrides.css | 74 ++ runtime/_data.ts | 45 - runtime/fundamentals/standard_library.md | 4 +- runtime/getting_started/first_project.md | 4 +- runtime/reference/cli/compile.md | 4 +- runtime/reference/cli/run.md | 8 +- runtime/reference/cli/unstable_flags.md | 2 +- runtime/reference/deno_namespace_apis.md | 8 +- runtime/reference/vscode.md | 8 +- runtime/tutorials/index.md | 56 -- styles.css | 21 +- tailwind.config.js | 2 +- youtube-lite.client.js | 255 ++++++ youtube-lite.css | 101 +++ 191 files changed, 3688 insertions(+), 1101 deletions(-) create mode 100644 _includes/renderCommand.tsx delete mode 100644 examples.page.tsx create mode 100644 examples/_components/CopyButton.tsx create mode 100644 examples/_components/EmbedVideo.tsx create mode 100644 examples/_components/ExampleIcon.tsx create mode 100644 examples/_components/LearningList.tsx create mode 100644 examples/_components/SnippetComponent.tsx create mode 100644 examples/_components/TutorialIcon.tsx create mode 100644 examples/_components/VideoIcon.tsx create mode 100644 examples/_data.ts create mode 100644 examples/_pages/ExamplePage.tsx create mode 100644 examples/_pages/LandingPage.tsx create mode 100644 examples/_pages/VideoPage.tsx create mode 100644 examples/_pages/examples_test.ts rename examples/{ => examples}/aes-encryption.ts (100%) rename examples/{ => examples}/benchmarking.ts (100%) rename examples/{ => examples}/byte-manipulation.ts (100%) rename examples/{ => examples}/checking-file-existence.ts (100%) rename examples/{ => examples}/color-logging.ts (100%) rename examples/{ => examples}/command-line-arguments.ts (100%) rename examples/{ => examples}/create-remove-directories.ts (100%) rename examples/{ => examples}/creating-and-verifying-jwt.ts (100%) rename examples/{ => examples}/cron.ts (100%) rename examples/{ => examples}/data-processing.ts (100%) rename examples/{ => examples}/deleting-files.ts (100%) rename examples/{ => examples}/deno-version.ts (100%) rename examples/{ => examples}/dns-queries.ts (100%) rename examples/{ => examples}/environment-variables.ts (100%) rename examples/{ => examples}/exponential-backoff.ts (100%) rename examples/{ => examples}/hashing.ts (100%) rename examples/{ => examples}/hello-world.ts (57%) rename examples/{ => examples}/hex-base64-encoding.ts (100%) rename examples/{ => examples}/hmac-generate-verify.ts (100%) rename examples/{ => examples}/hono.ts (100%) rename examples/{ => examples}/http-requests.ts (100%) rename examples/{ => examples}/http-server-files.ts (100%) rename examples/{ => examples}/http-server-oak-crud-middleware-with-sqlite3-db.ts (100%) rename examples/{ => examples}/http-server-routing.ts (100%) rename examples/{ => examples}/http-server-streaming.ts (100%) rename examples/{ => examples}/http-server-websocket.ts (100%) rename examples/{ => examples}/http-server.ts (100%) rename examples/{ => examples}/import-export.ts (100%) rename examples/{ => examples}/importing-json.ts (100%) rename examples/{ => examples}/kv-watch.ts (100%) rename examples/{ => examples}/kv.ts (100%) rename examples/{ => examples}/mongo.ts (100%) rename examples/{ => examples}/moving-renaming-files.ts (100%) rename examples/{ => examples}/node.ts (100%) rename examples/{ => examples}/npm.ts (100%) rename examples/{ => examples}/openai-chat-completion.ts (100%) rename examples/{ => examples}/os-signals.ts (100%) rename examples/{ => examples}/parsing-serializing-csv.ts (100%) rename examples/{ => examples}/parsing-serializing-json.ts (100%) rename examples/{ => examples}/parsing-serializing-toml.ts (100%) rename examples/{ => examples}/parsing-serializing-yaml.ts (100%) rename examples/{ => examples}/path-operations.ts (100%) rename examples/{ => examples}/permissions.ts (100%) rename examples/{ => examples}/pid.ts (100%) rename examples/{ => examples}/piping-streams.ts (100%) rename examples/{ => examples}/postgres.ts (100%) rename examples/{ => examples}/prompts.ts (100%) rename examples/{ => examples}/queues.ts (100%) rename examples/{ => examples}/reading-files.ts (100%) rename examples/{ => examples}/reading-system-metrics.ts (100%) rename examples/{ => examples}/redis.ts (100%) rename examples/{ => examples}/rsa-signature.ts (100%) rename examples/{ => examples}/spy-functions.ts (100%) rename examples/{ => examples}/sqlite.ts (100%) rename examples/{ => examples}/streaming-files.ts (100%) rename examples/{ => examples}/stubs.ts (100%) rename examples/{ => examples}/subprocess-running-files.ts (100%) rename examples/{ => examples}/subprocesses-output.ts (100%) rename examples/{ => examples}/subprocesses-spawn.ts (100%) rename examples/{ => examples}/supabase.ts (100%) rename examples/{ => examples}/symlinks.ts (100%) rename examples/{ => examples}/tcp-connector.ts (100%) rename examples/{ => examples}/tcp-echo-server.ts (100%) rename examples/{ => examples}/tcp-listener.ts (100%) rename examples/{ => examples}/temporary-files.ts (100%) rename examples/{ => examples}/timers.ts (100%) rename examples/{ => examples}/tls-connector.ts (100%) rename examples/{ => examples}/tls-listener.ts (100%) rename examples/{ => examples}/typescript.ts (100%) rename examples/{ => examples}/udp-connector.ts (100%) rename examples/{ => examples}/udp-listener.ts (100%) rename examples/{ => examples}/ulid.ts (100%) rename examples/{ => examples}/unix-cat.ts (100%) rename examples/{ => examples}/unzip-gzipped-file.ts (100%) rename examples/{ => examples}/url-parsing.ts (100%) rename examples/{ => examples}/uuids.ts (100%) rename examples/{ => examples}/walking-directories.ts (100%) rename examples/{ => examples}/watching-files.ts (100%) rename examples/{ => examples}/web-workers.ts (100%) rename examples/{ => examples}/webassembly.ts (100%) rename examples/{ => examples}/websocket.ts (100%) rename examples/{ => examples}/writing-files.ts (100%) rename examples/{ => examples}/writing-tests.ts (100%) create mode 100644 examples/index.examples.tsx create mode 100644 examples/index.tsx create mode 100644 examples/index.video.tsx rename {runtime/tutorials/how_to_with_npm => examples/tutorials}/apollo.md (98%) create mode 100644 examples/tutorials/astro.md rename {runtime => examples}/tutorials/aws_lambda.md (98%) rename {runtime => examples}/tutorials/aws_lightsail.md (98%) rename {runtime => examples}/tutorials/chat_app.md (99%) rename {runtime => examples}/tutorials/cjs_to_esm.md (96%) rename {runtime => examples}/tutorials/cloudflare_workers.md (94%) rename {runtime => examples}/tutorials/connecting_to_databases.md (95%) rename {runtime/tutorials/how_to_with_npm => examples/tutorials}/create-react.md (99%) rename {runtime => examples}/tutorials/digital_ocean.md (98%) create mode 100644 examples/tutorials/drizzle.md rename {runtime/tutorials/how_to_with_npm => examples/tutorials}/express.md (97%) rename {runtime => examples}/tutorials/fetch_data.md (98%) rename {runtime => examples}/tutorials/file_based_routing.md (95%) rename {runtime => examples}/tutorials/file_server.md (98%) rename {runtime => examples}/tutorials/file_system_events.md (93%) rename {runtime => examples}/tutorials/google_cloud_run.md (98%) rename {runtime => examples}/tutorials/hashbang.md (97%) create mode 100644 examples/tutorials/images/how-to/astro/dynamic-page.webp create mode 100644 examples/tutorials/images/how-to/astro/hello-astro.png create mode 100644 examples/tutorials/images/how-to/astro/index-page.webp rename {runtime => examples}/tutorials/images/how-to/aws-lightsail/create-container-service-on-aws.png (100%) rename {runtime => examples}/tutorials/images/how-to/aws-lightsail/hello-world-from-deno-and-aws-lightsail.png (100%) rename {runtime => examples}/tutorials/images/how-to/aws-lightsail/hello-world-from-localhost.png (100%) rename {runtime => examples}/tutorials/images/how-to/aws-lightsail/new-image-on-docker-hub.png (100%) rename {runtime => examples}/tutorials/images/how-to/cloudflare-workers/main-on-cloudflare.png (100%) rename {runtime => examples}/tutorials/images/how-to/digital-ocean/hello-from-deno-and-digital-ocean.png (100%) rename {runtime => examples}/tutorials/images/how-to/digital-ocean/hello-world-from-localhost.png (100%) rename {runtime => examples}/tutorials/images/how-to/digital-ocean/new-deno-image-on-digital-ocean-container-registry.png (100%) create mode 100644 examples/tutorials/images/how-to/drizzle/table-diagram.png rename {runtime => examples}/tutorials/images/how-to/google-cloud-run/hello-from-google-cloud-run.png (100%) rename {runtime => examples}/tutorials/images/how-to/google-cloud-run/hello-world-from-localhost.png (100%) rename {runtime => examples}/tutorials/images/how-to/google-cloud-run/image-in-google-artifact-registry.png (100%) rename {runtime => examples}/tutorials/images/how-to/google-cloud-run/new-repository-in-google-artifact-repository.png (100%) rename {runtime => examples}/tutorials/images/how-to/next/dinoapp.gif (100%) rename {runtime => examples}/tutorials/images/how-to/prisma/1-dinosaurs-in-prisma.png (100%) rename {runtime => examples}/tutorials/images/how-to/prisma/2-dinosaurs-from-api.png (100%) rename {runtime => examples}/tutorials/images/how-to/prisma/3-new-dinosaur-in-prisma.png (100%) rename {runtime => examples}/tutorials/images/how-to/react/react-dinosaur-app-demo.gif (100%) rename {runtime => examples}/tutorials/images/how-to/redis/cached-redis-body.png (100%) rename {runtime => examples}/tutorials/images/how-to/redis/cached-redis-header.png (100%) rename {runtime => examples}/tutorials/images/how-to/redis/uncached-redis-body.png (100%) rename {runtime => examples}/tutorials/images/how-to/redis/uncached-redis-header.png (100%) rename {runtime => examples}/tutorials/images/how-to/vue/vue.gif (100%) rename {runtime => examples}/tutorials/images/quick-fix.png (100%) rename {runtime => examples}/tutorials/images/websockets.gif (100%) rename {runtime => examples}/tutorials/images/word_finder.png (100%) create mode 100644 examples/tutorials/initialize_project.md rename {runtime => examples}/tutorials/kinsta.md (92%) rename {runtime => examples}/tutorials/module_metadata.md (97%) rename {runtime/tutorials/how_to_with_npm => examples/tutorials}/mongoose.md (97%) rename {runtime/tutorials/how_to_with_npm => examples/tutorials}/mysql2.md (97%) rename {runtime/tutorials/how_to_with_npm => examples/tutorials}/next.md (98%) rename {runtime => examples}/tutorials/os_signals.md (96%) rename {runtime/tutorials/how_to_with_npm => examples/tutorials}/planetscale.md (97%) rename {runtime/tutorials/how_to_with_npm => examples/tutorials}/prisma.md (98%) rename {runtime/tutorials/how_to_with_npm => examples/tutorials}/react.md (99%) rename {runtime/tutorials/how_to_with_npm => examples/tutorials}/redis.md (98%) rename runtime/tutorials/hello_world.md => examples/tutorials/run_script.md (50%) rename {runtime => examples}/tutorials/subprocess.md (97%) create mode 100644 examples/tutorials/trpc.md rename {runtime/tutorials/how_to_with_npm => examples/tutorials}/vue.md (99%) rename {runtime => examples}/tutorials/word_finder.md (98%) create mode 100644 examples/types.ts create mode 100644 examples/utils/parseExample.ts delete mode 100644 examples_test.ts delete mode 100644 runtime/tutorials/index.md create mode 100644 youtube-lite.client.js create mode 100644 youtube-lite.css diff --git a/_components/Footer.tsx b/_components/Footer.tsx index 02c483871..a8651dee5 100644 --- a/_components/Footer.tsx +++ b/_components/Footer.tsx @@ -17,19 +17,19 @@ const data = [ items: [ { label: "Deno Runtime", - to: "/runtime/manual", + to: "/runtime/", }, { label: "Deno Deploy", - to: "/deploy/manual", + to: "/deploy/manual/", }, { label: "Deno Subhosting", - to: "/subhosting/manual", + to: "/subhosting/manual/", }, { label: "Examples", - href: "/examples", + href: "/examples/", }, { label: "Standard Library", diff --git a/_components/Header.tsx b/_components/Header.tsx index c95d80558..b0c9ae7d4 100644 --- a/_components/Header.tsx +++ b/_components/Header.tsx @@ -50,16 +50,16 @@ export default function Header({ />