From af1c26f9fee74b94f97a1e723e4f70ce18696a06 Mon Sep 17 00:00:00 2001 From: mychidarko Date: Sun, 19 Nov 2023 13:53:06 +0000 Subject: [PATCH] feat: add docs app scaffold --- apps/docs/.editorconfig | 10 + apps/docs/.github/FUNDING.yml | 4 + .../.github/contributing/oxford-comma.jpg | Bin 0 -> 222354 bytes .../.github/contributing/writing-guide.md | 111 + apps/docs/.github/dependabot.yml | 16 + apps/docs/.github/pull_request_template.md | 5 + apps/docs/.github/workflows/automerge.yml | 23 + apps/docs/.gitignore | 113 + apps/docs/.prettierrc | 6 + apps/docs/.vitepress/config.ts | 703 + apps/docs/.vitepress/headerMdPlugin.ts | 49 + .../inlined-scripts/restorePreference.js | 13 + .../.vitepress/theme/components/Banner.vue | 59 + .../theme/components/BlogSection.vue | 246 + .../.vitepress/theme/components/Footer.vue | 119 + .../docs/.vitepress/theme/components/Hero.vue | 118 + .../docs/.vitepress/theme/components/Home.vue | 336 + .../theme/components/NewsLetterSubstack.vue | 127 + .../theme/components/NewsLetterTinyLetter.vue | 201 + .../theme/components/PreferenceSwitch.vue | 248 + .../theme/components/ReplLoading.vue | 59 + .../.vitepress/theme/components/Speak.vue | 163 + .../theme/components/SponsorsAside.vue | 25 + .../theme/components/SponsorsGroup.vue | 229 + .../theme/components/Testimonials.vue | 209 + .../.vitepress/theme/components/VideoDocs.vue | 143 + .../.vitepress/theme/components/VueJobs.vue | 106 + .../theme/components/VueMasteryModal.vue | 158 + .../theme/components/VueSchoolLink.vue | 59 + .../theme/components/preferences.ts | 18 + apps/docs/.vitepress/theme/index.ts | 32 + apps/docs/.vitepress/theme/styles/badges.css | 28 + apps/docs/.vitepress/theme/styles/index.css | 6 + .../.vitepress/theme/styles/inline-demo.css | 90 + .../.vitepress/theme/styles/options-boxes.css | 27 + apps/docs/.vitepress/theme/styles/pages.css | 34 + .../.vitepress/theme/styles/style-guide.css | 65 + .../.vitepress/theme/styles/utilities.css | 14 + .../.vitepress/theme/styles/vue-mastery.css | 65 + apps/docs/LICENSE | 29 + apps/docs/LICENSE.VUEJS | 21 + apps/docs/README.md | 20 + apps/docs/env.d.ts | 13 + apps/docs/netlify.toml | 11 + apps/docs/package.json | 37 + apps/docs/src/aloe-cli/index.md | 60 + .../src/aloe-cli/v/1.2.3/commands/custom.md | 107 + .../aloe-cli/v/1.2.3/commands/d-commands.md | 90 + .../aloe-cli/v/1.2.3/commands/db-commands.md | 61 + .../aloe-cli/v/1.2.3/commands/g-commands.md | 117 + apps/docs/src/aloe-cli/v/1.2.3/commands/io.md | 328 + .../v/1.2.3/commands/misc-commands.md | 50 + .../aloe-cli/v/1.2.3/getting-started/index.md | 171 + apps/docs/src/aloe-cli/v/1.2.3/index.md | 113 + apps/docs/src/aloe-cli/v/1.2.3/installer.md | 56 + apps/docs/src/aloe-cli/v/1.2.3/libraries.md | 22 + apps/docs/src/changes.md | 929 + apps/docs/src/coc/index.md | 45 + apps/docs/src/codelabs/contributing.md | 94 + .../codelabs/experiments/auth/api/index.md | 345 + .../src/codelabs/experiments/auth/index.md | 12 + .../experiments/auth/session/index.md | 266 + .../src/codelabs/experiments/caching/index.md | 7 + .../deployment/digitalocean/index.md | 152 + .../experiments/deployment/heroku/index.md | 61 + .../codelabs/experiments/deployment/index.md | 8 + apps/docs/src/codelabs/experiments/index.md | 26 + .../codelabs/experiments/javascript/index.md | 7 + .../mail/dynamic-mail-templating/README.md | 105 + .../src/codelabs/experiments/mail/index.md | 7 + .../codelabs/experiments/websocket/index.md | 7 + apps/docs/src/codelabs/index.md | 38 + apps/docs/src/community/coc.md | 45 + apps/docs/src/community/community-guide.md | 83 + .../community/contributing/doc-style-guide.md | 152 + apps/docs/src/community/contributing/index.md | 78 + .../community/contributing/writing-guide.md | 111 + apps/docs/src/community/faq.md | 65 + apps/docs/src/community/history.md | 23 + apps/docs/src/community/images/ben-hong.jpeg | Bin 0 -> 36477 bytes apps/docs/src/community/images/evan-you.jpeg | Bin 0 -> 40509 bytes apps/docs/src/community/join.md | 58 + apps/docs/src/community/releases.md | 77 + apps/docs/src/community/team.md | 11 + apps/docs/src/community/team/Member.ts | 27 + apps/docs/src/community/team/TeamHero.vue | 75 + apps/docs/src/community/team/TeamList.vue | 117 + apps/docs/src/community/team/TeamMember.vue | 395 + apps/docs/src/community/team/TeamPage.vue | 79 + .../docs/src/community/team/members-core.json | 57 + .../src/community/team/members-emeriti.json | 241 + .../src/community/team/members-partner.json | 651 + .../community/team/members-translation.json | 39 + apps/docs/src/docs/cli/index.md | 432 + apps/docs/src/docs/config/index.md | 148 + apps/docs/src/docs/config/nsm.md | 99 + apps/docs/src/docs/config/settings.md | 128 + apps/docs/src/docs/introduction/docker.md | 130 + apps/docs/src/docs/introduction/features.md | 39 + apps/docs/src/docs/introduction/first-app.md | 469 + apps/docs/src/docs/introduction/index.md | 156 + .../src/docs/introduction/installation.md | 199 + .../src/docs/introduction/url-rewriting.md | 43 + apps/docs/src/docs/introduction/why.md | 55 + apps/docs/src/docs/leafapi/index.md | 121 + apps/docs/src/docs/leafmvc/index.md | 127 + apps/docs/src/docs/migration/introduction.md | 209 + apps/docs/src/docs/migration/leafapi.md | 130 + apps/docs/src/docs/migration/leafmvc.md | 0 apps/docs/src/docs/migration/other.md | 118 + apps/docs/src/docs/migration/skeleton.md | 0 apps/docs/src/docs/mvc/commands.md | 400 + apps/docs/src/docs/mvc/config.md | 734 + apps/docs/src/docs/mvc/console.md | 460 + apps/docs/src/docs/mvc/controllers.md | 238 + apps/docs/src/docs/mvc/globals.md | 287 + apps/docs/src/docs/mvc/index.md | 71 + apps/docs/src/docs/mvc/libraries.md | 81 + apps/docs/src/docs/mvc/mail.md | 352 + apps/docs/src/docs/mvc/migrations.md | 149 + apps/docs/src/docs/mvc/models.md | 281 + apps/docs/src/docs/mvc/routing.md | 101 + apps/docs/src/docs/mvc/schema.md | 260 + apps/docs/src/docs/mvc/seeds.md | 120 + apps/docs/src/docs/mvc/views.md | 81 + apps/docs/src/docs/routing/controller.md | 172 + apps/docs/src/docs/routing/dynamic.md | 147 + apps/docs/src/docs/routing/errors.md | 146 + apps/docs/src/docs/routing/index.md | 733 + apps/docs/src/docs/routing/middleware.md | 492 + apps/docs/src/docs/routing/mvc.md | 103 + apps/docs/src/docs/routing/sub-folder.md | 62 + apps/docs/src/docs/routing/sub-patterns.md | 82 + apps/docs/src/docs/routing/sub-routing.md | 240 + apps/docs/src/docs/skeleton/index.md | 93 + apps/docs/src/docs/tooling/app.md | 116 + apps/docs/src/docs/tooling/container.md | 55 + apps/docs/src/docs/tooling/deployment.md | 38 + apps/docs/src/docs/tooling/functions.md | 164 + apps/docs/src/docs/tooling/logging.md | 175 + apps/docs/src/docs/tooling/testing.md | 174 + apps/docs/src/docs/tooling/view.md | 109 + apps/docs/src/ecosystem/showcase.md | 9 + .../src/ecosystem/themes/ThemeContact.vue | 49 + apps/docs/src/ecosystem/themes/ThemeHero.vue | 64 + apps/docs/src/ecosystem/themes/ThemeList.vue | 41 + .../src/ecosystem/themes/ThemeListItem.vue | 153 + apps/docs/src/ecosystem/themes/ThemePage.vue | 23 + .../src/ecosystem/themes/ThemeProduct.vue | 97 + apps/docs/src/ecosystem/themes/themes.json | 38 + apps/docs/src/events/components/EventList.vue | 28 + .../docs/src/events/components/EventsHero.vue | 63 + .../docs/src/events/components/EventsPage.vue | 60 + .../src/events/components/PartnerCard.vue | 187 + .../src/events/components/PartnerLanding.vue | 90 + .../src/events/components/PartnerPage.vue | 161 + apps/docs/src/events/components/Speak.vue | 76 + apps/docs/src/events/components/type.ts | 15 + apps/docs/src/events/components/utils.ts | 12 + apps/docs/src/events/events copy.json | 19 + apps/docs/src/events/events.json | 19 + apps/docs/src/events/example.md | 12 + apps/docs/src/events/index.md | 10 + apps/docs/src/index.md | 10 + apps/docs/src/modules/anchor/csrf/index.md | 116 + apps/docs/src/modules/anchor/index.md | 67 + apps/docs/src/modules/auth/authentication.md | 133 + apps/docs/src/modules/auth/config.md | 366 + apps/docs/src/modules/auth/helpers.md | 137 + apps/docs/src/modules/auth/index.md | 265 + apps/docs/src/modules/auth/login.md | 387 + apps/docs/src/modules/auth/mvc.md | 17 + .../modules/auth/protecting-your-routes.md | 297 + apps/docs/src/modules/auth/session.md | 104 + apps/docs/src/modules/auth/signup.md | 421 + apps/docs/src/modules/auth/update.md | 128 + apps/docs/src/modules/auth/v/1/index.md | 775 + apps/docs/src/modules/auth/v/2.1/config.md | 206 + apps/docs/src/modules/auth/v/2.1/helpers.md | 137 + apps/docs/src/modules/auth/v/2.1/index.md | 158 + apps/docs/src/modules/auth/v/2.1/methods.md | 303 + apps/docs/src/modules/auth/v/2.1/session.md | 120 + apps/docs/src/modules/auth/v/2.1/v1-new.md | 3 + apps/docs/src/modules/auth/v/2.1/v2.0-new.md | 3 + apps/docs/src/modules/auth/v/2/config.md | 218 + apps/docs/src/modules/auth/v/2/index.md | 154 + apps/docs/src/modules/auth/v/2/methods.md | 309 + apps/docs/src/modules/auth/v/2/new.md | 3 + apps/docs/src/modules/auth/v/2/session.md | 137 + apps/docs/src/modules/cookies/index.md | 320 + apps/docs/src/modules/cors/index.md | 181 + apps/docs/src/modules/date/index.md | 494 + apps/docs/src/modules/db-old/index.md | 179 + apps/docs/src/modules/db-old/insert.md | 101 + apps/docs/src/modules/db-old/model.md | 40 + apps/docs/src/modules/db-old/select.md | 155 + apps/docs/src/modules/db/index.md | 688 + apps/docs/src/modules/db/mvc.md | 19 + apps/docs/src/modules/db/v/1/index.md | 520 + apps/docs/src/modules/db/v/2/builder.md | 820 + apps/docs/src/modules/db/v/2/index.md | 619 + apps/docs/src/modules/db/v/2/new.md | 344 + apps/docs/src/modules/devtools/index.md | 127 + apps/docs/src/modules/eien/http-server.md | 135 + apps/docs/src/modules/eien/index.md | 132 + apps/docs/src/modules/experiments/index.md | 115 + apps/docs/src/modules/fetch/index.md | 352 + apps/docs/src/modules/forms/index.md | 31 + apps/docs/src/modules/forms/v/1.2/index.md | 497 + apps/docs/src/modules/forms/v/1/index.md | 191 + apps/docs/src/modules/forms/v/2/index.md | 488 + apps/docs/src/modules/fs/index.md | 353 + apps/docs/src/modules/http/index.md | 74 + apps/docs/src/modules/http/v/1/cache.md | 68 + apps/docs/src/modules/http/v/1/headers.md | 187 + apps/docs/src/modules/http/v/1/index.md | 69 + apps/docs/src/modules/http/v/1/request.md | 436 + apps/docs/src/modules/http/v/1/response.md | 314 + apps/docs/src/modules/http/v/2/cache.md | 136 + apps/docs/src/modules/http/v/2/headers.md | 180 + apps/docs/src/modules/http/v/2/index.md | 61 + apps/docs/src/modules/http/v/2/request.md | 962 + apps/docs/src/modules/http/v/2/response.md | 638 + apps/docs/src/modules/http/v/2/status.md | 156 + apps/docs/src/modules/index.md | 80 + apps/docs/src/modules/logger/index.md | 63 + apps/docs/src/modules/mail/index.md | 274 + .../src/modules/mvc-core/api-controller.md | 100 + apps/docs/src/modules/mvc-core/controller.md | 129 + apps/docs/src/modules/mvc-core/factories.md | 91 + apps/docs/src/modules/mvc-core/index.md | 246 + apps/docs/src/modules/mvc-core/model.md | 277 + apps/docs/src/modules/password/index.md | 127 + apps/docs/src/modules/queues/index.md | 217 + apps/docs/src/modules/redis/index.md | 236 + apps/docs/src/modules/router/controller.md | 124 + apps/docs/src/modules/router/dynamic.md | 76 + apps/docs/src/modules/router/errors.md | 41 + apps/docs/src/modules/router/index.md | 273 + apps/docs/src/modules/router/middleware.md | 137 + apps/docs/src/modules/router/sub-folder.md | 37 + apps/docs/src/modules/router/sub-patterns.md | 41 + apps/docs/src/modules/router/sub-routing.md | 58 + apps/docs/src/modules/session/flash.md | 211 + apps/docs/src/modules/session/index.md | 649 + apps/docs/src/modules/views/bareui/index.md | 281 + apps/docs/src/modules/views/blade/index.md | 116 + apps/docs/src/modules/views/index.md | 46 + apps/docs/src/modules/views/inertia/index.md | 332 + apps/docs/src/modules/views/leaf-ui/index.md | 122 + .../src/modules/views/third-party/index.md | 126 + apps/docs/src/modules/views/veins/index.md | 213 + apps/docs/src/modules/views/viewi/index.md | 395 + apps/docs/src/modules/views/vite/index.md | 201 + apps/docs/src/public/449.css | 78745 ++++++++++++++++ apps/docs/src/public/_headers | 6 + apps/docs/src/public/_redirects | 8 + apps/docs/src/public/global.css | 109 + apps/docs/src/public/icons/flash.svg | 1 + apps/docs/src/public/icons/logo-github.svg | 1 + apps/docs/src/public/icons/logo-twitter.svg | 1 + apps/docs/src/public/icons/moon-outline.svg | 1 + apps/docs/src/public/icons/moon.svg | 1 + apps/docs/src/public/icons/search-outline.svg | 1 + apps/docs/src/public/icons/search-white.svg | 1 + apps/docs/src/public/icons/search.svg | 1 + apps/docs/src/public/icons/sunny.svg | 1 + .../public/images/blog/leaf3-event-banner.jpg | Bin 0 -> 109460 bytes .../src/public/images/blog/leaf3-event.jpg | Bin 0 -> 145834 bytes .../images/blog/leaf3-twitter-header.jpg | Bin 0 -> 190040 bytes .../public/images/blog/leaf3-twitter-post.jpg | Bin 0 -> 169731 bytes .../images/blog/leaf3-twitter-rebrand.jpg | Bin 0 -> 182739 bytes apps/docs/src/public/images/icons/bulb.svg | 10 + apps/docs/src/public/images/icons/danger.svg | 13 + .../src/public/images/icons/icon-128x128.png | Bin 0 -> 6002 bytes .../src/public/images/icons/icon-144x144.png | Bin 0 -> 6818 bytes .../src/public/images/icons/icon-152x152.png | Bin 0 -> 7195 bytes .../src/public/images/icons/icon-192x192.png | Bin 0 -> 9197 bytes .../src/public/images/icons/icon-384x384.png | Bin 0 -> 21760 bytes .../src/public/images/icons/icon-512x512.png | Bin 0 -> 26584 bytes .../src/public/images/icons/icon-72x72.png | Bin 0 -> 3444 bytes .../src/public/images/icons/icon-96x96.png | Bin 0 -> 4580 bytes apps/docs/src/public/images/icons/info.svg | 11 + apps/docs/src/public/images/icons/stop.svg | 10 + apps/docs/src/public/images/logo.png | Bin 0 -> 3451 bytes apps/docs/src/public/images/oxford-comma.jpg | Bin 0 -> 222354 bytes .../public/images/partners/64robots-hero.jpg | Bin 0 -> 101174 bytes .../src/public/images/partners/64robots.svg | 1 + .../public/images/partners/curotec-hero.jpg | Bin 0 -> 46326 bytes .../src/public/images/partners/curotec.png | Bin 0 -> 52265 bytes .../public/images/partners/devsquad-hero.jpg | Bin 0 -> 107822 bytes .../src/public/images/partners/devsquad.png | Bin 0 -> 13331 bytes .../public/images/partners/monterail-hero.jpg | Bin 0 -> 103441 bytes .../src/public/images/partners/monterail.png | Bin 0 -> 3989 bytes .../images/partners/passionatepeople-dark.png | Bin 0 -> 14267 bytes .../images/partners/passionatepeople-hero.jpg | Bin 0 -> 154121 bytes .../images/partners/passionatepeople.png | Bin 0 -> 19568 bytes .../public/images/partners/redberry-hero.jpg | Bin 0 -> 138949 bytes .../src/public/images/partners/redberry.png | Bin 0 -> 11394 bytes .../public/images/partners/tighten-dark.svg | 15 + .../public/images/partners/tighten-hero.jpg | Bin 0 -> 48753 bytes .../src/public/images/partners/tighten.svg | 15 + .../public/images/partners/vehikl-dark.svg | 11 + .../public/images/partners/vehikl-hero.jpg | Bin 0 -> 80091 bytes .../src/public/images/partners/vehikl.svg | 1 + .../images/partners/webreinvent-hero.jpg | Bin 0 -> 45535 bytes .../public/images/partners/webreinvent.png | Bin 0 -> 22358 bytes apps/docs/src/public/images/paypal.png | Bin 0 -> 4373 bytes apps/docs/src/public/images/sponsors/.gitkeep | 0 .../src/public/images/sponsors/hbuilder.avif | Bin 0 -> 3692 bytes .../src/public/images/sponsors/hbuilder.png | Bin 0 -> 17128 bytes .../src/public/images/vueschool/vs-close.svg | 7 + .../images/vueschool/vs-fw-bg-small.svg | 183 + .../src/public/images/vueschool/vs-fw-bg.svg | 219 + .../src/public/images/vueschool/vs-iso.svg | 7 + .../src/public/images/vueschool/vs-logo.svg | 8 + apps/docs/src/public/logo-circle.png | Bin 0 -> 14901 bytes apps/docs/src/public/logo.png | Bin 0 -> 22651 bytes apps/docs/src/public/manifest.json | 50 + apps/docs/src/public/service-worker.js | 15 + apps/docs/src/public/sponsors.json | 302 + apps/docs/src/sponsor/index.md | 54 + apps/docs/src/support/index.md | 54 + apps/docs/src/translations/index.md | 25 + apps/docs/src/tutorial/Repl/old/ssr-stub.js | 1 + apps/docs/src/tutorial/Repl/old/style.css | 937 + apps/docs/src/tutorial/Repl/old/vue-repl.js | 36971 ++++++++ apps/docs/src/tutorial/Repl/ssr-stub.js | 1 + apps/docs/src/tutorial/Repl/style.css | 937 + apps/docs/src/tutorial/Repl/vue-repl.js | 36641 +++++++ apps/docs/src/tutorial/TutorialRepl.vue | 379 + apps/docs/src/tutorial/examples.data.ts | 74 + apps/docs/src/tutorial/index.md | 26 + .../src/tutorial/src/step-1/description.md | 46 + .../tutorial/src/step-1/index/classMode.php | 13 + .../src/step-1/index/functionalMode.php | 11 + .../docs/src/tutorial/src/step-1/request.json | 6 + .../src/step-10/_hint/index/classMode.php | 50 + .../step-10/_hint/index/functionalMode.php | 47 + .../tutorial/src/step-10/_hint/request.json | 6 + .../src/tutorial/src/step-10/description.md | 137 + .../tutorial/src/step-10/index/classMode.php | 13 + .../src/step-10/index/functionalMode.php | 11 + .../src/tutorial/src/step-10/request.json | 6 + .../src/step-11/_hint/index/classMode.php | 40 + .../step-11/_hint/index/functionalMode.php | 37 + .../tutorial/src/step-11/_hint/request.json | 6 + .../src/tutorial/src/step-11/description.md | 59 + .../tutorial/src/step-11/index/classMode.php | 37 + .../src/step-11/index/functionalMode.php | 34 + .../src/tutorial/src/step-11/request.json | 6 + .../src/step-12/_hint/index/classMode.php | 40 + .../step-12/_hint/index/functionalMode.php | 37 + .../tutorial/src/step-12/_hint/request.json | 10 + .../src/tutorial/src/step-12/description.md | 90 + .../tutorial/src/step-12/index/classMode.php | 40 + .../src/step-12/index/functionalMode.php | 37 + .../src/tutorial/src/step-12/request.json | 10 + .../src/step-13/_hint/index/classMode.php | 31 + .../step-13/_hint/index/functionalMode.php | 13 + .../tutorial/src/step-13/_hint/request.json | 10 + .../src/tutorial/src/step-13/description.md | 128 + .../tutorial/src/step-13/index/classMode.php | 10 + .../src/step-13/index/functionalMode.php | 8 + .../src/tutorial/src/step-13/request.json | 10 + .../src/step-14/_hint/index/classMode.php | 15 + .../step-14/_hint/index/functionalMode.php | 13 + .../tutorial/src/step-14/_hint/request.json | 10 + .../src/tutorial/src/step-14/description.md | 58 + .../tutorial/src/step-14/index/classMode.php | 10 + .../src/step-14/index/functionalMode.php | 8 + .../src/tutorial/src/step-14/request.json | 10 + .../src/tutorial/src/step-15/description.md | 20 + .../tutorial/src/step-15/index/classMode.php | 25 + .../src/step-15/index/functionalMode.php | 25 + .../src/tutorial/src/step-15/request.json | 6 + apps/docs/src/tutorial/src/step-15/style.css | 15 + .../src/step-2/_hint/index/classMode.php | 19 + .../src/step-2/_hint/index/functionalMode.php | 17 + .../tutorial/src/step-2/_hint/request.json | 6 + .../src/tutorial/src/step-2/description.md | 118 + .../tutorial/src/step-2/index/classMode.php | 11 + .../src/step-2/index/functionalMode.php | 9 + .../docs/src/tutorial/src/step-2/request.json | 6 + .../src/step-3/_hint/index/classMode.php | 15 + .../src/step-3/_hint/index/functionalMode.php | 13 + .../tutorial/src/step-3/_hint/request.json | 6 + .../src/tutorial/src/step-3/description.md | 56 + .../tutorial/src/step-3/index/classMode.php | 10 + .../src/step-3/index/functionalMode.php | 8 + .../docs/src/tutorial/src/step-3/request.json | 6 + .../src/step-4/_hint/index/classMode.php | 29 + .../src/step-4/_hint/index/functionalMode.php | 27 + .../src/tutorial/src/step-4/_hint/page.html | 105 + .../tutorial/src/step-4/_hint/request.json | 6 + .../src/tutorial/src/step-4/description.md | 273 + .../tutorial/src/step-4/index/classMode.php | 24 + .../src/step-4/index/functionalMode.php | 22 + apps/docs/src/tutorial/src/step-4/page.html | 105 + .../docs/src/tutorial/src/step-4/request.json | 6 + .../src/step-5/_hint/index/classMode.php | 17 + .../src/step-5/_hint/index/functionalMode.php | 15 + .../tutorial/src/step-5/_hint/request.json | 10 + .../src/tutorial/src/step-5/description.md | 170 + .../tutorial/src/step-5/index/classMode.php | 9 + .../src/step-5/index/functionalMode.php | 7 + .../docs/src/tutorial/src/step-5/request.json | 10 + .../src/step-6/_hint/index/classMode.php | 20 + .../src/step-6/_hint/index/functionalMode.php | 18 + .../tutorial/src/step-6/_hint/request.json | 10 + .../src/tutorial/src/step-6/description.md | 179 + .../tutorial/src/step-6/index/classMode.php | 9 + .../src/step-6/index/functionalMode.php | 7 + .../docs/src/tutorial/src/step-6/request.json | 10 + .../src/step-7/_hint/index/classMode.php | 14 + .../src/step-7/_hint/index/functionalMode.php | 12 + .../tutorial/src/step-7/_hint/request.json | 10 + .../src/tutorial/src/step-7/description.md | 207 + .../tutorial/src/step-7/index/classMode.php | 14 + .../src/step-7/index/functionalMode.php | 12 + .../docs/src/tutorial/src/step-7/request.json | 10 + .../src/step-8/_hint/index/classMode.php | 20 + .../src/step-8/_hint/index/functionalMode.php | 18 + .../tutorial/src/step-8/_hint/request.json | 11 + .../src/tutorial/src/step-8/description.md | 212 + .../tutorial/src/step-8/index/classMode.php | 9 + .../src/step-8/index/functionalMode.php | 7 + .../docs/src/tutorial/src/step-8/request.json | 11 + .../src/step-9/_hint/index/classMode.php | 15 + .../src/step-9/_hint/index/functionalMode.php | 13 + .../tutorial/src/step-9/_hint/request.json | 10 + .../src/tutorial/src/step-9/description.md | 44 + .../tutorial/src/step-9/index/classMode.php | 10 + .../src/step-9/index/functionalMode.php | 8 + .../docs/src/tutorial/src/step-9/request.json | 10 + apps/docs/src/tutorial/tutorial.data.ts | 27 + apps/docs/src/tutorial/utils.ts | 219 + apps/docs/tsconfig.json | 18 + 438 files changed, 200294 insertions(+) create mode 100644 apps/docs/.editorconfig create mode 100644 apps/docs/.github/FUNDING.yml create mode 100644 apps/docs/.github/contributing/oxford-comma.jpg create mode 100644 apps/docs/.github/contributing/writing-guide.md create mode 100644 apps/docs/.github/dependabot.yml create mode 100644 apps/docs/.github/pull_request_template.md create mode 100644 apps/docs/.github/workflows/automerge.yml create mode 100644 apps/docs/.gitignore create mode 100644 apps/docs/.prettierrc create mode 100644 apps/docs/.vitepress/config.ts create mode 100644 apps/docs/.vitepress/headerMdPlugin.ts create mode 100644 apps/docs/.vitepress/inlined-scripts/restorePreference.js create mode 100644 apps/docs/.vitepress/theme/components/Banner.vue create mode 100644 apps/docs/.vitepress/theme/components/BlogSection.vue create mode 100644 apps/docs/.vitepress/theme/components/Footer.vue create mode 100644 apps/docs/.vitepress/theme/components/Hero.vue create mode 100644 apps/docs/.vitepress/theme/components/Home.vue create mode 100644 apps/docs/.vitepress/theme/components/NewsLetterSubstack.vue create mode 100644 apps/docs/.vitepress/theme/components/NewsLetterTinyLetter.vue create mode 100644 apps/docs/.vitepress/theme/components/PreferenceSwitch.vue create mode 100644 apps/docs/.vitepress/theme/components/ReplLoading.vue create mode 100644 apps/docs/.vitepress/theme/components/Speak.vue create mode 100644 apps/docs/.vitepress/theme/components/SponsorsAside.vue create mode 100644 apps/docs/.vitepress/theme/components/SponsorsGroup.vue create mode 100644 apps/docs/.vitepress/theme/components/Testimonials.vue create mode 100644 apps/docs/.vitepress/theme/components/VideoDocs.vue create mode 100644 apps/docs/.vitepress/theme/components/VueJobs.vue create mode 100644 apps/docs/.vitepress/theme/components/VueMasteryModal.vue create mode 100644 apps/docs/.vitepress/theme/components/VueSchoolLink.vue create mode 100644 apps/docs/.vitepress/theme/components/preferences.ts create mode 100644 apps/docs/.vitepress/theme/index.ts create mode 100644 apps/docs/.vitepress/theme/styles/badges.css create mode 100644 apps/docs/.vitepress/theme/styles/index.css create mode 100644 apps/docs/.vitepress/theme/styles/inline-demo.css create mode 100644 apps/docs/.vitepress/theme/styles/options-boxes.css create mode 100644 apps/docs/.vitepress/theme/styles/pages.css create mode 100644 apps/docs/.vitepress/theme/styles/style-guide.css create mode 100644 apps/docs/.vitepress/theme/styles/utilities.css create mode 100644 apps/docs/.vitepress/theme/styles/vue-mastery.css create mode 100644 apps/docs/LICENSE create mode 100644 apps/docs/LICENSE.VUEJS create mode 100644 apps/docs/README.md create mode 100644 apps/docs/env.d.ts create mode 100644 apps/docs/netlify.toml create mode 100644 apps/docs/package.json create mode 100755 apps/docs/src/aloe-cli/index.md create mode 100755 apps/docs/src/aloe-cli/v/1.2.3/commands/custom.md create mode 100755 apps/docs/src/aloe-cli/v/1.2.3/commands/d-commands.md create mode 100755 apps/docs/src/aloe-cli/v/1.2.3/commands/db-commands.md create mode 100755 apps/docs/src/aloe-cli/v/1.2.3/commands/g-commands.md create mode 100755 apps/docs/src/aloe-cli/v/1.2.3/commands/io.md create mode 100755 apps/docs/src/aloe-cli/v/1.2.3/commands/misc-commands.md create mode 100755 apps/docs/src/aloe-cli/v/1.2.3/getting-started/index.md create mode 100644 apps/docs/src/aloe-cli/v/1.2.3/index.md create mode 100644 apps/docs/src/aloe-cli/v/1.2.3/installer.md create mode 100755 apps/docs/src/aloe-cli/v/1.2.3/libraries.md create mode 100644 apps/docs/src/changes.md create mode 100644 apps/docs/src/coc/index.md create mode 100644 apps/docs/src/codelabs/contributing.md create mode 100755 apps/docs/src/codelabs/experiments/auth/api/index.md create mode 100644 apps/docs/src/codelabs/experiments/auth/index.md create mode 100755 apps/docs/src/codelabs/experiments/auth/session/index.md create mode 100644 apps/docs/src/codelabs/experiments/caching/index.md create mode 100644 apps/docs/src/codelabs/experiments/deployment/digitalocean/index.md create mode 100644 apps/docs/src/codelabs/experiments/deployment/heroku/index.md create mode 100644 apps/docs/src/codelabs/experiments/deployment/index.md create mode 100644 apps/docs/src/codelabs/experiments/index.md create mode 100644 apps/docs/src/codelabs/experiments/javascript/index.md create mode 100755 apps/docs/src/codelabs/experiments/mail/dynamic-mail-templating/README.md create mode 100644 apps/docs/src/codelabs/experiments/mail/index.md create mode 100644 apps/docs/src/codelabs/experiments/websocket/index.md create mode 100644 apps/docs/src/codelabs/index.md create mode 100644 apps/docs/src/community/coc.md create mode 100644 apps/docs/src/community/community-guide.md create mode 100644 apps/docs/src/community/contributing/doc-style-guide.md create mode 100644 apps/docs/src/community/contributing/index.md create mode 100644 apps/docs/src/community/contributing/writing-guide.md create mode 100644 apps/docs/src/community/faq.md create mode 100644 apps/docs/src/community/history.md create mode 100644 apps/docs/src/community/images/ben-hong.jpeg create mode 100644 apps/docs/src/community/images/evan-you.jpeg create mode 100644 apps/docs/src/community/join.md create mode 100644 apps/docs/src/community/releases.md create mode 100644 apps/docs/src/community/team.md create mode 100644 apps/docs/src/community/team/Member.ts create mode 100644 apps/docs/src/community/team/TeamHero.vue create mode 100644 apps/docs/src/community/team/TeamList.vue create mode 100644 apps/docs/src/community/team/TeamMember.vue create mode 100644 apps/docs/src/community/team/TeamPage.vue create mode 100644 apps/docs/src/community/team/members-core.json create mode 100644 apps/docs/src/community/team/members-emeriti.json create mode 100644 apps/docs/src/community/team/members-partner.json create mode 100644 apps/docs/src/community/team/members-translation.json create mode 100644 apps/docs/src/docs/cli/index.md create mode 100755 apps/docs/src/docs/config/index.md create mode 100755 apps/docs/src/docs/config/nsm.md create mode 100755 apps/docs/src/docs/config/settings.md create mode 100644 apps/docs/src/docs/introduction/docker.md create mode 100644 apps/docs/src/docs/introduction/features.md create mode 100644 apps/docs/src/docs/introduction/first-app.md create mode 100644 apps/docs/src/docs/introduction/index.md create mode 100644 apps/docs/src/docs/introduction/installation.md create mode 100755 apps/docs/src/docs/introduction/url-rewriting.md create mode 100644 apps/docs/src/docs/introduction/why.md create mode 100644 apps/docs/src/docs/leafapi/index.md create mode 100644 apps/docs/src/docs/leafmvc/index.md create mode 100644 apps/docs/src/docs/migration/introduction.md create mode 100644 apps/docs/src/docs/migration/leafapi.md create mode 100644 apps/docs/src/docs/migration/leafmvc.md create mode 100644 apps/docs/src/docs/migration/other.md create mode 100644 apps/docs/src/docs/migration/skeleton.md create mode 100644 apps/docs/src/docs/mvc/commands.md create mode 100644 apps/docs/src/docs/mvc/config.md create mode 100644 apps/docs/src/docs/mvc/console.md create mode 100644 apps/docs/src/docs/mvc/controllers.md create mode 100644 apps/docs/src/docs/mvc/globals.md create mode 100644 apps/docs/src/docs/mvc/index.md create mode 100644 apps/docs/src/docs/mvc/libraries.md create mode 100644 apps/docs/src/docs/mvc/mail.md create mode 100644 apps/docs/src/docs/mvc/migrations.md create mode 100644 apps/docs/src/docs/mvc/models.md create mode 100644 apps/docs/src/docs/mvc/routing.md create mode 100644 apps/docs/src/docs/mvc/schema.md create mode 100644 apps/docs/src/docs/mvc/seeds.md create mode 100644 apps/docs/src/docs/mvc/views.md create mode 100755 apps/docs/src/docs/routing/controller.md create mode 100755 apps/docs/src/docs/routing/dynamic.md create mode 100755 apps/docs/src/docs/routing/errors.md create mode 100755 apps/docs/src/docs/routing/index.md create mode 100755 apps/docs/src/docs/routing/middleware.md create mode 100644 apps/docs/src/docs/routing/mvc.md create mode 100755 apps/docs/src/docs/routing/sub-folder.md create mode 100755 apps/docs/src/docs/routing/sub-patterns.md create mode 100755 apps/docs/src/docs/routing/sub-routing.md create mode 100644 apps/docs/src/docs/skeleton/index.md create mode 100644 apps/docs/src/docs/tooling/app.md create mode 100644 apps/docs/src/docs/tooling/container.md create mode 100644 apps/docs/src/docs/tooling/deployment.md create mode 100644 apps/docs/src/docs/tooling/functions.md create mode 100644 apps/docs/src/docs/tooling/logging.md create mode 100644 apps/docs/src/docs/tooling/testing.md create mode 100644 apps/docs/src/docs/tooling/view.md create mode 100644 apps/docs/src/ecosystem/showcase.md create mode 100644 apps/docs/src/ecosystem/themes/ThemeContact.vue create mode 100644 apps/docs/src/ecosystem/themes/ThemeHero.vue create mode 100644 apps/docs/src/ecosystem/themes/ThemeList.vue create mode 100644 apps/docs/src/ecosystem/themes/ThemeListItem.vue create mode 100644 apps/docs/src/ecosystem/themes/ThemePage.vue create mode 100644 apps/docs/src/ecosystem/themes/ThemeProduct.vue create mode 100644 apps/docs/src/ecosystem/themes/themes.json create mode 100644 apps/docs/src/events/components/EventList.vue create mode 100644 apps/docs/src/events/components/EventsHero.vue create mode 100644 apps/docs/src/events/components/EventsPage.vue create mode 100644 apps/docs/src/events/components/PartnerCard.vue create mode 100644 apps/docs/src/events/components/PartnerLanding.vue create mode 100644 apps/docs/src/events/components/PartnerPage.vue create mode 100644 apps/docs/src/events/components/Speak.vue create mode 100644 apps/docs/src/events/components/type.ts create mode 100644 apps/docs/src/events/components/utils.ts create mode 100644 apps/docs/src/events/events copy.json create mode 100644 apps/docs/src/events/events.json create mode 100644 apps/docs/src/events/example.md create mode 100644 apps/docs/src/events/index.md create mode 100644 apps/docs/src/index.md create mode 100644 apps/docs/src/modules/anchor/csrf/index.md create mode 100644 apps/docs/src/modules/anchor/index.md create mode 100755 apps/docs/src/modules/auth/authentication.md create mode 100755 apps/docs/src/modules/auth/config.md create mode 100644 apps/docs/src/modules/auth/helpers.md create mode 100755 apps/docs/src/modules/auth/index.md create mode 100644 apps/docs/src/modules/auth/login.md create mode 100644 apps/docs/src/modules/auth/mvc.md create mode 100644 apps/docs/src/modules/auth/protecting-your-routes.md create mode 100644 apps/docs/src/modules/auth/session.md create mode 100644 apps/docs/src/modules/auth/signup.md create mode 100755 apps/docs/src/modules/auth/update.md create mode 100755 apps/docs/src/modules/auth/v/1/index.md create mode 100755 apps/docs/src/modules/auth/v/2.1/config.md create mode 100644 apps/docs/src/modules/auth/v/2.1/helpers.md create mode 100755 apps/docs/src/modules/auth/v/2.1/index.md create mode 100755 apps/docs/src/modules/auth/v/2.1/methods.md create mode 100644 apps/docs/src/modules/auth/v/2.1/session.md create mode 100644 apps/docs/src/modules/auth/v/2.1/v1-new.md create mode 100644 apps/docs/src/modules/auth/v/2.1/v2.0-new.md create mode 100755 apps/docs/src/modules/auth/v/2/config.md create mode 100755 apps/docs/src/modules/auth/v/2/index.md create mode 100755 apps/docs/src/modules/auth/v/2/methods.md create mode 100644 apps/docs/src/modules/auth/v/2/new.md create mode 100644 apps/docs/src/modules/auth/v/2/session.md create mode 100755 apps/docs/src/modules/cookies/index.md create mode 100755 apps/docs/src/modules/cors/index.md create mode 100755 apps/docs/src/modules/date/index.md create mode 100755 apps/docs/src/modules/db-old/index.md create mode 100755 apps/docs/src/modules/db-old/insert.md create mode 100755 apps/docs/src/modules/db-old/model.md create mode 100755 apps/docs/src/modules/db-old/select.md create mode 100755 apps/docs/src/modules/db/index.md create mode 100644 apps/docs/src/modules/db/mvc.md create mode 100755 apps/docs/src/modules/db/v/1/index.md create mode 100644 apps/docs/src/modules/db/v/2/builder.md create mode 100755 apps/docs/src/modules/db/v/2/index.md create mode 100644 apps/docs/src/modules/db/v/2/new.md create mode 100644 apps/docs/src/modules/devtools/index.md create mode 100644 apps/docs/src/modules/eien/http-server.md create mode 100644 apps/docs/src/modules/eien/index.md create mode 100755 apps/docs/src/modules/experiments/index.md create mode 100644 apps/docs/src/modules/fetch/index.md create mode 100755 apps/docs/src/modules/forms/index.md create mode 100755 apps/docs/src/modules/forms/v/1.2/index.md create mode 100755 apps/docs/src/modules/forms/v/1/index.md create mode 100644 apps/docs/src/modules/forms/v/2/index.md create mode 100755 apps/docs/src/modules/fs/index.md create mode 100644 apps/docs/src/modules/http/index.md create mode 100755 apps/docs/src/modules/http/v/1/cache.md create mode 100755 apps/docs/src/modules/http/v/1/headers.md create mode 100644 apps/docs/src/modules/http/v/1/index.md create mode 100755 apps/docs/src/modules/http/v/1/request.md create mode 100755 apps/docs/src/modules/http/v/1/response.md create mode 100755 apps/docs/src/modules/http/v/2/cache.md create mode 100755 apps/docs/src/modules/http/v/2/headers.md create mode 100644 apps/docs/src/modules/http/v/2/index.md create mode 100755 apps/docs/src/modules/http/v/2/request.md create mode 100755 apps/docs/src/modules/http/v/2/response.md create mode 100755 apps/docs/src/modules/http/v/2/status.md create mode 100644 apps/docs/src/modules/index.md create mode 100644 apps/docs/src/modules/logger/index.md create mode 100755 apps/docs/src/modules/mail/index.md create mode 100755 apps/docs/src/modules/mvc-core/api-controller.md create mode 100755 apps/docs/src/modules/mvc-core/controller.md create mode 100755 apps/docs/src/modules/mvc-core/factories.md create mode 100644 apps/docs/src/modules/mvc-core/index.md create mode 100755 apps/docs/src/modules/mvc-core/model.md create mode 100755 apps/docs/src/modules/password/index.md create mode 100644 apps/docs/src/modules/queues/index.md create mode 100644 apps/docs/src/modules/redis/index.md create mode 100755 apps/docs/src/modules/router/controller.md create mode 100755 apps/docs/src/modules/router/dynamic.md create mode 100755 apps/docs/src/modules/router/errors.md create mode 100755 apps/docs/src/modules/router/index.md create mode 100755 apps/docs/src/modules/router/middleware.md create mode 100755 apps/docs/src/modules/router/sub-folder.md create mode 100755 apps/docs/src/modules/router/sub-patterns.md create mode 100755 apps/docs/src/modules/router/sub-routing.md create mode 100755 apps/docs/src/modules/session/flash.md create mode 100755 apps/docs/src/modules/session/index.md create mode 100644 apps/docs/src/modules/views/bareui/index.md create mode 100755 apps/docs/src/modules/views/blade/index.md create mode 100644 apps/docs/src/modules/views/index.md create mode 100644 apps/docs/src/modules/views/inertia/index.md create mode 100644 apps/docs/src/modules/views/leaf-ui/index.md create mode 100644 apps/docs/src/modules/views/third-party/index.md create mode 100755 apps/docs/src/modules/views/veins/index.md create mode 100644 apps/docs/src/modules/views/viewi/index.md create mode 100644 apps/docs/src/modules/views/vite/index.md create mode 100644 apps/docs/src/public/449.css create mode 100644 apps/docs/src/public/_headers create mode 100644 apps/docs/src/public/_redirects create mode 100644 apps/docs/src/public/global.css create mode 100644 apps/docs/src/public/icons/flash.svg create mode 100644 apps/docs/src/public/icons/logo-github.svg create mode 100644 apps/docs/src/public/icons/logo-twitter.svg create mode 100644 apps/docs/src/public/icons/moon-outline.svg create mode 100644 apps/docs/src/public/icons/moon.svg create mode 100644 apps/docs/src/public/icons/search-outline.svg create mode 100644 apps/docs/src/public/icons/search-white.svg create mode 100644 apps/docs/src/public/icons/search.svg create mode 100644 apps/docs/src/public/icons/sunny.svg create mode 100644 apps/docs/src/public/images/blog/leaf3-event-banner.jpg create mode 100644 apps/docs/src/public/images/blog/leaf3-event.jpg create mode 100644 apps/docs/src/public/images/blog/leaf3-twitter-header.jpg create mode 100644 apps/docs/src/public/images/blog/leaf3-twitter-post.jpg create mode 100644 apps/docs/src/public/images/blog/leaf3-twitter-rebrand.jpg create mode 100644 apps/docs/src/public/images/icons/bulb.svg create mode 100644 apps/docs/src/public/images/icons/danger.svg create mode 100644 apps/docs/src/public/images/icons/icon-128x128.png create mode 100644 apps/docs/src/public/images/icons/icon-144x144.png create mode 100644 apps/docs/src/public/images/icons/icon-152x152.png create mode 100644 apps/docs/src/public/images/icons/icon-192x192.png create mode 100644 apps/docs/src/public/images/icons/icon-384x384.png create mode 100644 apps/docs/src/public/images/icons/icon-512x512.png create mode 100644 apps/docs/src/public/images/icons/icon-72x72.png create mode 100644 apps/docs/src/public/images/icons/icon-96x96.png create mode 100644 apps/docs/src/public/images/icons/info.svg create mode 100644 apps/docs/src/public/images/icons/stop.svg create mode 100644 apps/docs/src/public/images/logo.png create mode 100644 apps/docs/src/public/images/oxford-comma.jpg create mode 100644 apps/docs/src/public/images/partners/64robots-hero.jpg create mode 100644 apps/docs/src/public/images/partners/64robots.svg create mode 100644 apps/docs/src/public/images/partners/curotec-hero.jpg create mode 100644 apps/docs/src/public/images/partners/curotec.png create mode 100644 apps/docs/src/public/images/partners/devsquad-hero.jpg create mode 100644 apps/docs/src/public/images/partners/devsquad.png create mode 100644 apps/docs/src/public/images/partners/monterail-hero.jpg create mode 100644 apps/docs/src/public/images/partners/monterail.png create mode 100644 apps/docs/src/public/images/partners/passionatepeople-dark.png create mode 100644 apps/docs/src/public/images/partners/passionatepeople-hero.jpg create mode 100644 apps/docs/src/public/images/partners/passionatepeople.png create mode 100644 apps/docs/src/public/images/partners/redberry-hero.jpg create mode 100644 apps/docs/src/public/images/partners/redberry.png create mode 100644 apps/docs/src/public/images/partners/tighten-dark.svg create mode 100644 apps/docs/src/public/images/partners/tighten-hero.jpg create mode 100644 apps/docs/src/public/images/partners/tighten.svg create mode 100644 apps/docs/src/public/images/partners/vehikl-dark.svg create mode 100644 apps/docs/src/public/images/partners/vehikl-hero.jpg create mode 100644 apps/docs/src/public/images/partners/vehikl.svg create mode 100644 apps/docs/src/public/images/partners/webreinvent-hero.jpg create mode 100644 apps/docs/src/public/images/partners/webreinvent.png create mode 100644 apps/docs/src/public/images/paypal.png create mode 100644 apps/docs/src/public/images/sponsors/.gitkeep create mode 100644 apps/docs/src/public/images/sponsors/hbuilder.avif create mode 100644 apps/docs/src/public/images/sponsors/hbuilder.png create mode 100644 apps/docs/src/public/images/vueschool/vs-close.svg create mode 100644 apps/docs/src/public/images/vueschool/vs-fw-bg-small.svg create mode 100644 apps/docs/src/public/images/vueschool/vs-fw-bg.svg create mode 100644 apps/docs/src/public/images/vueschool/vs-iso.svg create mode 100644 apps/docs/src/public/images/vueschool/vs-logo.svg create mode 100644 apps/docs/src/public/logo-circle.png create mode 100644 apps/docs/src/public/logo.png create mode 100644 apps/docs/src/public/manifest.json create mode 100644 apps/docs/src/public/service-worker.js create mode 100644 apps/docs/src/public/sponsors.json create mode 100644 apps/docs/src/sponsor/index.md create mode 100644 apps/docs/src/support/index.md create mode 100644 apps/docs/src/translations/index.md create mode 100644 apps/docs/src/tutorial/Repl/old/ssr-stub.js create mode 100644 apps/docs/src/tutorial/Repl/old/style.css create mode 100644 apps/docs/src/tutorial/Repl/old/vue-repl.js create mode 100644 apps/docs/src/tutorial/Repl/ssr-stub.js create mode 100644 apps/docs/src/tutorial/Repl/style.css create mode 100644 apps/docs/src/tutorial/Repl/vue-repl.js create mode 100644 apps/docs/src/tutorial/TutorialRepl.vue create mode 100644 apps/docs/src/tutorial/examples.data.ts create mode 100644 apps/docs/src/tutorial/index.md create mode 100644 apps/docs/src/tutorial/src/step-1/description.md create mode 100644 apps/docs/src/tutorial/src/step-1/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-1/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-1/request.json create mode 100644 apps/docs/src/tutorial/src/step-10/_hint/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-10/_hint/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-10/_hint/request.json create mode 100644 apps/docs/src/tutorial/src/step-10/description.md create mode 100644 apps/docs/src/tutorial/src/step-10/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-10/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-10/request.json create mode 100644 apps/docs/src/tutorial/src/step-11/_hint/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-11/_hint/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-11/_hint/request.json create mode 100644 apps/docs/src/tutorial/src/step-11/description.md create mode 100644 apps/docs/src/tutorial/src/step-11/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-11/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-11/request.json create mode 100644 apps/docs/src/tutorial/src/step-12/_hint/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-12/_hint/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-12/_hint/request.json create mode 100644 apps/docs/src/tutorial/src/step-12/description.md create mode 100644 apps/docs/src/tutorial/src/step-12/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-12/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-12/request.json create mode 100644 apps/docs/src/tutorial/src/step-13/_hint/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-13/_hint/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-13/_hint/request.json create mode 100644 apps/docs/src/tutorial/src/step-13/description.md create mode 100644 apps/docs/src/tutorial/src/step-13/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-13/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-13/request.json create mode 100644 apps/docs/src/tutorial/src/step-14/_hint/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-14/_hint/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-14/_hint/request.json create mode 100644 apps/docs/src/tutorial/src/step-14/description.md create mode 100644 apps/docs/src/tutorial/src/step-14/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-14/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-14/request.json create mode 100644 apps/docs/src/tutorial/src/step-15/description.md create mode 100644 apps/docs/src/tutorial/src/step-15/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-15/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-15/request.json create mode 100644 apps/docs/src/tutorial/src/step-15/style.css create mode 100644 apps/docs/src/tutorial/src/step-2/_hint/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-2/_hint/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-2/_hint/request.json create mode 100644 apps/docs/src/tutorial/src/step-2/description.md create mode 100644 apps/docs/src/tutorial/src/step-2/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-2/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-2/request.json create mode 100644 apps/docs/src/tutorial/src/step-3/_hint/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-3/_hint/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-3/_hint/request.json create mode 100644 apps/docs/src/tutorial/src/step-3/description.md create mode 100644 apps/docs/src/tutorial/src/step-3/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-3/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-3/request.json create mode 100644 apps/docs/src/tutorial/src/step-4/_hint/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-4/_hint/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-4/_hint/page.html create mode 100644 apps/docs/src/tutorial/src/step-4/_hint/request.json create mode 100644 apps/docs/src/tutorial/src/step-4/description.md create mode 100644 apps/docs/src/tutorial/src/step-4/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-4/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-4/page.html create mode 100644 apps/docs/src/tutorial/src/step-4/request.json create mode 100644 apps/docs/src/tutorial/src/step-5/_hint/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-5/_hint/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-5/_hint/request.json create mode 100644 apps/docs/src/tutorial/src/step-5/description.md create mode 100644 apps/docs/src/tutorial/src/step-5/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-5/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-5/request.json create mode 100644 apps/docs/src/tutorial/src/step-6/_hint/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-6/_hint/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-6/_hint/request.json create mode 100644 apps/docs/src/tutorial/src/step-6/description.md create mode 100644 apps/docs/src/tutorial/src/step-6/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-6/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-6/request.json create mode 100644 apps/docs/src/tutorial/src/step-7/_hint/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-7/_hint/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-7/_hint/request.json create mode 100644 apps/docs/src/tutorial/src/step-7/description.md create mode 100644 apps/docs/src/tutorial/src/step-7/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-7/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-7/request.json create mode 100644 apps/docs/src/tutorial/src/step-8/_hint/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-8/_hint/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-8/_hint/request.json create mode 100644 apps/docs/src/tutorial/src/step-8/description.md create mode 100644 apps/docs/src/tutorial/src/step-8/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-8/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-8/request.json create mode 100644 apps/docs/src/tutorial/src/step-9/_hint/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-9/_hint/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-9/_hint/request.json create mode 100644 apps/docs/src/tutorial/src/step-9/description.md create mode 100644 apps/docs/src/tutorial/src/step-9/index/classMode.php create mode 100644 apps/docs/src/tutorial/src/step-9/index/functionalMode.php create mode 100644 apps/docs/src/tutorial/src/step-9/request.json create mode 100644 apps/docs/src/tutorial/tutorial.data.ts create mode 100644 apps/docs/src/tutorial/utils.ts create mode 100644 apps/docs/tsconfig.json diff --git a/apps/docs/.editorconfig b/apps/docs/.editorconfig new file mode 100644 index 0000000..0de5001 --- /dev/null +++ b/apps/docs/.editorconfig @@ -0,0 +1,10 @@ +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false diff --git a/apps/docs/.github/FUNDING.yml b/apps/docs/.github/FUNDING.yml new file mode 100644 index 0000000..16bf7a0 --- /dev/null +++ b/apps/docs/.github/FUNDING.yml @@ -0,0 +1,4 @@ +# These are supported funding model platforms + +open_collective: leaf +github: leafsphp diff --git a/apps/docs/.github/contributing/oxford-comma.jpg b/apps/docs/.github/contributing/oxford-comma.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1f576141417c1772f2b9cf27c725792e62af8c17 GIT binary patch literal 222354 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